MACとHMACの主な違いは、MACはメッセージの認証に役立つタグまたは情報の一部であり、HMACは暗号ハッシュ関数と秘密の暗号鍵による特殊なMACであることです。
暗号は、データを送信元から送信先に安全に送るためのプロセスです。
不正な者が機密データにアクセスすることを回避するのに役立ちます。
暗号技術には、暗号化と復号化という2つの主要な機能があります。
暗号化とは、送信者側でメッセージを認識できない形式に変換することを指します。
一方、復号化とは、認識できないメッセージを認識できるメッセージに変換することである。
さらに、メッセージを受け渡すための暗号として、MACとHMACがあります。
MACとは
MACとは、Message Authentication Code(メッセージ認証コード)の略です。
これは、メッセージを認証するのに役立つ小さな情報です。
さらに、そのメッセージが指定された送信者から来たものであることを保証します。
MAC値は、メッセージのデータの完全性とその真正性の両方を保護します。
MAC値は、メッセージの内容に対するいかなる変更も把握するのに役立つ。
MACは3つのアルゴリズムから構成される。
まず、鍵空間から一様にランダムに鍵を選択する鍵生成アルゴリズムがあります。
また、鍵とメッセージを与えてタグを返す署名アルゴリズムがあります。
最後に、鍵とタグを与えられたメッセージの認証を支援する検証アルゴリズムがあります。
一般に、MAC関数は暗号ハッシュ関数に類似している。
これらの関数は、様々なセキュリティ要件を持っています。
HMACとは
HMACは、ハッシュベースのメッセージ認証コードの略です。
MACの一種である。
暗号ハッシュ関数と秘密の暗号鍵が含まれています。
HMACは、データの完全性とメッセージの認証を同時に検証することができる。
一般に、HMACの暗号強度は、基礎となるハッシュ関数の暗号強度、ハッシュ出力の大きさ、鍵の大きさと品質に依存する。
HMACは2つのパスで計算を行う。
秘密鍵は内部鍵と外部鍵を見つけるのに役立つ。
つまり、アルゴリズムの最初のパスでは、メッセージと内部キーから得られる内部ハッシュが生成される。
さらに、2回目のパスでは、内部ハッシュの結果と外部キーから最終的なHMACコードを生成する。
全体として、このアルゴリズムは、長さ拡張攻撃に対する耐性を提供することができる。
MACとHMACの違い
定義
MACは、メッセージを認証するために使用される短い情報の断片です。
これに対し、HMACは、暗号ハッシュ関数と秘密の暗号鍵を含むMACの特定のタイプです。
長文
MACがMessage Authentication Codeの略であるのに対して、HMACはHash based Message Authentication Codeの略です。
結論
簡単に言うと、HMACはMACの一種である。
MACとHMACの主な違いは、MACがメッセージの認証に役立つタグや情報の一部であるのに対し、HMACは暗号ハッシュ関数と秘密の暗号鍵を持つ特殊なタイプのMACであることである。