マナビング基本情報技術者

AES-256の鍵長から最大試行回数をどう数えるか

基本情報技術者試験 平成30年度秋期 午前 問37 / セキュリティ › 情報セキュリティ

過去問にチャレンジ

平成30年度秋期 午前 問37

AES-256で暗号化されていることが分かっている暗号文が与えられているとき,ブルートフォース攻撃で鍵と解読した平文を得るまでに必要な試行回数の最大値はどれか。

  1. ア

    256

  2. イ

    21282^{128}

  3. ウ

    22552^{255}

  4. エ

    22562^{256}

会話形式の解説

講師講師
この問題では、鍵長と鍵の候補数を区別して考えます。256ビットの鍵には、何通りの値があるでしょうか。
受験者受験者
256ビットなので、256回試せばよいと思いました。ビット数がそのまま回数になるのでしょうか。
講師講師
各ビットには2通りの値があります。256個のビットそれぞれについて組み合わせると、鍵の候補は22562^{256}通りです。
受験者受験者
256は鍵の長さで、試す鍵の数は2を256個掛け合わせて求めるのですね。
講師講師
そのとおりです。21282^{128}は128ビットの鍵なら全候補を数えた値ですが、この問題の鍵長には当てはまりません。
受験者受験者
では、22552^{255}回はどうでしょうか。候補の半分まで試せば、正しい鍵にたどり着けそうにも思えます。
講師講師
正しい鍵が残りの半分にある場合もあります。22552^{255}回では、最大試行回数には足りません。
受験者受験者
最大を求めるので、正しい鍵を最後に試す場合まで考えるのですね。
講師講師
はい。全候補を1回ずつ試して最後に正しい鍵が見つかると、22562^{256}回必要です。したがって、正解はエです。
受験者受験者
鍵長から候補数を求め、その候補をすべて試す場合を最大値とすればよいと分かりました。
講師講師
同じ考え方で、nビットの鍵なら候補は2n2^{n}通りです。「最大」と問われたら、正しい鍵が最後の候補にある場合を確認します。

まとめ

AES-256の鍵長は256ビットで、鍵の候補は22562^{256}通りです。256はビット数であり、試行回数ではありません。正しい鍵を最後に試す場合、必要な試行回数は最大の22562^{256}回になります。正解はエです。

解答・解説

正解はエです

この問題のテーマ

AES-256の鍵の候補数から、総当たりで平文を得るまでの最大試行回数を求める問題です。

解き方の考え方

AES-256の鍵長は256ビットです。各ビットには2通りの値があるので、鍵の候補は22562^{256}通りになります。最大試行回数は、正しい鍵が最後の候補だった場合を考えて求めます。

選択肢ごとの解説

  1. ×ア  256
    アの256は鍵長をビット数で表した値です。試す鍵の数は、各ビットの値の組合せで求めるため、256回にはなりません。
  2. ×イ  21282^{128}
    イの21282^{128}は、128ビットの鍵について全候補を数えた値です。この問題で指定された256ビットの鍵の候補数とは一致しません。
  3. ×ウ  22552^{255}
    ウの22552^{255}回では、鍵の候補を半分しか試せません。正しい鍵が残りの候補にある場合も含めた最大値にはならないため、誤りです。
  4. ○エ  22562^{256}
    エの22562^{256}回は、考えられる鍵をすべて1回ずつ試す回数です。最後に試す鍵が正解ならその回数が必要なので、これが最大値です。

POINT

  • 鍵長のビット数と、試すべき鍵の候補数は区別します。
  • nビットの鍵では、各ビットの2通りを掛け合わせて候補数を求めます。
  • 「最大」と問われたら、正しい鍵を最後に試す場合を考えます。

※出典:平成30年度秋期 基本情報技術者試験 午前 問37