CBC-MAC – 定義

データに付随するMAC (メッセージ認証コード) の目的は、送信後などにデータが変更されていないことを確認できるようにすることで、データの完全性を保証することです。

CBC-MAC はMAC アルゴリズムの 1 つです。これは、CBC (暗号ブロック連鎖) 動作モードに従って使用されるブロック暗号に基づいています。この原則は、1985 年に NIST 標準 (FIPS PUB 113、コンピュータ データ認証に関する標準) で策定されました。

暗号化するには、データを適切なサイズのブロックに分割します (使用されるブロック暗号に応じて、少なくとも 32 ビットのブロック暗号)。ブロックは次々に暗号化され、前のブロックの暗号化結果が次のブロックに送信されます。

正式な説明

E k ( Mi )データ ブロックの暗号化操作とします。

$$ {M_i~} $$
鍵と一緒に
$$ {k~} $$

暗号化は次のように行われます。

  1. データを固定サイズのブロックに分割します
    $$ {M_0, …, M_{n-1}~} $$
    最後のブロックにはPKCS #7規格に準拠した充填が施されています
  2. 初期化ベクトルを定義します
    $$ {C_0 = 0~} $$
  3. ブロックを次のように処理します。
    $$ {C_{i+1} = E_k(C_i \oplus M_i)} $$

認証コードは、最後の暗号化ブロックC n − 1 (NIST 標準では 16 ~ 64 ビットの抽出) の一部に対応します。

 CBC-MAC - 定義

安全

Preneel と Van Oorschot によって説明された攻撃では、認証コードを伴う約2n/2 個の既知のテキストが必要であり ( nはビット単位のブロックの長さ)、認証コードの偽造が可能になります。 CBC-MAC は、可変サイズのメッセージでは安全ではありません。これらの理由により、反復 MAC ベースのシステムが必要な場合は、XCBC-MAC を使用することをお勧めします。

 CBC-MAC - 定義
  1. Nuus – afrikaans
  2. The – – – – – ancien anglais
  3. خبر (إعلام) – arabe
  4. ܛܐܒܐ – araméen
  5. Noticia – asturien
  6. Xəbər – azerbaïdjanais

CBC-MAC – 定義・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。