web-dev-qa-db-ja.com

AESキーを破るのにかかる時間を計算する

256 GHzのAESキーは、2 GHzコンピュータでブルートフォース方式を使用して解読する必要があります。最良の場合と最悪の場合の状況で、キーを解読するのにどのくらい時間がかかりますか?単一のAESキーをチェックするには1000クロックサイクルが必要であると想定します。

9
Nadishan

さて、単純な計算を使用します。1つのキーをチェックするのに1000クロックサイクルかかり、コンピュータが毎秒2,000,000,000サイクルある場合、毎秒200万キーをチェックします。最良のケースは、最初に試すキーが正しいことです。合計時間は0.5マイクロ秒です。最悪の場合は、試行するlastキーが正しいことです。256 約2で割ったキー21 1秒をチェックした(これは210万に近いが十分に近い)、つまり2235 ウォルフラムアルファによると、これは約1.75ヴィギントリオンです(これは1.75 * 10です)63)年、または約1.3 * 1053 宇宙の時代の倍。

ユニバースが存在する限りコンピュータを実行している場合、Aキー(A is absurdly huge)と、毎秒Aキーを確認できる魔法のコンピュータ(これによりデスクトップコンピュータが140億年毎秒)宇宙が存在している限り実行されていると、その時間内にBキーがチェックされ、その後、毎秒Bキーをチェックする超大型の魔法のコンピューターがある場合(これは毎秒を実行しているデスクトップと同じくらい高速であり、140億年の間毎秒)であり、ビッグバン以来実行されていることを覚えておいてください。総当たりで68%完了。

別の言い方をすれば、太陽はわずか5 * 10で消滅します9 年。その時、あなたがしなければならない仕事の総量に対するあなたが行った進歩の比率は、1つの水素の質量の比率の数桁以内ですatom銀河の中心にある超巨大ブラックホールの質量ですが、ウィキペディアでは、宇宙の熱死が10100 年、それであなたはそれをそれまでに割るでしょう。

平均的なケースは最悪のケースの半分です。

11
cpast

暗号化に関する私のお気に入りの逸品の1つは、彼の著書「Applied Cryptography」のBruce Schneierによるものです。

熱力学の第2法則の結果の1つは、情報を表すために特定の量のエネルギーが必要になることです。システムの状態を変更して1ビットを記録するには、kT以上のエネルギーが必要です。Tはシステムの絶対温度、kはボルツマン定数です。 (私と付き合ってください。物理学のレッスンはほとんど終わりました。)

K = 1.38×10の場合-16 erg/K、および宇宙の周囲温度が3.2 Kであること、3.2 Kで実行されている理想的なコンピューターは4.4×10を消費する-16 ビットをセットまたはクリアするたびにエラーが発生します。コンピュータを宇宙背景放射よりも低温で実行するには、ヒートポンプを実行するために追加のエネルギーが必要になります。

今、私たちの太陽の年間エネルギー出力は約1.21×10です41 エルグ。これは約2.7×10の電力を供給するのに十分です56 理想的なコンピューターでのシングルビットの変更。 187ビットのカウンタをすべての値に通すのに十分な状態変化。太陽の周りにダイソン球体を構築し、そのエネルギーを32年間、すべての損失なしに取得した場合、コンピュータに電力を供給して最大2192。もちろん、このカウンターで有用な計算を実行するためのエネルギーは残っていません。

しかし、それは1つだけの星であり、そこにはわずかな星があります。典型的な超新星は10のようなものを放出します51 エルグ。 (約100倍のエネルギーがニュートリノの形で放出されますが、今のところは放っておいてください。)このエネルギーのすべてを単一の計算乱交に流すことができれば、219ビットのカウンターがすべてを循環することができます。その状態の。

これらの数値は、デバイスのテクノロジーとは関係ありません。それらは熱力学が許容する最大値です。そして彼らは、コンピュータが物質以外のものから構築され、空間以外のものを占有するまで、256ビットキーに対する総当たり攻撃は実行不可能であることを強く示唆しています

参照 https://www.schneier.com/blog/archives/2009/09/the_doghouse_cr.html

17
Qwerky

これは宿題のように思えますが、WolframAlphaを試してください。

最悪の場合、試す必要があります すべての2 ^ 256の可能な値 1836000000000000000000000000000000000000000000000000000000000000年かかります

最良の場合、あなたは試してみます 1つの値とそれは正しいです 0.0000005秒かかります。

2
Hybrid