論文を読んで驚いた。そこで繰り広げられていたのは,単純な原理から鮮やかな結果を導き出す,極めてエレガントな数学理論だったのだ。暗号については素人の松井でも,すらすらと論文を読み進めることができた。
松井が手にした論文は,1990年4月にイスラエルの研究者Adi Shamirらが記したものである。この論文で提案した解読法は,後に「差分解読法」として広く世に知られるようになる。
計算量を劇的に減らす
松井を驚かせたのは,この手法が暗号解読に必要な計算量を劇的に減らせることだった。FEALなどの,いわゆる共通鍵暗号の解読とは,唯一の秘密情報である鍵データを推定することである。鍵データを解読者に特定されれば,秘匿した情報はたちどころに暴かれてしまう。
当時,暗号の解読法として確立していたのは「全数探索法」と呼ばれるものだった。考えられるすべての鍵の組み合わせを試して正しい鍵を求める方法だ。ただしこの手法は計算量が膨大であり,必ずしもすべての暗号を解読できるとは限らない。通常,暗号が解読不能と見なされるのは,鍵データを求める計算量が膨大で,事実上特定できないからだ。例えば鍵の長さが56ビットの場合,256組,すなわち約7京個の鍵を用意して計算する必要がある。当時の最先端のスーパーコンピュータを使っても2000年かかる計算量であり,事実上解読不可能といわれた。
暗号処理の「偏り」を利用
Shamirらの差分解読法は,鍵データを求めるのに必要な計算量を大幅に引き下げる。基本的な発想は,暗号化処理に潜む「偏り」を利用しようというものだ。どんな暗号の中にもわずかな相関が潜んでいる。これを手掛かりに,暗号解読に必要な計算量を減らそうというのである。 =敬称略
―― 次回へ続く ――