2006年11月23日(木曜日)
【算数】 意味のあるスペルの確率
猿がタイプライタで遊んでいるとき、そこに打ち出される文字がシェークスピアの戯曲になる可能性は、ゼロではない。しかし、ほとんどありえないだろう、とは思われる。
無作為に文字を打ったとき、それが意味のある言葉になる確率というのは、どれくらいだろうか。
アルファベットは26文字だ。もし2文字ならば、26の2乗、つまり676とおりの組合せがある、3文字ならば、17,576とおり、4文字ならば、456,976とおり、5文字ならば11,881,376とおり、6文字ならば、308,915,776とおりで、だいたい3億とおりくらいだ。6文字よりも多い言葉が沢山あるわけだが、言葉自体はどれくらい存在するのだろう?
普通の英和辞典はせいぜい数十万語である。だから、たとえば100万語がこの世に存在したとしても、上記の組合せと比べると、確率は300分の1である。もちろん、さらに多い文字列を計算していくと、これが1文字につき26倍になるから、10文字くらいで、既に1億分の1を超える。
つまり、10文字のアルファベットを無作為に並べて国民全員のパスワードを作ったとき、それが意味のある単語なるのは、日本中でたった1人くらい、という確率である。
6文字の場合でも、辞書に載っている6文字の単語がたとえ30万語あったとしても、言葉にならないスペルの1000分の1も少ない。アルファベットの組合せを順番にパスワードとして入力するプログラムを使えば、1000分の1の時間で破られることになる。パスワードに意味のある単語を用いることが、いかに危険か、お気づきだろうか。