Argon2

Argon2 ist eine Schlüsselableitungsfunktion, die im Juli 2015 als Gewinner des Passwort-Hashing-Wettbewerbs ausgewählt wurde. Es wurde von Alex Biryukov, Daniel Dinu und Dmitry Khovratovich von der Universität Luxemburg entworfen. Argon2 wird unter einer Creative Commons CC0-Lizenz (d. H. Public Domain) veröffentlicht und bietet drei verwandte Versionen:

Beschreibung

  • Argon2d maximiert den Widerstand gegen GPU-Cracking-Angriffe. Es greift auf das Speicher-Array in einer passwortabhängigen Reihenfolge zu, wodurch die Möglichkeit von Time-Memory-Trade-Off-Angriffen (TMTO) reduziert wird, jedoch mögliche Seitenkanal-Angriffe eingeführt werden.
  • Argon2i ist optimiert, um Seitenkanalangriffen zu widerstehen. Es greift auf das Speicherfeld in einer passwortunabhängigen Reihenfolge zu.
  • Argon2id ist eine Hybridversion. Es folgt dem Argon2i-Ansatz für den ersten Durchlauf über Speicher und dem Argon2d-Ansatz für nachfolgende Durchläufe. Der Internet-Entwurf empfiehlt die Verwendung von Argon2id, außer wenn es Gründe gibt, einen der anderen beiden Modi zu bevorzugen.

Alle drei Modi erlauben die Spezifikation von drei Parametern, die steuern:

  • Ausführungszeit
  • Speicher benötigt
  • Grad der Parallelität

Kryptoanalyse

Während für Argon2d keine öffentliche Kryptoanalyse verfügbar ist, gibt es zwei veröffentlichte Angriffe auf die Argon2i-Funktion.

Der erste Angriff zeigt, dass es möglich ist, eine Argon2i-Single-Pass-Funktion mit einem Viertel und einem Fünftel des gewünschten Speicherplatzes ohne Zeitstrafe zu berechnen und ein Argon2i mit mehreren Durchläufen nur mit/</2.71 Leerzeichen ohne Zeitstrafe zu berechnen . Laut den Argon2-Autoren wurde dieser Angriffsvektor in der Version 1.3 behoben.

Der zweite Angriff zeigt, dass Argon2i durch einen Algorithmus berechnet werden kann, der eine Komplexität O ( log ()) für alle Wahlmöglichkeiten von Parametern (Raumkosten), (Zeitaufwand) und Thread-Anzahl aufweist so dass = *. Die Argon2-Autoren behaupten, dass dieser Angriff nicht effizient ist, wenn Argon2i mit drei oder mehr Durchgängen verwendet wird.

Algorithmus

Hash-Funktion mit variabler Länge

Argon2 verwendet eine Hash-Funktion, die in der Lage ist, Verdaus mit einer Länge von bis zu 2

Siehe auch

Ressourcen