A cryptographic hash algorithm is designed to provide a random mapping from a string of binary data to a fixed-size "message digest" and achieve certain security properties. FIPS 180-4 specifies seven cryptographic hash algorithms for federal use — SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 and SHA-512/256.
In recent years, several cryptographic hash algorithms have been successfully attacked, and serious attacks have been published against the NIST-approved SHA-1. In response, NIST held two public workshops to assess the status of its approved hash algorithms, and to solicit public input on its cryptographic hash algorithm policy and standard. As a result of these workshops, NIST decided to develop a new cryptographic hash algorithm through a public competition, similar to the development process of the Advanced Encryption Standard (AES).
NIST announced the "SHA-3" Cryptographic Hash Algorithm Competition in a Federal Register Notice on November 2, 2007. NIST received sixty-four entries from cryptographers around the world by October 31, 2008, and selected fifty-one first-round candidates in December 2008, and fourteen second-round candidates in July 2009. On December 9, 2010, NIST announced five third-round candidates – BLAKE, Grøstl, JH, KECCAK and Skein, to enter the final round of the competition.
The cryptographic community has provided an enormous amount of feedback throughout the competition. Most of the comments were sent to NIST and a public hash forum; in addition, many of the cryptanalysis and performance studies were published as papers in major cryptographic conferences or leading cryptographic journals. NIST also hosted three SHA-3 candidate conferences to obtain public feedback.
Based on the public comments and internal review of the candidates, NIST announced KECCAK as the winner of the SHA-3 competition on October 2, 2012, and ended the five-year competition.
Further details of the competition are available at http://www.nist.gov/hash-competition.