Re: (mcdettの引用投稿)

参加者: mcdett

この関数でハッシュされているものは何か? <— これをxと呼ぶことにする

xの可能な総数がSHA256が提供する256ビット空間より小さければ、攻撃はすべてのsha256(x)値のテーブルという形になる。

xの可能な組み合わせがすべて256ビット空間より大きければ、以下の計算を参照してほしい(攻撃は既知のsha256(x)のテーブルではなく、ハッシュ値そのものに対するものになる):

以下は www.atmel.com/dyn/resources/prod_documents/doc8668.pdf からの引用だ。

鍵が256ビットの場合、2^255回の試行後に攻撃者が正しい鍵を見つける確率は50%であり、2^256回の試行後にはすべての可能な鍵を試し終え、鍵の発見が保証される。

以下は大きな数の推定値だ:

2^66 地球上の砂粒の数 2^76 宇宙の星の数 2^79 アボガドロ数。石炭12グラム中の炭素原子の数。 2^96 水1立方メートル中の原子の数 2^190 太陽の原子の数 2^255 上記の鍵値を見つけるための試行回数

では、米国国家安全保障局(NSA)のような潤沢な資金を持つ組織はどうか?256ビットの鍵を解読するマシンを作れるだろうか?理論的なナノコンピュータが毎秒10^13命令を実行でき(原子振動の概算速度)、一辺5.43nmの立方体の空間に収まると仮定する(これは幅10原子のシリコン格子、または1000個のシリコン原子を含む結晶の概算サイズだ)。1回の試行を10サイクルで計算できると仮定する。地球サイズのそのコンピュータでさえ、256ビットアルゴリズムに対する総当り攻撃には10^13年以上(地球の推定年齢の約58倍)かかるだろう。