Keccak

Edasijõudnud

Keccak (hääldatakse „ketchak“) on Guido Bertoni, Joan Daemeni, Michaël Peetersi ja Gilles Van Assche'i loodud mitmekülgne krüptofunktsioon. Kuigi Keccaki võib kasutada ka muudel eesmärkidel, on see kõige paremini tuntud kui räsifunktsioon, mis pakub suuremat turvalisust võrreldes vanemate räsialgoritmidega, nagu SHA-1 ja SHA-2.

SHA tähendab "Secure Hash Algorithm" ja viitab USA riikliku standardite ja tehnoloogia instituudi (NIST) poolt avaldatud krüptograafiliste räsifunktsioonide kogumile. Nii SHA-1 kui ka SHA-2 on välja töötatud USA Riikliku Julgeolekuagentuuri (NSA) poolt, mistõttu on nende struktuur sarnane. Kuigi Keccak toetab sama suurust väljundit (räsi pikkust) kui SHA-2, on selle töömehhanism üsna erinev. Keccak kuulub siiski SHA perekonda ja seda nimetatakse sageli SHA-3-ks.

Teoreetilised rünnakud SHA-1 vastu viidi läbi 2004. aastal ja tehti avalikult kättesaadavaks 2005. aastal. Paar aastat hiljem, 2011. aastal, kuulutas NIST SHA-2 uueks kasutatavaks standardseks räsifunktsiooniks. Üleminek SHA-1-lt SHA-2-le toimus siiski üsna aeglaselt ja alles 2017. aasta alguses läks suur osa arendajatest ja arvutiteadlastest lõpuks üle SHA-2-le. Varsti pärast seda teatas Google 2017. aasta veebruaris edukast SHA-1 kollisioonirünnakust ja sellest ajast alates ei peeta SHA-1 enam turvaliseks ja selle kasutamist ei soovitata.
Keccaki funktsiooni (SHA-3) hakati arendama umbes 2007. aastal pärast seda, kui NIST kuulutas välja avaliku konkursi ja kontrolliprotsessi, otsides uut krüptograafilist räsifunktsiooni, mis suudaks ületada eelnevate SHA-1 ja SHA-2 võimalikud vead.

Kuigi SHA-2 vastu ei ole veel ühtegi märkimisväärset rünnakut näidatud, on oodata, et räsifunktsioonid murduvad aja jooksul ja uue standardfunktsiooni väljatöötamiseks kulub aastaid. Võttes seda arvesse ning 2004. ja 2005. aastal SHA-1 vastu sooritatud edukaid rünnakuid, nägi NIST vajadust uue krüptograafilise räsialgoritmi loomise järele. 2012. aastal kuulutas NIST Keccaki konkursi võitnud algoritmiks ja see standardiseeriti SHA perekonna uusima liikmena (seega SHA-3). 

Üks põhjus, miks NIST valis Keccaki, on selle uuenduslik struktuur, mis osutus teistest algoritmidest turvalisemaks ja tõhusamaks. Tehniliselt võttes tugineb SHA-3 algoritm nn sponge-funktsioonidele (või sponge-konstruktsioonile) - erinevalt Merkle Damgård-konstruktsioonist, mida kasutavad SHA-1 ja SHA-2.

Praegu peetakse SHA-2 endiselt turvaliseks ja seda kasutatakse laialdaselt. Näiteks SHA-256 kasutavad Bitcoin ja teised krüptorahad ning see mängib kaevandamisprotsessis üliolulist rolli. Võimalik, et SHA-3 võetakse edaspidi üha enam kasutusele, sest tundub, et seda ei ole kaugeltki nii lihtne rünnata. Sellegipoolest näeme lähiaastatel, et krüptograafia valdkonna edenedes ja uute vigade avastamise käigus töötatakse välja rohkem krüptograafilisi räsialgoritme.