Secure Hash Algorithm

From RaySoft

The Secure Hash Algorithm (SHA) is a family of cryptographic hash functions published by the National Institute of Standards and Technology (NIST) as a U.S. Federal Information Processing Standard (FIPS).[1]

Documentation

Request for Comments (RFC)

Implementations

SHA-0

Also known as 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.[1]

WARNING:
SHA-0 should not be used anylonger for cryptographic operations!

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 is no longer approved for most cryptographic uses after 2010.[1]

WARNING:
SHA-1 should not be used anylonger for cryptographic operations!

SHA-2

Also known as SHA-224, SHA-256, SHA-384 and SHA-512.

A family of two similar hash functions, with different block sizes, known as SHA-256 and SHA-512. They differ in the word size; SHA-256 uses 32-bit words where SHA-512 uses 64-bit words. There are also truncated versions of each standardized, known as SHA-224 and SHA-384. These were also designed by the NSA.[1]

SHA-3

Also known as SHA3-224, SHA3-256, SHA3-384 and SHA3-512.

A hash function formerly called Keccak, chosen in 2012 after a public competition among non-NSA designers. It supports the same hash lengths as SHA-2, and its internal structure differs significantly from the rest of the SHA family. [1]

References