- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安全学实验报告
— RSA 加密解密的简单实现
华南师范大学 赵教授
RSA介绍:
当前最著名、应用最广泛的公钥系统 RSA是在 1978 年,由美国麻省理工学院 (MIT) 的
Rivest 、Shamir 和 Adleman 在题为《获得数字签名和公开钥密码系统的方法》的论文中提
出的。
RSA算法是第一个既能用于数据加密也能用于数字签名的算法, 因此它为公用网络上信
息的加密和鉴别提供了一种基本的方法。它通常是先生成一对 RSA 密钥,其中之一是保密
密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册,人们用
公钥加密文件发送给个人,个人就可以用私钥解密接受。为提高保密强度, RSA密钥至少为
500 位长,一般推荐使用 1024 位。
公钥加密算法中使用最广的是 RSA。RSA算法研制的最初理念与目标是努力使互联网安
全可靠, 旨在解决 DES算法秘密密钥的利用公开信道传输分发的难题。 而实际结果不但很好
地解决了这个难题; 还可利用 RSA来完成对电文的数字签名以抗对电文的否认与抵赖; 同时
还可以利用数字签名较容易地发现攻击者对电文的非法篡改, 以保护数据信息的完整性。 此
外, RSA加密系统还可应用于智能 IC 卡和网络安全产品。
一.系统总体方案:
1. 要求 :编写 RSA加密解密演示程序,用户自己输入两个素数 P,Q 以及公钥 E,程序
判断 P, Q为素数后计算得到公钥( e ,n),私钥( d,n )并显示。
输入明文密文并可以进行加密解密。
2. 数学原理 :
1. 密钥的生成 选择 p,q 为两个大的互异素数 计算 n=p*q, ψ(n)=(p-1)(q-1)
选择整数 e 使 gcd( ψ(n),e)=1 (互质), (1e ψ(n) )
计算 d, 使 d=e ?-1(mod ψ(n)) (求乘法逆元)
1
公钥 Pk={e,n}; 私钥 Sk={d,n} 。
( 定义若 a?x mod n =1, 则称 a 与 x 对于模 n 互为逆元 )
2. 加密 ( 用 e,n) 明文 Mn 由 C=M ? e(mod n) 得到密文 C。
3. 解密 ( 用 d,n) 对于密文 C 由 M=C?d(mod n) 得到明文 M。
3. 实现过程:
1. 输入 p,q 判断为素数,计算 n=p*q , ψ (n )= (p-1 )(q-1 )
2 .输入 e 判断是否与 ψ (n )互质,计算 d= e ?-1(mod ψ(n))
3. 输出公钥为( e ,n )私钥为( d ,n )
4. 输入明文(数字) M计算密文 C=M ? e(mod n)
5. 输入密文 C计算明文 M=C ?d(mod n)
二 . 设计思路:
1. 关键问题:
(1)素数的判断:
首先在输入 p,q 之后应该有一个函数 int sushu ()可以判断 p ,q 是否为素数,并
返回 1 (是)或 0 (否)。考虑到程序中数据类型为
原创力文档


文档评论(0)