SHACAL - 1加密算法攻击分析与改进
1. 70轮SHACAL - 1攻击不可行性分析
在对70轮SHACAL - 1的攻击中,依据相关公式 (A_{i + 1}=K_i+ROT L5(A_i)+F_i(B_i, C_i, D_i)+E_i + Con_i) 和命题1,可得到 (A_{7,8}=A_{6,3}) 以及 (A_{7,8}^ =A_{6,3}^ )。再结合加密算法和命题1,有 (A_{11,1}=E_{10,1}=A_{6,3}),(A_{11,1}^ =E_{10,1}^ =A_{6,3}^ ),(E_{11,6}=A_{7,8}),(E_{11,6}^ =A_{7,8}^ )。由此可知 (A_{11,1}=E_{11,6}) 且 (A_{11,1}^ =E_{11,6}^ )。
根据上述公式和命题2,可推出 (A_{12}\neq A_{12}^ ),即 (\Delta A_{12}\neq0),这与差分特征中 (\Delta A_{12}=0) 相矛盾。因为第6轮差分相加无进位,所以 (A_{7,8}) 与 (A_{6,3}) 符号相同,且该符号会传递到 (A_{11,1})。当这两个差分进入第12轮加法时,由于符号相同,无法相互抵消。因此,对70轮SHACAL - 1的攻击是不可行的。
值得注意的是,仅考虑异或差分时,差分概率大于0;但考虑模差分时,就能发现此问题。
2. 密钥条件分析
相关密钥差分攻击(如[7, 10, 13]中的攻击)需处理加法运算带来的问题。部分差分的异或差分只有在满足特定密钥条件时才成立。相关密钥攻
超级会员免费看
订阅专栏 解锁全文
7

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



