ITパスポート試験 / 平成24年度 秋期 ITパスポート試験 / 問78
certification-simodake-work

平成24年度 秋期 ITパスポート試験 問78 解説 組合せの数

4文字のパスワードに関して, 0~9の数字だけを使用した場合はに比べ, 0~9の数字 の他に a~f の英小文字6文字も使用できるようにした場合は, 組合せの数はおよそ 何倍になるか。

  1. ア 1.6
  2. イ 6.6 ✓ 正答
  3. ウ 8.7
  4. エ 16.0

解説

この問題は、パスワードの組み合わせ総数を比較して、倍率を求める計算問題です。

計算手順は以下の通りです。

  1. 数字のみ(10種類)で4桁の組み合わせ総数:10410^4
  2. 数字と英小文字(16種類)で4桁の組み合わせ総数:16416^4
  3. 倍率を求める:164/104=(16/10)4=1.6416^4 / 10^4 = (16 / 10)^4 = 1.6^4
  4. 1.6×1.6×1.6×1.6=6.55361.6 \times 1.6 \times 1.6 \times 1.6 = 6.5536 となるため、約6.6倍となります。

組み合わせの総数を求める考え方

ITパスポート試験では、パスワードの強度を推測する際に、組み合わせの総数を計算する考え方が頻出します。

ある桁数で、1桁あたり何種類の文字が使えるかという「文字の種類数」を NN とし、パスワードの「桁数」を kk とすると、組み合わせの総数は NkN^k という式で表されます。

今回の問題では、以下の2つのケースを比較しています。

  • ケース1:数字のみ(0から9の10種類)なので N=10N=10
  • ケース2:数字(10種類)と英小文字(aからfの6種類)で計16種類なので N=16N=16

それぞれの総数は 10410^4 通りと 16416^4 通りになります。倍率を求める際は、これらを割り算することで算出可能です。10410^416416^4 という大きな数値を直接計算せずとも、(16/10)4(16/10)^4 と括り出すことで、計算の手間を大幅に減らすことができます。

セキュリティ強度の視点

この問題の教育的な意図は、パスワードの「文字種」を増やすことが、いかにセキュリティ強度に寄与するかを実感させることにあります。

パスワードの桁数を1桁増やすだけでも組み合わせ数は劇的に増えますが、文字の種類を増やすことでも同様の効果が得られます。例えば、桁数を変えずに文字の種類を1.6倍にするだけで、推測されにくさが約6.6倍に向上します。

実際のシステム開発やセキュリティ設計の現場では、パスワードポリシーを定める際に「最低8文字以上」という「桁数」の制限と、「英大文字・小文字・数字・記号を混在させること」という「文字種」の制限を組み合わせます。これにより、総当たり攻撃(ブルートフォースアタック)に対する耐性を飛躍的に高めることができるのです。

組み合わせ計算の応用

この考え方は情報処理の基礎理論として非常に重要です。パスワード以外にも、IPアドレスの個数、色の表現数、メモリのアドレス空間など、組み合わせの数はITの至る所で利用されています。

試験対策としては、単に公式を覚えるだけでなく、問題文にある「文字の数」と「桁数」が、数式のどこに当てはまるのかを冷静に見極める練習をしましょう。倍率を問われた場合は、今回のように割り算でシンプルに処理する癖をつけるのが合格への近道です。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう