The Secure Hash Algorithm SHA (Secure Hash Algorithm), based on the MD4 (Message Digest) algorithm created by Ronald L. Rivest of the MIT, was designed by the NIST (National Institute of Standards and Technology), along with the NSA (National Security Agency). It is defined by three distinct SHA algorithms, labeled SHA-0, SHA-1, and SHA-2.

SHA-1 was published by NIST in 1995 as FIPS PUB 180-1.[1] and was considered a cryptographically secure one-way hash algorithm and used in many applications including TLS and SSL ("https://"), SSH, PGP, Git, Mercurial, Monotone, etc. until theoretical weaknesses were found in 2005.

While at least up-to 2015 no actual SHA-1 collision had been publicly acknowledged, in 2006, NIST and other organizations deprecated the use of SHA-1. They recommend that people should stop using SHA-1 and transition to a hash function without those theoretical weaknesses, such as SHA-2 or SHA-3.

Further reading

  1. U.S. Department of Commerce: National Institute of Standards and Technology. "FIPS PUB 180-1". 1995.