En cryptographie, scrypt est une fonction de dérivation de clé, originellement créée par Colin Percival pour le service de stockage en ligne . L'algorithme a été précisément conçu de façon qu'il soit coûteux en calcul et en mémoire notamment sur des architectures dédiées. En 2012, Scrypt a été proposé en tant que standard Internet par l'IETF. Une version simplifiée de scrypt est actuellement utilisée par certaines crypto-monnaies, comme Litecoin et Dogecoin.
Fonction de dérivation de clé Une fonction de dérivation de clé est en général conçue de façon à nécessiter d'importants calculs afin d'augmenter le temps nécessaire à son obtention (de l'ordre de quelques centaines de millisecondes). Les utilisateurs légitimes ne faisant appel qu'une seule fois à la fonction de dérivation (par exemple dans le cas d'une authentification), le temps de calcul est alors négligeable. En revanche, le temps nécessaire à une attaque par force brute serait prohibitif voire, dans l'idéal, impossible.
Implémentations Scrypt (Java) cryptsharp (C#) scrypt (Go) php-scrypt (PHP wrapper) scrypt (Ruby) scrypt-for-delphi (Delphi) pylibscrypt (Python) et inclus dans la bibliothèque standard hashlib à partir de Python 3.6
Références
Catégorie:Algorithme de cryptographie