En cryptographie, scrypt est une fonction de dérivation de clé, originellement créée par Colin Percival pour le service de stockage en ligne Tarsnap (en)[1]. 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[2]. Une version simplifiée de scrypt est actuellement utilisée par certaines crypto-monnaies, comme Litecoin[3] et Dogecoin.

Fonction de dérivation de clé

modifier

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 tout à fait inenvisageable voire, dans l'idéal, prohibitif.

Implémentations

modifier

Références

modifier
  1. « Page décrivant Scrypt sur le site web de Tarsnap » (consulté le )
  2. C. Percival, S. Josefsson, « The scrypt Password-Based Key Derivation Function (RFC7914) », IETF,
  3. Alec Liu, « Beyond Bitcoin: A Guide to the Most Promising Cryptocurrencies »
  4. (en) « hashlib.scrypt dans la documentation de Python » (consulté le )