PR

>>前編

 前編では,「共通鍵暗号」「公開鍵暗号」「デジタル署名」「ハッシュ関数」の仕組みを紹介した。基本的なアルゴリズムを理解しておけば,新しい規格が登場しても特徴をつかみやすい。

 そのほか,暗号技術に関して知っておきたいことは,何をもって「暗号技術が破られた」とするか,という基準である。それは主に二つある(図1)。「総当たり方式」による攻撃が現実的に可能になるケースと,総当たり方式よりも効率のよい攻撃法が見つかるケースである。それぞれを説明しよう。

図1●「暗号技術が破られた」とは
図1●「暗号技術が破られた」とは
[画像のクリックで拡大表示]

全パターンの共通鍵を調べる

 「総当たり方式」とはその名の通り,全パターンの鍵を試して解読することである。例えば,DESの共通鍵は56bitであり,2の56乗(約7.2× 1016)通りのパターンが存在する。その中に正しい共通鍵がある。そのため,2の56乗通りの鍵を一つずつ暗号文に適用すれば,必ず正しい鍵に行き当たる。

 この攻撃法は決して荒唐無稽ではなく,例えばDESに対して十分に有効である。1999年にある研究グループが,インターネットで結んだ約10万台のコンピュータを使い22時間15分でDESの共通鍵を特定した。現在のコンピュータの演算能力をもってすれば,ケタ違いに少ない台数のマシンで解読可能である。

 総当たり方式には,鍵長を伸ばすことで容易に対処できる。AESの共通鍵は128bit以上である。鍵のパターンは少なくとも2の128乗(約3.4× 1038)通りあり,現在のコンピュータの演算能力では,総当たり方式でAESの鍵を特定することは非現実的だ。そのため,128bitの共通鍵は総当たり系の攻撃に対して,当面は十分に強固であると言える。

 公開鍵(RSA)暗号についてはどうか。秘密鍵は,公開鍵の一要素が素因数分解できると特定されてしまう。「主としてコンピュータの演算性能の向上によって,素因数分解が可能なbit数が年々増えており,2005年には663bitの数が素因数分解された」(暗号技術のスペシャリストであるNTT情報流通プラットフォーム研究所 情報セキュリティプロジェクト 主任研究員神田雅透氏)。これは,「663bitの鍵長のRSA暗号が破られた」という意味を持つ。このペースで行くと,2015年~2020年ごろに, 1024bitの鍵長のRSA暗号が破られる可能性が高い(図2)。そのためNISTは,2010年以降,2048bit以上の鍵長を使う方針を示している。

図2●RSA暗号が解読される鍵長(bit数)の推移
図2●RSA暗号が解読される鍵長(bit数)の推移
[画像のクリックで拡大表示]