yescrypt — une fonction de génération de clés basée sur un mot de passe, fondée sur scrypt.
Avantages (par rapport à scrypt et Argon2) :
- Amélioration de la résistance aux attaques hors ligne (grâce à l'augmentation du coût de l'attaque avec des dépenses inchangées du côté défensif).
- Fonctionnalités supplémentaires (par exemple, la possibilité de passer à des paramètres plus résistants sans connaître le mot de passe) dès la sortie.
- Utilisation de primitives cryptographiques approuvées par le NIST.
- Possibilité d'utiliser également SHA-256, HMAC, PBKDF2 et scrypt.
Il existe également des inconvénients, décrits plus en détail sur page du projet.
Depuis la dernière mise à jour (yescrypt 1.0.1) plusieurs versions mineures ont été publiées.
Changements dans la version 1.0.2:
MAP_POPULATE n'est plus utilisé, car dans les nouveaux tests multithreads, davantage d'effets négatifs ont été découverts que d'effets positifs.
Dans le code SIMD, les tampons pour l'entrée et la sortie sont maintenant réutilisés dans BlockMix_pwxform dans SMix2. Cela peut légèrement améliorer le taux de réussite dans le cache et donc la performance.
Changements dans la version 1.0.3 :
- Dans SMix1, l'indexation de V a été optimisée pour l'écriture séquentielle.
Changements dans la version 1.1.0 :
- Fusion de yescrypt-opt.c et yescrypt-simd.c, l'option « -simd » n'est donc plus disponible. Avec ce changement, la performance des assemblages SIMD devrait rester presque inchangée, mais les assemblages scalaires devraient être plus performants sur les architectures 64 bits (mais plus lents sur les 32 bits) avec un plus grand nombre de registres.
yescrypt fait également maintenant partie de la bibliothèque libxcrypt, qui est utilisée dans les distributions Fedora et ALT Linux.
Source : linux.org.ru
