Signature numériqueLa signature numérique est un mécanisme permettant d'authentifier l'auteur d'un document électronique et d'en garantir la non-répudiation, par analogie avec la signature manuscrite d'un document papier. Elle se différencie de la signature écrite par le fait qu'elle n'est pas visuelle, mais correspond à une suite de caractères. Elle ne doit pas être confondue avec la signature électronique manuscrite. Un mécanisme de signature numérique doit présenter les propriétés suivantes : Il doit permettre au lecteur d'un document d'identifier la personne ou l'organisme qui a apposé sa signature (propriété d'identification).
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.
Chosen-ciphertext attackA chosen-ciphertext attack (CCA) is an attack model for cryptanalysis where the cryptanalyst can gather information by obtaining the decryptions of chosen ciphertexts. From these pieces of information the adversary can attempt to recover the hidden secret key used for decryption. For formal definitions of security against chosen-ciphertext attacks, see for example: Michael Luby and Mihir Bellare et al. A number of otherwise secure schemes can be defeated under chosen-ciphertext attack.
Primitive cryptographiqueUne primitive cryptographique est un algorithme cryptographique de bas niveau, bien documenté, et sur la base duquel est bâti tout système de sécurité informatique. Ces algorithmes fournissent notamment des fonctions de hachage cryptographique et de chiffrement. À la création d’un système cryptographique (ou cryptosystème), le concepteur se fonde sur des briques appelées « primitives cryptographiques ». Pour cette raison les primitives cryptographiques sont conçues pour effectuer une tâche précise et ce de la façon la plus fiable possible.
Cryptographiethumb|La machine de Lorenz utilisée par les nazis durant la Seconde Guerre mondiale pour chiffrer les communications militaires de haut niveau entre Berlin et les quartiers-généraux des différentes armées. La cryptographie est une des disciplines de la cryptologie s'attachant à protéger des messages (assurant confidentialité, authenticité et intégrité) en s'aidant souvent de secrets ou clés. Elle se distingue de la stéganographie qui fait passer inaperçu un message dans un autre message alors que la cryptographie rend un message supposément inintelligible à autre que qui de droit.
Cryptographie asymétriquevignette|320x320px|Schéma du chiffrement asymétrique: une clé sert à chiffrer et une seconde à déchiffrer La cryptographie asymétrique, ou cryptographie à clé publique est un domaine relativement récent de la cryptographie. Elle permet d'assurer la confidentialité d'une communication, ou d'authentifier les participants, sans que cela repose sur une donnée secrète partagée entre ceux-ci, contrairement à la cryptographie symétrique qui nécessite ce secret partagé préalable.
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.
Chosen-plaintext attackA chosen-plaintext attack (CPA) is an attack model for cryptanalysis which presumes that the attacker can obtain the ciphertexts for arbitrary plaintexts. The goal of the attack is to gain information that reduces the security of the encryption scheme. Modern ciphers aim to provide semantic security, also known as ciphertext indistinguishability under chosen-plaintext attack, and they are therefore, by design, generally immune to chosen-plaintext attacks if correctly implemented.
Protocole cryptographiqueUn protocole de sécurité (protocole cryptographique ou protocole de chiffrement) est un protocole abstrait ou concret qui remplit une fonction liée à la sécurité et applique des méthodes cryptographiques, souvent sous forme de séquences de primitives cryptographiques. Un protocole décrit comment les algorithmes doivent être utilisés et inclut des détails sur les structures de données et les représentations, à quel point il peut être utilisé pour implémenter plusieurs versions interopérables d'un programme.
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.
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.