Keccak

Rozšírené

Keccak (výslovnosť: „kečak“) je všestranná kryptografická funkcia, ktorú navrhli Guido Bertoni, Joan Daemen, Michaël Peeters a Gilles Van Assche. Hoci Keccak je možné použiť na iné účely, jeho najznámejšie použitie je ako hašovacia funkcia, ktorá poskytuje vyššiu úroveň zabezpečenia v porovnaní so staršími hašovacími algoritmami, ako sú SHA-1 a SHA-2.

SHA je skratka pre Secure Hash Algorithm (bezpečný hašovací algoritmus) a označuje súbor kryptografických hašovacích funkcií publikovaných americkým Národným inštitútom pre štandardy a technológie (National Institute of Standards and Technology, NIST). SHA-1 aj SHA-2 boli navrhnuté Národnou bezpečnostnou agentúrou USA (National Security Agency, NSA) a ako také predstavujú podobnú štruktúru. Hoci Keccak podporuje rovnakú veľkosť výstupu (dĺžky hašu) ako SHA-2, jeho mechanizmus fungovania je úplne odlišný. Napriek tomu je Keccak súčasťou rodiny SHA a často sa označuje ako SHA-3.

Teoretické útoky na SHA-1 sa uskutočnili v roku 2004 a zverejnené v roku 2005. O niekoľko rokov neskôr, v roku 2011 inštitút NIST vyhlásil SHA-2 za novú štandardnú hašovaciu funkciu, ktorá sa má používať. Migrácia z SHA-1 na SHA-2 však bola dosť pomalá a až začiatkom roku 2017 veľké percento vývojárov a počítačových vedcov konečne prešlo na SHA-2. Krátko potom Google oznámil, že vo februári 2017 sa uskutočnil úspešný útok spôsobujúci kolíziu na SHA-1. Odvtedy sa už SHA-1 nepovažuje za bezpečný a jeho používanie sa neodporúča.
Funkcia Keccak (SHA-3) sa začala vyvíjať okolo roku 2007 po tom, čo inštitút NIST vyhlásil verejnú súťaž a postup preverovania na novú kryptografickú hašovaciu funkciu, ktorá by mohla zaplátať potenciálne nedostatky predchádzajúcich algoritmov SHA-1 a SHA-2.

Hoci zatiaľ nebol preukázaný žiadny významný útok na SHA-2, očakáva sa, že hašovacie funkcie budú časom prelomené a vývoj novej štandardnej funkcie trvá roky. Vzhľadom na to, ako aj vzhľadom na úspešné útoky vykonané proti SHA-1 v rokoch 2004 a 2005, inštitút NIST vnímal potrebu vytvorenia nového kryptografického hašovacieho algoritmu. V roku 2012 inštitút NIST vyhlásil Keccak za víťazný algoritmus súťaže a bol štandardizovaný ako najnovší člen rodiny SHA (preto SHA-3). 

Jedným z dôvodov, prečo si inštitút NIST vybral Keccak, je jeho inovatívna štruktúra, ktorá sa ukázala byť bezpečnejšia a efektívnejšia ako ostatné algoritmy. Technicky povedané, na rozdiel od konštrukcie Merkle Damgård (ktorú používajú SHA-1 a SHA-2), algoritmus SHA-3 sa spolieha na takzvané funkcie špongie (alebo konštrukciu špongie).

V súčasnosti sa SHA-2 stále považuje za bezpečný a je najpoužívanejší. SHA-256 používa napríklad bitcoin a ďalšie kryptomeny a zohráva kľúčovú úlohu v procese ťažby. V budúcnosti pravdepodobne uvidíme rastúce prijatie SHA-3, pretože sa zdá, že úspešne odoláva útokom. Napriek tomu uvidíme v priebehu nasledujúcich rokov vývoj viacerých kryptografických hašovacích algoritmov, pretože oblasť kryptografie napreduje a objavujú sa nové nedostatky.