改进的CubeHash线性差分攻击及SHAvite - 3 - 512密码分析
1. CubeHash相关分析
1.1 CubeHash的轮变换操作
在分析CubeHash时,涉及到一系列的轮变换操作:
- 对于(0 ≤ i ≤ 7),交换(X_i)和(X_{i⊕8})。
- 对于(0 ≤ i ≤ 15),将(X_{i⊕16})异或到(X_i)。
- 对于(i ∈{16, 17, 20, 21, 24, 25, 28, 29}),交换(X_i)和(X_{i⊕2})。
- 对于(0 ≤ i ≤ 15),将(X_i)加到(X_{i⊕16})。
- 对于(0 ≤ i ≤ 15),将(X_i)左移11位。
- 对于(i ∈{0, 1, 2, 3, 8, 9, 10, 11}),交换(X_i)和(X_{i⊕4})。
- 对于(0 ≤ i ≤ 15),将(X_{i⊕16})异或到(X_i)。
- 对于(i ∈{16, 18, 20, 22, 24, 26, 28, 30}),交换(X_i)和(X_{i⊕1})。
考虑的CubeHash变体为(CubeHash - r/b),其中(b = 32, 64)和(96),且始终假设(h = 512)。
1.2 压缩函数的定义
为CubeHash定义了一个固定输入长度的压缩函数(Compress)。该压缩函数由一个1024位的初始值(V)参数化,用于压缩(t (t ≥ 1))个(b)字节的消息块(M = M_0∥· · · ∥M_{t - 1})。输出(H = Compress(M, V ))由处理(M)的(tr)轮变换后内部状态的最后(10
超级会员免费看
订阅专栏 解锁全文


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



