现代密码学5.2--域扩张:Merkle-Damgard Transform
生活随笔
收集整理的這篇文章主要介紹了
现代密码学5.2--域扩张:Merkle-Damgard Transform
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
現代密碼學5.2--域擴張:Merkle-Damgard Transform
- Merkle-Damgard Transform
博主正在學習INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些筆記供自己回憶,如有錯誤請指正。整理成一個系列現代密碼學,方便檢索。
- 第二章定義了完美安全及其對應的密碼方案“一次一密”,
- 第三章介紹了安全定義和滿足安全定義的密碼方案:
- 3.1-3.3 計算安全,PRG和基于PRG構造的滿足計算安全的密碼方案;
- 3.4-3.5 CPA安全,PRF和基于PRF構造的滿足CPA安全的密碼方案
- 3.6 基于PRG和PRF構造的流密碼和分組密碼;
- 3.7 CCA安全,對非CCA安全密碼方案的攻擊
- 第五章介紹哈希函數:
- 5.1節介紹了哈希函數的定義
- 5.2節將介紹一種域擴張,可以將固定長度的輸入擴張到任意長度的輸入,這樣我們就可以只考慮固定長度輸入的哈希函數,簡化了問題。
Merkle-Damgard Transform
- 根據5.1節哈希函數的定義,我們知道哈希函數是將任意長度的字符串映射到固定長度的字符串:{0,1}?→{0,1}l,?>l\{0,1\}^*\rightarrow \{0,1\}^l, *>l{0,1}?→{0,1}l,?>l,
- 但是實際中我們去構建一個哈希函數往往不會考慮對任意長度的輸入,這樣需要考慮的范圍太廣了
- 我們考慮固定長度的輸入,比如2n→n2n\rightarrow n2n→n,壓縮一半長度的哈希函數
- 因為有域擴張,考慮固定長度輸入與任意長度輸入在抗碰撞性上是等價的,所以我們可以只考慮固定長度輸入。
現在證明考慮固定長度輸入(Gen,h)(Gen,h)(Gen,h)與任意長度輸入(Gen,H)(Gen,H)(Gen,H)在抗碰撞性上是等價的:
- 假設(Gen,h):{0,1}2n→{0,1}n(Gen,h):\{0,1\}^{2n}\rightarrow \{0,1\}^n(Gen,h):{0,1}2n→{0,1}n
- (Gen,H):x∈{0,1}?→{0,1}n,∣x∣=L<2n(Gen, H):x\in\{0,1\}^*\rightarrow \{0,1\}^n,|x|=L<2^n(Gen,H):x∈{0,1}?→{0,1}n,∣x∣=L<2n
- 定義(Gen,H)(Gen,H)(Gen,H):設置B:=?Ln?B:=\lceil \frac{L}{n}\rceilB:=?nL??,原始輸入xxx被劃分成BBB個nnn-比特塊,令xB+1=Lx_{B+1}=LxB+1?=L,z0=0nz_0=0^nz0?=0n,zi=hs(zi?1∣∣xi)z_i=h^s(z_{i-1}||x_i)zi?=hs(zi?1?∣∣xi?),輸出zB+1z_{B+1}zB+1?。
我們只要說明?s\forall s?s,HsH^sHs上的碰撞是hsh^shs上的碰撞。
- 假設HsH^sHs上有一對碰撞對(x,x′)(x,x')(x,x′),xB+1=Lx_{B+1}=LxB+1?=L,xB′+1′=L′x'_{B'+1}=L'xB′+1′?=L′
- 考慮兩種情況
- case1:L≠L′L\neq L'L?=L′
- Hs(x)=zB+1=hs(zB∣∣L)H^s(x)=z_{B+1}=h^s(z_B||L)Hs(x)=zB+1?=hs(zB?∣∣L)
- Hs(x′)=zB′+1′=hs(zB′′∣∣L′)H^s(x')=z'_{B'+1}=h^s(z'_{B'}||L')Hs(x′)=zB′+1′?=hs(zB′′?∣∣L′)
- 因為Hs(x)=Hs(x′)H^s(x)=H^s(x')Hs(x)=Hs(x′),則hs(zB∣∣L)=hs(zB′′∣∣L′)h^s(z_B||L)=h^s(z'_{B'}||L')hs(zB?∣∣L)=hs(zB′′?∣∣L′)。
- 因為L≠L′L\neq L'L?=L′,所以zB∣∣L≠zB′′∣∣L′z_B||L\neq z'_{B'}||L'zB?∣∣L?=zB′′?∣∣L′,所以這是hsh^shs上的碰撞對。
- case2:L=L′L=L'L=L′
- 類似地,因為最后輸出是一樣的,而x≠x′x\neq x'x?=x′,所以一定有某個中間輸入是不一樣的
- case1:L≠L′L\neq L'L?=L′
總結
以上是生活随笔為你收集整理的现代密码学5.2--域扩张:Merkle-Damgard Transform的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现代密码学5.1--哈希函数定义
- 下一篇: 现代密码学4.1--消息完整性