密码分析中的时间 - 空间权衡及滑动攻击方法解析
在密码学领域,为了破解加密信息,人们开发了多种攻击方法。本文将深入探讨时间 - 空间权衡攻击以及滑动攻击这两种重要的密码分析手段。
时间 - 空间权衡攻击
时间 - 空间权衡攻击旨在通过预先计算和存储中间结果,减少后续破解密钥时的计算量,从而在时间和空间资源之间找到一个平衡点。
基本计算流程
首先,计算 (A_1 = E(P, R(A_0))),其中 (E) 表示加密函数,(R) 表示约简函数。如果 (A_1) 与表中的某个值匹配,那么可以推断出 (A_0 = E(P, R(\cdots))),这意味着原始加密使用的密钥与约简后的结果匹配。这个过程会不断重复,直到 (A_j) 的值等于某个能确定密钥位置的值,或者在尝试 (S) 次后放弃。
平均而言,找到碰撞需要 (S/2) 次操作,找到密钥也需要 (S/2) 次操作,因此总共需要 (S) 次操作。
成功的关键因素
该方法的成功通常依赖于两个值:表的大小 (S) 和迭代次数 (M)。显然,如果 (S) 和 (M) 较小,密文链的中间值所覆盖的密钥数量就会减少。例如,当 (S = M = 2^{25}) 时,总共预先计算了 (2^{50}) 个密钥。如果密钥是 64 位的值,那么找到随机密钥的概率为 (2^{50}/2^{64} = 2^{-14} \approx 6.25\%)。
为了获得更好的结果,建议选择合适的 (S) 和 (M) 值。当密钥大小为 (k) 时,Hellman 建议 (S = 2^{2k/3}),(M = 2^{k/3})。这样最终的内存需求为 (2^{k
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



