Sha-1
SHA 0 中的局部衝突
我發現關於在 SHA 0 中構造衝突的論文對我來說很有趣。在第 60 頁上,作者確定了 M 變數,它是 32 位向量的串聯 $ M^{(i)} $ ,但我找不到任何解釋
$$ \forall i,0\leq i\leq 79,M^{(i)}{0,k}=0\text{ if }k\neq 1 $$ $$ \forall i,0\leq i\leq 79,M^{(i)}{0,k}=m_0^{(i)} $$ $ M $ 帶上標 $ (i) $ 表示一個 32 位向量,它指的是 $ i $ - 第單詞 W。
做什麼 $ M $ 有兩個下標 $ 0 $ 和 $ k $ 意思是?
說清楚很重要,因為獲得正確口罩的整個過程 $ M $ 基於第一個遮罩 $ M_0 $ . 請幫助我理解作者的定義。
在參考論文中, $ M^{(i)}_{j,k} $ 有點 $ k $ 32 位的 $ M^{(i)}_j $ , 和 $ -5\le i<80 $ , $ j $ 與中相同的索引 $ m_j $ 和 $ 0\le j<6 $ , 和位索引 $ k $ 是與 $ 0\le k<32 $ .
因此,問題的兩個陳述等同於
$$ \forall i,0\leq i\leq79,\quad M^{(i)}_0=\begin{cases} \mathtt{00000000_h}&\text{if }m_0^{(i)}=0\ \mathtt{00000002_h}&\text{if }m_0^{(i)}=1 \end{cases} $$