Keccak

Keccak (tariama „ketchak“) – universali kriptografinė funkcija, kurią sukūrė Guido Bertoni, Joanas Daemenas, Michaëlis Peetersas ir Gilles Van Assche. Nors Keccak gali būti naudojama kitiems tikslams, ji geriausiai žinoma kaip maišos funkcija, užtikrinanti didesnį saugumo lygį, palyginti su ankstesniais maišos algoritmais, tokiais kaip SHA-1 ir SHA-2.

SHA reiškia saugų maišos algoritmą ir kriptografinių maišos funkcijų rinkinį, kurį paskelbė JAV nacionalinio standartų ir technologijų institutas (NIST). Tiek SHA-1, tiek SHA-2 sukūrė JAV nacionalinė saugumo agentūra (NSA), todėl jų struktūra yra panaši. Nors Keccak palaiko tą patį išvesties dydį (maišos ilgius) kaip ir SHA-2, jų veikimo mechanizmas skiriasi. Vis dėlto Keccak yra SHA šeimos dalis ir dažnai vadinama SHA-3.

2004 m. įvykdytos teorinės atakos, nukreiptos prieš SHA-1, kurios viešai paskelbtos 2005 m. Po kelerių metų, 2011 m., NIST paskelbė SHA-2 kaip naują naudotiną standartinę maišos funkciją. Tačiau perėjimas iš SHA-1 į SHA-2 buvo gana lėtas ir tik 2017 m. pradžioje didelė dalis kūrėjų ir kompiuterių mokslininkų galiausiai perėjo prie SHA-2. Netrukus po to Google paskelbė apie sėkmingą SHA-1 susidūrimo ataką 2017 m. vasario mėn. ir nuo to laiko SHA-1 nebėra laikomas saugiu, todėl jo naudoti nerekomenduojama.
Keccak funkcija (SHA-3) pradėta kurti maždaug 2007 m., kai NIST paskelbė viešą konkursą ir patikrinimo procesą, siekdama naujos kriptografinės maišos funkcijos, kuri galėtų susidoroti su galimais ankstesnių SHA-1 ir SHA-2 trūkumais.

Nors dar nepastebėta jokia reikšminga SHA-2 ataka, tikimasi, kad maišos funkcijos laikui bėgant bus pažeistos ir prireiks daug metų naujai standartinei funkcijai sukurti. Atsižvelgdama į tai ir į 2004 ir 2005 m. sėkmingas atakas, nukreiptas prieš SHA-1, NIST suprato, kad reikia sukurti naują kriptografinį maišos algoritmą. 2012 m. NIST paskelbė, kad Keccak algoritmas laimėjo konkursą ir buvo standartizuotas kaip naujausias SHA šeimos narys (taigi SHA-3). 

Viena iš priežasčių, kodėl NIST pasirinko Keccak, yra naujoviška struktūra, kuri pasirodė esanti saugesnė ir efektyvesnė už kitus algoritmus. Techniškai kalbant, SHA-3 algoritmas remiasi vadinamosiomis kempinės funkcijomis (arba kempinės konstrukcija) – priešingai nei Merkle Damgård konstrukcija, kurią naudoja SHA-1 ir SHA-2.

Kol kas SHA-2 vis dar laikomas saugiu ir plačiai naudojamu. Pavyzdžiui, SHA-256 naudojamas bitkoino ir kitų kriptovaliutų platformose ir atlieka lemiamą vaidmenį kasybos procese. Ateityje galime pastebėti, kad SHA-3 bus naudojamas vis dažniau, nes atrodo, kad jis toli gražu nėra sėkmingai atakuojamas. Nepaisant to, kriptografijos sričiai toliau tobulėjant ir atrandant naujų trūkumų, netrukus pamatysime daugiau sukurtų kriptografinių maišos algoritmų.