HMAC
HMACは次のように定義される:
H M A C K ( m ) = h ( ( K ⊕ o p a d ) | | h ( ( K ⊕ i p a d ) | | m ) ) . {\displaystyle {\mathit {HMAC}}_{K}(m)=h\left((K\oplus opad)\;||\;h((K\oplus ipad)\;||\;m)\right).}
ここで、 h {\displaystyle h} は繰返し型ハッシュ関数、 K {\displaystyle K} は秘密鍵、 m {\displaystyle m} は認証対象のメッセージ、 i p a d {\displaystyle ipad} と o p a d {\displaystyle opad} は定数パディング(具体的には16進数で i p a d = 0x363636...3636 , o p a d = 0x5c5c5c...5c5c {\displaystyle ipad={\textrm {0x363636...3636}},opad={\textrm {0x5c5c5c...