あなたが設計したLSIから秘密情報が漏れてます ―― 暗号回路のトレンドはアルゴリズムの標準化から実装の安全性評価へ
1 暗号アルゴリズムの歴史と標準化
人類が文字を発明して以来,数限りない暗号が考案されています.シャーロック・ホームズの「踊る人形」(1)は有名ですし,古代エジプト文字「ヒエログリフ」も考古学者や言語学者以外の人たちにはある種の暗号といえるでしょう(図1).ですが,踊る人形はちょっとした規則さえわかればだれでも読み書きできますし,ヒエログリフも当時の人にとっては暗号ではありませんでした.
● 現代暗号は「アルゴリズム」と「かぎ」が分離
これらに対して,現代暗号と呼ばれるものは次の2点が大きく異なります.
- アルゴリズムとかぎが分かれている
- アルゴリズムを公開できる
かぎそのものがアルゴリズムの一部となってしまっている昔の暗号は,すべてを秘密にする必要がありました.現代暗号では,アルゴリズムとかぎを分けたことで,公の場でアルゴリズムに関する議論が可能となりました(ただし,特殊用途ではアルゴリズムが公開されていないものもある).
本誌2004年12月号の表紙を飾ったEnigma(エニグマ)暗号機をご存じの方も少なくないと思います.ドイツ軍が第2次世界大戦中に使用した機械式暗号機の傑作で,現在でもオークションで100万~300万円ほどの値段で取り引きされています.その原理は,キーを叩くたびに,入出力の配線がランダムにつながれた複数のロータが回転し,文字の変換規則を次々に変えていくというものです(コラム「Enigma暗号機」を参照).
Enigma暗号機では,ロータの種類や順番,初期位置などが秘密かぎとなりますが,暗号機の構造(つまりアルゴリズムそのもの)も解析に非常に重要な手がかりを与えてしまいます.この点で,現代暗号とはいえません.