Keccak

Avansat

Keccak (pronunțat „checiac”) este o funcție criptografică versatilă concepută de Guido Bertoni, Joan Daemen, Michaël Peeters și Gilles Van Assche. Deși Keccak poate fi folosit în alte scopuri, este cunoscut cel mai bine ca o funcție hash care oferă niveluri crescute de securitate în comparație cu algoritmii hash mai vechi, cum ar fi SHA-1 și SHA-2.

SHA înseamnă Secure Hash Algorithm și se referă la un set de funcții hash criptografice publicate de Institutul Național de Standarde și Tehnologie din SUA (NIST). Atât SHA-1, cât și SHA-2 au fost proiectate de Agenția de Securitate Națională a SUA (NSA) și, ca atare, prezintă o structură similară. Deși Keccak acceptă aceeași dimensiune de ieșire (lungimi hash) ca SHA-2, mecanismul său de lucru este destul de diferit. Totuși, Keccak face parte din familia SHA și este adesea denumit SHA-3.

Atacuri teoretice asupra SHA-1 au fost efectuate în 2004 și făcute publice în 2005. Câțiva ani mai târziu, în 2011, SHA-2 a fost declarată de NIST drept noua funcție hash standard care trebuie utilizată. Cu toate acestea, migrarea de la SHA-1 la SHA-2 a fost destul de lentă și abia la începutul lui 2017 un procent mare de dezvoltatori și informaticieni au migrat în sfârșit la SHA-2. La scurt timp după aceea, Google a anunțat un atac de coliziune SHA-1 reușit în februarie 2017 și, de atunci, SHA-1 nu mai este considerat sigur, iar utilizarea lui este descurajată.
Funcția Keccak (SHA-3) a început să fie dezvoltată în jurul anului 2007, după ce NIST a anunțat un proces public de concurs și un proces de aprobare, căutând o nouă funcție hash criptografică care ar putea depăși potențialele defecte ale SHA-1 și SHA-2 precedente.

Deși nu s-a demonstrat încă niciun atac semnificativ asupra SHA-2, este de așteptat ca funcțiile hash să fie sparte în timp și vor fi necesari câțiva ani pentru ca o nouă funcție standard să fie dezvoltată. Luând în considerare acest lucru, împreună cu atacurile reușite efectuate asupra SHA-1 în 2004 și 2005, NIST a considerat că este necesară crearea unui nou algoritm hash criptografic. În 2012, NIST a declarat Keccak drept algoritmul câștigător al competiției și a fost standardizat drept cel mai nou membru al familiei SHA (deci, SHA-3). 

Unul dintre motivele pentru care Keccak a fost ales de NIST se datorează structurii sale inovatoare, care s-a dovedit a fi mai sigură și mai eficientă decât ceilalți algoritmi. Din punct de vedere tehnic, algoritmul SHA-3 se bazează pe așa-numitele funcții sponge (sau construcția sponge) - spre deosebire de construcția Merkle Damgård folosită de SHA-1 și SHA-2.

Deocamdată, SHA-2 este considerat încă sigur și este utilizat pe scară largă. De exemplu, SHA-256 este folosit de Bitcoin și alte criptomonede și joacă un rol crucial în procesul de minerit. S-ar putea să vedem o adoptare în creștere a SHA-3 în viitor, deoarece pare departe de a fi atacat cu succes. Cu toate acestea, vom vedea mai mulți algoritmi hash criptografici dezvoltați în următorii ani, pe măsură ce domeniul criptografiei avansează și sunt descoperite noi defecte.