現代の暗号のエッセンスは、 伝えたい文を数値に直した後の数値を別の数値に変換するという点に あることが分かりました。このような現代暗号は、 これまでにDES・AES・FEAL・E2・Camelia・RC6・IDEA… など、実に様々な方法が研究・設計がされています。 これら暗号には、数々の面白いエピソードが知られていますが、 詳しくは筆者の本で紹介するとして、 ここでは最近の大きな話題をいくつか紹介します。
DES (デス) は、 1976 年にアメリカ商務省標準局(NBS=現在のNIST)が行った標準暗号の募集に対して、 あの IBM が設計・応募し、採用された暗号方式です。 アメリカ政府機関のお墨付や実用における長い間の実績があり、 前世紀中は最も安全性の高い暗号の一つとして幅広く標準的に利用されていました。 しかし、RSA Security 社 という前世紀までRSA暗号の権利を持っていた企業が、 「長年使用され古くなってきた DES の安全性は既に破綻しており危険だ」 ということをアメリカ政府に認知させるために開催した暗号解読コンテストで、 見事に DES の暗号文が解読されてしまいました(※1)。 このような背景から、NIST は DES に代わって AES (エー・イー・エス) と呼ぶことにする新たな標準暗号の公募を行い、 数年間の策定作業を経て 2000 年に Rijndael (ラインドール,リンデールなどと発音しますが、 設計者的にはどれでもいいみたいです) という暗号がこれに選ばれました(※2)。
FEAL (フィール) は、我らが日本の NTT の宮口氏らが、 現代暗号の草創期に DES を参考にして設計した暗号方式で、 DES よりも高速に暗号化・復号の計算ができるのが利点の一つでした。 しかし、早い段階で現実的な解読方法が発見されてしまい、 その後も改良を重ねる度に解読されてしまいました。 現在の FEAL-NX と呼ばれる方式などでは実用上の問題は見つかっていませんが、 こうしてたびたび解読されてきた経歴から、現在話題になると言えば 歴史的に DES がいかに優れていたかを表現するための比較としてぐらいでしょうか。 その後 NTT は新たに E2 (イー・ツー) という暗号方式を設計し、 これをAES の公募に応募しましたが、 残念ながら最終候補の選定で落選してしまいました。 これは、募集をかけた NIST が、 「本来の E2 ではなく、 E2 の設計が少し違ったものだったらどれくらい弱い暗号になるか」 を考察した論文を本物の E2 に対する評価だと 勘違いしてしまったためだという興味深いエピソードが知られています。 その後、同社は三菱電機と協力して Camellia (キャメリア) という暗号を設計しています。
RC6 (アール・シー・シックス) はRSA暗号でも有名な RSA Security 社 (注5.) の創業者で、 RSA 暗号の R としても知られている Ron Rivest 博士が設計した暗号です。 それ以前にも同氏は RC5 (*3) などの 「RCシリーズ」 と呼ばれる一連の RC○ という暗号を設計していますが、 これらの中には既に暗号学的に解読されているものもあります (注4.) 。 RC6 も AES の公募に応募され、 下馬評では最有力候補の一つと言われて最終候補まで残ったものの、 数年間の選定途中で Knudsen と Meier という研究者によって、 「コリレーションアタック」 と呼ぶ統計的手法による攻撃法が有効であることが発見されました。 しかし、さすがに最終候補に残った暗号であり、 重大な問題は見つかっていませんでしたが、 結局 RC6 が AES には選ばれることはなく、 同社は 2002 年 10 月以降 RC6 の普及活動自体を止めました (RSA Security 社の敗戦の弁)。
IDEA (アイデア,イデア) は Massey と Lai というスイス人が設計した暗号で、 独特の設計により解読の難しい暗号の一つとして知られています。 現在、私の知っている範囲では、Meier という人が発見した、 特定の鍵を使用した時に非常に簡単に解読が行なえるという "弱鍵 (Weak Kye)" による攻撃法くらいしか有効な攻撃法が発見されていないと思います。 このように暗号学的な解読もされておらず、 一時は AES にも応募されるのではないかとも噂されていましたが、 結局されませんでした。 IDEA の権利を持つスイスの ASCOM Systec 社は既にこの暗号を業としており、 AES の応募要件である権利放棄に抵抗があったのでしょうか。 かつては PGP という電子メールの暗号化システムに標準採用されていたため、 インターネット社会でも比較的有名な暗号です。
この他、最近開発された国産の方式だけでも CIPHERUNICORN シリーズ(日本電気)、 Hierocrypt シリーズ(東芝)、MISTY シリーズ (三菱電機)、 SC2000 (富士通) などがあるように、実に数多くの暗号方式が存在しますが、 上に挙げたすべての暗号もしかり、 従来の暗号方式は当然のことながら 鍵は暗号化にも復号にも同一のものを使用してきました。 つまり、送信者と受信者が同一の鍵を 周囲には秘密に共有しなければならないのです。 もちろんシーザー暗号でも同じで、 送信者が 「5文字ずらす」 と決めれば、 受信者も 「5文字逆にずらす」 必要があり、 やはり鍵は同じ5文字を使用することになります。
このことは、相手へメッセージを暗号化して伝えたいのなら、 それより先に、まず暗号化に使う鍵を周囲の人たちには秘密にして、 相手にだけ伝えておかなければならないということを表しています。 つまり、ある文を秘密に伝えたいなら、 まず先に鍵を秘密に伝えなければならないのです。 これは何とも本末転倒、 「それじゃあ、その鍵はどうやって伝えればいいんだ」 という話になります。しかしこの問題は 2000 年もの長い暗号の歴史上、 仕方のないこととされ、誰も解決することはできませんでした。
このコンテスト、 実際に広く使われていた DES の暗号文が解読対象だったにも関わらず、 初めて開かれた時には、7 万台のコンピュータを使う団体が140日、二回目は 世界中のコンピュータを使う distributed.net という団体が約1ヶ月で解読。 さらに、次に開かれた時には、一千万円程度の機械を一台使った EFF という団体によってたったの2日半で解読されてしまいました。
2日半 の驚異以上に、勝利者が、世界中のコンピュータを使う形式ではなく、 たった一台の専用マシン、しかも安価に作った団体だったことから、 世界も主催者も、大変な驚きを見せました。 しかし、これこそ主催者の望んでいた結果だったのです。
その後、1999 年 1 月 18 日に最後の DES Challenge III が行われ、 ついに 24 時間を切る 22 時間 15 分で解読されてしまいました。 優勝者は、過去のコンテスト解読者(チーム)の distributed.net と EFF の合同チームでした。DES暗号解読コンテスト (※1) の結果などにより、 現実的な時間では解読不可能だと言われてきた設計当初の DES の技術が、噂通り破綻していることが明らかになりました。 このためアメリカ標準技術協会(NIST)は、 AES と呼ぶことにする、 DES に代わる新しい標準暗号アルゴリズムを一般に公募しました。 そして、三度の候補絞り込みの結果、2000 年に Rijndael という暗号に 決まりました 。 DES は、国家とのつながりも深い IBM が設計を担当しており、S-Box (エスボックス) と呼ばれる 「しくみ自体は公開されているが、 なぜそんなしくみにしたか設計思想が明らかになっていない部分」 に、 国家が解読するためのフックが用意されているのでは? といった疑念を持たれてしまったことを踏まえたのか、 今回はアメリカ国外のものが選ばれたことが特徴です。 最終候補に残った暗号の多くは基本的には 既存の攻撃に対して同程度の安全性を持っていたようですが、 Rijndael は、 特別劣る所も優れている所もなく無難な選択だったようですが、 あえて挙げると、パソコン等の「ソフトウェア」 として暗号化プログラムを作った時に、 特定のコンピュータのみで高速に処理できたり、低速だったりすることなく、 平均的にそこそこ速く処理できたことが評価されていたようです。 ちなみに、 第一次候補に選ばれた暗号アルゴリズムには次のようなものがありました (AES第一次候補アルゴリズム一覧) 。
本節で紹介したすべての暗号は、 RSA暗号とは暗号のしくみが根本的に異なる方式であるため、 「サルにもわかるRSA暗号」ではこれ以上詳しくは触れませんが、 これらの暗号もRSA暗号に負けず劣らず面白いエピソードが たくさんある面白い分野です。 筆者の本 でも触れておりますので、 ご興味がある方は書店にて立ち読みの上、 もしお気に召したらお買い求め頂けると有難く存じます。
RSA Security 社は、自社の暗号を世界標準にしようと DES 暗号解読コンテスト (※1) で DES の破綻を広く知らせ、 アメリカ政府を DES に代わる AES の公募へと動かしました。 同社は RC5 を改良した RC6 を AES に応募しました。
ところで、アメリカ政府は前世紀末まで暗号技術の輸出を厳しく制限していました。 簡単に言うと、実用になる強い暗号(解読が難しい暗号)は輸出を禁じられ、 解読される恐れのある暗号だけが輸出を認められてきたのです。 当然 RSA Security 社を始めとするベンダ各社は、この政策に反対の立場でした。 そこで同社は DES の解読コンテストに続き、 今度は「強い暗号であっても、政府の許可する制限内では簡単に解読されてしまう」 ことを広く知らせるため、輸出可能な弱い暗号にも、 輸出不可能な強力な暗号にも調整できる柔軟なRC5を用いて、 様々な強さ別の暗号文を出題し、解読させる「RC5解読コンテスト」も開催しました (一部の強さの出題については、現在もコンテスト開催中です)。 なお、このコンテストに使われているRC5が RSA暗号のことだと勘違いしてる方が時々いらっしゃるようですが、 これらは種類の全く異なる暗号方式です。
新聞などで 「○○暗号が解読された」 などという記事をみかけることがあります。 この 「解読された」 という表現、 まるでその暗号がもう使い物にもならないかのような印象を与えるのですが、 実際には 「解読」 と言っても様々な意味があり、 実際にはすぐに危険というわけではない場合も多々あります。
簡単に紹介すると、まずは本当に危険な 「解読」 があります。 DES が解読されたというのは、これに該当します。 暗号文だけを元に、一千万円程度の機械で一日で解読できるのでは、 解読したいと思った暗号文を自由に現実的な時間で解読できてしまいます。 すぐに不安だと言えるのは、こんな解読だけでしょう。
次に、一文を解読されただけの意味の解読です。 強さを調整した RC5 という暗号は、 解読コンテストで (※3) 、 世界中のコンピュータを使い5〜6年で解読できる予定です。しかし、 たった一文に、世界中のコンピュータを協調して5〜6年もかかる事実は、 逆にそこまでしないと解読できない証拠なのですから、 このような場合は逆に本来は安心すべきくらいかもしれせん (追記.2002 年の夏、 ついにこの出題が東京在住の匿名の日本人によって解読されました)。
最後に暗号学的な意味での解読です。 RC5 はコンテストとは別に、暗号学的な解読もされています。 しかしその意味は、「解読者にとって都合の良い、 非常に多くの暗号文とその平文を知っていれば、 存在し得る全ての鍵を試すより(わずかにでも)早い時間で鍵を知ることができる」 というものなのです。 現実には、そのような都合の良い情報をたくさん得ることは 難しい場合が殆んどですし、 「存在し得る全ての鍵を試すよりも早い時間」 が現実的に意味のある時間でない事も多いのです。 したがって、これもすぐに不安になるべきものとは言えません。