2013-10-05 58 views
1

嗨,我只是從維基百科的一段代碼中瞭解它。 問題是有太多的實現,使用固定墊參數, 例如: ipad將[0x36 *塊大小] opad將[0x5c *塊大小]。爲什麼hmac使用兩個固定的pad參數?

的問題是:

爲什麼人們在代碼中使用這兩種固態盤?他們是最好的選擇嗎?
由於它是穩定的,這個算法是否比H(H(key + msg)+ key)更安全?

順便說一句,我必須說很多關於哈希和身份驗證的文檔真的很糟糕。
是因爲NSA要求他們不清楚嗎?

+0

我在這裏的理解水平也很低,我想盡管我們可能會填充未使用的空間,因爲它們被假定爲特定的長度。我正在觀看講座23:對稱密鑰建立和Kerberos by Christof Paar @ https://www.youtube.com/watch?v=iaH8UG2yMg4(這可以幫助你理論),現在知道幾個關於如何通過標準websocket完成這件事 –

回答

0

首先,HMAC來自學術研究者Bellare,Rogaway和Krawczyk。 NSA從未觸及過HMAC,這個標準與學術研究人員的定義完全相同。

ipad和opad的選擇基本原理在第12頁的Keying Hash Functions for Message Authentication中有解釋,但除非您是密碼專家,否則您可能難以理解它。

在堅果殼中,這些特殊值沒有什麼特別之處。任何常量都可以工作。

相關問題