質問

Hi I just understand it from a piece of code at wikipedia. The problem is there're too many implementations that use solid pad parameters, for eg: ipad would be [0x36 * blocksize] opad would be [0x5c * blocksize].

The questions are:

Why do people use this two solid pads in the code? Are they the best choice?
and Since it's solid, is this algorithm really securer than H(H(key+msg)+key)?

By the way, I must say many documents about hashes and authentication are really horrible.
Is it because the NSA asks them to not be clear?

役に立ちましたか?

解決

First, HMAC comes from academic researchers Bellare, Rogaway, and Krawczyk. NSA never touched HMAC, the standard is exactly as defined by the academic researchers.

The rationale for the choices of ipad and opad are explained in their paper Keying Hash Functions for Message Authentication on page 14, but unless you are a cryptographer, you might have difficulty understanding it.

In a nut-shell, there is nothing special about those particular values. Any constants would have worked.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top