暗号の世界では後発の三菱電機の研究員,松井充は1993年の夏,米国標準暗号「
「ここまでやって,もしも無駄足だったら」――。
あれから2カ月。大船の街を包んだ蝉時雨はいつしか鳴りを潜め,辺りにはすっかり秋の気配が漂っていた。1993年夏の熱気はどこかに消え去り,心地よい夢から覚めたように,世間は落ち着きを取り戻していた。
その中で松井充は,期待と不安が入り交じった,宙ぶらりんの気持ちに支配されていた。米国標準暗号「
手作業で12台を動かして
松井が作成したプログラムはまず,乱数を用いて243個の平文データを生成する。そしてダミーの秘密鍵となる56ビットのビット列を使って243個の暗号文を作り出す。解読プログラムは,その243組の平文データと暗号文データを使って秘密鍵を推定するわけだ。最初にダミーとして用意した秘密鍵のビット列を導き出せれば,解読に成功したことになる。
長かった夏を通して,松井は鍵の算出につながる材料を1つ1つ積み上げてきた。線形解読法による解読実験は,並列処理によって効率的に進めることができる。松井は,知り合いに頼み込んで借りた12台のワークステーションを使って,できるだけ短期間に解読実験を終わらせようとした。
ただし12台のワークステーションは,利用できる時刻や期間がまちまちである。それらを連携させるプログラムを書いて,自動的に処理を進めるわけにもいかなかった。松井は,手作業で12台のワークステーションに処理を割り振った。それぞれに解読プログラムの一部を実行させて,途中結果を算出する。その結果を別のワークステーションに入力し,さらに次の中間解を求める。
業務の合間を見計らって,松井は12台に頻繁にアクセスした。プログラムの進捗状況や,エラーの有無などを事細かに確認し,その詳細を1冊の実験ノートに記した。気が付けば用意したノートには,わずかなページしか残っていなかった。
そして,その日は来た。すべての計算は終了し,DESの解読プログラムは推定した鍵データの結果を導き出した。実験を始めてから,延べ50日もの時間がたっていた。