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

外部連結