1

我正在使用TripleDESC# 并根据MSDN 条目TripleDES可以使用两个或三个 56 位密钥并使用 DES 的三个迭代。但是,我不知道如何指定要使用多少个键,以及这些键是什么。事实上,我能找到的所有示例都显示TripleDES.CreateEncryptor()使用一个键或没有键调用。此外,TripleDES该类只有一个Key属性。

如何为 指定第二个和第三个键TripleDES

提前致谢。

4

1 回答 1

3

如果您查看Key属性,您会看到:“此算法支持从 128 位到 192 位的密钥长度,以 64 位为增量。”。

如果您需要 2 键 TripleDES,请将密钥设置为 16 字节密钥。如果您想要 3 键 TripleDES,请将其设置为 24 字节的键。有关更多信息,请参阅此帖子

维基百科条目,列出了不同的键控选项。

原因是存在中间相遇攻击,而 2-key TripleDES 让您在只使用两个密钥的情况下避免攻击。不幸的是,还有其他攻击,因此 NIST 认为其强度约为 80 位安全性。3-key TripleDES 也很脆弱,只有 112 位的有效强度。

如果您有选择,您应该更喜欢 AES 而不是 TripleDES。

于 2012-12-10T22:56:22.290 回答