Kryptografie
Argon2-Hash-Rechner | Argon2id, Argon2i & Argon2d
Berechnet den Argon2-Hash eines Textes wie z. B. eines Passworts. Unterstützt die drei Varianten Argon2id, Argon2i und Argon2d sowie die von OWASP empfohlenen Voreinstellungen für Speicherkosten und Iterationen. Die Berechnung erfolgt vollständig im Browser, Eingaben werden nicht an den Server gesendet.
Tipps zur Berechnung von Argon2-Hashes
- Argon2 gewann 2015 die Password Hashing Competition, und Argon2id ist die von OWASP derzeit empfohlene Variante. Wählen Sie ohne besonderen Grund immer Argon2id.
- Die Voreinstellungs-Schaltflächen entsprechen den fünf Kombinationen aus Speicherkosten und Iterationen, die im OWASP Password Storage Cheat Sheet empfohlen werden. Je höher der Speicherverbrauch, desto besser die Resistenz gegen parallele Angriffe mit GPUs.
- Eine Erhöhung der „Parallelität (p)" hat in dieser WebAssembly-Implementierung im Browser keine tatsächliche Parallelverarbeitung zur Folge, sodass sich die Berechnungsdauer kaum ändert. Die Beschleunigung durch Parallelität wirkt sich nur auf Server mit mehreren CPU-Kernen aus.
- Bei jeder Berechnung wird automatisch ein neues Salt erzeugt, sodass derselbe Text mit denselben Parametern jedes Mal einen anderen kodierten Hash-Wert ergibt.
- Bei sehr hohen Speicherkosten kann der Browser-Tab vorübergehend nicht mehr reagieren. Es empfiehlt sich, zunächst mit einigen Dutzend Megabyte zu beginnen.
Häufig gestellte Fragen
password_verify() oder entsprechenden Argon2-Verifikationsbibliotheken anderer Sprachen abgleichen. Achten Sie dennoch auf einen sorgfältigen Umgang mit den eingegebenen Daten.
Übrigens – die Password Hashing Competition und die Entstehung von Argon2
Argon2 wurde bei der zwischen 2013 und 2015 ausgetragenen „Password Hashing Competition" (PHC) unter 24 eingereichten Verfahren zum Sieger gekürt. Bestehende Verfahren wie BCrypt (1999) und PBKDF2 (2000) wiesen die Schwäche auf, gegenüber Brute-Force-Angriffen mit spezieller Hardware wie GPUs oder ASICs anfällig zu sein. Argon2 begegnet diesem Problem durch ein Design, das für die Berechnung große Mengen an Arbeitsspeicher erfordert.
Es gibt drei Argon2-Varianten. Argon2d maximiert die Resistenz gegen GPU-Angriffe, ist jedoch anfällig für Seitenkanalangriffe, während Argon2i gegen Seitenkanalangriffe widerstandsfähig ist, aber eine etwas geringere GPU-Resistenz besitzt. Argon2id kombiniert als Hybridverfahren beide Eigenschaften und wird von OWASP sowie zahlreichen weiteren Sicherheitsorganisationen als erste Wahl für die Passwortspeicherung empfohlen.
Seit PHP 7.2 lässt sich mit der Funktion password_hash() und der Konstante PASSWORD_ARGON2ID ganz einfach ein Argon2id-Hash erzeugen. Auch für Node.js, Python, Ruby und andere gängige Sprachen stehen offizielle oder quasi-offizielle Bibliotheken zur Verfügung, sodass Argon2id bei neu entwickelten Systemen zur Passwortspeicherung zunehmend gegenüber BCrypt bevorzugt wird.