非对称加密技术
考试要求: 掌握     
知识路径:  > 计算机系统基础知识  > 硬件基础知识  > 可靠性与系统性能评测基础知识  > 加密技术和认证技术  > 加密技术


 
       与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。非对称加密有两个不同的体制,如下图所示。
       
       非对称加密体制模型
       非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其他方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
       非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,不适合于对文件加密,而只适用于对少量数据进行加密。
       RSA(Rivest,Shamir and Adleman)算法是一种公钥加密算法,它按照下面的要求选择公钥和密钥:
       (1)选择两个大素数pq(大于10100)。
       (2)令n=p×qz=(p-l)×(q-1)。
       (3)选择dz互质。
       (4)选择e,使e×d=1(modz)。
       加密时对明文P进行以下计算得到密文C:
       C=Pe(modn
       这样公钥为(en)。解密时计算:
       P=Cd(modn
       即私钥为(dn)。
       例如,设p=3,q=11,n=33,z=20,d=7,e=3,C=P3(mod 33),P=C7(mod 33),则有:
       C=23(mod 33)=8(mod 33)=8
       P=87(mod 33)=2097152(mod 33)=2
       RSA算法的安全性是基于大素数分解的困难性。攻击者可以分解已知的n,得到pq,然后可得到z,最后用Euclid算法,由ez得到d。但是要分解200位的数,需要40亿年;分解500位的数,则需要1025年。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有