Pebble Coding

プログラマーの作業メモ

256bitの暗号化はどの程度強固なのか

256bit(=32バイト)の暗号化はどの程度強固なのかというのを説明したYouTubeの動画が面白かったのでリンクを貼っておきます。

www.youtube.com

内容としては、まず、8つの大きさに分解します。
 {2} ^ {256} = {2} ^ {32} \cdot {2} ^ {32} \cdot {2} ^ {32} \cdot {2} ^ {32} \cdot {2} ^ {32} \cdot {2} ^ {32} \cdot {2} ^ {32} \cdot {2} ^ {32}

それぞれ、M1, M2, M3, ..., M8と表すことにします。

そして、
 {2} ^ {32} = 4Giga
です。
GPU(Graphical Processing Unit)の処理速度のオーダーは数GHzです。
つまり、マシン1台辺り1秒間に1Giga個のハッシュを生成できます。
これをM1とします。

そしてグーグルが持つサーバーの台数は数Megaのオーダーです。
これをM2とします。
M2=Kilo Google

地球上の人口は7Giga人ですが、仮に、全員が1Kilo Googleの計算力を持つと仮定します。
これをM3とします。
M3= People on Earth

天の川銀河には100から400Gigaの星がありますが、このうちの1%が全て地球だったと仮定します。
これをM4とします。
M4 = Earth

宇宙には銀河が4Giga個存在すると仮定します。
これをM6とします。

4Giga秒は126.8年に相当します。
これをM7とします。

4Giga かける 126.8年は507Giga年に相当します。これは宇宙の年齢の37倍に相当します。

まだM8が残っていますから、
このハイパーコンピューターで計算した場合に、ハッシュが当る確立は4Giga分の1の確立です。