連載「暗号と暗号史」

このエントリーをはてなブックマークに追加
2011/9/15

【第7回】暗号方式の公開~コンピュータとDES暗号~

シーザー暗号の古代より第2次世界大戦まで、暗号は国家や軍など限られた人間たちの間で使用するものだった。しかし戦後、コンピュータが民間にも普及し、通信技術も発展してくると、大勢の人が暗号の通信を必要とするようになった。

 「暗号と暗号史」第7回では、米国で採用された初めての標準暗号「DES(Data Encryption Standard、デス)」にみる、暗号が日の目を見るようになった時代を追う。

各国の暗号エピソード

 誰がどのような暗号を使用しているか、これは20世紀前半までは秘密中の秘密だった。


 米国では、ネイティブ・アメリカンのナバホ族が使用していた言語・ナバホ語を利用して、第2次世界大戦中の対日戦線で通信を行っていた。当時のナバホ語は米国外に翻訳できる人物が存在せず、発音も特殊であるため、通信を傍受した日本軍も最後まで解読ができなかった。


 戦後、この事実は伏せられ、機密解除されたのは1968年。当時従軍していた約400名のナバホ族は、20年以上経ってようやくその活躍が公に認められるようになった。


 英国は、16世紀のメアリ・スチュアートの暗号解読から2度にわたる世界大戦を通じ、もはや「お家芸」とも呼べるほどの徹底した情報管理を行っている。


 第2次世界大戦中、英国の情報部がエニグマを解読したことは極秘事項とされた。しかも、戦後になるとインドなどの旧英国植民地にエニグマを配給して使用を奨励し、各国の通信を解読していたという。エニグマ解読の事実が公表されたのは1974年。実に戦後30年近くも隠し通してきたことになる。


アルゴリズムを公開したDES暗号

 英国・米国の例に限らず、各国で秘密主義のもとで使用されていた暗号だったが、1959年にIC(集積回路)が発明されて以降、急速にコンピュータが民間へ普及し始めた。同時に、企業間での商取引など、より多くの人が暗号を必要とする場面が出てきた。


 しかし、企業間で取引する際、お互いが別々の暗号方式を使っていては情報伝達ができない。そこで1973年、米国商務省標準局(NBS、後のNIST)は商用で使用する暗号方式を公募した。


 それまで隠して当然だった「暗号の方法(アルゴリズム)」と「鍵」の2つのうち、アルゴリズムを公開するという、暗号のたどってきた歴史からすれば一大転換である。NBSは1977年、IBMのルシファー暗号をもとにDES暗号を採用、これが世界中の標準暗号となった。


DESの仕組み

 コンピュータでは、文字は数字に置き換えられて存在している。一般的に使われているASCII(American Standard Code for Information Interchange)コードでは「A」ならば「65」、「Z」ならば「90」という具合だ。


 ただ、コンピュータは電気が通っていない状態を「0」、通っている状態を「1」とする2進法でしか計算できないので、2進数で表すとアルファベット「A」の「65」は「100 0001」、「Z」の「90」は「101 1010」となる。


 DES暗号は、このコンピュータの計算を基本にしている。平文を「0」と「1」の64桁のブロックに区切り、それをまた2つに分け、32桁ずつにする。そのうち「右グループ」はそのままで、「左グループ」を加工して「左グループA」にする。


 そして、加工された「左グループA」と「右グループ」の左右を入れ替えて、1回目の作業が終わる。この作業を、下記の図のように16回繰り返して暗号化を行う。

DESによる暗号化の仕組み(クリックすると拡大します)
DESによる暗号化の仕組み(クリックすると拡大します)

 鍵は2進数で64桁のものを用意するが、誤り検査用に8桁を使用するので、実質56桁となる。これをもとに48桁の鍵を16回分作る。送信者と受信者は56桁の鍵を共有していれば問題ない。鍵のパターンは「0」と「1」を56個並べる組合せなので、2の56乗、約7京通りとなる。


 鍵の長さについては、当時の米国政府は暗号を「軍事資源」と捉え、56桁より大きい桁数の鍵を持つ暗号の輸出を禁止していた。DES暗号も、標準として採用される際には56桁に制限されている。


 こうして世界中に広まったDES暗号は、1994年、日本人の松井充によって、12台のコンピュータを利用して2カ月で解読された。発展著しいコンピュータの世界で、またアルゴリズムが明らかになっているにもかかわらず、実に20年近くもその命脈を保ったことになる。


 上記のようにアルゴリズムが公開されて新たな時代に入った暗号。しかし、仕組みとしては古代のシーザー暗号もDES暗号も、暗号化する時と復号する時に「同じ鍵」を使う点では同じである。これを一般的に「共通鍵暗号」と呼んでいる。


 「共通鍵暗号」の最大の問題は、他人に知られてはいけない鍵の配送をどのように行うかであった。


 2000年以上人類を悩ませていたこの問題を解決に導いた発明が、1976年ホイットフィールド・デフィーとマーティン・ヘルマン、ラルフ・マークルによって考案・発表された「公開鍵暗号」である。そしてDESが採用された1977年には、この理論を実装した「RSA」暗号が登場した。次回はこの「公開鍵暗号」について触れたい。

(中西 啓)

>>暗号と暗号史【第8回】へ


【関連カテゴリ】

情報セキュリティ