暗号技術の基礎と応用

共通鍵暗号のうち、ブロック暗号とストリーム暗号の違いの説明として、正しいものはどれか。

  1. Aブロック暗号は公開鍵と秘密鍵の対を使う公開鍵暗号の一種で、ストリーム暗号だけが共通鍵暗号に分類される
  2. Bブロック暗号は決まった長さのブロック単位で変換し、ストリーム暗号は鍵ストリームを平文に少しずつXORする
  3. Cストリーム暗号は鍵を使わずにデータを並べ替えるだけの方式で、暗号文から誰でも平文に戻せる
答えと解説を見る

正解:B. ブロック暗号は決まった長さのブロック単位で変換し、ストリーム暗号は鍵ストリームを平文に少しずつXORする

ブロック暗号は、AESのように決まった長さ(AESでは128ビット)のブロックを、鍵に応じて別のブロックに変換します。長いデータは、暗号利用モードを使ってブロックの変換を組み合わせて暗号化します。ストリーム暗号は、鍵とナンスから擬似乱数の鍵ストリームを作り、平文と1ビットや1バイトずつXORします。ChaCha20が代表的で、ブロック暗号もCTRモードで使うと、ストリーム暗号と同じように働きます。

  • A. どちらも共通鍵暗号で、暗号化と復号に同じ鍵を使います。
  • B. 正しい。変換の単位と、鍵ストリームとのXORという仕組みが違います。
  • C. ストリーム暗号も鍵がなければ鍵ストリームを作れないので、平文に戻せません。
この分野を解く 分野ページへ

暗号技術の基礎と応用の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

暗号技術の基礎と応用のほかの問題

  1. 現在広く使われているブロック暗号AESの、ブロック長と鍵長の組み合わせとして正しいものはどれか。
  2. 画像のデータをAESのECBモードで暗号化したところ、暗号化した後の画像でも、元の絵の輪郭が見分けられた。この原因として正しいものはどれか。
  3. AESをCBCモードで使うときの、初期化ベクトル(IV)の扱いとして適切なものはどれか。
  4. AES(ブロック長16バイト)をCBCモードで使い、パディングにはPKCS#7方式を使う。PKCS#7方式では、足りないバイト数をnとして値がnのバイトをn個足し、平文の長さがちょうど16の倍数のときも、値が16のバイトを16個足す。96バイトの平文を暗号化したときの暗号文の長さ(IVは含めない)はどれか。
  5. CBCモードで暗号化したデータを受け取るサーバが、復号した後のパディングが正しくないときと、パディングは正しいが中身の検査に失敗したときとで、異なるエラーを返していた。この状況についての説明として、正しいものはどれか。

この分野の比較