Keccak和Luffa哈希函数的高阶微分特性
在密码学领域,哈希函数的安全性和性能一直是研究的重点。Keccak和Luffa作为SHA - 3竞赛的候选哈希函数,其高阶微分特性对于评估它们的安全性至关重要。本文将深入探讨这两个哈希函数的相关特性。
1. 零和分区的重要性
零和分区具有独特的结构特性,可通过一些封闭公式来描述。它在证明某些给定排列是否满足预期属性时非常有用,有时只需对排列在几个集合 (X_i) 上进行评估即可。这与通用算法找到的零和分区不同,因为目前已知的通用算法几乎需要在所有点上对排列进行评估。
2. Keccak - f排列
2.1 Keccak - f排列概述
Keccak是SHA - 3竞赛第二轮选出的十四个哈希函数之一,采用海绵结构。其内部原语是一个排列,由多个非常相似的轮变换迭代组成。对于SHA - 3候选者,它在1600位状态上操作,该状态由一个5×5×64的三维二进制矩阵表示,可看作64个并行切片,每个切片包含5行5列。Keccak中的排列表示为Keccak - f[b],其中b是状态的大小,对于SHA - 3候选者,b = 1600。
Keccak - f[1600]最初提交时的轮数为18,第二轮更新为24。每一轮R由5个修改状态的排列序列组成:
(R = ι ◦χ ◦π ◦ρ ◦θ)
其中,函数(θ)、(ρ)、(π)、(ι)是一度变换,在三维状态的所有方向上提供扩散。线性部分(L = π ◦ρ ◦θ),非线性层(χ)是一个二次排列,应用于1600位状态的每一行,即进行320次并行的(χ_0)应用以提供混淆。逆排列(χ^{-1})是一个三度排列。
超级会员免费看
订阅专栏 解锁全文
1806

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



