学校のタブレットにも、ゲームにも、動画のアカウントにもパスワードがついています。「かんたんだと危ない」とは言われるけれど、では何がかんたんで、何がかんたんでないのか。じつはここは、気持ちや性格の話ではありません。パスワードのつよさは「何通りあるか」という、数ひとつで決まります。そしてその数は、6年生で習う場合の数の計算そのものです。
げんかんのかぎを思いうかべてください。あのギザギザは、山と谷の組み合わせでできています。組み合わせが100通りしかないかぎなら、100本の合いかぎを持ってきた人は、かならず開けられます。10万通りあるかぎなら、その人は10万本持ってこなければなりません。かぎを守っているのは金属のかたさではなく、ならべ方の個数のほうです。
パスワードもまったく同じしくみです。破ろうとする側がやることは、ありうるものをはしから順にためすこと。だから「どれくらい安全か」は、ためさなければならない候補が何個あるかで決まります。この個数のことを、算数では通り数と言います。
パスワードと場合の数は、べつべつの話ではありません。教科書で樹形図を書いて数えたあの作業が、そのまま「このかぎは、合いかぎ何本で開くのか」を数える作業になっています。
スマートフォンやタブレットでよく使う、4けたの数字を考えます。1けた目に入れられるのは 0 から 9 までの10個。2けた目も、さっき何を入れたかに関係なく10個。3けた目も4けた目も10個です。
1万通り。0000 から 9999 まで、たしかに1万個ならびます。多いように感じますか。では、ためす側の身になって計算してみます。
だれかが指で1秒に10回ためせるとしましょう。1万を10でわると1000秒。1000秒は16分40秒です。
休み時間のあいだに、全部終わってしまいます。ここで気づいてほしいのは、1万という数が、ふだんは大きいのに、ためす回数としては小さいということです。数の大小は、何と比べるかで意味が変わります。
今度は数字をやめて、アルファベットの小文字だけを使ってみます。a から z までで26個。長さは同じ4文字のままにしておきます。
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種類) | 4 | 1万 | 約17分 |
| 数字だけ(10種類) | 6 | 100万 | 約28時間 |
| 英小文字だけ(26種類) | 5 | 約1188万 | 約14日 |
| 英小文字だけ(26種類) | 6 | 約3億890万 | 約1年 |
| 大文字・小文字・数字(62種類) | 6 | 約568億 | 約180年 |
| 英小文字だけ(26種類) | 8 | 約2088億 | 約662年 |
表の下から2行を見くらべてください。大文字も数字もまぜた62種類を6文字ならべたものより、ただの小文字を8文字ならべたほうが、約3.7倍も通り数が多いのです。
なぜこうなるのか。種類をふやしても、かけ算の1つ分が大きくなるだけです。ところが長さを1のばすと、かける回数そのものが1ふえます。26倍がまるまるもう一回かかるわけで、こちらのほうが後からぐんぐん効いてきます。
これは「記号や大文字をまぜても意味がない」という意味ではありません。
同じ長さなら、種類が多いほうがかならず強くなります。言いたいのは順番です。まず長くする。種類をまぜるのは、そのあと。むずかしい記号を1つ入れて安心し、短いままにしておくのが、いちばんもったいないやり方です。
さきほど「4けたは1万通り」と計算しました。けれどもそれは、0000から9999までをどれも同じように使ったときの話です。たんじょう日にすると、どうなるでしょうか。
月は1から12、日はその月の日数まで。全部合わせても、1年は366日(うるう年をふくめて)しかありません。
約17分かかっていたものが、37秒で終わる計算になります。1万本のかぎを作ったつもりが、じっさいには366本しか作っていなかった、ということです。
同じことが、ほかの「思いつきやすいもの」にも起きます。同じ数字を4つならべたもの(0000、1111 …)はたった10通り。1234 のように1ずつふえる並びも、始まりの数の分しかありません。電話番号の下4けたや、学年とクラスの組み合わせも同じで、相手が「その人のことを少し知っている」だけで、候補がごっそり消えます。
つまりパスワードの通り数には2種類あります。形の上での通り数と、ためす側から見た通り数です。安全を決めているのは、後者のほうです。ここが教科書の問題といちばんちがうところで、同じ「4けた」でも、作り方しだいで答えが変わります。
もうひとつ、通り数では守れないことがあります。使い回しです。
どんなに長いものを作っても、それを10個のサービスに同じように使っていたら、かぎは1本しかないのと同じです。10か所のうち1か所から外にもれたら、のこり9か所はためす必要すらなく開いてしまいます。通り数がいくつあっても、答えを知られてしまえば1通りです。
だから、せめて次の分け方だけはしておきます。
全部ちがうものにするのがいちばんですが、3つに分けるだけでも、1か所もれたときに開いてしまう扉の数がぐっと減ります。
「長いほうが強いのは分かったけれど、覚えられない」。これはもっともな困りごとです。ここでも数が助けになります。
1文字ずつでたらめに8文字覚えるのは、たしかに大変です。かわりに、関係のない言葉を4つならべる方法があります。たとえば「かさ・とけい・くじら・ねぎ」のように、おたがいに何のつながりもない言葉を選びます。
自分がすぐ思いつく言葉が1000語くらいあるとすると、そこから4つならべる通り数はこうなります。
さきほどの「小文字8文字」が約2088億通りでしたから、その約5倍です。しかも覚えるものは4つだけ。人の頭は、意味のない記号の列より、物の名前のほうがずっと残りやすくできています。
ただし条件が1つあります。4つの言葉に、つながりがあってはいけません。「やきゅう・ぼーる・ぐろーぶ・ばっと」のように話がつながっていると、1つ当てられた時点で残りが予想できてしまい、1000を4回かける計算が成り立たなくなります。ここでも効いているのは、さっきの「ためす側から見た通り数」の考え方です。
4けたの数字を「10+10+10+10=40通り」としてしまう間違いがあります。
1けた目を決めたあと、2けた目にはそのそれぞれに対して10通りずつ枝が分かれます。枝分かれが重なっていくので、かけ算になります。たし算になるのは、「数字4けたまたは小文字4文字」のように、道が二またに分かれて重ならないときだけです。
3億通りと聞くと十分に思えますが、比べる相手は「ためせる回数」です。
1秒10回という見つもりはかなりひかえめで、世の中にはもっと速くためせるしくみもあります。だから安全かどうかは、通り数だけを見ても決められません。通り数 ÷ ためせる速さ = かかる時間。この形にして、はじめて意味が出ます。速さや単位量あたりの大きさと同じで、数を1つだけ見ていては足りないのです。
@ や # を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になる」ことが、本人の手で確かめられます。
いっしょにやっていただきたいのは、紙の上での計算だけです。実際にどこかへ入力して試す必要はまったくありませんし、他人のものを試すことは、たとえ開かなかったとしてもしてはいけない行為です。数えるのは自分のかぎの本数だけ、と先に決めておいてください。
使い回しについては、ご家庭の運用の話になります。すべて別にするのは大人でも難しいので、まずは「お金や本人かくにんがからむもの」だけを他と分ける、という一線が引ければ十分です。お子さんが作った長いものを、どこに控えておくかも決めておくと安心です(机にはらない、というのは本文でも触れています)。
学校から配られた端末については、学校ごとの決まりが優先されます。ここで数えた話は、決まりを破る理由ではなく、決まりの意味を理解するための材料としてお使いください。