数据加密算法
数据加密算法有很多种[3-4],密码算法标准化是信息化社会发展得必然趋势,是世界各国保密通信领域得一个重要课题。按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段,古典密码算法有替代加密、置换加密;对称加密算法包括DES和AES;非对称加密算法包括RSA 、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamal D_H等。目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。
(1)DES加密算法(数据加密标准)。
DES是一种对二元数据进行加密的算法,数据分组长度为64位,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位,有8位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反。
DES算法的弱点是不能提供足够的安全性,因为其密钥容量只有56位。由于这个原因,后来又提出了三重DES或3DES系统,使用3个不同的密钥对数据块进行(两次或)三次加密,该方法比进行普通加密的三次块。其强度大约和112比特的密钥强度相当。
(2)RSA算法
RSA算法既能用于数据加密,也能用于数字签名,RSA的理论依据为:寻找两个大素数比较简单,而将它们的乘积分解开则异常困难。在RSA算法中,包含两个密钥,加密密钥PK,和解密密钥SK,加密密钥是公开的,其加密与解密方程为:
其中n=p×q,P∈[0,n-1],p和q均为大于10100的素数,这两个素数是保密的。
RSA算法的优点是密钥空间大,缺点是加密速度慢,如果RSA和DES结合使用,则正好弥补RSA的缺点。即DES用于明文加密,RSA用于DES密钥的加密。由于DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。
|