メッセージ認証コード(MAC)とは
メッセージ認証コード(MAC、Message Authentication Code)とは、鍵を使ってメッセージの認証を行い正当性を担保する仕組みです。
メッセージ本体に送信者と受信者で共有している鍵を基に、固定長の値を算出します。この固定値のことをMAC(Message Authentication Code)値といいます。任意のメッセージから固定値を計算するのはハッシュ化と似ていますが、MACでは鍵を使います。
鍵を持っている者でなければ、メッセージの正当性の確認もできません。すなわち、内容の正真性だけではなく、認証も提供します。
ただ、鍵を使ってメッセージをハッシュする方法もあります。これをHMAC(Hash Message Authentication Code)といいます。HMACでは、メッセージをipad(00110110の繰り返し、16進数の36)と鍵をXORしたものとopad(01011100の繰り返し、16進数の5C)の鍵をXORしたものを付与します。