2步匹配中间人攻击的差分筛选技术及应用
1. 2步匹配中间人攻击的差分筛选
1.1 攻击步骤
对于2|Kb|个可能的密钥猜测kb,需要对两个对应的密文c0和c1进行部分解密,从而得到两个m位的部分状态值(Xb0 j+1, Xb1 j+1)。具体步骤如下:
1. 步骤1 :检查得到的差值dy = (Xb0 j+1 ⊕ Xb1 j+1)以及表T中任意的dx条目,判断它们是否是通过S盒层的可能差分转换。如果是,则进入步骤2;否则,猜测另一个kb。
2. 步骤2 :从kb获取Km,并利用在步骤1中匹配的正向表T条目,计算Xf 0 j+1 = Xf 0 j ⊕ Km和Xf 1 j+1 = Xf 1 j ⊕ Km。检查这两个状态是否分别等于Xb0 j+1和Xb1 j+1。如果相等,则将当前主密钥候选(Ks ∪ Kf ∪ Kb)添加到可能正确密钥的列表Lp中;否则,猜测另一个kb。
1.2 复杂度分析
- 时间复杂度 :假设cf ≈ cb ≈ ct/2,攻击的总时间复杂度为2|Ks|(2|Kf | + 2|Kb|) · ct + 2|K|−α−2m · ct。
- 内存复杂度 :内存复杂度为2|Kf | + 2|Kf |+|Kb|−α−2m。由于列表T和Lp的大小通常较小,该复杂度可能可以忽略不计。
- 数据复杂度 :数据复杂度等于所分析密码的唯一距离。
以下是该攻击步骤的me
超级会员免费看
订阅专栏 解锁全文
1201

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



