SHA-1とは?
SHA-1(Secure Hash Algorithm 1)は、160ビット(20バイト)のハッシュ値を生成する暗号学的ハッシュ関数で、通常40文字の16進数として表示されます。NSAによって設計され、1995年にデジタル署名標準の一部としてNISTによって公開されました。
主な特徴:
- 決定論的:同じ入力は常に同じハッシュを生成
- 高速計算:任意の入力に対して高速に計算
- 雪崩効果:入力の小さな変化が劇的に異なる出力を生成
- 不可逆:ハッシュを逆算して元の入力を見つけることは計算上不可能
- 衝突脆弱性:既知の脆弱性により衝突を見つけることが可能
セキュリティ状況: ⚠️ SHA-1は暗号学的に破られており、セキュリティが重要なアプリケーションでは使用すべきではありません。理論的攻撃は2005年に実証され、実用的な衝突攻撃は2017年に達成されました。
一般的な用途(歴史的):
- デジタル署名と証明書(非推奨)
- Gitバージョン管理システム(互換性のため)
- SHA-1を必要とするレガシーシステム
- ファイル整合性検証(セキュリティ非重要)
- プルーフオブワークアルゴリズム(一部の古い暗号通貨)
推奨される代替案:
- 新しいアプリケーションにはSHA-256またはSHA-3
- 高セキュリティ要件にはSHA-512