Team RimArts UsersGroup

FAQ


どうやって暗号を解くの?

RC5-64 を例にとると、暗号化(復号化)するための Key (鍵)は 2 の 64 乗 = 18,446,744,073,709,551,616 個 (1844 京 6744 兆 0737 億 0955 万 1616個) だけあります。これらの鍵を片っ端から試していけば、いつかは本物の鍵に当たります。

この数字はどの程度の大きさなのか―― たとえば一秒間に 10 億通りの鍵をチェックできるコンピュータがあったとしましょう。
一秒間に 10 億ですから、約 184 億 4674 万 4073 秒で全部の鍵を試すことができます。計算すると分かりますが、なんと 585 年もかかるのです。
(2000.12 加筆) ちなみに Pentium 100MHz の処理能力は一秒間に 134,000 通り、Pentium III 1GHz でもたったの 300 万通りです。

これを一台のコンピュータで処理すると膨大な時間がかかるため、distributed.net はインターネットに接続されたコンピュータに少しずつ分担してもらう方法を編み出しました。これが distributed.netの「分散処理による世界最速コンピュータ」です。

具体的には、次のように解読しています。

  1. Key (鍵)を 2 の 28 乗個(268,435,456個)ごとの束にします。これを Key Block (鍵束)と呼びます。Key Block は全部で 2 の 36 乗(68,719,476,736)ブロックあります。
  2. Key Block を管理するサーバが用意されています。これを Key Server と呼びます。Key Server はアメリカ・ヨーロッパ・アジア・日本などにあり、distributed.net が管理しています。
  3. Project RC5-64 の参加者(私達のことです)はコンピュータにクライアント・ソフトをインストールします。およそ殆どの OS に対応したクライアント・ソフトが用意されています。
  4. クライアント・ソフトは Key Server から Key Block を受け取ります。これを Fetch(取得)といいます。
  5. クライアント・ソフトは Fetch した Key を片っ端から試します。
  6. クライアント・ソフトは試し終わった Key Block を Key Server に返します。これを Flush(排出)といいます。
  7. クライアント・ソフトは正解鍵を見つけるまで Fetch → 解読 → Flush を繰り返します。

要するに、総当たり方式で解いているのです。

関連項目


FAQ へ / HOME

Copyright Team RimArts UsersGroup
All Rights Reserved.