現代の「暗号技術」を支える「公開鍵番暗号」とはどういう仕組みなのか?

長江貴士 元書店員

『暗号解読』新潮社
サイモン・シン/著 青木薫/翻訳

 

 

「暗号」というのは何だかロマンに溢れていると感じるのは僕だけではないと思う。ミステリ小説などで出てくる「暗号」が鮮やかに解決されるのも楽しいし、また本書でも描かれるが、第二次世界大戦中にドイツ軍が使っていた「エニグマ」という暗号機が解読された顛末も非常に興味深い。本書の内容から早速外れるが、「イミテーション・ゲーム」という映画がまさに「エニグマ」解読を扱ったものであり、メチャクチャ面白かった。特に印象的だったのは、「エニグマ」解読に成功しながら、その事実を伏せていた点だ。その理由はここでは書かないが、そのことで多大なる恩恵を受ける一方で、避けられたはずの死を見逃すしかなかったという苦しみも描かれており、非常に考えさせられた。

 

本書では、古代から現代に至るまでの様々な暗号について触れられている。暗号の解読法として有名なのは「頻度分析」であり、シャーロック・ホームズで描かれる「踊る人形」の暗号なども、「頻度分析」で解読されたはずだ。これは、「ある言語においてどの文字がどのくらいの頻度で登場するか」という知識を解読に使用するものだ。英語で言えば、文中に登場する文字で最も多いのは「e」であり、暗号化された文章で最も頻繁に登場するのが「e」なのではないか、と考えるところからスタートする。

 

また本書では、先程も例に出した、当時世界最強と言われていた「エニグマ」という暗号機の話や、また有名なロゼッタストーンの話なども登場する。「解読出来ない」という意味で言えば古代文字も暗号の一種と言えるが、ロゼッタストーンのような手がかりがまったくないにも関わらず解読された古代文字がある一方で、当然未だに解読されていない古代文字も多数存在するという話も興味深いものだ。

 

さて、現代に至るまでの暗号の共通点を挙げるとすれば、「暗号は言語学の領域である」ということだろう。言葉をどのように変換するか、あるいは謎の文字をどのように読み解くのかなどは、言語学の知見を利用しているものだ。しかし現代では、「暗号は数学の領域である」と言える。それが「公開鍵暗号」と呼ばれるもので、最も有名なものは「RSA暗号」と呼ばれている。

 

「公開鍵暗号」の説明に入る前に、それまでの暗号の問題点について触れておこう。それが「鍵配送問題」と呼ばれるものだ。

 

どんな暗号を作るにせよ、その暗号を解くための「鍵」が必要となる。そして、離れたところにいる人に暗号を送るとすれば、「鍵」も一緒に送らなければならないということになる。しかし、「鍵」を送る過程で盗まれたりすれば問題だし、盗まれた時に備えて毎日「鍵」を変えるとすれば、例えば向こう一ヶ月先の毎日の「鍵」を書いたコードブックのようなものを送らなければならない。これが「鍵配送問題」であり、かなり負担の大きなものなのだ。この問題を解決したのか「公開鍵暗号」である。

 

その仕組みを説明するために、アリスとボブに登場願おう(何故か暗号の世界では、アリスとボブが頻繁に登場する)。まずは、「公開鍵暗号」以前の暗号がどういうものだったのかを説明する。

 

まずアリスは、ボブに宛てて手紙を書き、それをある箱に入れ鍵を掛ける。手紙の入った箱をボブに送るのだが、しかし当然のことながらボブの手元には鍵がない。アリスは何らかの手段でボブに鍵を送らなくてはいけないのである。先程説明した「鍵配送問題」である。

 

では「公開鍵暗号」の場合はどうなるか。アリスは先程と同じように手紙を書き、箱に鍵を掛け、その箱をボブに送る。さてここからが違う。送られてきた箱にボブはまた自分で別の鍵を掛けてしまうのである。そうして二つの鍵がついた状態でさらにアリスに送り返す。アリスは、自分の方の鍵だけを外し、それをもう一度ボブに送り返す。するとボブの手元には、ボブの鍵だけがついた状態で箱が存在することになる。ボブは自分の鍵を持っているのだからその鍵で箱を開ければいい。このようにして、お互いに「鍵」をやり取りせずに暗号を送ることが可能な仕組みが存在しうるということが示されたのだ。

 

もちろん、この仕組みを暗号として実用化するには、上記のようなモデルが実現可能な数学上の手続き、つまりある種の関数を見つけなければならない。そして最終的にそれは、「モジュラー」という特殊な関数と「素因数分解」を組み合わせることで実現することが出来たのだ。「公開鍵暗号」の一種である「RSA暗号」は、様々なパスワードや暗証番号で使われていて、原理的には実は解読可能なのだが、実際的には解読不可能と言われている。現在のコンピュータの処理速度では、ある一つのメッセージを解読するのに、世界中のパソコンを同時に作動させたとしても、宇宙の年齢よりも遥かに長い時間が掛かると言われており、そういう意味で実際的には解読不可能な暗号なのだ。

 

しかしその「RSA暗号」を脅かすものが存在する。「量子コンピュータ」である。「量子コンピュータ」そのものの説明は今回しないが、現在のコンピュータの処理速度を尋常ではないレベルで上回るコンピュータが現在研究されており、実用化されれば「RSA暗号」はすぐに解読されてしまうと言われている。というか、もしかしたらどこかの機関が既に「量子コンピュータ」を開発し終えていて、世界中の情報をかっさらっているかもしれない。どこかの諜報機関が開発し、それを秘密にしている、という可能性はゼロではないだろう(恐らく現時点ではそういうことはないだろうが)。

 

しかし、そんな「量子コンピュータ」の脅威すら跳ね除けることが出来る暗号が既に検討されている。それが「量子暗号」だ。これは、非常に簡単に説明すると、「『情報が傍受された』という痕跡が情報の中にノイズとして残る」という性質を使う暗号である。たとえば、何らかの形で「秘密鍵(一回だけ使うパスワードのようなもの)」を送り合うとしよう(例えば、ダウンロードして欲しいファイルを送り、それをダウンロードするためのパスワード(秘密鍵)も一緒に送る、というような状況を想定してもらえばいい)。その「秘密鍵」を受信した時、通信の過程で傍受されたとすれば「傍受された痕跡」が残ることになるので、その「秘密鍵」を使うのは止め、その痕跡がなければ送られてきた「秘密鍵」をそのまま使う、というものだ。

 

傍受された痕跡がどうしても残ってしまうのだから、傍受された痕跡がない情報は安全である、という仕組みは、確かに最強の安全性を確保出来ていると言えるでしょう。しかしネットで検索すると、実はこの「量子暗号」にも脆弱性が確認された、と書かれていて、どうやら100%完璧ではないらしい。少し前に「QRコードに脆弱性が発見された」というニュースを見たが、今後ますますネット社会になっていくからこそ、「自分たちが使っているものがどこまで安全なのか」という意識を持つ意味でも、暗号に関する知識は持っていてもいいのではないかと思う。

 

『暗号解読』新潮社
サイモン・シン/著 青木薫/翻訳

この記事を書いた人

長江貴士

-nagae-takashi-

元書店員

1983年静岡県生まれ。大学中退後、10年近く神奈川の書店でフリーターとして過ごし、2015年さわや書店入社。2016年、文庫本(清水潔『殺人犯はそこにいる』)の表紙をオリジナルのカバーで覆って販売した「文庫X」を企画。2017年、初の著書『書店員X「常識」に殺されない生き方』を出版。2019年、さわや書店を退社。現在、出版取次勤務。 「本がすき。」のサイトで、「非属の才能」の全文無料公開に関わらせていただきました。

関連記事

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitterで「本がすき」を