シグネチャベースの MAC などというものはありません。リストの中では間違った選択ですが、これがこの質問に対する最良の答えです。
メッセージ認証コード (MAC) とは何ですか?
暗号化では、MAC (メッセージ認証コード) は暗号化とも呼ばれます。
チェックサムは、秘密キーを使用して生成され、追加される小さなデータ ブロックです。
メッセージに。メッセージを受信すると、受信者は独自の MAC を生成できます。
秘密鍵を使用しているため、メッセージも変更されていないことがわかります。
輸送中に偶然または意図的に。もちろん、この保証は、
双方が他の誰も秘密鍵にアクセスできないことを信頼します。
MAC はメッセージを小さく表現したもので、次の特徴があります。
MAC は、それを生成するメッセージよりもはるかに小さいです。
MAC が与えられた場合、それを生成したメッセージを計算することは非現実的です。
MAC とそれを生成したメッセージを考慮すると、別のメッセージを見つけるのは現実的ではありません。
同じ MAC を生成します。
MAC 値の作成を示すウィキペディアの以下の図を参照してください。

メッセージ認証コード MAC HMAC 上の例では、メッセージの送信者は MAC アルゴリズムを通じてメッセージを実行し、MAC データ タグを生成します。その後、メッセージと MAC タグが受信者に送信されます。次に、受信側は、同じキーを使用して同じ MAC アルゴリズムを通じて送信のメッセージ部分を実行し、2 番目の MAC データ タグを生成します。次に、受信機は送信で受信した最初の MAC タグを 2 番目に生成された MAC タグと比較します。それらが同一であれば、受信者はメッセージの完全性が損なわれておらず、送信中にメッセージが変更または改ざんされていないと安全に想定できます。
ただし、受信者がリプレイ攻撃を検出できるようにするには、メッセージ自体に、同じメッセージが 1 回だけ送信できることを保証するデータ (タイムスタンプ、シーケンス番号、またはワンタイム MAC の使用など) が含まれている必要があります。そうしないと、攻撃者はその内容を理解することさえせずに、このメッセージを記録し、後で再生して、元の送信者と同じ結果を生み出す可能性があります。注: MAC 値を生成するにはさまざまな方法があります。以下にいくつかの実装の短いリストを示します。
この質問に対する誤った回答は次のとおりです。
これらはすべて実際のタイプの MAC 実装であるため、すべて不正解でした。DES-CBC の場合、MAC は CBC モードの DES アルゴリズムを使用して生成され、DES 秘密鍵は送信者と受信者によって共有されます。MAC は実際には、アルゴリズムによって生成された暗号文の最後のブロックにすぎません。このデータ ブロック (64 ビット) は、暗号化されていないメッセージに添付され、遠端に送信されます。MAC 自体への攻撃を防ぐために、暗号化されたデータの以前のブロックはすべて破棄されます。受信者は、共有する秘密の DES キーを使用して独自の MAC を生成するだけで、メッセージの整合性と認証を保証できます。彼は、メッセージが変更されていないことを知っています。メッセージ内のどこかでビットが変更された場合、CBC の連鎖機能によってデータの最後のブロックが大幅に変更されるからです。秘密鍵を保持しているのは他に 1 人だけなので、メッセージ (認証) の送信元を知っています。
キー付きハッシュ メッセージ認証コード (HMAC) は、秘密暗号キーと組み合わせた暗号化ハッシュ関数を含むメッセージ認証コード (MAC) を計算するための特別な構造です。他の MAC と同様に、データの完全性とメッセージの認証の両方を同時に検証するために使用できます。MD5、SHA-1 などの任意の暗号化ハッシュ関数を HMAC の計算に使用できます。結果として得られる MAC アルゴリズムは、それに応じて HMAC-MD5 または HMAC-SHA1 と呼ばれます。HMAC の暗号強度は、基礎となるハッシュ関数の暗号強度、ハッシュ出力のサイズ、キーのサイズと品質によって異なります。
ユニバーサル ハッシュ (UMAC) に基づくメッセージ認証コードは、何らかの秘密 (ランダム) プロセスに従ってハッシュ関数のクラスからハッシュ関数を選択して計算され、それをメッセージに適用するメッセージ認証コード (MAC) の一種です。結果として得られるダイジェストまたはフィンガープリントは、使用されたハッシュ関数の ID を隠すために暗号化されます。他の MAC と同様に、データの完全性とメッセージの信頼性の両方を同時に検証するために使用できます。UMAC は RFC 4418 で指定されており、証明可能な暗号強度を備えており、通常は他の MAC よりも計算量がはるかに少ないです。
MICとMACのMicMac(混同)とは何ですか?
特に通信分野では、メッセージ完全性コード (MIC) という用語が MAC という用語に置き換わることがよくあります。MAC という頭字語は伝統的にネットワーキングを指すときにメディア アクセス コントロール (Media Access Control) を表しています。ただし、一部の著者は、MIC を MAC とは明らかに異なる用語として使用しています。彼らの用語の使用法では、MIC 操作では秘密鍵は使用されません。このセキュリティの欠如は、メッセージの完全性を測定するために使用することを目的とした MIC は暗号化するか、その他の方法で改ざんから保護する必要があることを意味します。MIC アルゴリズムは、両方の生成に同じアルゴリズムが使用されると仮定して、特定のメッセージが常に同じ MIC を生成するように作成されます。逆に、MAC アルゴリズムは、同じメッセージ、秘密鍵、および初期化ベクトルが同じアルゴリズムに入力された場合にのみ、一致する MAC を生成するように設計されています。MIC は秘密キーを使用しないため、単独で使用した場合、メッセージの完全性を評価する尺度としては MAC よりもはるかに信頼性が低くなります。MAC は秘密キーを使用するため、同じレベルの保証を提供するために必ずしも暗号化する必要はありません。
この質問に使用された参考文献:
ヘルナンデス CISSP、スティーブン (2012-12-21)。CISSP CBK の公式 (ISC)2 ガイド、第 3 版 ((ISC)2 Press) (Kindle の場所 15799-15815)。アウアーバッハ出版物。キンドル版。http://en.wikipedia.org/wiki/Message_authentication_code および http://tools.ietf.org/html/rfc4418