A Keccak (ejtsd: „kecsak”) egy sokoldalú kriptográfiai függvény, amelyet Guido Bertoni, Joan Daemen, Michaël Peeters, és Gilles Van Assche dolgozott ki. Habár a Keccak más célra is használható, leginkább olyan hash függvényként ismert, amely a régebbi hash algoritmusokhoz (pl. SHA-1 és SHA-2) képest magasabb szintű biztonságot nyújt.
Az SHA a Secure Hash Algorithm (biztonságos hash algoritmus) rövidítése, és egy sor olyan kriptográfiai hash függvényt jelöl, amelyeket az US National Institute of Standards and Technology (NIST, amerikai nemzeti szabványügyi és technológiai intézet) tett közzé. Az SHA-1-et és az SHA-2-t is az US National Security Agency (NSA, amerikai nemzetbiztonsági hivatal) fejlesztette ki, így hasonló a struktúrájuk. Bár a Keccak ugyanazt a kimeneti méretet (hash hosszt) támogatja, mint az SHA-2, a működési mechanizmusa igencsak eltérő. Ezzel együtt a Keccak is az SHA-család része, és gyakran emlegetik SHA-3 néven.
Bár az SHA-2 Ellen még nincs tudomásunk jelentős támadásról, várható, hogy idővel feltörik a hash függvényt, és egy új függvényszabvány kifejlesztése több évig is eltart. Ezt és az SHA-1 ellen 2004-ben és 2005-ben végrehajtott sikeres támadásokat figyelembe véve a NIST érzékelte egy új kriptográfiai hash algoritmus létrehozásának szükségességét. 2012-ben a NIST a Keccakot nevezte meg a verseny győztes algoritmusaként, és az SHA-család új tagjaként szabványosították (innen az SHA-3 elnevezés).
Az egyik ok, amiért a NIST a Keccakot választotta, az algoritmus innovatív struktúrája, amely bizonyítottan biztonságosabb és hatékonyabb a többi algoritmusnál. Technikailag az SHA-3 algoritmus az úgynevezett sponge (szivacs) függvényekre (más néven: szivacsfelépítés) támaszkodik, az SHA-1 és SHA-2 szabványoknál használt Merkle Damgård konstrukcióval szemben.
Matematikai elméletek és számítások felhasználása információ titkosításához és titkosított információ vissz...
Bizonyítékok a tranzakciók érvényességének ellenőrzésére anélkül, hogy bármilyen információt felfednének ez...