SHAvite - 3 - 256哈希函数的分析与攻击
1. SHAvite - 3 - 256哈希函数概述
SHAvite - 3 - 256是SHAvite - 3的256位版本,它是基于HAIFA框架的迭代哈希函数。其工作流程如下:
1. 消息填充与分块 :待哈希的消息M先进行填充,然后分割成ℓ个512位的消息块,即(M_0\parallel M_1\parallel…\parallel M_{\ell - 1})。
2. 状态更新 :256位的内部状态初始化为初始值IV,之后通过256位压缩函数(C_{256}),利用每个消息块对内部状态进行迭代更新。
3. 输出哈希值 :处理完所有填充后的消息块后,将内部状态截断为所需的哈希大小n,得到输出哈希值。具体公式为:
(h_0 = IV),(h_i = C_{256}(h_{i - 1}, M_{i - 1}, salt, cnt)),(hash = truncn(h_i))
压缩函数(C_{256})内部使用了256位的分组密码(E_{256}),采用经典的Davies - Meyer模式。其输入包括256位的链接值(h_{i - 1})、512位的消息块(M_{i - 1})、256位的盐(salt)和64位的计数器(cnt),输出为:
(h_i = C_{256}(h_{i - 1}, M_{i - 1}, salt, cnt) = h_{i - 1}\oplus E_{256}^{M_{i - 1}\parallel salt\parallel cnt}(h_{i - 1}))
超级会员免费看
订阅专栏 解锁全文
41

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



