CyberGlossary

暗号

SHA-1

別称: Secure Hash Algorithm 1, FIPS 180-1

定義

1995 年に NSA が設計した暗号学的ハッシュ関数で、160 ビットのダイジェストを出力するが、現在では衝突耐性が破られている。

SHA-1(Secure Hash Algorithm 1)は Merkle-Damgård 構造に基づくハッシュ関数で、任意長の入力を 160 ビット(20 バイト)のダイジェストに圧縮し、TLS 証明書、Git、デジタル署名などで広く利用されてきました。NIST が FIPS 180-1 として SHA-0 の後継として標準化しました。2017 年の SHAttered プロジェクトで初の実用的衝突が示され、2020 年の SHAmbles 攻撃では選択プレフィックス衝突のコストがさらに低下したため、署名・証明書・衝突耐性が必要な完全性用途には SHA-1 を使用してはなりません。現代のシステムでは SHA-256、SHA-3、BLAKE2 を採用し、SHA-1 は衝突耐性を要求しないレガシー HMAC でのみ許容されます。

  • Git はコミットとオブジェクトの識別に SHA-1 を使用(SHA-256 への移行が進行中)。
  • SHA-1 で署名された旧 X.509 証明書は 2017 年以降ブラウザで非推奨。

関連用語