6年 算数 場合の数・情報

パスワードのつよさ ── 場合の数は、テストのためではなく、自分を守るために使う

学校のタブレットにも、ゲームにも、動画のアカウントにもパスワードがついています。「かんたんだと危ない」とは言われるけれど、では何がかんたんで、何がかんたんでないのか。じつはここは、気持ちや性格の話ではありません。パスワードのつよさは「何通りあるか」という、数ひとつで決まります。そしてその数は、6年生で習う場合の数の計算そのものです。

かぎのつよさは、かたさではなく通り数

げんかんのかぎを思いうかべてください。あのギザギザは、山と谷の組み合わせでできています。組み合わせが100通りしかないかぎなら、100本の合いかぎを持ってきた人は、かならず開けられます。10万通りあるかぎなら、その人は10万本持ってこなければなりません。かぎを守っているのは金属のかたさではなく、ならべ方の個数のほうです。

パスワードもまったく同じしくみです。破ろうとする側がやることは、ありうるものをはしから順にためすこと。だから「どれくらい安全か」は、ためさなければならない候補が何個あるかで決まります。この個数のことを、算数では通り数と言います。

ここがつながる

パスワードと場合の数は、べつべつの話ではありません。教科書で樹形図を書いて数えたあの作業が、そのまま「このかぎは、合いかぎ何本で開くのか」を数える作業になっています。

4けたの数字は、何通りか

スマートフォンやタブレットでよく使う、4けたの数字を考えます。1けた目に入れられるのは 0 から 9 までの10個。2けた目も、さっき何を入れたかに関係なく10個。3けた目も4けた目も10個です。

10 × 10 × 10 × 10 = 10000 1けた目 … 10通り 2けた目 … 10通り(1けた目が何でも変わらない) 3けた目 … 10通り 4けた目 … 10通り

1万通り。0000 から 9999 まで、たしかに1万個ならびます。多いように感じますか。では、ためす側の身になって計算してみます。

だれかが指で1秒に10回ためせるとしましょう。1万を10でわると1000秒。1000秒は16分40秒です。

10000 ÷ 10 = 1000 秒 1000 ÷ 60 = 16 あまり 40 → 約17分

休み時間のあいだに、全部終わってしまいます。ここで気づいてほしいのは、1万という数が、ふだんは大きいのに、ためす回数としては小さいということです。数の大小は、何と比べるかで意味が変わります。

文字の種類をふやすと、どうなるか

今度は数字をやめて、アルファベットの小文字だけを使ってみます。a から z までで26個。長さは同じ4文字のままにしておきます。

26 × 26 × 26 × 26 = 456976 456976 ÷ 10000 = 45.6976 → 約46倍

1文字ものばしていないのに、通り数は約46倍になりました。同じ「1秒10回」でためすと、456976 ÷ 10 = 45697.6 秒、時間になおすと約13時間です。17分だったものが、13時間に変わりました。

理由は式を見れば分かります。各けたの10が26になったので、26 ÷ 10 = 2.6 倍が4回かかったのです。2.6 を4回かけると、ちょうど45.7くらいになります。けたごとの「1つ分」が大きくなった、というのがここで起きたことです。

種類をふやすのと、長さをのばすのは、どちらが効くか

ここがこの記事のいちばん大事なところです。「記号や大文字をまぜたほうが強い」とよく言われますが、本当にそうなのかを数で確かめます。

何を使うか長さ通り数1秒10回でためすと
数字だけ(10種類)41万約17分
数字だけ(10種類)6100万約28時間
英小文字だけ(26種類)5約1188万約14日
英小文字だけ(26種類)6約3億890万約1年
大文字・小文字・数字(62種類)6約568億約180年
英小文字だけ(26種類)8約2088億約662年

表の下から2行を見くらべてください。大文字も数字もまぜた62種類を6文字ならべたものより、ただの小文字を8文字ならべたほうが、約3.7倍も通り数が多いのです。

62 × 62 × 62 × 62 × 62 × 62 = 56800235584 26 × 26 × 26 × 26 × 26 × 26 × 26 × 26 = 208827064576 208827064576 ÷ 56800235584 = 3.67…

なぜこうなるのか。種類をふやしても、かけ算の1つ分が大きくなるだけです。ところが長さを1のばすと、かける回数そのものが1ふえます。26倍がまるまるもう一回かかるわけで、こちらのほうが後からぐんぐん効いてきます。

ここに注意

これは「記号や大文字をまぜても意味がない」という意味ではありません。
同じ長さなら、種類が多いほうがかならず強くなります。言いたいのは順番です。まず長くする。種類をまぜるのは、そのあと。むずかしい記号を1つ入れて安心し、短いままにしておくのが、いちばんもったいないやり方です。

自分に関係のある数を入れたしゅんかん、通り数は減る

さきほど「4けたは1万通り」と計算しました。けれどもそれは、0000から9999までをどれも同じように使ったときの話です。たんじょう日にすると、どうなるでしょうか。

月は1から12、日はその月の日数まで。全部合わせても、1年は366日(うるう年をふくめて)しかありません。

たんじょう日にすると … 366通り 10000 ÷ 366 = 27.3… → 通り数が 約27分の1 に減る

約17分かかっていたものが、37秒で終わる計算になります。1万本のかぎを作ったつもりが、じっさいには366本しか作っていなかった、ということです。

同じことが、ほかの「思いつきやすいもの」にも起きます。同じ数字を4つならべたもの(0000、1111 …)はたった10通り。1234 のように1ずつふえる並びも、始まりの数の分しかありません。電話番号の下4けたや、学年とクラスの組み合わせも同じで、相手が「その人のことを少し知っている」だけで、候補がごっそり消えます。

つまりパスワードの通り数には2種類あります。形の上での通り数と、ためす側から見た通り数です。安全を決めているのは、後者のほうです。ここが教科書の問題といちばんちがうところで、同じ「4けた」でも、作り方しだいで答えが変わります。

同じかぎを、何か所にも使わない

もうひとつ、通り数では守れないことがあります。使い回しです。

どんなに長いものを作っても、それを10個のサービスに同じように使っていたら、かぎは1本しかないのと同じです。10か所のうち1か所から外にもれたら、のこり9か所はためす必要すらなく開いてしまいます。通り数がいくつあっても、答えを知られてしまえば1通りです。

だから、せめて次の分け方だけはしておきます。

  1. 学校のもの タブレットや学習アプリ。ここは学校の決まりに従います
  2. お金や本人かくにんがからむもの おうちの人と共有しているサービス。ここは絶対に使い回さない
  3. それ以外の、遊びのもの ここは同じでも、被害が広がりにくい

全部ちがうものにするのがいちばんですが、3つに分けるだけでも、1か所もれたときに開いてしまう扉の数がぐっと減ります。

長くて、しかも覚えられるものを作る

「長いほうが強いのは分かったけれど、覚えられない」。これはもっともな困りごとです。ここでも数が助けになります。

1文字ずつでたらめに8文字覚えるのは、たしかに大変です。かわりに、関係のない言葉を4つならべる方法があります。たとえば「かさ・とけい・くじら・ねぎ」のように、おたがいに何のつながりもない言葉を選びます。

自分がすぐ思いつく言葉が1000語くらいあるとすると、そこから4つならべる通り数はこうなります。

1000 × 1000 × 1000 × 1000 = 1000000000000 → 1兆通り

さきほどの「小文字8文字」が約2088億通りでしたから、その約5倍です。しかも覚えるものは4つだけ。人の頭は、意味のない記号の列より、物の名前のほうがずっと残りやすくできています。

ただし条件が1つあります。4つの言葉に、つながりがあってはいけません。「やきゅう・ぼーる・ぐろーぶ・ばっと」のように話がつながっていると、1つ当てられた時点で残りが予想できてしまい、1000を4回かける計算が成り立たなくなります。ここでも効いているのは、さっきの「ためす側から見た通り数」の考え方です。

つまずきやすいところ

その1 かけ算ではなく、たし算で数えてしまう

4けたの数字を「10+10+10+10=40通り」としてしまう間違いがあります。
1けた目を決めたあと、2けた目にはそのそれぞれに対して10通りずつ枝が分かれます。枝分かれが重なっていくので、かけ算になります。たし算になるのは、「数字4けたまたは小文字4文字」のように、道が二またに分かれて重ならないときだけです。

その2 通り数が大きければ安全だと思ってしまう

3億通りと聞くと十分に思えますが、比べる相手は「ためせる回数」です。
1秒10回という見つもりはかなりひかえめで、世の中にはもっと速くためせるしくみもあります。だから安全かどうかは、通り数だけを見ても決められません。通り数 ÷ ためせる速さ = かかる時間。この形にして、はじめて意味が出ます。速さや単位量あたりの大きさと同じで、数を1つだけ見ていては足りないのです。

その3 「むずかしくすること」と「長くすること」を取りちがえる

@ や # を1つ入れると、なんとなく強くなった気がします。
けれども表で見たとおり、効き方はまるでちがいます。記号を入れたせいで自分が覚えられなくなり、けっきょく紙に書いて机にはっておく──これでは通り数が1通りになってしまいます。自分が続けられる形の中で、いちばん長くするのが、数の上でも正解です。

やってみよう

Q1 数字4けたは1万通りでした。では数字5けたは何通りで、4けたの何倍ですか。

A 10×10×10×10×10=10万通り。4けたの10倍です。1けたのばすと、かける回数が1回ふえます。

Q2 英小文字だけ6文字(約3億890万通り)を、1秒に100回ためせる相手に向けたら、何日くらいかかりますか。

A 308900000÷100=約309万秒。1日は86400秒なので、309万÷86400=約36日。1秒10回のときの約1年が、速さを10倍にしただけで36日になります。速さもいっしょに見る、という意味がここに出ます。

Q3 たんじょう日を4けたにすると、通り数は1万からいくつに減りましたか。

A 366通り。約27分の1です。形の上では4けたでも、ためす側から見ると3けたにも足りません。

Q4 「62種類で6文字」と「26種類で8文字」では、どちらが多いですか。

A 26種類で8文字のほうが、約3.7倍多くなります。種類は1つ分を大きくするだけですが、長さはかける回数そのものをふやすからです。

Q1とQ4は、同じことを別の角度から聞いています。かける回数がふえるほうが、後から大きく効く。どちらを先に手当てすべきかは、好みではなく計算で決まります。

まとめ

おうちの方へ

1人1台の端末が配られて、子どもが自分でパスワードを決める場面は、思っているより早くやってきます。そのとき「かんたんなものはだめ」と伝えるだけだと、何がかんたんなのかが本人に伝わらず、たんじょう日や電話番号の下4けたに落ちつきがちです。この記事では、そこを気持ちの問題にせず、6年生の場合の数の式で数えられる形に置きかえました。10000÷366という一度のわり算で、「自分に関係のある数を入れると、かぎが27分の1になる」ことが、本人の手で確かめられます。
いっしょにやっていただきたいのは、紙の上での計算だけです。実際にどこかへ入力して試す必要はまったくありませんし、他人のものを試すことは、たとえ開かなかったとしてもしてはいけない行為です。数えるのは自分のかぎの本数だけ、と先に決めておいてください。
使い回しについては、ご家庭の運用の話になります。すべて別にするのは大人でも難しいので、まずは「お金や本人かくにんがからむもの」だけを他と分ける、という一線が引ければ十分です。お子さんが作った長いものを、どこに控えておくかも決めておくと安心です(机にはらない、というのは本文でも触れています)。
学校から配られた端末については、学校ごとの決まりが優先されます。ここで数えた話は、決まりを破る理由ではなく、決まりの意味を理解するための材料としてお使いください。