【しゃーにごろ】

SHA-256 とは?

💡 どんなデータも64文字の指紋に変える魔法の関数
📌 このページのポイント
SHA-256 ハッシュ関数の仕組み 入力A Hello 入力B Hello!(1文字違い) 入力C 1GBの動画ファイル SHA-256 ハッシュ関数 出力A(64桁) 2cf24d...71e831a 出力B(全く異なる!) 33469...8f2e10a 出力C(同じ64桁) a7ffc6...e47d0d 1文字違うだけで出力が完全に変化(雪崩効果)
SHA-256:入力の長さに関係なく固定長のハッシュ値を出力する
ひよこ ひよこ

SHA-256ってよくブロックチェーンの話で聞くけど、何をするものなの?

ペンギン先生 ペンギン先生

どんなデータでも64文字の英数字に変換する関数だよ。1GBの動画でも、たった1文字のテキストでも、必ず同じ長さの文字列になるんだ。これをハッシュ値と呼ぶよ

ひよこ ひよこ

同じ長さになるってことは、元に戻せないの?

ペンギン先生 ペンギン先生

そう、一方通行なんだ。卵からオムレツは作れるけど、オムレツから卵には戻せないよね。だから「パスワードの保存」にも使われるよ。元のパスワードを保存せず、ハッシュ値だけ保存しておけば安全なんだ

ひよこ ひよこ

ちょっとでもデータが変わったらどうなるの?

ペンギン先生 ペンギン先生

たった1ビット変わっただけで、ハッシュ値がまったく別物になるよ。これを雪崩効果と呼ぶんだ。だからファイルが改ざんされたかどうか一瞬で分かる

ひよこ ひよこ

ビットコインのマイニングってSHA-256を使ってるの?

ペンギン先生 ペンギン先生

その通り。マイニングでは「ハッシュ値の先頭にゼロが何個並ぶか」という条件を満たす入力値を総当たりで探しているんだ。SHA-256が高速すぎず遅すぎない絶妙な計算コストだから採用されたんだよ

ひよこ ひよこ

SHA-256が破られる日は来るの?

ペンギン先生 ペンギン先生

現時点では安全だけど、量子コンピュータが実用化されるとリスクが出てくるかもしれない。だからポスト量子暗号の研究も進んでいるよ。ただし当面はSHA-256で十分安全だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SHA-256」って出てきたら「データの指紋を作る暗号技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「Secure Hash Algorithm 256-bit」 = 安全なハッシュアルゴリズム(256ビット版)
💬 SHA(シャー)はNSA(アメリカ国家安全保障局)が設計したハッシュ関数のファミリーで、256は出力のビット数を表しているよ
← 用語集にもどる