三重DES使用第一个密钥,然后是第二个密钥,然后是第三个密钥。两把钥匙坐着等着。为什么不同时加密这三个密钥呢?
您接受192位明文(三个64位子块),并通过MDS矩阵运行整个192位作为预步骤。然后,并行地使用第一个密钥加密第一个块,用第二个密钥加密第二个块,用第三个密钥对第三个块进行加密。
你重复192位MDS矩阵。然后,并行地用第一个密钥加密第三个块,用第二个密钥加密第一个块,用第三个密钥加密第二个块。
你重复192位MDS矩阵。然后,并行地用第一个密钥加密第二个块,用第二个密钥加密第三个块,用第三个密钥加密第一个块。
Block1 = Key1,Key2,Key3
Block2 = Key2,Key3,Key1
Block3 = Key3,Key1,Key2
使用第三个密钥、第二个密钥和第一个密钥进行加密与使用第一个密钥、第二个密钥和第三个密钥加密没有什么不同,因此安全性不会丢失。这也将是抵抗64位块大小的攻击。并行加密所有三个密钥会带来多大的实际性能提高?它会使实现复杂化到不值得的程度吗?
发布于 2022-03-08 22:13:01
这实际上是一个192位的分组密码,改变任何一位输入都会对所有192位的输出产生不可预测的影响。一些注意事项:
至于性能,那将很大程度上取决于硬件(性能总是如此)--显然,如果您有一个软件实现一次只能执行一个DES操作,那么您的速度不会比正常的3 DES快(而且实际上要慢一点;这都是因为中间IP/FP操作和MDS操作)。假设您的硬件可以并行执行多个DES操作,那么您可能会获得一些增益--但是(进行BOTE计算)加密48个字节将需要6个(3x并行) DES操作;用AES加密相同的48个字节将需要3个AES操作--我预计后者会更快。
https://crypto.stackexchange.com/questions/98997
复制相似问题