Fonction de compressionvignette|Une fonction de compression unidirectionnelle typique, habituellement utilisée dans la construction Merkle-Damgård En cryptographie, une fonction de compression est une fonction à sens unique qui prend une entrée de M bits et produit à sa sortie une séquence de N bits avec N strictement inférieur à M. On doit ce terme à Ralph Merkle et Ivan Damgård qui l'ont utilisé dans le cadre de la construction de Merkle-Damgård. La sortie est ainsi « compressée » (à perte d'où le terme « sens unique ») puisque plus courte que l'entrée.
Fonction de hachage cryptographiqueUne fonction de hachage cryptographique est une fonction de hachage qui, à une donnée de taille arbitraire, associe une image de taille fixe, et dont une propriété essentielle est qu'elle est pratiquement impossible à inverser, c'est-à-dire que si l'image d'une donnée par la fonction se calcule très efficacement, le calcul inverse d'une donnée d'entrée ayant pour image une certaine valeur se révèle impossible sur le plan pratique. Pour cette raison, on dit d'une telle fonction qu'elle est à sens unique.
Attaque de préimageEn cryptographie, une attaque de préimage est une attaque sur une fonction de hachage cryptographique qui essaie de trouver un message qui a une valeur spécifique de hachage. Une bonne fonction de hachage cryptographique doit résister à des attaques de . Il existe deux types d'attaques de préimage : l'attaque de préimage : pour une valeur de sortie spécifiée, un attaquant tente de trouver une entrée qui produit cette valeur en sortie, c’est-à-dire, pour un donné, il tente de trouver un tel que ; l'attaque de seconde préimage : l'attaquant tente de trouver une seconde entrée qui a la même valeur de hachage qu’une entrée spécifiée ; pour un donné, il tente de trouver une deuxième préimage tel que .
Résistance aux collisionsLa résistance aux collisions est une propriété des fonctions de hachage cryptographiques : une fonction de hachage cryptographique H est résistante aux collisions s’il est difficile de trouver deux entrées qui donnent la même valeur de hachage ; c’est-à-dire deux entrées A et B de telles que : , et A ≠ B. Une fonction de hachage avec plus d’entrées que de sorties doit nécessairement générer des collisions. Considérons une fonction de hachage telle que SHA-256 qui produit une sortie de 256 bits à partir d’une entrée d’une longueur arbitraire.
SHA-3Keccak (prononciation: , comme “ketchak”) est une fonction de hachage cryptographique conçue par Guido Bertoni, Joan Daemen, Michaël Peeters et Gilles Van Assche à partir de la fonction RadioGatún. SHA-3 est issu de la NIST hash function competition qui a élu l'algorithme Keccak le . Elle n’est pas destinée à remplacer SHA-2, qui n’a à l'heure actuelle pas été compromise par une attaque significative, mais à fournir une autre solution à la suite des possibilités d'attaques contre les standards MD5, SHA-0 et SHA-1.
Attaque de collisionsEn cryptographie, une attaque de collisions est une attaque sur une fonction de hachage cryptographique qui tente de trouver deux entrées de cette fonction qui produisent le même résultat (appelé valeur de hachage), c'est-à-dire qui résultent en une collision. Dans une attaque de collisions, contrairement à une (), la valeur de hachage n'est pas précisée.
Chiffrement par blocvignette|un schéma de chiffrement par bloc Le chiffrement par bloc (en anglais block cipher) est une des deux grandes catégories de chiffrements modernes en cryptographie symétrique, l'autre étant le chiffrement par flot. La principale différence vient du découpage des données en blocs de taille généralement fixe. La taille de bloc est comprise entre 32 et 512 bits. Dans le milieu des années 1990, le standard était de 64 bits. Depuis 2000 et le concours AES, le standard est de 128 bits.
Fonction de hachageQuand il s'agit de mettre dans un tableau de taille raisonnable (typiquement résidant dans la mémoire principale de l'ordinateur) un ensemble de données de taille variable et arbitraire, on utilise une fonction de hachage pour attribuer à ces données des indices de ce tableau. Par conséquent, une fonction de hachage est une fonction qui associe des valeurs de taille fixe à des données de taille quelconque. Les valeurs renvoyées par une fonction de hachage sont appelées valeurs de hachage, codes de hachage, résumés, signatures ou simplement hachages.
Modèle de l'oracle aléatoireEn cryptologie, le modèle de l'oracle aléatoire est un cadre théorique idéalisé dans lequel on peut prouver la sécurité de certains algorithmes cryptographiques, en particulier les signatures numériques. Il postule l'existence d'un oracle, c'est-à-dire d'une boîte noire, qu'un adversaire peut interroger et qui fournit une réponse « aléatoire », dans un sens précisé plus bas. Ce modèle essaie de capturer le comportement idéal d'une fonction de hachage cryptographique.
HMACUn HMAC (en anglais parfois étendu en tant que keyed-hash message authentication code (code d'authentification de message de hachage à clé) ou hash-based message authentication code (code d'authentification de message basé sur le hachage)), est un type de code d'authentification de message (CAM), ou MAC en anglais (message authentication code), calculé en utilisant une fonction de hachage cryptographique en combinaison avec une clé secrète. Comme avec n'importe quel CAM, il peut être utilisé pour vérifier simultanément l'intégrité de données et l'authenticité d'un message.