高级AES掩码方案的漏洞分析与攻击模拟
1. 掩码方案中的漏洞
在某些掩码方案里,变量间存在特定关系,这可能导致安全漏洞。算法3步骤4中操作的变量U满足$U = β ◦G_{d..1}(Z)$,也就是$U = B^{-1}(Z)$,这里的B是算法1步骤2设计的单应函数。所以,U可看作Z的单应掩码表示,$B^{-1}$起到单应掩码函数的作用。
就像其他类型的掩码(如布尔掩码、乘法掩码或仿射掩码)一样,单应掩码函数也能在掩码S盒构造过程中,通过同时针对掩码变量的操作和掩码材料的操作被破解。这就引出了一个5阶漏洞,并且该漏洞可简化为4阶、3阶和2阶漏洞,无论方案的阶数d是多少。
1.1 第一类漏洞
设$(B_1, B_2, B_3, B_4)$是一个4元组,使得B满足矩阵表示$M_B = \begin{bmatrix} B_1 & B_2 \ B_3 & B_4 \end{bmatrix}$。由$U = B^{-1}(Z)$和矩阵表示可推出$Z = B(U) = \frac{B_1U + B_2}{B_3U + B_4}$。
这个等式表明,关于U的信息与关于函数B的信息相结合,就能揭示敏感变量Z的信息。关于U的信息可在算法3第一个循环的最后一次迭代结束时对U进行操作期间获取;关于B的信息可通过观察算法1第二个循环的最后一次迭代中B的矩阵表示的实例化来获得,这一过程实际上是通过调用算法2完成的,意味着要操作$M_B$的4个坐标$B_1, B_2, B_3$和$B_4$。
基于此,可得出存在以下关于Z的5阶漏洞:${B_1, B_2, B_3, B_4, U}$。实际上,不需要完整描述B就能与U一起揭示Z的漏洞
超级会员免费看
订阅专栏 解锁全文
32

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



