- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四 RSA算法
1.实验目的
(1)了解RSA算法的特点
(2)掌握RSA算法的加解密原理
2.实验内容
阅读学习本实验第三部分(知识点),通过RSA算法实现的Flash短片,理解并掌握RSA算法的详细实现过程;在VC环境下,调试运行RSA算法,简单了解RSA算法的C++语言实现过程。
(1)RSA算法原理演示
步骤1:打开实验五文件夹中的“RSA.exe”文件(如图41所示);
图4-1 RSA算法演示文件
步骤2:依据演示文稿,逐步学习RSA算法。
(2)RSA算法的实现
该部分,主要通过在VC++6.0中,采用C++语言来编程实现RSA算法来更进一步的理解和掌握RSA算法。具体步骤如下:
步骤1:打开VC开发环境,打开RSA.cpp文件;
步骤2:依据RSA算法实现原理,阅读完善算法;
步骤3:编译运行程序,并进行具体测试。
3.知识点
1978年美国MIT的三名数学家R.Rivest(里维斯特),A.Shamir(沙摩尔)和L.Adleman(阿德尔曼)提出了著名的公钥密码体制:RSA算法,它的安全性依赖于大数分解。公钥和私钥都是两个大素数()的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积
密钥对的产生选择两个大素数,p 和q 计算: n = p * q ((n)=(p-1)(q-1),其中((n)是n的欧拉函数值;
● 选一整数e,满足1e ((n),且gcd(((n),e)=1;
● 计算d,满足de≡1 mod ((n),即d是e在模((n)下的乘法逆元;
● {e,n}为公钥, (d,n)为私钥。
② 加、解密过程
● 加密时首先将明文比特串分组,使得每个分组对应的十进制数小于n,即分组长度小于log2 n;
● 对每个明文分组m,作加密运算:
c≡me mod n
● 解密时对每个密文分组做如下计算:
m ≡ cd(mod n)
(2)RSA算法论证
证明:由加密过程 :
cd mod n ≡(me)d mod n ≡ m k ((n)+1 mod n (ed ≡ 1 mod (( n))
● 若m与n互素,由欧拉定理 m ((n)≡1 mod n
有 mk ((n)≡ 1 mod n,
mk((n)+1≡ m mod n
● 若m与n不互素,即 gcd(m, n) ≠1,则m必与两个素数p、q中的一个互素,假定与p互素,与q不互素,不妨设m=cq (c q),此时gcd(m, p)=1,由欧拉定理,
m ((p)≡1 mod p,[m ((p)]k ((q)≡1 mod p
即m k ((n) ≡1 mod p,
于是存在一整数r,使mk ((n) = 1+rp ,
两边同乘m=cq, 得 :
mk ((n)+1= (m+rcpq) = (m+rcn)
即mk((n)+1≡ m mod n
(3)RSA算法参数的选择
为了确保RSA密码的安全,必须认真选择密码参数
①p和q要足够大;
一般应用:p和q应512b 重要应用:p和q应1024b
②p和q应为强素数;
文献指出,只要(p-1)、(p+1)、(q-1)、(q+1)四个数之一只有小的素因子,n就容易分解。
③p和q的差要合适;
④ e的选择;
随机且含1多就安全,但加密速度慢。
⑤ d的选择;
d不能太小,要足够大。
⑥不要许多用户公用一个模n。
易受共模攻击
(4)快速指数运算(平方乘运算)
问题:求am mod n=?,其中a,m是正整数。
将m表示为二进制形式bkbk-1…b0,即:
m=bk2k+bk-12k-1+…+b12+b0
因此,
实现平方乘法运算的伪代码如下所示:
m=bk2k+bk-12k-1+…+b12+b0,求am mod n=?
d=1;
for i=k downto 0 {
d ≡(d×d) mod n;
if bi=1 then {
d ≡(d×a) mod n
}
}
return d
(5)Miller-Rabin素性检测算法
引理:若p是奇素数,则方程式:
x2 ( 1 (mod p)
只有两个解 x = +1 或 x = –1。该引理的逆命题就是:如果方程式x2 ( 1 (mod p)存在除了+1 和 –1 以外的其他解,n 就不是素数。上述引理的逆命题就是著名的Mi
您可能关注的文档
- 实训二 报告(自用).doc
- 实训三 房地产资分析实训三 房地产投资分析.doc
- 实训任务书(学生绿子)实训任务书(学生绿本子).doc
- 实训五 引导路径动画.doc
- 实训室附 机电实训附 机电.doc
- 实训处自查情况说明.doc
- 实词推断方法 20414.doc
- 实践报告 王磊实践告 王磊.doc
- 实践报告 jzt实报告 jzt.doc
- 实践报告规范格式实报告规范格式.doc
- 2025年教导处工作计划(31篇).docx
- 2025年建筑企业总结(31篇).docx
- 2024年新人教版数学七年级上册 5.3.2 销售问题 教学课件.pptx
- 2024年新人教版数学七年级上册 2.2.2 第1课时 有理数的除法法则 教学课件.pptx
- 2024秋新人教版数学7年级上册课件 6.1.1 第1课时 立体图形与平面图形.pptx
- 2024年新人教版数学一年级上册 第2单元 6~10的认识和家、减法 1 6~9的认识 第4课时 分愈合(2) 教学课件.pptx
- 2024年新人教版数学一年级上册 第4单元11~20的认识整理和复习 教学课件.pptx
- 2024年新人教版地理七年级上册 章 地球 第一节 地球的宇宙环境 教学课件.pptx
- 2024年新人教版数学一年级上册 第2单元6~10的认识和家、减法练一练 教学课件.pptx
- 2024年新人教版一年级数学上册课件 第二单元 6~10的认识和加、减法 2. 6~9的加、减法 课时4 解决问题(二).ppt
文档评论(0)