橋本裕の日記
DiaryINDEXpastwill


2004年06月28日(月) 秘密を解読する技術

 ビル・ゲイツが「暗号遊び」に熱中したのは、暗号を使えば「秘密の共有」ができるからばかりではない。暗号を解読することで、他人の秘密を知ることができる。こうした知的好奇心が、彼を暗号遊びへと向かわせたのだろう。

 自然界は暗号に満ちている。これを解読し、その秘密を探ることが、数学者や科学者の願いである。数学や科学はこうした自然界の暗号を解読する装置だが、以前は、こうした技術や情報を仲間内だけで独占することもあった。

 他人と秘密を共有したいとき、私たちは秘密の暗号コードを作り、これを秘密を共有したい仲間にだけで持たせればよい。しかし、仲間が増えれば、暗号コードが盗まれる危険性が大きくなる。

 そこで、素数の理論をもとに、暗号化する鍵と、解読する鍵をつくることで、この難問を解決したわけだ。暗号化キー(パブリックキー)を世界に公開すれば、だれもが「暗号文」をつくることができる。しかし、その暗号を読むことができるのは、解読キー(プライベートキー)を持っているほんの一握りの人々ということになる。

 こんな離れ業ができるのも、素因数分解のむつかしさがあるからだ。二つの素数をかけて合成数をつくることにくらべて、合成数を二つの素数に分解するのはむつかしい。たとえていえば、水素ガスと酸素ガスはマッチの火を近づければあっという間に燃焼して水になるが、水を水素と酸素に分解するのはむつかしい。

 キャベンディッシュ(1731〜1810)が「水を電気分解」することでこれを可能にした。素数の分解の場合は、さしずめコンピュータが「水の電気分解」に相当する魔術的な装置ということになるのだろう。

 1978年、RSA暗号を発明した3人の学者は、ふたつの素数の積である130桁の数を因数分解するには、どんなコンピュータでも何百万年もかかるだろうと予言した。そして、彼らは129桁の数字を示して、これをふたつの因数に分解してみよと、世界に挑戦した。

 114 381 625 757 888 867 669 235 779 976 146 612 010 218 296 721 242 362 562 561 842 935 706 935 245 733 897 830 597 123 563 958 705 058 989 075 147 599 290 026 879 543 541

 彼らはこの数が二つの素数の積に分解されることは未来永劫にないだろうと考えた。なぜなら何百年万年後まで人類が生き残っていることはないだろうから。しかし、彼らのこの予測は外れた。彼らの目が黒いうちに、この暗号が破られた。

 1993年、世界中から動員された600人をこえる学者や技術者が、この129桁への数字に挑戦した。彼らはインターネットを使って、無数のコンピュータに作業を分担させ、何と1年もたたないうちに、この数字を64桁と65桁の二つの素数に分解した。インターネットとコンピュータがこの魔術を実現した。

 3 490 529 510 847 650 949 147 849 619 903 898 133 417 764 638 493 387 843 990 820 577

32 769 132 993 266 709 549 961 988 190 834 461 413 177 642 967 992 942 539 798 288 533

 さいわいなことに、桁数を一つ上げるだけで、素因数分解の難しさは飛躍的に増大するという。しかし、それでも暗号が破られる可能性は0ではない。一番良いのは、暗号など使わなくても、お互いが平和に暮らしていける開放的な社会を実現することだろう。


橋本裕 |MAILHomePage

My追加