Keccak

Keccak (ausgesprochen „ketchak“) ist eine vielseitige kryptografische Funktion, die von Guido Bertoni, Joan Daemen, Michaël Peeters und Gilles Van Assche entwickelt wurde. Obwohl Keccak auch für andere Zwecke verwendet werden kann, ist es vor allem als Hash-Funktion bekannt, die im Vergleich zu älteren Hash-Algorithmen wie SHA-1 und SHA-2 ein höheres Maß an Sicherheit bietet.

SHA steht für ‚Secure Hash Algorithm‘ (sicherer Hash-Algorithmus) und bezieht sich auf eine Reihe von kryptografischen Hash-Funktionen, die vom US National Institute of Standards and Technology (NIST) veröffentlicht wurden. Sowohl SHA-1 als auch SHA-2 wurden von der Nationalen Sicherheitsbehörde der USA (NSA) entwickelt und weisen daher eine ähnliche Struktur auf. Obwohl Keccak die gleiche Ausgabegröße (Hash-Längen) wie SHA-2 unterstützt, ist sein Funktionsmechanismus ganz anders. Dennoch ist Keccak Teil der SHA-Familie und wird oft als SHA-3 bezeichnet.

Theoretische Angriffe auf SHA-1 wurden 2004 durchgeführt und 2005 öffentlich bekannt gemacht. Ein paar Jahre später, im Jahr 2011, wurde SHA-2 vom NIST zur neuen Standard-Hash-Funktion erklärt, die zu verwenden ist. Die Umstellung von SHA-1 auf SHA-2 ging jedoch recht langsam vonstatten, und erst Anfang 2017 wechselte ein großer Teil der Entwickler und Informatiker schließlich zu SHA-2. Kurz darauf gab Google im Februar 2017 einen erfolgreichen SHA-1-Kollisionsangriff bekannt, und seither gilt SHA-1 nicht mehr als sicher, und von seiner Verwendung wird abgeraten.

Die Entwicklung der Keccak-Funktion (SHA-3) begann etwa 2007, nachdem das NIST einen öffentlichen Wettbewerb und ein Prüfverfahren angekündigt hatte, bei dem eine neue kryptografische Hash-Funktion gesucht wurde, welche die potenziellen Schwachstellen der Vorgängerversionen SHA-1 und SHA-2 überwinden könnte.

Obwohl noch kein signifikanter Angriff auf SHA-2 demonstriert wurde, wird davon ausgegangen, dass Hash-Funktionen im Laufe der Zeit geknackt werden und es Jahre dauert, bis eine neue Standardfunktion entwickelt wird. In Anbetracht dessen und der erfolgreichen Angriffe auf SHA-1 in den Jahren 2004 und 2005 sah das NIST die Notwendigkeit, einen neuen kryptografischen Hash-Algorithmus zu entwickeln. Im Jahr 2012 erklärte das NIST Keccak zum Gewinner des Wettbewerbs, und er wurde als neuestes Mitglied der SHA-Familie (also SHA-3) standardisiert.

Einer der Gründe, warum Keccak vom NIST ausgewählt wurde, ist seine innovative Struktur, die sich als sicherer und effizienter als die anderen Algorithmen erwies. Technisch gesehen beruht der SHA-3-Algorithmus auf den so genannten Schwammfunktionen (oder der Schwammkonstruktion) – im Gegensatz zur Merkle-Damgård-Konstruktion, die von SHA-1 und SHA-2 verwendet wird.

Derzeit gilt SHA-2 noch als sicher und ist weit verbreitet. SHA-256 wird beispielsweise von Bitcoin und anderen Kryptowährungen verwendet und spielt eine entscheidende Rolle beim Mining-Prozess. In Zukunft könnte sich SHA-3 immer mehr durchsetzen, da es weit davon entfernt zu sein scheint, erfolgreich angegriffen zu werden. Nichtsdestotrotz werden in den nächsten Jahren weitere kryptografische Hash-Algorithmen entwickelt werden, da sich die Kryptografie weiterentwickelt und neue Schwachstellen entdeckt werden.

« Zurück zum Glossar Index