SHA-3 (Secure Hash Algorithm 3) is the latest member of the Secure Hash Algorithm family of standards, released by NIST on the 5th of August, 2015. It is internally different from SHA-1 and SHA-2, using a sponge construction rather than the MD5-like structure of its predecessors.
Who designed the Keccak algorithm that became SHA-3?
Keccak was designed by Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. Daemen also co-designed the Rijndael cipher with Vincent Rijmen, which became the basis for AES.
How did SHA-3 win the NIST hash function competition?
NIST launched its hash function competition in 2006 and accepted 51 candidate algorithms, including Keccak. The field narrowed to 14 in July 2009 and to a final round in December 2010. On the 2nd of October, 2012, Keccak was selected as the winner.
What controversy surrounded the SHA-3 standardization process?
In early 2013, NIST proposed reducing SHA-3's capacity parameter for speed, which would have halved preimage resistance for some variants. Cryptographers including Daniel J. Bernstein and Bruce Schneier publicly criticized the change. NIST's John Kelsey proposed reverting to the original capacity in November 2013, and that reversion was confirmed in the final standard.
How does SHA-3 perform compared to SHA-2 on different hardware?
On a 3.2 GHz Intel Skylake processor, SHA2-512 is more than twice as fast as SHA3-512 and SHA-1 is more than three times as fast. In hardware implementations, however, SHA-3 is notably faster than SHA-2 and SHA-1. As of 2018, ARM's ARMv8 and IBM's z/Architecture both added dedicated instructions to accelerate SHA-3.
What is KangarooTwelve and how does it relate to SHA-3?
KangarooTwelve is a higher-performance variant introduced by the Keccak team in 2016 that reduces the permutation rounds from 24 to 12 and claims 128-bit security, reaching 0.55 cycles per byte on a Skylake CPU. It is not FIPS-compliant and not part of the SHA-3 standard, but uses the same Keccak permutation. It is specified in IETF RFC 9861.