En cryptographie, l'étirement de clé (en anglais, key stretching) est une technique utilisée pour augmenter la résistance d'une clé faible, généralement un mot de passe ou une phrase secrète. L'étirement de clé augmente la résistance d'une clé à une attaque par force brute en augmentant le temps nécessaire pour tester chaque clé possible. Les mots de passe ou les phrases secrètes créés par les humains sont souvent assez courts ou prévisibles, ce qui facilite leur cassage. L'étirement de clé rend ces attaques plus difficiles.
Les techniques d'étirement fonctionnent généralement de la façon suivante. La clé initiale est entrée dans un algorithme qui produit une clé améliorée. La clé améliorée doit être de taille suffisante pour qu'il soit impossible de la découvrir au moyen d'une attaque par force brute (par exemple, elle doit avoir au moins ). L'algorithme d'étirement doit être sécurisé, c'est-à-dire qu'il ne doit pas y avoir de moyens connus de calculer la clé améliorée avec un algorithme requérant moins de temps de processeur.
L'attaquant qui veut découvrir une clé étirée a deux options : soit essayer toutes les combinaisons possibles de la clé étirée (impossible si la clé est assez longue), soit essayer toutes les combinaisons possibles de caractères de la clé initiale en les étirant puis en les testant. Dans cette seconde approche, si la clé initiale est un mot de passe, l'attaquant procédera habituellement de la façon suivante : tout d'abord, il essayera chaque mot d'une liste de mots de passe communs, puis chaque mot du dictionnaire, et finalement toutes les combinaisons possibles de caractères du mot de passe. L'étirement des clés n'empêche pas cette approche, mais l'attaquant devra y consacrer beaucoup de temps, car il doit étirer chaque mot de passe possible et l'étirement est conçu pour prendre un temps significatif.
Si l'attaquant utilise la même classe de matériel que l'utilisateur, chaque tentative prendra le même temps que l'utilisateur a pris pour étirer la clé (ce temps est habituellement de l'ordre d'une seconde).
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
This course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how
Information-theoretic methods and their application to secrecy & privacy. Perfect information-theoretic secrecy. Randomness extraction & privacy amplification. Secret key generation from common random
Séances de cours associées (51)
En cryptographie, une fonction de dérivation de clé (en anglais, key derivation function ou KDF) est une fonction qui dérive une ou plusieurs clés secrètes d'une valeur secrète comme un mot de passe ou une phrase secrète en utilisant une fonction pseudo-aléatoire. Les fonctions de dérivation de clé peuvent être utilisées pour renforcer des clés en les étirant ou pour obtenir des clés d'un certain format. Les fonctions de dérivation de clé sont souvent utilisées conjointement avec des paramètres non secrets (appelés sels cryptographiques) pour dériver une ou plusieurs clés à partir d'une valeur secrète.
En cryptographie, l'étirement de clé (en anglais, key stretching) est une technique utilisée pour augmenter la résistance d'une clé faible, généralement un mot de passe ou une phrase secrète. L'étirement de clé augmente la résistance d'une clé à une attaque par force brute en augmentant le temps nécessaire pour tester chaque clé possible. Les mots de passe ou les phrases secrètes créés par les humains sont souvent assez courts ou prévisibles, ce qui facilite leur cassage. L'étirement de clé rend ces attaques plus difficiles.
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.
Explore les schémas de chiffrement symétrique, y compris les chiffrements par blocs et par flux, leurs vulnérabilités et l'importance des longueurs de clés.