您当前的位置: 首页 > 教育

在已公开的公钥算法中是容易理解和实现的

2018-11-05 10:04:53

RSA因其创始人RonaldL.Rivest、AdiShamir和LeonardM.Adleman而得名。

RSA的难度是基于因式分解,RSA的安全性建立在几乎所有重要数学家构造的假设的基础之上,它至今仍是一条数学家相信存在但缺乏正式证明的未证定理。

RSA算法研公开信道传输分发的难题。而实际结果不但很好地解决了这个难题,还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖,同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。

RSA是个比较完善的公开密钥算法,它既能用于加密也能用于数字签名。

在已公开的公钥算法中,RSA是容易理解和实现的。

1RSA算法的描述

RSA算法的实现步骤如下:(B为实现者)

(1)B寻找出两个大素数p和q。

(2)B计算出n=pq和(n)=(p-1)(q-1)。

(3)B选择一个随机数e(0<e<j(n)),满足(e,(n))=1。

(4)B使用欧几里得扩展算法计算d=e-1(mod(n))。

(5)B在目录中公开n和e作为他的公开钥,保密p、q和d。

密码分析者攻击RSA体制的关键点在于如何分解n。若分解成功使n=pq,则可以算出(n)=(p-1)(q-1),然后由公开的e解出秘密的d。加密时,对每一明文分组如下计算:ce

i=mi(modn)

解密时,取每一密文分组ci并计算:md

i=ci(modn)

RSA算法主要用于数据加密和数字签名。RSA算法用于数字签名时,公钥和私钥的角色变换即可。即将消息用d加密签名,用e验证签名。

热卷厚壁钢管
旺旺大庆麻将
直流风扇
推荐阅读
图文聚焦