Grøstl

Grøstl 是一款参与NIST散列函数竞赛加密散列函数。Grøstl入选比赛最后五强。 它与AES一样使用相同的S盒结构。创造者声称在酷睿2处理器中其速度达到每字节21.4个周期。

根据提交的文件显示,Grøstl之名从德语而来。该名称原指一道奥地利菜,而该菜式的英语名称则称为哈希(中文称之为乞食牛肉)。

像其他MD5/SHA家庭的散列函数,Grøstl将输入资料分成资料块,再重复计算 hi = f(hi-1, mi). 然而,Grøstl在每次计算后都保留至少相等于最终哈希值两倍大小的数值(512位或1024位),直至计算完成再将尾端数值截尾。压缩函数f 被定义为:

f(h, m)= P(hm)⊕ Q(m)⊕ h

PQ之置换函数都基于Rijndael(AES)研发而成,但该函数分别处理8×8或8×16的字节,而非4×4字节组。每次压缩皆牵涉四个操作。

最后数值经由以下函数算出哈希值:Ω(h)= hP(h),然后截断至所需之长度。

Grøstl函数例子

空字串的Grøstl值:

Grøstl-224("")
0x f2e180fb5947be964cd584e22e496242c6a329c577fc4ce8c36d34c3
Grøstl-256("")
0x 1a52d11d550039be16107f9c58db9ebcc417f16f736adb2502567119f0083467
Grøstl-384("")
0x ac353c1095ace21439251007862d6c62f829ddbe6de4f78e68d310a9205a736d8b11d99bffe448f57a1cfa2934f044a5
Grøstl-512("")
0x 6d3ad29d279110eef3adbd66de2a0345a77baede1557f5d099fce0c03d6dc2ba8e6d4a6633dfbd66053c20faa87d1a11f39a7fbe4a6c2f009801370308fc4ad8

即使字串发生小小的改变,雪崩效应会使哈希值大大改变。 例如:

Grøstl-256("The quick brown fox jumps over the lazy dog")
0x 8c7ad62eb26a21297bc39c2d7293b4bd4d3399fa8afab29e970471739e28b301
Grøstl-256("The quick brown fox jumps over the lazy dog.")
0x f48290b1bcacee406a0429b993adb8fb3d065f4b09cbcdb464a631d4a0080aaf

外部链接