Page 406 - 《软件学报》2025年第7期
P. 406
许垠松 等: 分组密码结构的低数据量子密钥恢复攻击 3327
0
1
0
1
[y 1 , y 1 ] [y 2 , y 2 ]
0
1
1
0
[y 0 , y 0 ] [y 3 , y 3 ]
k 1 F 1 k 2 F 2 k 3 F 3
[x 0 , x 0 ] σ σ [x 3 , x 3 ]
1
0
1
0
1
1
0
0
[x 1 , x 1 ] [x 2 , x 2 ]
图 7 3 轮 Lai-Massey 结构
根据 3 轮 Lai-Massey 结构的计算, 可以得到中间状态:
1
0
x = x ⊕ F 1R (∆ 1 ),
1 0
1
0
1
x = x ⊕ x ⊕ F 1L (∆ 1 )⊕ F 1R (∆ 1 ),
1 0 0
0
0
y = y ⊕ F 1L (∆ 1 ),
1 0
1
1
y = y ⊕ F 1R (∆ 1 ),
1 0
0
0
1
x = x ⊕ x ⊕ F 1L (∆ 1 )⊕ F 1R (∆ 1 )⊕ F 2R (∆ 2 ),
2 0 0
0
1
x = x ⊕ F 1L (∆ 1 )⊕ F 2L (∆ 2 )⊕ F 2R (∆ 2 ),
2 0
0
0
y = y ⊕ F 1L (∆ 1 )⊕ F 2L (∆ 2 ),
2 0
1
1
y = y ⊕ F 1R (∆ 1 )⊕ F 2R (∆ 2 ),
2 0
1
0
0
x = x ⊕ x ⊕ F 1L (∆ 1 )⊕ F 1R (∆ 1 )⊕ F 2R (∆ 2 )⊕ F 3L (∆ 3 ),
3 0 0
0
1
x = x ⊕ F 1L (∆ 1 )⊕ F 2L (∆ 2 )⊕ F 2R (∆ 2 )⊕ F 3R (∆ 3 ),
3 0
0
0
y = y ⊕ F 1L (∆ 1 )⊕ F 2L (∆ 2 )⊕ F 3L (∆ 3 ),
3 0
1
1
y = y ⊕ F 1R (∆ 1 )⊕ F 2R (∆ 2 )⊕ F 3R (∆ 3 ).
3
0
其中,
1
∆ 1 = [x ⊕y , x ⊕y ]⊕k 1 ,
0
0
1
0 0 0 0
1
1
0
0
1
∆ 2 = [x ⊕y ⊕ F 1L (∆ 1 )⊕ F 1R (∆ 1 ), x ⊕ x ⊕y ⊕ F 1L (∆ 1 )]⊕k 2 ,
0 0 0 0 0
0
0
∆ 3 = [x ⊕ x ⊕y ⊕ F 1R (∆ 1 )⊕ F 2L (∆ 2 )⊕ F 2R (∆ 2 ), x ⊕y ⊕ F 1L (∆ 1 )⊕ F 1R (∆ 1 )⊕ F 2L (∆ 2 )]⊕k 3 ,
0
1
1
0 0 0 0 0
(
且 F iL (·) 和 F iR (·) i = 1,2,3) 表示轮函数 F i (·) 输出结果的左半部分和右半部分比特. 依据上述这些公式, 我们可以
0
0 y 之间的关系, 如公式
推导出 x 与 (1) 所示.
3 3
0
0
0
1
0
x ⊕y = x ⊕ x ⊕y ⊕ F 1R (∆ 1 )⊕ F 2L (∆ 2 )⊕ F 2R (∆ 2 ) (1)
3 3 0 0 0
在了解了 3 轮 Lai-Massey 结构以后, 我们给出如下选择明文攻击环境下的密钥恢复攻击过程.
P 1 = [α 1 ,α 1 ]||[α 1 ,α 1 ], 查询出其对应的密文, 根据公式 (1) 可计算出:
(1) 选择明文 P 0 = [α 0 ,α 0 ]||[α 0 ,α 0 ] 和
0
0
x (P 0 )⊕y (P 0 ) =α 0 ⊕ F 1R ([0,0]⊕k 1 )⊕ F 2L ([F 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 0 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 )
3 3
⊕ F 2R ([f 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 0 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 ),
0
0
x (P 1 )⊕y (P 1 ) =α 1 ⊕ F 1R ([0,0]⊕k 1 )⊕ F 2L ([ f 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 1 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 )
3 3
⊕ F 2R ([F 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 1 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 ),
则可推出以下公式:
0
0
0
0
x (P 0 )⊕y (P 0 )⊕ x (P 1 )⊕y (P 1 ) =α 0 ⊕α 1 ⊕ F 2L ([F 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 0 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 )
3
3
3
3
⊕ F 2R ([F 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 0 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 )
⊕ F 2L ([F 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 1 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 )
⊕ F 2R ([F 1L ([0,0]⊕k 1 )⊕ F 1R ([0,0]⊕k 1 ),α 1 ⊕ F 1L ([0,0]⊕k 1 )]⊕k 2 ) (2)

