本文へスキップ

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

この問題の解説と、これまでの解答の記録です。

問80
頻出度★★★

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

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

問 80

  • 不正解ア

    「2」は文字数の増分(6−4=2)をそのまま倍率とみなした誤り。組合せ総数は文字数に対して指数的に増えるので、桁が2つ増えても2倍にはならず、26 の 2 乗=676 倍になる。

  • 不正解イ

    「24」は根拠のない値で、26 の 2 乗=676 と一致しない。文字種数の差(例えば誤って 26−2 と考える)や階乗など別の計算と取り違えたと思われるが、正しい倍率は 676 倍である。

  • 不正解ウ

    「52」は 26×2、すなわち「増えた文字数(2文字)ぶんだけ文字種数を足し算・単純に2倍する」といった誤解による値。実際は掛け算(26×26)で効いてくるので 26 の 2 乗=676 倍が正しい。

  • エ

    正解 総当たり攻撃(ブルートフォース攻撃)は、使用可能な文字の全組合せを片端から試す方法なので、最大試行回数は「文字種数の(文字数)乗」で表せます。文字種は「A」〜「Z」の26種類。4文字のときは 26 の 4 乗 とおり、6文字のときは 26 の 6 乗 とおりです。増加倍率は 26 の 6 乗 ÷ 26 の 4 乗 = 26 の(6−4)乗 = 26 の 2 乗 = 676(倍)。よって「エ」が正解です。文字数が 2 増えると、増えた桁数の分だけ文字種数を掛けるので 26×26=676 倍になる、と考えても同じです。

ここがポイント
  • 総当たり攻撃の最大試行回数 = 使用できる文字種数 の(文字数)乗。文字数が n 増えると(文字種数)の n 乗倍に増える。
  • 本問では文字数が2増えるので、倍率は 26 の 2 乗 = 26×26 = 676 倍。長いパスワードほど解読が指数的に困難になることを示す。
用語

解答の記録