どうもビチューです。
中学、高校の数学で習った因数分解を思い出してみてください。
皆さんには、「こんな面倒な計算をして何の役に立つのかな?」と思った方がいるのではないでしょうか?
実は、この”面倒な”計算が我々の安全を守ってくれています。
”面倒な”というところがポイントなので、太字にしました。
それは一体どういうことなのかをこれから解説していきたいと思います。
この記事を読めば、因数分解の本当の使い方や、頑張って計算したくなるかもしれません。
早速見ていきましょう。
「0と1」が安全を守る
実は、因数分解は、ネットセキュリティの暗号技術で使われています。
インターネットは、コンピュータ同士を電線で繋ぐことで実現するシステムです。
それは電気信号なのですが、「オン・オフ」のたった2種類だけです。
これをわかりやすく表現するために、”数”である「0と1」を使うのです。
文字、音楽、映像の情報はすべて「0と1」という数に変換されることで実現するのが、コンピュータネットワークの世界です。
インターネットにおける情報の安全とはつまり、”数”の安全になるのです。
ここで数学の出番です。
公開鍵暗号システムと呼ばれる暗号システムがあります。
このシステムの最大のポイントは、「因数分解の困難性」です。
数の因数分解を素因数分解といいます。
約数が2つしかない自然数が素数です。
2,3,5,7,11、…など。
素数は無限にあります。
例えば、12を素因数分解すれば、「2×2×3」とすぐにわかりますが、5893の素因数分解はすぐにはできませんが、計算すれば、答えは「71×83」とわかります。
「71×83」の計算は簡単ですが、その逆となる素因数分解の計算は簡単ではありません。
これはコンピュータを使っても容易ではなく、大きな数になれば、素因数分解には天文学的な時間が必要となります。
イメージとしては、
①5893という数で施錠
②71と83という二つの鍵となる素数で解錠
といった具合でしょうか。
暗号ができる仕組み
公開鍵暗号システムを簡単に説明すると、次のようになります。
①情報を相手に送ってもらう際に「5893」のような大きな数(二つの素数のかけ算)を使って暗号化して情報を送ってほしいと依頼。(この数を「公開鍵」といいます。)
②相手は公開鍵「5893」を使って数を暗号化。
③この暗号文(数)を依頼主に送る。
④暗号文(数)を受け取った依頼主は、「5893」を素因数分解した「71」と「83」の二つの素数を知っているので、これを用いて暗号文を原文に戻すこと(復合化)ができる。
このやり取りは、インターネットを通すと不特定多数の人に見られることはありますが、公開鍵である「5893」の因数分解は容易にできないので、解読は困難になります。
実際には、「5893」よりもはるかに大きい数を公開鍵にすることで、安全性がさらに高まります。
因数分解は”面倒”だからこそセキュリティに役立ちます。
まとめ
いかがだったでしょうか?
この事実を知って私は、学生時代にこの面倒な計算を身に染み込ませることで、いかに因数分解がすごいことなのか分からせることにつながっているのかなと思いました。
参考にした本はこちらです。↓
【中古】 面白くて眠れなくなる数学 PHP文庫/桜井進(著者) 【中古】afb価格:220円 (2023/9/13 20:02時点) 感想(0件) |
最後までお読みいただきありがとうございました。
コメント