セキュリティ
上級

SHA-256 (Secure Hash Algorithm 256)(シャー256)

NSA 設計・NIST 2001年標準化のハッシュ関数。256bit 出力・Bitcoin マイニング / TLS 証明書 / Git コミットハッシュ等で世界中で利用される暗号学的ハッシュの代表格。

0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
暗号
ハッシュ
SHA-2

概要

SHA-256 はNSA (米国家安全保障局) 設計・NIST が2001年8月にFIPS 180-2 として標準化したハッシュ関数。SHA-2 ファミリ (SHA-224 / 256 / 384 / 512) の256bit 版・Merkle-Damgård 構造・64ラウンド・32bit ワード演算で任意長入力から固定長256bit (64文字16進) 出力。Bitcoin マイニング / TLS証明書 / Git コミットハッシュ等で世界中で利用される暗号学的ハッシュの代表格、SHA-1 (2017年Google が衝突発見) からの主流移行先。

SHA-256 主要仕様

項目仕様
出力長256 bit (32 byte / 64文字hex)
ブロックサイズ512 bit
ラウンド数64
構造Merkle-Damgård
ワードサイズ32 bit
設計NSA
標準化FIPS 180-2 (2001)
後継SHA-3 (2015・別構造)

SHA-2 ファミリ

アルゴリズム出力ブロックラウンド
SHA-224224bit512bit64
SHA-256256bit512bit64
SHA-384384bit1024bit80
SHA-512512bit1024bit80
SHA-512/224224bit1024bit80
SHA-512/256256bit1024bit80

SHA-2 vs SHA-1 vs MD5

ハッシュ出力公開状態
MD51281992完全破壊 (2004年衝突)
SHA-11601995破壊 (2017年Google衝突)
SHA-2256-5122001安全 (2024年現在)
SHA-3任意2015安全 (Keccak ベース)
BLAKE3任意2020安全 + 高速

SHA-256 主要用途

用途実装
Bitcoin マイニングPoW (Proof of Work) ・1秒数百兆Hash
TLS / SSL 証明書X.509 v3 署名
HMACHMAC-SHA256
パスワードハッシュPBKDF2-SHA256 (Argon2 推奨)
GitコミットID (10年計画でSHA-256 移行中)
ZFS / Btrfsデータ整合性検証
Linux dm-verityブート整合性
Apple Time Machineバックアップ検証
Linux RPM/DEBパッケージ整合性

HMAC-SHA256

メッセージ認証コード (Message Authentication Code):

HMAC(K, m) = SHA256( (K ⊕ opad) ∥ SHA256( (K ⊕ ipad) ∥ m ) )

API 認証 (AWS / Stripe等)・JWT 署名 (HS256)・Cookie 認証で広範採用。

Bitcoin での SHA-256

Bitcoin マイニングはSHA-256 を2回適用:

nonce 探索: SHA256(SHA256(Block Header)) < Target

2009年Satoshi が選定・15年でASIC マイナーが進化:

  • 2010年CPU マイニング (数MH/s)
  • 2011年GPU (数100MH/s)
  • 2013年FPGA (数GH/s)
  • 2013年-現在 ASIC (S21 250TH/s + 3,500W)

世界全Bitcoin Network のハッシュレート: 約700 EH/s (2024年) = 700 × 10^18 Hash/秒。

CPU ハードウェア加速

プラットフォーム命令効果
Intel Sandy Bridge+ (2011)SHA Extensions (Goldmont 2016+)3-10倍高速
AMD RyzenSHA Extensions同
ARM v8.2+SHA-256 拡張高速
Apple Silicon専用ユニット5-10倍
RISC-V Crypto ExtensionZkn専用

関連用語との違い

  • vs SHA-1: 完全破壊 / 安全
  • vs SHA-3: Merkle-Damgård / Sponge
  • vs BLAKE3: 旧設計 / 並列高速

FAQ

Q1: SHA-256 破られる? A: 2024年現在実用攻撃なし。理論上は量子コンピュータGrover アルゴリズムでセキュリティ半減 (実効128bit) だが、十分な強度継続。

Q2: Git の SHA-1 → SHA-256 移行? A: Git 2.29 (2020) でSHA-256 サポート開始、2030年までに移行完了予定。GitHub / GitLab はまだSHA-1 主流。

Q3: BLAKE3 vs SHA-256? A: BLAKE3 はSHA-256 比 5-10倍高速・並列処理可・安全マージン高。新規実装はBLAKE3 推奨・互換性のためSHA-256 継続も多い。

この記事について
カテゴリーセキュリティ
難易度上級
作成日2026/5/15