「素因数分解」を覚えていますか? ある自然数を素数の積で変換する計算です。例えば「15」なら「3×5」。この例であれば簡単ですが、では「11088899」は? ――これを見ただけで素因数分解できる方はほとんどいないでしょう。正解は、「3329×3331」。 しかし、これが「3329×3331は?」という問題であれば、計算は簡単です。つまり「3329×3331=11088899」という計算式には、3329と3331の積算は簡単なのに、11088899の素因数分解は難しいという非対称の関係があるのです。この性質は一方向性関数と呼ばれ、暗号にも活用されています。 閉める鍵と開ける鍵が別にある「公開鍵暗号方式」 セキュリティ技術の代表「暗号化」においては、サーバ側と自分で共通の鍵を持つ「共通鍵暗号方式」がすぐに思い浮かぶと思います。共通鍵は玄関の鍵に例えられる通り、情報の発信者と受信者で同じ秘密を