Investor's wiki

Keccak

Keccak

Keccak (wymawiane „ketchak”) to wszechstronna funkcja kryptograficzna zaprojektowana przez Guido Bertoniego, Joan Daemen, Michaëla Peetersa i Gillesa Van Assche. Chociaż Keccak może być używany do innych celów, jest najlepiej znany jako funkcja mieszająca, która zapewnia wyższy poziom bezpieczeństwa w porównaniu ze starszymi algorytmami mieszającymi, takimi jak SHA-1 i SHA-2.

SHA to skrót od Secure Hash Algorithm i odnosi się do zestawu kryptograficznych funkcji skrótu opublikowanych przez amerykański Narodowy Instytut Standardów i Technologii (NIST). Zarówno SHA-1, jak i SHA-2 zostały zaprojektowane przez amerykańską Agencję Bezpieczeństwa Narodowego (NSA) i jako takie mają podobną strukturę. Chociaż Keccak obsługuje ten sam rozmiar wyjściowy (długość skrótu) co SHA-2, jego mechanizm działania jest zupełnie inny. Mimo to Keccak jest częścią rodziny SHA i jest często określany jako SHA-3.

Teoretyczne ataki na SHA-1 przeprowadzono w 2004 r. i udostępniono je publicznie w 2005 r. Kilka lat później, w 2011 r., NIST zadeklarował SHA-2 jako nową standardową funkcję skrótu do użycia. Jednak migracja z SHA-1 do SHA-2 była dość powolna i dopiero na początku 2017 r. duży procent programistów i informatyków w końcu przeniósł się na SHA-2. Niedługo potem Google ogłosił udany atak kolizyjny SHA-1 w lutym 2017 r. i od tego czasu SHA-1 nie jest już uważany za bezpieczny, a jego użycie jest odradzane.

Funkcja Keccak (SHA-3) zaczęła być rozwijana około 2007 roku po tym, jak NIST ogłosił publiczny proces konkursu i weryfikacji, poszukując nowej funkcji skrótu kryptograficznego, która mogłaby przezwyciężyć potencjalne wady poprzednich SHA-1 i SHA-2.

Chociaż nie zademonstrowano jeszcze żadnego znaczącego ataku na SHA-2, oczekuje się, że funkcje skrótu zostaną z czasem złamane, a opracowanie nowej standardowej funkcji zajmie lata. Biorąc to pod uwagę, wraz z udanymi atakami przeprowadzonymi na SHA-1 w 2004 i 2005 roku, NIST dostrzegł potrzebę stworzenia nowego kryptograficznego algorytmu skrótu. W 2012 roku NIST ogłosił Keccak jako zwycięski algorytm konkursu i został on ustandaryzowany jako najnowszy członek rodziny SHA (stąd SHA-3).

Jednym z powodów, dla których Keccak został wybrany przez NIST, jest jego innowacyjna struktura, która okazała się bezpieczniejsza i wydajniejsza niż inne algorytmy. Technicznie rzecz biorąc, algorytm SHA-3 opiera się na tzw. funkcjach gąbki (lub konstrukcji gąbki) - w przeciwieństwie do konstrukcji Merkle Damgård stosowanej przez SHA-1 i SHA-2.

Na razie SHA-2 jest nadal uważany za bezpieczny i jest szeroko stosowany. Na przykład SHA-256 jest używany przez Bitcoin i inne kryptowaluty i odgrywa kluczową rolę w procesie kopania. Możemy spodziewać się rosnącej adopcji SHA-3, ponieważ wydaje się, że daleko jej do skutecznego zaatakowania. Niemniej jednak, w miarę postępów w dziedzinie kryptografii i odkrywania nowych wad, w kolejnych latach będziemy opracowywać więcej algorytmów kryptograficznych.