マナビングITパスポート

パスワードの文字数と総当たり攻撃の試行回数は?

ITパスポート試験 令和元年度秋期 問80 / 基礎理論 › 離散数学

過去問にチャレンジ

令和元年度秋期 問80

パスワードの解読方法の一つとして、全ての文字の組合せを試みる総当たり攻撃がある。“A” から “Z” の26種類の文字を使用できるパスワードにおいて、文字数を4文字から6文字に増やすと、総当たり攻撃でパスワードを解読するための最大の試行回数は何倍になるか。

  1. ア

    2

  2. イ

    24

  3. ウ

    52

  4. エ

    676

会話形式の解説

講師講師
注目するのは、文字を二つ増やしたとき、試す候補が何倍になるかです。
受験者受験者
増えるのは2文字なので、2倍と考えたくなります。
講師講師
文字数の差と候補数の倍率は別です。増えた一つ目の位置には26通りの選び方があります。
受験者受験者
二つ目の位置にも、同じように26通りあるのですね。
講師講師
はい。元の4文字の候補一つひとつに対して、増えた二つの位置の文字を選びます。
受験者受験者
それなら、26+26で52倍でしょうか。
講師講師
二つの位置を組み合わせるので、選び方は足さずに掛けます。26×26で676倍です。
受験者受験者
4文字と6文字の候補数を比べても、同じ結果になりますか。
講師講師
4文字なら26の4乗通り、6文字なら26の6乗通りです。割り算をすると、倍率は26の2乗になります。
受験者受験者
24倍という選択肢も、26から増えた2文字を引いただけなので違いますね。
講師講師
そのとおりです。最大試行回数の倍率は、候補の総数を比べて求めます。
受験者受験者
文字数の差でも足し算でもなく、追加した各位置の選び方を掛けて676倍ですね。
講師講師
はい。1文字増えるごとに候補数が26倍になると考えると、文字数が変わる問題にも応用できます。

まとめ

英大文字26種類で作るパスワードは、1文字増えるごとに候補数が26倍になります。4文字から6文字へ増やす場合、倍率は26×26です。したがって、総当たり攻撃の最大試行回数は676倍になります。

解答・解説

正解はエです

この問題のテーマ

パスワードを2文字長くしたとき、総当たり攻撃の最大試行回数が何倍になるかを問う問題です。

解き方の考え方

使える文字が26種類なら、n文字のパスワードは26のn乗通りあります。4文字と6文字それぞれの通り数を比べ、6文字の通り数を4文字の通り数で割ります。

選択肢ごとの解説

  1. ×ア  2
    アの2倍は、増えた文字数だけを倍率と考えた値です。追加した各文字にはそれぞれ26通りの選び方があるため、倍率は2ではありません。
  2. ×イ  24
    イの24倍は、文字の種類数から増えた文字数を引いた値です。試行回数の倍率は引き算ではなく、追加した文字それぞれの選び方を掛けて求めます。
  3. ×ウ  52
    ウの52倍は、追加した2文字の選び方を26+26として数えた値です。2文字の組合せは、一方の26通りそれぞれに対して、もう一方も26通りあるので、26×26通りです。
  4. ○エ  676
    エの676倍が正解です。最大試行回数の比は、26の6乗÷26の4乗=26の2乗=26×26=676と計算できます。追加した2文字の選び方を直接数えても26×26となり、結果が一致します。

補足

文字数の差である2を、そのまま試行回数の倍率にしないことが大切です。追加する文字の選び方は足すのではなく、掛け合わせます。

POINT

  • 26種類の文字から作るn文字のパスワードは、26のn乗通りあります。
  • 総当たり攻撃の最大試行回数を比べるときは、候補の総数の比を求めます。
  • 文字を2文字増やすと、候補の数は26の2乗倍になります。

※出典:令和元年度秋期 ITパスポート試験 問80