Argon2
Argon2 est une fonction de dérivation de clé, gagnante de la Password Hashing Competition en [1] - [2]. Elle a été conçue par Alex Biryukov, Daniel Dinu et Dmitry Khovratovich de l'Université de Luxembourg et publié sous licence Creative Commons CC0[3]. Cette fonction se décline en deux versions : Argon2d, conçue pour résister aux attaques par GPU devenu de plus en plus puissant en calcul, et Argon2i optimisée contre les attaques par canal auxiliaire.
Cette fonction prend trois paramètres permettant de contrôler son temps d’exécution, la mémoire requise et le degré de parallélisme des calculs.
Histoire
En 2017, pour la version 7.2 de PHP, Argon2 est maintenant intégré dans le cœur de PHP sur la fonction password_hash() avec la constante PASSWORD_ARGON2I, mais cette fonction de hash n'est pas définie comme celle par défaut, qui reste toujours Bcrypt.
password_hash('password', PASSWORD_ARGON2I, $options);
Notes et références
- (en) « Password Hashing Competition », .
- (en) Jos Wetzels, Open Sesame: The Password Hashing Competition and Argon2, (lire en ligne)
- Argon2: the memory-hard function for password hashing and other applications, Alex Biryukov, et al, October 1, 2015