Keccak

Fortgeschritten

Keccak (ausgesprochen ‚ÄěKetschak‚Äú) ist eine vielseitig nutzbare Funktion, die von Guido Bertoni, Joan Daemen, Micha√ęl Peeters und Gilles Van Assche entwickelt wurde. W√§hrend sie auch f√ľr andere Zwecke verwendet werden kann, wird sie vor allem als Hash-Funktion eingesetzt, 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 und bezeichnet 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 der Keccak-Algorithmus die gleiche Ausgabegr√∂√üe (Hash-L√§ngen) wie SHA-2 unterst√ľtzt, ist seine Funktionsweise eine ganz andere. Dennoch z√§hlt Keccak zur SHA-Familie und wird oft auch als SHA-3 bezeichnet.

Im Jahr 2004 wurden theoretische Angriffe auf SHA-1 durchgef√ľhrt und 2005 offengelegt. Einige Jahre sp√§ter, im Jahr 2011, wurde SHA-2 vom NIST zur neuen Standard-Hash-Funktion erkl√§rt, die von nun an verwendet werden sollte. Die Umstellung von SHA-1 auf SHA-2 verlief jedoch recht schleppend, und erst Anfang 2017 wechselte ein gro√üer Teil der Entwickler und Informatiker schlie√ülich zu SHA-2. Nur wenig sp√§ter pr√§sentierten Forscher von Google im Februar 2017 einen erfolgreichen SHA-1-Kollisionsangriff. Seither gilt SHA-1 als nicht mehr sicher, und es wird von einer Verwendung abgeraten.
Die Entwicklung der Keccak-Funktion (SHA-3) begann etwa 2007, nachdem das NIST einen √∂ffentlichen Wettbewerb und ein Pr√ľfverfahren angek√ľndigt hatte, um eine neue kryptografische Hash-Funktion zu finden, die die potenziellen Schwachstellen der Vorg√§nger SHA-1 und SHA-2 beseitigen konnte.

Zwar war noch kein bedeutender Angriff auf SHA-2 demonstriert worden, doch wird grunds√§tzlich davon ausgegangen, dass Hash-Funktionen mit der Zeit geknackt werden und es Jahre dauert, bis eine neue Standardfunktion entwickelt wird. Vor diesem Hintergrund und angesichts der erfolgreichen Angriffe auf SHA-1 in den Jahren 2004 und 2005 hielt das NIST die Entwicklung eines neuen kryptografischen Hash-Algorithmus f√ľr notwendig. 2012 wurde Keccak vom NIST zum Gewinner des Wettbewerbs erkl√§rt und als neuester Vertreter der SHA-Familie (also SHA-3) standardisiert.¬†

Einer der Gr√ľnde, warum Keccak vom NIST ausgew√§hlt wurde, ist die innovative Struktur, die sich als sicherer und effizienter als die der anderen Algorithmen erwies. Technisch gesehen basiert der SHA-3-Algorithmus auf den sogenannten Schwammfunktionen (auch Schwammkonstruktion genannt) und unterscheidet sich damit von der Merkle-Damg√•rd-Konstruktion, die von SHA-1 und SHA-2 verwendet wird.

Zurzeit gilt SHA-2 noch als sicher und ist weit verbreitet. Beispielsweise wird SHA-256 von Bitcoin und anderen Kryptow√§hrungen verwendet und spielt eine entscheidende Rolle beim Mining-Prozess. In Zukunft d√ľrfte sich jedoch zunehmend SHA-3 durchsetzen, da die Hash-Funktion als sehr sicher angesehen wird. Gleichzeitig werden in den kommenden Jahren wahrscheinlich weitere kryptografische Hash-Algorithmen hinzukommen, da sich die Kryptografie weiterentwickelt und mit der Entdeckung neuer Schwachstellen zu rechnen ist.