任何密码学文本都提到,在对对称算法的蛮力攻击中,有 50% 的机会在尝试一半后找到密钥。
例如,使用 56 位密钥的 DES 在前 2 55次尝试后将有 50% 的机会找到密钥。
为什么在针对任何对称加密算法的暴力攻击中,经过一半的尝试后有 50% 的机会找到密钥?它的数学证明是什么?
任何密码学文本都提到,在对对称算法的蛮力攻击中,有 50% 的机会在尝试一半后找到密钥。
例如,使用 56 位密钥的 DES 在前 2 55次尝试后将有 50% 的机会找到密钥。
为什么在针对任何对称加密算法的暴力攻击中,经过一半的尝试后有 50% 的机会找到密钥?它的数学证明是什么?
如果您面前有 N 个盒子,其中一个包含奖品,那么平均而言,您只需查看一半的盒子即可找到它。
(换个角度看:如果有很多盒子,而奖品在你尝试的最后一个盒子里,你会非常不走运。)
证明: 奖品在任何特定盒子中的机会是1/N
,并且奖品在一个且只有一个盒子中。如果你看一半的方框 ( N/2
),你找到它的机会是(1/N) * (N/2)
50 1/2
%。
每个密钥都可以加密和解密。因此,如果有 100 个可能的密钥,那么暴力攻击看起来像: