7.3 三重DES—DESede
作为DES算法的一种改良,DESede算法针对其密钥长度偏短和迭代次数偏少等问题做了相应改进,提高了安全强度。但这仍不是终点,DESede算法的出现仅为DES算法的改良提供了一种参考。DESede算法处理速度较慢,密钥计算时间较长,加密效率不高等问题使得对称加密算法的发展仍不容乐观。
7.3.1 简述
DES算法被广大密码学机构质疑的原因主要在于DES算法的半公开性,违反了柯克霍夫原则,各大密码学结构怀疑美国国家安全局在未公开的算法实现内安置后门。
DES算法有3点安全隐患:密钥太短、迭代偏少和半公开性。这使得淘汰DES算法成为一种必然,但要淘汰DES算法必须找到合适的替代方案。
针对密钥太短和迭代偏少问题,有人提出了多重DES的方式来克服这些缺陷。比较典型的有两重DES(2DES)、三重DES(3DES)和四重DES(4DES)等几种形式,但在实际应用中一般采用3DES方案,它还有两个别名Triple DES和DESede。在Java中,我们通常称其为DESede算法。当然,其他两种名称在使用时同样可以获得支持。
DESede算法将密钥长度增至112位或168位,抗穷举攻击的的能力显著增强,但核心仍是DES算法,虽然通过增加迭代次数提高了安全性,但同时也造成处理速度较慢,密钥计算时间加长,加密效率不高的问题。