コンテンツへスキップ
uencoder

SHA-1

SHA-1 は NSA が設計した 160 ビットの暗号学的ハッシュ関数である。Google は 2017 年に SHAttered 衝突を公表し、各規格で廃止が進んでいる。

目的

160 ビットのメッセージダイジェストを提供する。かつて TLS 証明書や Git で使われたが、衝突攻撃のため廃止された。

メカニズム

入力を 512 ビットブロックで処理し、160 ビット(32 ビット語 5 個)の状態を維持する。各ブロックは 80 ステップの非線形変換で状態を更新する。2017 年の SHAttered 攻撃は約 2^63 の計算量で衝突を構成した。

ユースケース

  • Git オブジェクトのハッシュ(SHA-256 へ移行中)
  • HMAC-SHA1(依然として安全)
  • 旧式のデジタル証明書
  • 教育用のサンプル

例

  • 入力
    hello
    Output
    aaf4c61ddcc5e8a2dabeede0f3bde2d0d4b2f2

    160 bits = 40 hex characters

よくあるエラー

Using SHA-1 for signatures in new systems
Use SHA-256 or SHA-3

関連用語

関連ツール

References