ECB (Electronic Codebook)
ECB モード(Electronic Codebook)は各ブロックを独立に暗号化するため、同一の平文ブロックは同一の暗号文ブロックになる。安全でなく、単一ブロックやランダムデータにのみ適する。
目的
IV 不要の最も単純なブロック暗号モードだが、平文のパターンを漏らす。
メカニズム
暗号化は C_i = E_K(P_i) で、各ブロックが独立しており、チェーンも IV もない。同一平文ブロックは同一暗号文ブロックに写り、データパターンが漏れる(有名な ECB ペンギン)。データが 1 ブロック未満かランダム(RSA 鍵のラップなど)のときのみ安全。
ユースケース
- 単一鍵ブロックの暗号化(RSA 鍵のラップなど)
- セキュリティ教育の反例
- レガシーシステム(移行すべき)
- ランダムデータの暗号化
例
- 入力
P1 P1 P2OutputC1 C1 C2Identical plaintext → identical ciphertext
よくあるエラー
- Encrypting structured or repetitive data with ECB
- Use GCM, or CBC with a random IV
関連用語
CBC (Cipher Block Chaining)
CBC モードは、暗号化前に直前の暗号文ブロックと現在の平文ブロックを XOR するため、同一の平文ブロックも異なる暗号文になる。ランダムな IV が必要である一方、完全性の認証は提供しない。 用語集
CTR (Counter Mode)
CTR モードはブロック暗号をストリーム暗号に変える: 増分カウンタを暗号化してキーストリームを生成し、平文と XOR する。並列処理とランダムアクセスを支えるが、完全性は提供しない。 用語集
GCM (Galois/Counter Mode)
GCM(Galois/Counter Mode)は CTR 暗号と GHASH 認証を組み合わせた AEAD モードであり、機密性と完全性を同時に提供し、TLS 1.2/1.3 の推奨モードである。 用語集
Mode of Operation
運用モード(mode of operation)は、ブロック暗号を任意長のデータに適用するための方式で、暗号化時に複数の平文ブロックをどう連結するかを定義する。代表的なものにECB、CBC、CTR、GCMがある。 用語集