Cryptosystème de ElGamalLe cryptosystème d'ElGamal, ou chiffrement El Gamal (ou encore système d'El Gamal) est un protocole de cryptographie asymétrique inventé par Taher Elgamal en 1984 et construit à partir du problème du logarithme discret. Ce protocole est utilisé par le logiciel libre GNU Privacy Guard dont les versions récentes implémentent jusqu'à sa version sur les courbes elliptiques. Contrairement au chiffrement RSA, il n’a jamais été sous la protection d’un brevet.
Fonction de hachage parfaitdroite|vignette|240x240px| Une fonction de hachage parfait pour les quatre noms John Smith, Lisa Smith, Sam Doe et Sandra Dee. droite|vignette|240x240px| Une fonction de hachage parfait minimal pour les quatre noms John Smith, Lisa Smith, Sam Doe et Sandra Dee. En informatique, une fonction de hachage parfait h pour un ensemble S est une fonction de hachage qui associe des éléments distincts de S à un ensemble de m entiers, sans collisions. En termes mathématiques, c'est une fonction injective.
CryptosystèmeUn cryptosystème est un terme utilisé en cryptographie pour désigner un ensemble composé d'algorithmes cryptographiques et de tous les textes en clair, textes chiffrés et clés possibles (définition de Bruce Schneier). Cette dénomination est toutefois ambiguë, car très souvent associée à la cryptographie asymétrique avec l'utilisation d'une clé privée et d'une clé publique pour les opérations de chiffrement et de déchiffrement.
Hachage universelEn mathématiques et en informatique, le hachage universel, en anglais universal hashing, (dans un algorithme probabiliste ou un bloc de données) est une méthode qui consiste à sélectionner aléatoirement une fonction de hachage dans une famille de fonctions de hachages qui ont certaines propriétés mathématiques. Cela permet de minimiser la probabilité de collision de hachage. Plusieurs familles de fonctions de hachages sont connues (pour hacher des entiers, des chaînes de caractères ou des vecteurs), et leur calcul est souvent très efficace.
Code d'authentification de messagethumb|upright=1.8|Schéma de principe d'un code d'authentification de message Un code d'authentification de message (CAM), souvent désigné par son sigle anglais MAC (de message authentication code) est un code accompagnant des données dans le but d'assurer l'intégrité de ces dernières, en permettant de vérifier qu'elles n'ont subi aucune modification, après une transmission par exemple. Le concept est relativement semblable aux fonctions de hachage. Il s’agit ici aussi d’algorithmes qui créent un petit bloc authentificateur de taille fixe.
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.
Permutation aléatoireUne permutation aléatoire de taille N, est une permutation prise de manière uniforme dans l'ensemble des permutations de taille N. De nombreux paramètres ont été étudiés sur les permutations aléatoires, par exemple, le nombre moyen de points fixes ou la longueur des cycles. Plusieurs algorithmes existent pour générer des permutations aléatoires à partir d'un générateur de nombres aléatoires, par exemple le mélange de Fisher-Yates. Soit une suite de variables aléatoires i.i.d.
Malléabilité (cryptographie)La malléabilité est une propriété que peuvent posséder des protocoles cryptographiques. Un cryptosystème est dit malléable s’il est possible de transformer un chiffré d’un message m en un chiffré pour un message f(m) pour une fonction f connue sans connaître le message originel m ni obtenir d’information sur lui. Cette propriété n’est pas toujours désirable, puisqu’elle peut permettre à un attaquant de modifier le contenus de messages.
Attack modelIn cryptanalysis, attack models or attack types are a classification of cryptographic attacks specifying the kind of access a cryptanalyst has to a system under attack when attempting to "break" an encrypted message (also known as ciphertext) generated by the system. The greater the access the cryptanalyst has to the system, the more useful information they can get to utilize for breaking the cypher. In cryptography, a sending party uses a cipher to encrypt (transform) a secret plaintext into a ciphertext, which is sent over an insecure communication channel to the receiving party.
Lattice-based cryptographyLattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions are currently important candidates for post-quantum cryptography. Unlike more widely used and known public-key schemes such as the RSA, Diffie-Hellman or elliptic-curve cryptosystems — which could, theoretically, be defeated using Shor's algorithm on a quantum computer — some lattice-based constructions appear to be resistant to attack by both classical and quantum computers.