NIST Logo and ITL Banner Link to the NIST Homepage Link to the ITL Homepage Link to the NIST Homepage
Search CSRC:

cryptographic hash project

Background Information

A hash algorithm (alternatively, hash "function") takes binary data, called the message, and produces a condensed representation, called the message digest. A cryptographic hash algorithm is a hash algorithm that is designed to achieve certain security properties. The Federal Information Processing Standard 180-3, Secure Hash Standard, specifies five cryptographic hash algorithms - SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 for federal use; the standard was also widely adopted by the information technology industry.

In recent years, several of the non-NIST approved cryptographic hash algorithms have been successfully attacked, and serious attacks have been published against SHA-1. In response, NIST held two public workshops (see menu at left) 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 one or more additional hash algorithms through a public competition, similar to the development process of the Advanced Encryption Standard (AES). NIST has proposed a tentative timeline for the competition, and also published a policy on the use of the current hash functions.

NIST issued draft minimum acceptability requirements, submission requirements, and evaluation criteria for candidate hash algorithms in January, 2007 [Federal Register Notice (January 23, 2007)] for public comment. Based on the public feedback, NIST revised the requirements and evaluation criteria, issued a Call for a New Cryptographic Hash Algorithm (SHA-3) Family on November 2, 2007 [Federal Register Notice (November 2, 2007)] and launched the "SHA-3" cryptographic hash algorithm competition. Details of the competition are available at www.nist.gov/hash-competition .