5. インスタンス化 (Instantiation)
HMAC は、任意の反復型暗号学的ハッシュ関数 H を用いてインスタンス化できる。本節では、具体的なインスタンス化に必要なパラメータを明記する。
インスタンス化にあたっては、以下の値を指定する。
- ハッシュ関数 H (たとえば MD5、SHA-1、RIPEMD-160)。
- ハッシュ関数の内部ブロック長 B (MD5、SHA-1、RIPEMD-160 のいずれも B = 64)。
- ハッシュ出力長 L (MD5 は L = 16、SHA-1 は L = 20、RIPEMD-160 は L = 20)。
HMAC の計算は、第 2 節で規定したアルゴリズムに従い、選択したハッシュ関数 H とそのパラメータ B、L を用いて実行される。基となるハッシュ関数を変更する場合、HMAC の構成そのものを変更する必要はなく、H、B、L の値を差し替えるだけでよい。
利用可能なハッシュ関数の現在の候補には、SHA-1 [SHA]、MD5 [MD5]、RIPEMD-128/160 [RIPEMD] が含まれる。これらの実現は、それぞれ HMAC-SHA1、HMAC-MD5、HMAC-RIPEMD と表記される。