3
我正在學習MD5算法。我發現有四個狀態變量(我不確定這意味着什麼)。這些變量是0x67452301,0xEFCDAB89,0x98BADCFE和0x10325476。我將變量轉換爲小數,並分別提出了1732584193,4023233417,2562383102和271733878。關於MD5狀態變量的問題
我的問題是,爲什麼這些數字?他們是特殊的數字嗎?
我正在學習MD5算法。我發現有四個狀態變量(我不確定這意味着什麼)。這些變量是0x67452301,0xEFCDAB89,0x98BADCFE和0x10325476。我將變量轉換爲小數,並分別提出了1732584193,4023233417,2562383102和271733878。關於MD5狀態變量的問題
我的問題是,爲什麼這些數字?他們是特殊的數字嗎?
參見RFC 1321,第3.3節:
3.3步驟3:初始化MD緩衝區
一個四字緩衝液(A,B,C,d)被用來計算消息摘要。 這裏每個A,B,C,D都是一個32位的寄存器。這些寄存器 初始化爲十六進制以下值,低位字節 第一個):
word A: 01 23 45 67 word B: 89 ab cd ef word C: fe dc ba 98 word D: 76 54 32 10
它們拾取只是升降單十六進制數字,爲了(其似乎到的數字是一組令人愉快的任意初始值)。
由於他們寫第一個低位字節,當你用最少的顯著字節寫在權,你會得到0x67452301等
他們肯定不看變量! – Grumdrig 2009-11-13 04:25:05
@Grumdrig //哦......是的......他們看起來不像變數。我應該怎麼稱呼他們?常量?我使用'變量'是因爲... wiki和其他文檔說它們是變量.. – Moon 2009-11-13 04:26:24
我會指出它們是兩對半字節的反轉,而一對是由低半字節組成的,其他的高8,每種幾乎排序。 – Grumdrig 2009-11-13 04:28:16