收藏 分享(赏)

实验一:RSA算法验证.doc

上传人:tkhy51908 文档编号:4572831 上传时间:2019-01-02 格式:DOC 页数:4 大小:44.50KB
下载 相关 举报
实验一:RSA算法验证.doc_第1页
第1页 / 共4页
实验一:RSA算法验证.doc_第2页
第2页 / 共4页
实验一:RSA算法验证.doc_第3页
第3页 / 共4页
实验一:RSA算法验证.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验一:RSA 算法一、实验目的1 深入理解 RSA 原理,特别是大数分解难题的原理2 明确选择 RSA 的参数 p、q、e、d 的条件,以及明文分段的条件3 掌握求逆元素和求高次幂的计算方法4 了解寻找素数的方法5 了解素数、同余类、欧拉函数、费马定理、欧拉定理二、实验环境1 PC 机2 Windows2000/XP3专用软件 PGP.exe三、实验步骤1 正序实验(1)选择 p、q,计算 n 和 (n)(2)选择 e,检验 e 是否与 (n)互素(3)计算 d,验证 d 与 e 互逆(4)输入明文 M,加密得到密文 C,解密恢复明文 M,比对之2 反例验证(1)选择 p 或 q 不是素数(

2、2)选择 e 不与 (n)互素(3)错选 d 不与 e 互逆(4)明文分段不小于 n3 计算对比(1)用扩展的欧几里德算法求逆元素(2)用折半法求同余类的高次幂4 查看解释(1)什么是素数?素数是大于 1,除了 1 和它本身之外,不能被其他整数整除的整数。比如2,3,5,7,11,13,17都是素数。(2)需要多大的素数?RSA 算法的安全性基于一个大的合数 n 分解成两个素数 p 和 q 的乘积的困难的程度,当然素数 p 和 q 越大越好。(3)素数有穷尽吗?素数但是无限的。在位数有限的整数中,素数也是庞大的。事实上,在长度为 512 位 2 进制或略短一些的数中,有超过 10 的 151

3、次方个素数,在长度达 768 位 2 进制的数中,素数的数目就更多了。(4)能用素数表破解 RSA 吗?不能,因为素数是无限的,庞大的,会把载体变成黑洞,所以不能用素数破解 RSA。更本制不出满足所有 RSA 算法的素数表.(5)素数的产生采用产生-剔除-测试的方法目前比较好的素数产生的方法:(1)产生一个位的随机数(2)设二进制的最高位和最底位为 1(3)剔除包含有 2000 以内的小素数因子的随机数(4)对幸存的随机数作多轮测试,每论测试都以一定的概率淘汰一些被发现的非素数(5)最后以足够满意的概率给出素数(6)欧拉函数模 n 的完全剩余集,他是从 0 到 n-1 的 n 个整数的模 n

4、的同余类所组成。即一共有 n 个同余类。如果 n 是素数,那么 0 到 n-1 的个 n 整数都分别与他互素,否则,将有一些整数是他的因子,而另一些是与他互素的。这些与 n 互素的整数所在的同余类,构成了模 n 的完全剩余集的一个子集,叫做余数化简集。其中 0 不是余数化简集的元素。余数化简集里同类的个数就叫做 n 的欧拉函数,记作 (n)。 如果 n 是一个素数,那么 (n)=n-1。如果 n=pq,而 p 与 q 互素,那么 (n)= (p) (q).这个过程可以递推,直到最后求的 (n)。(7)费马定理和欧拉定理费马定理:如果是一个素数,而且 a 不是 n 的倍数那么有 an-1=1mo

5、d n欧拉定理:如果 n 与 a 互素,那么有 a(n)=1mod n(8)什么叫互素?如果一个整数能过同时整除两个整数 x 和 y,那么整数 d 叫做整数 x 和 y 的公因子。两个整数的公因子中最大的一个叫做他们的最大公因子,记作god(x,y)。如果两个整数的最大公因子为 1,那么说他们互素。(9)乘法的同余运算整数做除法时,如果不能出尽,就会有余数。(uv)mod n=(u mod n) (vmod n)mod n.(10)什么叫逆元素?逆元素是对一种特定的运算而言的。一个元素与它的逆元素通过这种运算得到单位元素。(11)为什么一定有逆元素?当 e 与 n 互素时,存在 e 的逆元素?

6、d 满足 ed=1mod n. 证明的方法是构造性的,也就是说,如果通过一定的方法求得 d,那么它的存在是不言而喻的。已知 e 和 n,en,e 与 n 互素,建立一个整数方程De + m n= 1(12)扩展欧几里德算法(13)验证 e 与 d 互逆例如:e=7 d=43 (n)=60(p=7 q=11)e*d mod(n)=7*43 mod60=1 mod 60 得证(14)保密通信在保密通信中,实体 A 吧数据 M 传送给实体 B,而在数据有效时间内,保密任何其他的实体 C 不能得到数据 M。(15)数字签名实体 B 在把自己的公钥公褚于世之后,用自己的私钥对一段明文加密,为后把密文发送

7、给实体 A 或在网络上公开发布。(16)同余类的高次幂运算对 X,Y,z 赋值,用公式 XY mon Z =S(17)RSA 算法的证明加密算法 c=me mod n解密算法 m=cd mod n代入 =med mod n加密密钥与解密密互逆 ed=1 mod(n)等价写法 =1+K(n)代入 m=m1+K(n) mod n同余运算法则 =(m*(m(n) mod n)k) mod n费吗定理 m(n)=1mod n代如 m=m*1 mod n证明完毕 =m mod n(18)公开什么?保守什么?对称密钥系统 如 DES,加密算法是公开,密钥是保守的非对称密钥系统,如 RSA,加密算法是公开,

8、密钥则是一对:一个公开,一个保守四、实验记录1已知 p=3;q=11;e=7;M=5,求解:n、(n)、d、C解:n=pq=3*11=33 (n)=(p-1)(q-1)=2*10=20 已知 e=7 则 ed1 mod(n) 即 7d mod 20=1 解得 d=3C=Me(mod n)=57(mod 33)=142已知 p=5;q=11;e=3;M=9,求解:n、(n)、d、C解:n=pq=5*11=55 (n)=(p-1)(q-1)=4*10=40已知 e=3 则 ed1 mod(n)即 3d mod 40=1 解得 d=27C=Me(mod n)=93(mod 55)=143已知 p=7

9、;q=11;e=17;M=8,求解:n、(n)、d、C 解:解:n=pq=7*11=77 (n)=(p-1)(q-1)=6*10=60已知 e=17 则 ed1 mod(n) 即 17d nod 60=1 解得 d=53C=Me(mod n)=817(mod 77)=574已知 n=143;e=11;M=7,求解:p、q、(n)、d、C 解:解:n=pq=143 因为 p、q 两个素数,所以 p=13,q=11 或者 p=11,q=13 则 (n)=(p-1)(q-1)= 12*10=120已知 e=11 则 ed1 mod(n) 即 11d mod 120=1 解得 d=11C=Me(mod

10、 n)=711(mod 143)=1065已知 n=527;e=7;M=2,求解:p、q、(n)、d、C解: n=pq=527 因为 p、q 两个素数,所以 p=17,q=31 或者 p=31,q=17则 (n)=(p-1)(q-1)=16*30=480已知 e=7 则 ed1 mod(n)即 7d mod 480=1 则 d=343C=Me(mod n)=27(mod 527)=128五、实验结果1正序实验结果是否正确?正确2反例验证说明了什么?E 与 D 互逆3对比计算是否掌握了方法?掌握了4查看解释有什么新发现?E 和 D 任取一个作为 RSA 的公开密钥,另一个为私藏密钥。二者互逆,用公钥作为加密密钥,私密为解密密钥,可应运于保密通信;用私钥作为加密密钥,公密为解密密钥,可应运于数字签名。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报