|
HMAC (Hash-based Message Authentication Code) とは、メッセージ認証符号 (MAC; Message Authentication Code) の一つであり、秘密鍵とメッセージ(データ)とハッシュ関数をもとに計算される。 1997年2月、IBMのKrawczyk達により提唱され、RFC 2104として公開されている。 また、FIPS PUB 198にも採用されている。 == 概要 == MACは認証及び改竄検出技術の核となるアルゴリズムである。 MAC値の算出時にHMACアルゴリズムの中で用いられるハッシュアルゴリズムは、MD5やSHA-1など任意の繰返し型ハッシュ関数が適用可能であり、それぞれHMAC-MD5、HMAC-SHA1などと呼ばれる。 HMACは次のように定義される: : ここで、"h" は繰返し型ハッシュ関数、"K" は秘密鍵で、もしハッシュ関数 "h" のブロック長より短い場合は "K" を先頭に寄せて末尾に0x00でパディングを行う。"m" は認証対象メッセージである。"||" は連結、""は排他的論理和を表す。2つの定数 "ipad" と "opad" は、各々ハッシュ関数 "h" のブロック長と同じ長さの埋め草で、"ipad" = 0x363636...3636 と "opad" = 0x5c5c5c...5c5c と定義する。つまり、ハッシュ関数 "h" のブロック長が 512ビット(64オクテット〔RFC 2104では、octetでなく、byteと書いてある。〕)の場合ならば、埋め草の "ipad" と "opad" は、それぞれ64オクテットの 0x36 や 0x5c の連続である。 HMACにより算出された値はMAC値と呼ばれる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「HMAC」の詳細全文を読む スポンサード リンク
|