Keccak

Medelnivå

Keccak (uttalat "ketchak") är en mångsidig kryptografisk funktion designad av Guido Bertoni, Joan Daemen, Michaël Peeters och Gilles Van Assche. Även om Keccak kan användas för andra ändamål, är det mest känt som en hashfunktion som ger ökade säkerhetsnivåer jämfört med äldre hash-algoritmer, som SHA-1 och SHA-2.

SHA står för Secure Hash Algorithm och hänvisar till en uppsättning kryptografiska hashfunktioner publicerade av US National Institute of Standards and Technology (NIST). Både SHA-1 och SHA-2 designades av US National Security Agency (NSA) och presenterar som sådan en liknande struktur. Även om Keccak stöder samma utgångsstorlek (hashlängder) som SHA-2, är dess arbetsmekanism ganska annorlunda. Ändå är Keccak en del av SHA-familjen och kallas ofta SHA-3.

Teoretiska attacker mot SHA-1 utfördes 2004 och gjordes allmänt tillgängliga 2005. Ett par år senare, 2011, förklarades SHA-2 av NIST som den nya standardhashfunktionen som skulle användas. Migreringen från SHA-1 till SHA-2 var dock ganska långsam och det var först i början av 2017 som en stor andel utvecklare och datavetare äntligen migrerade till SHA-2. Strax efter tillkännagav Google en framgångsrik SHA-1-kollisionsattack i februari 2017 och sedan dess anses SHA-1 inte längre vara säker och dess användning uppmuntras inte.
Keccak-funktionen (SHA-3) började utvecklas runt 2007 efter att NIST tillkännagav en offentlig tävlings- och granskningsprocess för att söka efter en ny kryptografisk hashfunktion som kunde övervinna de potentiella bristerna i föregående SHA-1 och SHA-2.

Även om ingen signifikant attack på SHA-2 hade visats ännu, förväntas hashfunktioner bli knäckta med tiden och det tar år för en ny standardfunktion att utvecklas. Med hänsyn till detta och de framgångsrika attackerna som utfördes mot SHA-1 2004 och 2005, uppfattade NIST behovet av att skapa en ny kryptografisk hash-algoritm. År 2012 förklarade NIST Keccak som tävlingens vinnande algoritm och den standardiserades som den nyaste medlemmen i SHA-familjen (därav SHA-3). 

En av anledningarna till att Keccak valdes av NIST beror på dess innovativa struktur, som visade sig vara säkrare och effektivare än de andra algoritmerna. Tekniskt sett förlitar sig SHA-3-algoritmen på de så kallade svampfunktionerna (eller svampkonstruktionen) – i motsats till Merkle Damgård-konstruktionen som används av SHA-1 och SHA-2.

För närvarande anses SHA-2 fortfarande vara säker och används ofta. Till exempel används SHA-256 av Bitcoin och andra kryptovalutor och spelar en avgörande roll inom utvinning. Vi kan se ett ökande antagande av SHA-3 framöver eftersom det verkar vara långt från att attackeras. Ändå kommer vi att se fler kryptografiska hash-algoritmer utvecklas under de kommande åren när kryptografiområdet utvecklas och nya brister upptäcks.