|
|
|
对称密钥密码体制的典型算法是DES(Data Encryption Standard)算法。
|
|
|
|
DES算法是IBM公司研制的一种数据加密算法,1977年被美国国家标准局颁布为商用数据加密标准,后又被国际标准化组织ISO定为国际标准,广泛应用于金融行业的电子资金转账(EFT)等领域。
|
|
|
|
DES算法的基本原理是每次取明文中的连续64位数据,通过64位密钥,对明文进行16轮的替代、移位和异或操作,最终得到转换后的64位数据(密文),如下图所示。连续对明文执行上述过程,最终得到全部明文的密文。
|
|
|
|
下图中,一组64位的明文块首先经过一个初始置换(IP)后,被分成左半部分和右半部分,每部分32位,分别以L0和R0表示。然后经过16轮变换,第i轮变换结果的左半部分为上一轮变换结果的右半部分,即Li=Ri-1;第i轮变换结果的右半部分为上一轮变换结果的左半部分与上一轮变换结果的右半部分经过函数(算法)f处理后所得结果的异或,即Ri=Li-1⊕f(Ri-1,Ki),Ki为第i轮变换时的子密钥。经过16轮变换之后,左右两部分再连接起来,最后经过一个逆初始置换(IP-1)得到64位密文块,算法结束。
|
|
|
|
|
|
|
|
DES算法的加密密钥与解密密钥相同,加密算法也与解密算法相同,只是解密时逆向取用加密时所用密钥顺序。加密时第1~16轮迭代使用的子密钥顺序是k1,…,k16,解密时使用的子密钥顺序是k16,…,k1,产生子密钥时循环移位向右。需要说明的是,64位密钥中有8位是奇偶校验位,所以实际有效密钥长度是56位。
|
|
|
|
DES算法在密码学的发展过程中具有重要意义,在信息加密方面起了重要作用。但是,进入20世纪90年代以来,DES算法的安全性越来越受到了威胁。1997年,美国科罗拉多州的程序员Verser与Internet上数万名志愿者协同工作,用了96天时间找到了DES密钥;1998年7月,电子前沿基金会(EFF)使用计算机在56小时内破译了DES密钥;1999年1月,EFF又只用了22小时15分钟就宣告破解了DES密钥。
|
|
|
|
DES算法不再是不可破的,人们加以研究和改进,提出了新的基于分组思想的加密算法,如3DES算法、IDEA算法、RC5算法、AES算法等。
|
|
|