Hachage/Crypto

Argon2 Hash + Verify

Hacher des mots de passe avec Argon2 (vainqueur de la Password Hashing Competition, RFC 9106) — variantes d/i/id, avec vérification par rapport à un hash existant.


                    

Argon2 is the Password Hashing Competition winner and the algorithm recommended in RFC 9106 for hashing passwords. Unlike bcrypt, it deliberately demands a lot of memory, not just CPU time, which makes attacks on specialized hardware (GPUs, ASICs) much harder.

How to use it

Common uses

Things to keep in mind

The memory parameter is Argon2's main defense: the more memory hashing requires, the more expensive it is for an attacker to parallelize an attack on a GPU with limited fast memory per chip.

Argon2id is recommended for most cases: Argon2i resists side-channel attacks better, Argon2d resists GPU attacks better, and id combines both approaches.

Article sur cet outil: Argon2 : pourquoi cet algorithme a remporté le concours de hachage de mots de passe

Questions fréquentes

Pourquoi Argon2 est-il recommandé plutôt que bcrypt ou PBKDF2 ?

Argon2 a remporté la Password Hashing Competition et est memory-hard, ce qui le rend beaucoup plus coûteux à attaquer avec du matériel spécialisé (GPU, ASIC) que des algorithmes qui ne sollicitent que le CPU. C'est aujourd'hui l'algorithme de hachage de mot de passe le plus recommandé.

Quelle variante choisir : Argon2i, Argon2d ou Argon2id ?

Argon2i résiste aux attaques par canal auxiliaire et convient au hachage de mot de passe pur, Argon2d résiste mieux au craquage par GPU mais est vulnérable aux attaques par canal auxiliaire, et Argon2id combine les deux approches. Argon2id est la variante recommandée par défaut dans la plupart des cas.

Pourquoi le calcul peut-il prendre plusieurs secondes ?

C'est voulu : Argon2 est conçu pour consommer volontairement du temps et de la mémoire, ce qui ralentit fortement les attaques par force brute. Plus la mémoire et les itérations sont élevées, plus le hachage est lent mais résistant.

D'où vient Argon2 comme standard ?

Argon2 a remporté la Password Hashing Competition en 2015 — un concours ouvert de cryptographes visant à trouver le meilleur algorithme de hachage de mot de passe. Depuis, l'OWASP le recommande en priorité sur bcrypt.

Le paramètre de parallélisme ne fait-il qu'accélérer le hachage ?

Non, ce même paramètre accélère tout autant la recherche exhaustive pour un attaquant disposant de matériel multicœur, il faut donc l'ajuster au nombre réel de cœurs du serveur, et non l'augmenter sans nécessité.

Articles : Hachage/Crypto

Hash Generator : en quoi MD5, SHA-1 et SHA-256 diffèrent

Pourquoi MD5 sert encore à vérifier l'intégrité de fichiers, mais pas pour les mots de passe.

Checksum Verifier : comment vérifier qu'un fichier n'est pas corrompu

Pourquoi une somme de contrôle correspondante confirme l'intégrité d'un fichier, mais pas qui l'a créé.

HMAC : en quoi un hachage avec clé diffère d'un hachage classique

Pourquoi un simple SHA-256 ne protège pas contre la falsification d'un message, mais HMAC oui.

Bcrypt : pourquoi les mots de passe sont hachés lentement, pas rapidement

Pourquoi un SHA-256 rapide est un mauvais choix pour les mots de passe, et un bcrypt lent le bon choix.

UUID : comment générer des identifiants qui ne se répètent presque jamais

Pourquoi un UUID v4 peut être généré indépendamment sur des millions de machines sans risque de collision.

Générateur de mots de passe : ce qui rend vraiment un mot de passe solide

Pourquoi un long mot de passe fait de mots du dictionnaire est plus solide qu'un court avec symboles et chiffres.

AES : comment fonctionne le chiffrement symétrique

Pourquoi la même clé chiffre et déchiffre les données en AES, et en quoi cela diffère du chiffrement asymétrique.

Scrypt : pourquoi l'algorithme a besoin d'autant de mémoire

Pourquoi scrypt exige volontairement beaucoup de mémoire pour compliquer le cassage sur des dispositifs ASIC.

TOTP : comment fonctionnent les codes à usage unique des applications d'authentification

Pourquoi le code de Google Authenticator fonctionne sans internet et se synchronise avec le serveur uniquement via l'heure.

PBKDF2 : le plus ancien standard d'étirement de clé

Pourquoi le nombre d'itérations recommandé pour PBKDF2 augmente chaque année.

X.509 : ce qu'il y a à l'intérieur d'un certificat SSL

Ce que le navigateur vérifie exactement dans le certificat d'un site avant d'afficher le cadenas vert.

PGP : comment fonctionne le chiffrement à clé publique et privée

Pourquoi on peut partager librement une clé publique PGP, mais jamais la clé privée.