令和5年春期試験問題 午前Ⅱ 問7

ブロック暗号の暗号利用モードの一つであるCTR(Counter)モードに関する記述のうち,適切なものはどれか。

  • 暗号化と復号の処理において,出力は,入力されたブロックと鍵ストリームとの排他的論理和である。
  • 暗号化の処理において,平文のデータ長がブロック長の倍数でないときにパディングが必要である。
  • ビット誤りがある暗号文を復号すると,ビット誤りのあるブロック全体と次のブロックの対応するビットが平文ではビット誤りになる。
  • 複数ブロックの暗号化の処理は並列に実行できないが,複数ブロックの復号の処理は並列に実行できる。
正解 問題へ
分野:テクノロジ系
中分類:セキュリティ
小分類:情報セキュリティ
解説
ブロック暗号は、固定長のビット列ごとにまとめて暗号化する仕組みです。実際に暗号化対象となる平文の長さは異なるため、任意の平文を暗号化するためには、ブロック暗号を繰り返し適用することで暗号化を行っていきます。ブロック暗号を用いてどのように暗号文を得るのかの方法を定めたものが「暗号利用モード」です。実際にプログラム上などで暗号方式を指定する際には、仮にAESであれば「AES-128-CBC」といった形で指定します。最後の「CBC」が暗号利用モードの指定です。

ブロック暗号の暗号利用モードには、この設問で問われているCTRの他にも、ECB、CBC、CFB、OFBなどがあります。
ECB(Electronic CodeBook)
平文ブロックごとに暗号化したものを、そのままを暗号文ブロックとする(解析される危険性があるため非推奨)
CBC(Cipher Block Chaining)
ひとつ前の暗号文ブロックと平文ブロックの排他的論理和をとり、排他的論理和の値に暗号化を行って暗号文ブロックを得る
CFB(Cipher FeedBack)
ひとつ前の暗号文ブロックをさらに暗号化し、それと平文ブロックの排他的論理和を行って暗号文ブロックを得る
OFB(Output FeedBack)
暗号アルゴリズムの出力と平文ブロックの排他的論理和を行って暗号文ブロックを得る
CTR(CounTeR)
1ずつ増加していくカウンタを利用した鍵ストリームと、平文ブロックの排他的論理和をとって暗号文ブロックを得る
07.gif
  • 正しい。CTRモードでは、暗号化のたびに異なる値(ノンスと呼ぶ)とブロックごとに1ずつ増加していくカウンタを基に、疑似乱数生成器などによって鍵ストリームを作成します。そして、この鍵ストリームと平文ブロックとの排他的論理和を取って暗号文ブロックを得ます。
  • CTRモードの平文ブロックは、鍵ストリームとの排他的論理和を取るだけで、ブロック暗号による暗号化自体は行いません。したがって、平文ブロックを暗号化する際にパディングを付加してデータ長を揃える必要はありません。
  • CTRモードの各暗号文ブロックは、他のブロックが関連付けられておらず互いに独立しています。したがって、ビット誤りが発生しているブロックが他のブロックに影響を与えることはありません。復号時にビット誤りのあるブロック全体と次ブロックの対応するビットがエラーになるのは、ひとつ前の暗号文ブロックが暗号化に利用されるCBCモードとCFBモードです。
  • CTRモードでは、各ブロックは独立しているため、暗号化と復号化のどちらも並行して処理することができます。送受信間で共有したカウンタから鍵ストリームを作成し、これと平文ブロックの排他的論理和を取ることで暗号文ブロックを得ます。逆に暗号文ブロックと鍵ストリームの排他的論理和を取ると平文ブロックが得られます。

Pagetop