我使用DUKPT算法为DES加密算法生成密钥。当您尝试使用弱密钥时,DES的C#实现会抛出异常。
DUKPT算法有没有可能生成弱密钥,或者它会避免它们?如果它确实生成了一个弱密钥,我该怎么办?
发布于 2012-05-10 20:59:38
有可能,但可能性很小。DUKPT算法为每个事务提供一个唯一的密钥,所有位在任何时候都可以设置或不设置,因此它有可能生成全为0的“弱”密钥。当然,根据你的键的大小,这种情况发生的可能性要小得多,而且你要小心不要随意丢弃“弱”键,因为这也会削弱其他键。
全零密钥在2^(N)中出现1次,其中N是密钥中的位数,因此对于64位密钥: 1/(2^64)...needless,不是很常见。由于DUKPT为每个事务生成一个惟一的密钥,因此您应该可以使用它,而无需在DES中检查这种情况,因为不管怎样,您可能会执行所有16轮。
https://stackoverflow.com/questions/10534235
复制相似问题