深入解析SHAvite - 3 - 256压缩函数的多轮缩减版本攻击
1. 6轮和7轮SHAvite - 3 - 256压缩函数的分析
在对SHAvite - 3 - 256压缩函数的研究中,我们可以通过特定的方法对其6轮和7轮的缩减版本进行分析。
1.1 6轮缩减版本的自由启动碰撞
如果移除Feistel结构的最后一次分支切换(在第六轮结束时),并且基于Davies - Meyer构造,当第一轮输入的活动字节差异等于第六轮输出的活动字节差异时,就可以获得自由启动碰撞。这种情况发生的概率为$2^{-32}$,因为内部状态的右128位字在输入和输出中都包含差异$\Delta$。左128位字是完全活动的,但其差异属于一个4字节子空间。通过重复这个过程,我们可以用$2^{48 + 32} = 2^{80}$次计算和$2^{32}$的内存找到6轮缩减版SHAvite - 3 - 256的自由启动碰撞。
1.2 7轮缩减版本的区分器
对于7轮缩减版本,整个路径的一个解决方案仍然可以用$2^{48}$次计算和$2^{32}$的内存得到。因为最后一轮的差分轨迹以概率1被验证。一个解决方案对在其右字输入上有差异$\Delta$,在其左字输入上的差异保持在大约$2^{32}$个元素的子空间中。在输出方面,左128位输出字的差异保持在$2^{32}$个元素的同一子空间中,而右输出字将有一个随机差异。总体而言,经过前馈应用后,我们得到一个压缩函数输出差异保持在最多$2^{160}$个元素的子空间中,而输入差异保持在$2^{32}$个元素的子空间中。这相当于通过一个704位到256位的压缩函数将一个固定的672位输入差异(链变量224位,非活动传入消息块2
超级会员免费看
订阅专栏 解锁全文

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



