Bringing to a close a five-year selection process, the U.S. National Institute of Standards and Technology (NIST) has selected the successor to the encryption algorithm that is used today to secure much of the information on the Internet.
For SHA-3 (Secure Hash Algorithm), NIST has selected Keccak (pronounced "catch-ack"), an algorithm authored by Guido Bertoni, Joan Daemen and Gilles Van Assche of STMicroelectronics, as well as Michael Peeters of NXP Semiconductors.
NIST had received 63 submissions since putting out an open call in 2007 to find a successor to SHA-2. SHA-2 is actually a set of cryptographic hash functions (SHA-224, SHA-256, SHA-384, SHA-512) in the MD (message digest) algorithm design. At that time, some of the SHA-2 algorithms were thought to be compromised, so NIST set up a competition to find their eventual replacement.
A hash algorithm takes a fingerprint, or signature, of a digital file so that if the content is changed in any way, it will no longer match the hash. It is also nearly impossible to create the same hash fingerprint from a different file. These characteristics can assure that a file has not been tampered with, which is essential for securing electronic documents and online communications against interlopers.
According to NIST, Keccak had a number of appealing traits that made it an obvious choice for SHA-3. For one, it was elegantly designed and constructed in such a way that it could be easily analyzed.
"Depending on the complexity of the algorithm, it may be more or less difficult to do the analysis that gives us confidence in an algorithm. What is elegant about Keccak is that it is a very easy-to-understand design, and so it is easy to build confidence that it is secure," said NIST computer security expert Tim Polk. "Some algorithms have so many moving parts that cryptanalysts don't have confidence that [these parts] won't interact in a way that would cause a problem."
Perhaps most importantly, Keccak operates completely unlike the SHA-2 algorithms, meaning that any work that has been done to compromise SHA-2 would not apply to SHA-3, Polk said.
"Classes of algorithms may all be vulnerable to the same kind of attack. If I have two algorithms that are very similar and I figure out how to attack one, the attack could also work on the other algorithm of that same classification," Polk said.
Specifically, SHA-2 is based on well-known block cipher principles, while SHA-3 is "a completely new construction," called a Sponge Construction.
As a result, "an attack on SHA-2 is unlikely to work on SHA-3, or vice versa," Polk said.
NIST also praised Keccak for being able to run easily across a wide range of computing devices and requiring fewer computational resources to run than any of the other finalists, or even the SHA-2 variants themselves.
Although NIST was concerned in 2007 about the SHA-2 algorithm being vulnerable, based on attacks on some of the variants, its worries turned out to be unfounded. Today, NIST maintains that SHA-2 is secure for everyday use. In fact, Polk cautioned that those still using SHA-1 for digital signatures should not wait to upgrade to SHA-3, because there are no commercial versions of the new hash algorithm yet. SHA-2 is perfectly secure, he said.
In fact, critics have questioned the need for SHA-3 at all, at least for the immediate future.
"When we started this process back in 2006, it looked as if we would be needing a new hash function soon," noted security expert Bruce Schneier wrote in a blog post. Schneier authored one of the five finalists in the competition. "We didn't know how long the various SHA-2 variants would remain secure. But it's 2012, and SHA-512 is still looking good."