暗号技術の基礎と応用
ブロック暗号のCTRモード(カウンタモード)の特徴として、正しいものはどれか。
- A前のブロックの暗号文を使って次のブロックを暗号化するので、暗号化を並列に行えない
- B平文をブロック長の倍数にそろえるためのパディングが、いつでも必要になる
- Cナンスとカウンタを組み合わせた値を暗号化して鍵ストリームを作り、平文とXORする
答えと解説を見る
正解:C. ナンスとカウンタを組み合わせた値を暗号化して鍵ストリームを作り、平文とXORする
CTRモードでは、ナンスと、ブロックごとに1ずつ増やすカウンタを組み合わせた値をブロック暗号で暗号化し、その出力を鍵ストリームとして平文とXORします。各ブロックの鍵ストリームは前のブロックに関係なく計算できるので、暗号化も復号も並列に行え、必要な位置だけを復号することもできます。鍵ストリームを平文の長さで切って使えばよいので、パディングは要りません。復号でも、ブロック暗号は暗号化の向きの処理だけを使います。
- A. これはCBCモードの暗号化の性質です。CTRモードは並列に暗号化できます。
- B. CTRモードは鍵ストリームを平文の長さで切って使うので、パディングは要りません。
- C. 正しい。ブロック暗号をストリーム暗号のように使うモードです。