0.为什么要使用三重DES
现在DES已经可以在现实的时间内被暴力破解,因此我们需要一种用来代替DES的分组密码,三重DES就是出于这个目的被开发出来的。
1.什么是三重DES
三重DES(triple-DES)是为了增加DES的强度,将DES重复3次所得到的一种密码算法,也称为为TDEA(Triple Date Encryption Algorithm),通常缩写为3DES。
2.三重DES的加密
三重DES的加密机制如图所示:
从图中我们可以发现,三重DES并不是进行三次DES加密(加密→加密→加密),而是加密→解密→加密的过程。在加密算法中加入解密操作让人感觉很不可思议,实际上这个方法是IBM公司设计出来的,目的是为了让三重DES能够兼容普通的DES。
当三重DES中所有的密钥都相同时,三重DES也就等同于普通的DES了。这是因为在前两步加密→解密之后,得到的就是和最初的明文。因此,以前用DES加密的密文,就可以通过这种方式用三重DES进行解密。也就是说,三重DES对DES具备向下兼容性。
如果密钥1和密钥3使用相同的密钥,而密钥2使用不同的密钥,这种三重DES就称为DES-EDE2。
密钥1、密钥2、密钥3全部使用不同的比特序列的三重DES称为DES-EDE3。
3.三重DES的现状
尽管三重DES目前还被银行等机构使用,但其处理速度不高,除了特别重视向下兼容性的情况以外,很少被用于新用途。
参考书目:图解密码技术(第三版)