- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
讲公钥密码体制
计算机学院 孟博 mengscuec@ 数论简介 公钥密码学 RSA算法 Figure 9.6 Example of RSA Algorithm ① E和D的可逆性 要证明:D(E(M))=M M=Cd =(Me)d=Med mod n 因为ed=1 modφ(n),这说明ed=tφ(n)+1,其中t为某整数。所以, Med =Mtφ(n)+1 mod n 。 因此要证明 Med =M mod n ,只需证明 M tφ(n)+1 =M mod n 。 RSA算法论证 在gcd(M,n)=1的情况下,根据数论, M tφ(n) =1 mod n , 于是有, M tφ(n)+1 =M mod n 。 在gcd(M,n)≠1的情况下,分两种情况: 第一种情况:M∈{1,2,3,…,n-1} 因为n=pq,p和q为素数, M∈{1,2,3,…,n-1},且(M,n)≠1 。 这说明M必含p或q之一为其因子,而且不能同时包含两者,否则将有M≥n,与M∈{1,2,3,…,n-1}矛盾。 不妨设M=ap 。 又因q为素数,且M不包含q,故有(M,q)=1, 于是有,M φ(q) =1 mod q 。 进一步有,M t(p-1)φ(q) =1 mod q。 因为q是素数,φ(q)=(q-1),所以t(p-1)φ(q)=tφ(n),所以有 M tφ(n) =1 mod q。 于是,M tφ(n) =bq+1,其中b为某整数。 两边同乘M, M tφ(n)+1 =bqM+M 。 因为M=ap,故 M tφ(n)+1 =bqap+M =abn+M 。 取模n得, M φ(n)+1 =M mod n 。 第二种情况:M=0 当M=0时,直接验证,可知命题成立。 ②加密和解密运算的可交换性 D(E(M))=(Me)d =Med =(Md))e =E(D(M)) mod n 所以,RSA密码可同时确保数据的秘密性和数据的真实性。 ③加解密算法的有效性 RSA密码的加解密运算是模幂运算,有比较有效的算法。 ④在计算上由公开密钥不能求出解密钥 小合数的因子分解是容易的,然而大合数的因子分解却是十分困难的。关于大合数的因子分解的时间复杂度下限目前尚没有一般的结果,迄今为止的各种因子分解算法提示人们这一时间下限将不低于O(EXP(lnNlnlnN)1/2)。根据这一结论,只要合数足够大,进行因子分解是相当困难的。 假设截获密文C,从中求出明文M。他知道 M≡Cd mod n , 因为n是公开的,要从C中求出明文M,必须先求出d,而d是保密的。但他知道, ed≡1 mod φ(n) e是公开的,要从中求出d,必须先求出φ(n),而φ(n)是保密的。 但他又知道, φ(n)=(p-1)(q-1) 要从中求出φ(n),必须先求出p和q,而p和q是保密的。但他知道, n=pq 要从n求出p和q,只有对n进行因子分解。而当n足够大时,这是很困难的。 只要能对n进行因子分解,便可攻破RSA密码。由此可以得出,破译RSA密码的困难性≤对n因子分解的困难性。目前尚不能证明两者是否能确切相等,因为不能确知除了对n进行因子分解的方法外,是否还有别的更简捷的破译方法。 1、参数选择 为了确保RSA密码的安全,必须认真选择密码参数: ① p和q要足够大; 一般应用:p和q应 512 位.重要应用:p和q应 1024 位 因为n=pq在体制中是公开的,因此为了防止敌手通过穷搜索发现p、q,这两个素数应是在一个足够大的整数集合中选取的大数。如果选取p和q为10100左右的大素数,那么n的阶为10200,每个明文分组可以含有664位(10200≈2664),即83个8比特字节,这比DES的数据分组(8个8比特字节)大得多,这时就能看出RSA算法的优越性了。因此如何有效地寻找大素数是第一个需要解决的问题。 RSA密码的实现 ②p和q应为强素数 文献指出,只要(p-1)、(p+1)、(q-1)、(q+1)四个数之一有小的素因子,n就容易分解。 ③ p和q的差要大; ④(p-1)和(q-1)的最大公因子要小。 如果( p-1)和(q-1)的最大公因子太大,则易受迭代加密攻击 若
您可能关注的文档
最近下载
- 《我们班四岁了(第一课时)》课件.pptx VIP
- 银屑病关节炎早期识别与诊治专家共识解读.docx VIP
- 人教版四年级上册数学期中试卷及答案.docx VIP
- 系统健壮性分析课件.pptx VIP
- Power Up教材配套测试PU2期末测试卷答案.pdf VIP
- 农村公路病害识别图、日常巡查保养记录表、群众性养护日常保养常见问题与处治方式汇总.pdf VIP
- 2019医用输液泵和医用注射泵安全管理.docx VIP
- 儿童医院“十五五”发展规划方案(2026-2030年).docx
- 护理不良事件-课件.pptx VIP
- 危险化学品建设项目变更情形及审查要求、适用简易程序的建设项目种类.docx VIP
原创力文档


文档评论(0)