メインコンテンツへ
セキュリティ

CBC(Cipher Block Chaining)モードの特徴として正しいものはどれか。

ア.各ブロックを独立に暗号化するため、任意のブロックをランダムアクセスで復号できる。
イ.暗号化は直前の暗号文ブロックをXORしてから暗号化するため順次処理が必要だが、復号は並列化できる。正解
ウ.初期ベクトル(IV)は秘密情報であるため、通信相手と安全なチャネルで事前共有しなければならない。
エ.CBCはブロック暗号をストリーム暗号化する唯一の標準モードである。

解説

CBCは「前の人のバトンを受け取ってから走り出すリレー」。暗号化は必ず順番に、でも復号は「どの選手がどこで受け取ったか」を知っているから並列でゴールに向かえる。

なぜ イ が正解か

イが正解。CBC暗号化:平文ブロックPiと直前の暗号文Ci-1をXORした後に暗号化→Ci=E(Pi XOR Ci-1)。前のブロック結果が必要なので暗号化は逐次処理。CBC復号:Ci-1とCiを使ってPi=D(Ci) XOR Ci-1。各ブロックの復号はCiとCi-1の2ブロックがあれば独立して実行でき、並列化可能。

なぜ ア は間違いか

任意ブロックのランダムアクセス復号が容易なのはECBとCTRモード。CBCは暗号化でリレー依存。

なぜ ウ は間違いか

IVは秘密にする必要はなく、通常平文で送信する(ただし予測不可能なランダム値を使うべき)。IVの秘密共有は不要。

なぜ エ は間違いか

ブロック暗号をストリーム暗号的に使えるのはCTRモードが代表的。CBCはそれとは異なるフィードバック方式。

出典: AI生成問題(学習用)