Scrypt
Encryptographie,scryptest une fonction dedérivation de clé,originellement créée par Colin Percival pour le service de stockage en ligneTarsnap(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 questandard Internetpar l'IETF[2].Une version simplifiée de scrypt est actuellement utilisée par certainescrypto-monnaies,commeLitecoin[3]etDogecoin.
Fonction de dérivation de clé
[modifier|modifier le code]Unefonction 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 à uneattaque par force bruteserait tout à fait inenvisageable voire, dans l'idéal, prohibitif.
Implémentations
[modifier|modifier le code]- Scrypt (Java)
- cryptsharp (C#)
- scrypt (Go)
- php-scrypt (PHP wrapper)
- scrypt (Ruby)
- scrypt-for-delphi (Delphi)
- pylibscrypt (Python)et inclus dans labibliothèque standardhashlibà partir de Python 3.6[4]
Références
[modifier|modifier le code]- «Page décrivant Scrypt sur le site web de Tarsnap»(consulté le)
- C. Percival, S. Josefsson, «The scrypt Password-Based Key Derivation Function (RFC7914)»,IETF,
- Alec Liu, «Beyond Bitcoin: A Guide to the Most Promising Cryptocurrencies»
- (en)«hashlib.scrypt dans la documentation de Python»(consulté le)