一方向ハッシュ関数の一つ。同一性確認(改竄されてないことの確認)や認証などに利用されている。
原文の長さなどに関係なく、160ビットの固定長データ列を生成する。
このハッシュ値には、MD5と同様に次のような特徴がある。
また、MD5と比較し、次のメリットがある。
ラウンド数80回のフルスペックSHA-1は、Brute force attack(総当たり攻撃)においては、280回の演算が必要である。
しかし2005(平成17)年、支那の研究チームにより、ラウンド数80回のSHA-1を269回の演算で、ラウンド数58回のSHA-1を233回の演算で、衝突を発生させることが可能とされた。
この時点では、ある程度効率的な攻撃方法が見つかったという段階であり、具体的に衝突を起こす例が求まったわけではないが、SHA-1の安全性が大幅に低下したことは間違いがない。
そこで、国立標準技術研究所(NIST)は、SHA-1に更に大きな問題が生じるより前に、対策を講じることにした。
SHA-1の新規の採用は縮小し、2010(平成22)年までにSHA-2、より具体的にはそのうちのSHA-256へと移行する、としている。
ただ、移行先がMD5やSHA-1の延長上にあるSHA-2で本当に良いのかという議論はあり、DESに対するAES選定と同じように新規のハッシュ関数を公募すべきではないか、という意見も少なくない。