What is SHA-2?

SHA stands for Secure Hash Algorithm.

SHA-2 was designed by the National Security Agency (NSA) and was published in the Federal Information Processing Standard (FIPS) FIPS PUB 180-2.

SHA-2 is a cryptographic hash function similar to MD5 and SHA-1. It generates a 224, 256, 384, or 512-bit message digest or, in other words, a hash value from a variable-length input depending upon the function used.

Unlike SHA-1, SHA-2 is a set of cryptographic hashing functions. SHA-2 consists of SHA-224, SHA-256, SHA-384 and SHA-512.

So SHA-224 would generate a 224-bit hash value, SHA-256 would generate a 256-bit hash value, etc.

SHA-256/224 uses data with a block size of 512 bits of data for processing with a 32-bit word size and 64 rounds of cryptographic functions. SHA-512/384 uses data with a block size of 1024 bits with a 64-bit word size and 80 rounds of cryptographic functions. The functions used under SHA-2 are +, and, or, and xor.

As of now, there are no known attacks on SHA-2, and it is considered the most secure of hashing algorithms to date.

Even though the security provided by SHA-2 is very high, the adoption rate for SHA-2 has not increased because of the lack of compatibility with most operating systems. Only the newer operating systems support SHA-2, whereas most parts of the web are comprised of systems that are not compatible with SHA-2.

Like SHA-1, SHA-2 is used for implementation under secure protocols, namely TLS, SSL, PGP, IPSec & S/MIME. SHA-2 is being enforced by the US government for implementation at the national level for all government projects, and the private sector has also been encouraged to adopt the SHA-2 version of hashing as it is the most secure to date.

Work on SHA-3 has already commenced at the NSA. There is no dependence on SHA-2 or SHA-1, and SHA-3 is said to be designed entirely from scratch and with entirely different design fundamentals from SHA-1 and SHA-2.