テキスト

SHA-256ハッシュの計算

入力した文字列のSHA-256ハッシュ値をブラウザ上でリアルタイムに計算します。TLS証明書・ビットコイン・コード署名など現代のセキュリティ基盤に広く採用されており、現在も安全なアルゴリズムです。


SHA-256

Tips

  • SHA-256はSHA-2ファミリーに属する256ビットのハッシュ関数で、出力は64文字の16進数です。2001年にNISTが標準化し、現在も安全とされています。
  • ビットコインはブロックチェーンのマイニングにSHA-256を採用。世界中のマイナーが毎秒数百エクサハッシュ(10の20乗回以上)のSHA-256計算を行っています。
  • HTTPS通信に使われるTLS証明書の署名アルゴリズムとしてSHA-256が標準です。ブラウザの鍵マークの裏側で動いています。
  • コードサイニング(ソフトウェア配布時の署名検証)にも広く利用されています。WindowsコードサイニングやAppleのNotarizationでも使われています。
  • SHA-256は現時点で量子コンピュータに対しても一定の耐性があるとされていますが、ポスト量子暗号への移行も議論されています。

余談ですが ― ビットコインのマイニングとSHA-256の天文学的な計算量

ビットコインのマイニングとは「特定の条件を満たすSHA-256ハッシュ値を見つける作業」です。ブロックヘッダーにナンスと呼ばれる数値を加えてSHA-256を2回計算し、その結果が目標値以下になるナンスを総当たりで探します。世界中のマイナーが競って計算しています。

2024年時点のビットコインネットワーク全体のハッシュレートは毎秒数百エクサハッシュ。1エクサハッシュは10の18乗(100京)回なので、その数百倍という天文学的な計算量です。世界最速のスーパーコンピュータがすべての演算をSHA-256計算に注ぎ込んでもネットワーク全体の0.1%にも満たないとされています。

ビットコインは難易度自動調整の仕組みを持ち、全体のハッシュレートが上がると問題が難しくなります。これにより約10分に1回の割合でブロックが生成される設計になっています。SHA-256という1つのハッシュ関数が世界規模の経済活動を支える仕組みを生んでいるのは驚異的です。