DUKPT算法是否会生成弱DES密钥?

时间:2012-05-10 12:41:26

标签: c# .net des weak

我正在使用DUKPT算法为DES加密算法生成密钥。当您尝试使用弱密钥时,DES的C#实现会引发异常。

DUKPT算法是否可以生成弱密钥,还是避免它们?如果确实生成弱密钥,我该怎么办?

1 个答案:

答案 0 :(得分:4)

可能,但非常不可能。 DUKPT算法为每个事务提供唯一的密钥,并且可以设置或不设置任何时间的所有比特,因此它可以生成"弱"所有0的关键。根据你的钥匙的大小,它当然不太可能发生,并且你要小心任意地抛弃"弱"键,因为它也削弱了其他键。

全零键在2 ^(N)中发生1次,其中N是键中的位数,因此对于64位密钥:1 /(2 ^ 64)...不用说,不是常常。由于DUKPT每次交易都会生成一个唯一的密钥,因此您可以正常使用它而无需在DES中检查该情况,因为您可能无论如何都要进行所有16轮。