Dubbed Keccak (pronounced "catch-ack"), the secure hash algorithm, which will officially be known as SHA-3, beat 63 other submissions after NIST issued an open call for a SHA-2 replacement in 2007. That move was driven by worries--which so far haven't come to pass--that SHA-2 might be vulnerable to being cracked.
Hashing algorithms are a vital information security tool, and used to authenticate messages, as well as digital signatures and documents. "A good hash algorithm has a few vital characteristics," according to NIST. "Any change in the original message, however small, must cause a change in the digest, and for any given file and digest, it must be infeasible for a forger to create a different file with the same digest."
Keccak was designed by Guido Bertoni, Joan Daemen, and Gilles Van Assche of STMicroelectronics, together with Michael Peeters of NXP Semiconductors. NIST praised their algorithm's "elegant design," ability to run on many types of devices, as well as its facility in performing better than SHA-2--or any of the 63 other SHA-3 entries--in hardware implementations. All of the submissions were open for public review and criticism.
Interestingly, NIST still stands behind SHA-2, which it's said is "secure and suitable for general use." But NIST computer security expert Tim Polk said that SHA-3 would also serve as an insurance policy, should SHA-2 be cracked, since--despite the nomenclature--the two secure hash algorithms are designed in completely different ways.
Accordingly, "Keccak has the added advantage of not being vulnerable in the same ways SHA-2 might be," said Polk in a statement. "An attack that could work on SHA-2 most likely would not work on Keccak because the two algorithms are designed so differently."
[ Learn 6 Password Security Essentials For Developers. ]
Cryptography expert Bruce Schneier, chief security technology officer of BT, agreed with that assessment. "I'm glad that SHA-3 is nothing like the SHA-2 family; something completely different is good," he said in a blog post. Schneier himself had submitted a SHA-3 entry, Skein, which was one of the five contest finalists.
Schneier, who has previously argued against NIST creating a new secure hashing algorithm standard--saying that "too many options makes for a bad standard"--praised NIST "for running a very professional, interesting, and enjoyable competition," noting that it had "increased our understanding about the cryptanalysis of hash functions by a lot." He also said that "Keccak is a fine hash function; I have absolutely no reservations about its security," or the security of any of the four other finalists.
But should people begin using SHA-3, or stick with SHA-2 (which includes SHA-512)? Last month, Schneier said that "when SHA-3 is announced, I'm going to recommend that, unless the improvements are critical to their application, people stick with the tried and true SHA-512," at least for the time being. In the wake of Keccak being awarded the SHA-3 mantle, Schneier said he's examining which applications he'd recommend that it be used for.
Polk said that finding the best uses for SHA-3 might be a process that takes years. But he said the secure hash algorithm's relatively small size would likely make it a good match for embedded or smart devices, such as networks of distributed sensors.