品牌网站怎么建设,广东佛山哪家公司建网站,张家港网站哪家做的好,网络营销推广方式都有哪些文章目录 1、RSA算法的命名2、RSA算法的简介3、RSA算法的原理4、RSA算法的描述5、RSA算法的安全性6、RSA算法的运算速度7、RSA算法攻击 1、RSA算法的命名
RSA是1977年由罗纳德李维斯特#xff08;Ron Rivest#xff09;、阿迪萨莫尔#xff08;Adi Shamir#xff09;和伦纳… 文章目录 1、RSA算法的命名2、RSA算法的简介3、RSA算法的原理4、RSA算法的描述5、RSA算法的安全性6、RSA算法的运算速度7、RSA算法攻击 1、RSA算法的命名
RSA是1977年由罗纳德·李维斯特Ron Rivest、阿迪·萨莫尔Adi Shamir和伦纳德·阿德曼Leonard Adleman一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的
2、RSA算法的简介
RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制 在公开密钥密码体制中加密密钥即公开密钥PK是公开信息而解密密钥即秘密密钥SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的但却不能根据PK计算出SK 正是基于这种理论1978年出现了著名的RSA算法
它通常是先 生成一对RSA密钥其中之一是保密密钥由用户保存另一个为公开密钥可对外公开甚至可在网络服务器中注册为提高保密强度RSA密钥至少为500位长一般推荐使用1024位。这就使加密的计算量很大为减少计算量在传送信息时常采用传统加密方法与公开密钥加密方法相结合的方式(即信息采用改进的DES或IDEA对话密钥加密然后使用RSA密钥加密对话密钥和信息摘要)对方收到信息后用不同的密钥解密并可核对信息摘要
RSA是被研究得最广泛的公钥算法从提出到现在已近三十年经历了各种攻击的考验逐渐为人们接受普遍认为是目前最优秀的公钥方案之一。1983年麻省理工学院在美国为RSA算法申请了专利 RSA允许选择公钥的大小 512位的密钥被视为不安全的768位的密钥不用担心受到除了国家安全管理NSA外的其他事物的危害1024位的密钥几乎是安全的。RSA在一些主要产品内部都有嵌入像 Windows、网景 Navigator、 Quicken和 Lotus Notes 3、RSA算法的原理
RSA公开密钥密码体制的原理是根据数论寻求两个大素数比较简单而将它们的乘积进行因式分解却极其困难因此可以将乘积公开作为加密密钥
4、RSA算法的描述 然而只根据n和e注意不是p和q要计算出d是不可能的。因此任何人都可对明文进行加密但只有授权用户知道d才可对密文解密 5、RSA算法的安全性
RSA的安全性依赖于大数分解但是否等同于大数分解一直未能得到理论上的证明也并没有从理论上证明破译。RSA的难度与大数分解难度等价。因为没有证明破解RSA就一定需要做大数分解。假设存在一种无须分解大数的算法那它肯定可以修改成为大数分解算法即RSA的重大缺陷是无法从理论上把握它的保密性能如何而且密码学界多数人士倾向于因子分解不是NPC问题目前RSA的一些变种算法已被证明等价于大数分解。不管怎样分解n是最显然的攻击方法。现在人们已能分解140多个十进制位的大素数。因此模数n必须选大些视具体适用情况而定RSA算法的保密强度随其密钥的长度增加而增强。但是密钥越长其加解密所耗用的时间也越长。因此要根据所保护信息的敏感程度与攻击者破解所要花费的代价值不值得以及系统所要求的反应时间来综合考虑尤其对于商业信息领域更是如此
6、RSA算法的运算速度
由于进行的都是大数计算使得RSA最快的情况也比DES慢上好几倍无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。RSA的速度比对应同样安全级别的对称密码算法要慢1000倍左右
7、RSA算法攻击
迄今为止对RSA的攻击已经很多但都没有对它构成真正的威胁。在这里我们讨论一些典型的攻击方法
选择密码攻击
RSA在选择密码攻击面前显得很脆弱。一般攻击者是将某一信息进行下伪装让拥有私钥的实体签名
然后经过计算就可得到它所想要的信息。实际上攻击利用的都是同一个弱点
即存在这样一个事实乘幂保留了输入的乘法结构。
前面已经提到这个固有的问题来自于公钥密码系统的最基本的特征
即每个人都能使用公钥加密信息。从算法上无法解决这一问题改进措施有两条
一是采用好的公钥协议保证工作过程中实体不对其他实体任意产生的信息解密不对自己一无所知的信息签名
二是决不对陌生人送来的随机文档签名或签名时首先对文档作Hash处理或同时使用不同的签名算法小指数攻击
当公钥e取较小的值虽然会使加密变得易于实现速度有所提高但这样做也是不安全的。
最简单的办法就是e和d都取较大的值
因为密钥的产生受素数产生技术的限制所以也有它的局限性
1密钥的产生受素数产生技术的限制因而难以做到一次一密
2分组长度太大为保证安全性n至少也要600比特以上使运算代价很高尤其是速度较慢
比对称密码算法慢几个数量级随着大整数素因数分解算法的改进和计算机计算能力的提高
对n的长度在不断增加不利于实现数据格式的标准化参考链接百度百科-1