昨夜の1月12日の夜、J-WAVEのBOOK BARなるFM番組で、大倉眞一郎氏が素数の話を熱く熱く語っていた。ご存知 素数は2,3,5,7,11,13・・・の自然数。しかし、女優の杏ちゃんは全然興味ない雰囲気。まあ当然だな。
素数が何の役に立つのか知らないけど、仕事柄 セキュリティで素数が役に立っていることを一つだけ知っていることがある。
例えば、素数 1769 を素因数分解しようとすると結構大変だ。答えは 29 × 61 (ともに素数) なんだけど、ユーザーは管理者から発行される公開鍵(ここでは1769)を掛けて、情報を暗号化し管理者に送付する。管理者は受け取ったらそれを秘密鍵(ここでは29と61)で複合化する。仮に悪意ある者がネット上でデータを入手しても秘密鍵が分からなければ解読できない。ポイントは秘密鍵が二つの素数によって作られるってこと。
ネットで流れる全てのデータはデジタルだから数字だ。それに公開鍵なる素数をかける。先ほどの話なら1769をかける。知識ある悪者は、この長い数字列と1769で暗号化したんだよ!ってところまでは知ろうと思えば知ることが出来る。
管理者は、この 29 と 61 を使って暗号文をもとに戻す。例が1769の4桁だから今のコンピュータ能力であれば瞬時に29と61に素因数分解できるけど、これが300桁になる素数だと、スーパーコンピュータでも何年(何十年かも?)もかかってしまう。もっと桁が長ければ解読はもはや不可能。ちなみに、昨年末時点で分かっている最大の素数は、24,862,048 桁だとか・・・。新しい素数が見つかる度に[発見]となるらしい。それほどコンピュータでも新しい素数を見つけるのに時間がかかる作業のようだ。理由は、今現在規則性が全くないからだ。
もし、素数の法則が見つかって公式ができたら数学界では物凄い快挙になるのだろう。私は知らないが、素数を使う分野に限りない進歩が待ち構えているかもしれない。しかし、全世界のコンピュータセキュリティは間違いなく大混乱する。
私の解釈も含まれているので、当内容は自慢げに引用しないように。場合によっては私の解釈が間違っているかもしれません。一切責任を持てません。
J-WAVEでの大倉さん、こういう感じでラジオ放送してくれたら杏ちゃんも少しは興味を持ってくれたかも。そもそも素数がどこに使われているか、私は上記のことしか知らないのだ。
IT業界で活躍している人か、基本情報処理技術者試験程度の知識がある人ならば大抵の人は知っているかと思う。
ここまで興味あって読んで頂けた人なら好奇心がある人と判断できるので、この業界で十分やっていけます。是非ともご連絡下さい。もっと刺激のある話が沢山ありますよ。難しいと思った人でもひとつひとつ覚えていけば、いつのまにかITエンジニアになれます。ご心配なく!