实验一:RSA算法验证.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一:RSA算法验证

实验一:RSA算法 一、实验目的 1. 深入理解RSA原理,特别是大数分解难题的原理 2. 明确选择RSA的参数p、q、e、d的条件,以及明文分段的条件 3. 掌握求逆元素和求高次幂的计算方法 4. 了解寻找素数的方法 5. 了解素数、同余类、欧拉函数、费马定理、欧拉定理 二、实验环境 1. PC机 2. Windows2000/XP 3.专用软件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)选择e不与φ(n)互素 (3)错选d不与e互逆 (4)明文分段不小于n 3. 计算对比 (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次方个素数,在长度达768位2进制的数中,素数的数目就更多了。 (4)能用素数表破解RSA吗? 不能,因为素数是无限的,庞大的,会把载体变成黑洞,所以不能用素数破解RSA。更本制不出满足所有RSA算法的素数表. (5)素数的产生 采用产生-剔除-测试的方法 目前比较好的素数产生的方法: (1)产生一个位的随机数 (2)设二进制的最高位和最底位为1 (3)剔除包含有2000以内的小素数因子的随机数 (4)对幸存的随机数作多轮测试,每论测试都以一定的概率淘汰一些被发现的非素数 (5)最后以足够满意的概率给出素数 (6)欧拉函数 模n的完全剩余集,他是从0到n-1的n个整数的模n的同余类所组成。即一共有n个同余类。如果n是素数,那么0到n-1 的个n整数都分别与他互素,否则,将有一些整数是他的因子,而另一些是与他互素的。这些与n互素的整数所在的同余类,构成了模n的完全剩余集的一个子集,叫做余数化简集。其中0不是余数化简集的元素。余数化简集里同类的个数就叫做n的欧拉函数,记作φ(n)。 如果n是一个素数,那么φ(n)=n-1。 如果n=p×q,而p与q互素,那么φ(n)= φ(p) ×φ(q). 这个过程可以递推,直到最后求的φ(n)。 (7)费马定理和欧拉定理 费马定理:如果是一个素数,而且a不是n的倍数那么有 a^n-1=1mod n 欧拉定理:如果n与a互素,那么有 a^φ(n)=1mod n (8)什么叫互素? 如果一个整数能过同时整除两个整数x和y,那么整数d叫做整数x和y的公因子。两个整数的公因子中最大的一个叫做他们的最大公因子,记作god(x,y)。如果两个整数的最大公因子为1,那么说他们互素。 (9)乘法的同余运算 整数做除法时,如果不能出尽,就会有余数。 (u×v)mod n=((u mod n) ×(vmod n))mod n. (10)什么叫逆元素? 逆元素是对一种特定的运算而言的。一个元素与它的逆元素通过这种运算得到单位元素。 (11)为什么一定有逆元素? 当e与n互素时,存在e的逆元素?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在把自己的公钥公褚于世之后,用自己的私钥对一段明文加密,为后把密文发送给实体A或在网络上公开发布。 (16)同余类的高次幂运算 对X,Y,z赋值,用公式X^Y mon Z =S (17)RSA算法的证明 加密算法 c=m^e mod n 解密算法 m=c^d mod n 代入 =m^ed mod n 加密密钥与解密密互逆 ed=1 modφ(n) 等价写法 =1+Kφ(n) 代入 m=m^1+Kφ(n) mod n 同余运算法则 =(m*(m^φ(n) mod

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档