Secure Hash Algorithm
Secure Hash Algorithm
SHA-1: A 160-bit hash function which resembles the earlier MD5 algorithm. This
was designed by the National Security Agency (NSA) to be part of the Digital
Signature Algorithm. Cryptographic weaknesses were discovered in SHA-1, and the
standard was no longer approved for most cryptographic uses after 2010.
SHA-1 produces a 160-bit (20-byte) hash value known as a message digest. A SHA-1
hash value is typically rendered as a hexadecimal number, 40 digits long.
SHA stands for "secure hash algorithm". The four SHA algorithms are structured
differently and are named SHA-0, SHA-1, SHA-2, and SHA-3. SHA-0 is the original
version of the 160-bit hash function published in 1993 under the name "SHA": it was
not adopted by many applications. Published in 1995, SHA-1 is very similar to SHA0, but alters the original SHA hash specification to correct alleged weaknesses. SHA2, published in 2001, is significantly different from the SHA-1 hash function.
SHA-1 is the most widely used of the existing SHA hash functions, and is employed
in several widely used applications and protocols.
In 2005, cryptanalysts found attacks on SHA-1 suggesting that the algorithm might
not be secure enough for ongoing use.[3] NIST required many applications in federal
agencies to move to SHA-2 after 2010 because of the weakness.[4] Although no
successful attacks have yet been reported on SHA-2, it is algorithmically similar to
SHA-1. In 2012, following a long-running competition, NIST selected an additional
algorithm, Keccak, for standardization under SHA-3.[5][6] In November 2013
Microsoft announced their deprecation policy on SHA-1 according to which Windows
will stop accepting SHA-1 certificates in SSL by 2017.[7] In September 2014 Google
announced their deprecation policy on SHA-1 according to which Chrome will stop
accepting SHA-1 certificates in SSL in a phased way by 2017.[8] Mozilla is also
planning to stop accepting SHA-1-based SSL certificates by 2017.[9][10][11]