Het Amerikaanse National Institute of Standards and Technology heeft uit 64 voorgestelde algoritmes de opvolger van het sha-2-algoritme gekozen. Cryptografische hashes worden onder andere gebruikt in het webprotocol https.
Het NIST heeft een algoritme met de naam Keccak gekozen als opvolger van het sha-2-algoritme. Het algoritme is mede ontwikkeld door Joan Daemen, die ook achter de encryptiestandaard AES zat, en liet 63 concurrerende algoritmes achter zich. Vanaf nu zal Keccak ook onder de naam 'sha-3' door het leven gaan.
Sha-3 is het eerste sha-algoritme dat niet min of meer gebaseerd is op een voorganger. De zoektocht naar een nieuw algoritme begon in 2006, toen men vreesde dat het sha-2-algoritme het niet lang meer zou uithouden. De voorgangers van het algoritme waren toen immers al onveilig bevonden en sha-2 vertoonde grote gelijkenissen met zijn voorgangers, waaronder sha-0 en md5. Het nieuw gekozen algoritme is gebaseerd op een sponsconstructie.
Dat er nu een opvolger voor sha-2 is, wil niet zeggen dat het 'oude' algoritme aan de kant geschoven wordt. "Het NIST beschouwt sha-2 als veilig en geschikt voor gebruik in de praktijk", schrijft het instituut. Sha-3 is meer een soort 'verzekeringspolis' voor als sha-2 niet meer voldoet.
Cryptografische hashfuncties worden gebruikt om de validiteit van gegevens te verifiëren. Op basis van de gegevens wordt een string gegenereerd, de hash. Die hash hoort vrijwel uniek te zijn en als er ook maar één bit van een bestand of andere verzameling gegevens wordt gewijzigd, moet er een andere hash uitkomen. Op die manier kan bijvoorbeeld worden gecontroleerd of een gedownload bestand wel goed is overgekomen, maar hashing wordt ook gebruikt in ssl en pgp om te bekijken of er niet met de data is geknoeid. Ook het ondertekenen van code, zodat kan worden gecontroleerd waar deze van afkomstig is, leunt op hashing, evenals de opslag van wachtwoorden.
De aangetroffen kwetsbaarheden in sha-0, sha-1 en md5 maakten het bijvoorbeeld mogelijk om te forceren dat een bepaalde verzameling gegevens dezelfde hash heeft als een andere gegevensverzameling. Hoewel het altijd kan voorkomen dat verschillende bestanden dezelfde hash hebben, is het onwenselijk dat dit te forceren is. Dan kunnen kwaadwillenden bijvoorbeeld malware als bonafide software doen overkomen, zoals bij het Flame-virus gebeurde.
Het winnende Keccak-algoritme heeft volgens het NIST een 'elegant ontwerp'. Ook is het, als het algoritme in hardware wordt geïmplementeerd, sneller dan de vijf andere algoritmes die de finale haalden, waaronder een algoritme van beveiligingsexpert Bruce Schneier. Ook is het in hardware-implementaties sneller dan sha-2. Als Keccak in software wordt geïmplementeerd, zijn 13 cpu-cycles per verwerkte byte nodig.