Résumé
In cryptography, a key derivation function (KDF) is a cryptographic algorithm that derives one or more secret keys from a secret value such as a master key, a password, or a passphrase using a pseudorandom function (which typically uses a cryptographic hash function or block cipher). KDFs can be used to stretch keys into longer keys or to obtain keys of a required format, such as converting a group element that is the result of a Diffie–Hellman key exchange into a symmetric key for use with AES. Keyed cryptographic hash functions are popular examples of pseudorandom functions used for key derivation. The first deliberately slow (key stretching) password-based key derivation function was called "crypt" (or "crypt(3)" after its man page), and was invented by Robert Morris in 1978. It would encrypt a constant (zero), using the first 8 characters of the user's password as the key, by performing 25 iterations of a modified DES encryption algorithm (in which a 12-bit number read from the real-time computer clock is used to perturb the calculations). The resulting 64-bit number is encoded as 11 printable characters and then stored in the Unix password file. While it was a great advance at the time, increases in processor speeds since the PDP-11 era have made brute-force attacks against crypt feasible, and advances in storage have rendered the 12-bit salt inadequate. The crypt function's design also limits the user password to 8 characters, which limits the keyspace and makes strong passphrases impossible. Although high throughput is a desirable property in general-purpose hash functions, the opposite is true in password security applications in which defending against brute-force cracking is a primary concern. The growing use of massively-parallel hardware such as GPUs, FPGAs, and even ASICs for brute-force cracking has made the selection of a suitable algorithms even more critical because the good algorithm should not only enforce a certain amount of computational cost not only on CPUs, but also resist the cost/performance advantages of modern massively-parallel platforms for such tasks.
À propos de ce résultat
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.
Cours associés (15)
COM-401: Cryptography and security
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
ChE-430: Nanomaterials for chemical engineering application
This course aims at understanding classical and non-classical nucleation theory, at reviewing different techniques for the synthesis of nanomaterials (mainly nanoparticles and thin films) and at learn
MATH-489: Number theory II.c - Cryptography
The goal of the course is to introduce basic notions from public key cryptography (PKC) as well as basic number-theoretic methods and algorithms for cryptanalysis of protocols and schemes based on PKC
Afficher plus
Séances de cours associées (41)
Schéma d'engagement: Dérivation clé et fonction de hachage
Explique le schéma d'engagement, la dérivation de clés et la fonction de hachage pour la sécurité des données.
Attaque de raton laveur sur TLS 1.2
Explore l'attaque Raccoon, une attaque temporelle sur TLS-DH(E) qui exploite les oracles binaires les plus significatifs.
Codes d'authentification des messages : Formalisme
Explore les codes d'authentification des messages et leur formalisme, en mettant l'accent sur la téléphonie mobile, couvrant des sujets tels que les attaques abusives, les notions de sécurité et l'architecture GSM.
Afficher plus
Publications associées (107)

Exploring SIDH-Based Signature Parameters

Tako Boris Fouotsa, Laurane Chloé Angélina Marco, Andrea Basso

Isogeny-based cryptography is an instance of post-quantum cryptography whose fundamental problem consists of finding an isogeny between two (isogenous) elliptic curves E and E′. This problem is closely related to that of computing the endomorphism ring of ...
Springer2024
Afficher plus
Concepts associés (16)
Étirement de clé
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.
SHA-2
SHA-2 (Secure Hash Algorithm) est une famille de fonctions de hachage qui ont été conçues par la National Security Agency des États-Unis (NSA), sur le modèle des fonctions SHA-1 et SHA-0, elles-mêmes fortement inspirées de la fonction MD4 de Ron Rivest (qui a donné parallèlement MD5). Telle que décrite par le National Institute of Standards and Technology (NIST), elle comporte les fonctions, SHA-256 et SHA-512 dont les algorithmes sont similaires mais opèrent sur des tailles de mot différentes (32 bits pour SHA-256 et 64 bits pour SHA-512), SHA-224 et SHA-384 qui sont essentiellement des versions des précédentes dont la sortie est tronquée, et plus récemment SHA-512/256 et SHA-512/224 qui sont des versions tronquées de SHA-512.
Attaque par dictionnaire
L'attaque par dictionnaire est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Elle consiste à tester une série de mots de passe potentiels, les uns à la suite des autres, en espérant que le mot de passe utilisé pour le chiffrement soit contenu dans le dictionnaire. Si ce n'est pas le cas, l'attaque échouera. Cette méthode repose sur le fait que de nombreuses personnes utilisent des mots de passe courants (par exemple : un prénom, une couleur ou le nom d'un animal).
Afficher plus