📅  最后修改于: 2021-01-12 04:43:49             🧑  作者: Mango
1990年之后,针对DES进行详尽的密钥搜索的速度开始在DES用户中引起不适。但是,用户不希望替换DES,因为要花费大量时间和金钱来更改广泛采用并嵌入在大型安全体系结构中的加密算法。
务实的方法不是完全放弃DES,而是要改变使用DES的方式。这导致了三重DES(有时称为3DES)的修改方案。
顺便提及,三重DES有两种变体,分别称为3键三重DES(3TDES)和2键三重DES(2TDES)。
在使用3TDES之前,用户首先生成并分发3TDES密钥K,该密钥由三个不同的DES密钥K 1 ,K 2和K 3组成。这意味着实际的3TDES密钥的长度为3×56 = 168位。加密方案如下所示-
加密解密过程如下-
使用密钥为K 1的单个DES加密明文块。
现在,使用带有密钥K 2的单个DES解密步骤1的输出。
最后,使用具有密钥K 3的单个DES加密步骤2的输出。
步骤3的输出是密文。
密文的解密是一个反向过程。用户首先使用K 3解密,然后使用K 2加密,最后使用K 1解密。
由于将Triple DES设计为加密,解密和加密过程,因此可以通过将K 1, K 2和K 3设置为相同的值,对单个DES使用3TDES(硬件)实现。这提供了与DES的向后兼容性。
三重DES(2TDES)的第二变体是相同的3TDES除了K 3是由K 1取代。换句话说,用户使用密钥K 1加密明文块,然后使用密钥K 2解密,最后再次使用K 1加密。因此,2TDES的密钥长度为112位。
三重DES系统比单重DES系统安全得多,但是与使用单重DES加密相比,这些过程显然要慢得多。