Overview#The Secure Hash Algorithm (SHA) is a one-way Cryptographic Hash Function.
There are actually several different forms of the Secure Hash Algorithm:
- SHA - A retronym applied to the original version of the 160-bit hash function published in 1993 under the name "SHA". It was withdrawn shortly after publication due to an undisclosed "significant flaw" and replaced by the slightly revised version SHA-1.
- SHA-1 is defined in RFC 3174 and generates a 160-bit Message Digest.
- SHA-2 is defined in RFC 4634 three additional hash functions in the SHA family. The algorithms are collectively known as SHA-2 and named after their Message Digest lengths (in bits):
- SHA-3 family consists of four Cryptographic Hash Functions and two Extendable-Output Function (XOFs)
: A hash function formerly called Keccak, chosen in 2012 after a public competition among non-NSA designers. It supports the same Message Digest lengths as SHA-2, but its internal structure differs significantly from the rest of the SHA family.
All forms of the Secure Hash Algorithm are considered stronger than the MD5 algorithm.
There have been recent advancements that may indicate a weakening of the SHA-1 variant, but nevertheless there is no evidence to suggest that the way it is used in most applications are under any danger, nor is there any concern about any of the SHA-2 encodings.