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.
Chiffrement par transpositionvignette|Chiffrement double transposition (par colonnes) Un chiffrement par transposition (ou chiffrement par permutation) est un chiffrement qui consiste à changer l'ordre des lettres, donc à construire des anagrammes. Cette méthode est connue depuis l'Antiquité, puisque les Spartiates utilisaient déjà une scytale. Le chiffrement par transposition demande de découper le texte clair en blocs de taille identique. La même permutation est alors utilisée sur chacun des blocs.
Chiffrement par substitutionvignette|Exemple de chiffrement par substitution: le chiffre de César. Le chiffrement par substitution est une technique de chiffrement utilisée depuis bien longtemps puisque le chiffre de César en est un cas particulier. Sans autre précision, elle désigne en général un chiffrement par substitution monoalphabétique, qui consiste à substituer dans un message chacune des lettres de l'alphabet par une autre (du même alphabet ou éventuellement d'un autre alphabet), par exemple, ainsi que procédait César a par d, b par e et ainsi de suite.
Chiffrement par décalageEn cryptographie, le chiffrement par décalage, aussi connu comme le chiffre de César ou le code de César (voir les différents noms), est une méthode de chiffrement très simple utilisée par Jules César dans ses correspondances secrètes (ce qui explique le nom « chiffre de César »). Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à droite), on reprend au début.
Chiffre (cryptologie)En cryptologie, un chiffre est une manière secrète d'écrire un message à transmettre, au moyen de caractères et de signes disposés selon une convention convenue au préalable. Plus précisément, le chiffre est l’ensemble des conventions et des symboles (lettres, nombres, signes, etc.) employés pour remplacer chaque lettre du message à rendre secret. Avec un chiffre, on transforme un message en clair en message en chiffres, ou message chiffré, ou encore cryptogramme.
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.
Polyalphabetic cipherA polyalphabetic cipher is a substitution, using multiple substitution alphabets. The Vigenère cipher is probably the best-known example of a polyalphabetic cipher, though it is a simplified special case. The Enigma machine is more complex but is still fundamentally a polyalphabetic substitution cipher. The work of Al-Qalqashandi (1355–1418), based on the earlier work of Ibn al-Durayhim (1312–1359), contained the first published discussion of the substitution and transposition of ciphers, as well as the first description of a polyalphabetic cipher, in which each plaintext letter is assigned more than one substitute.
CryptogrammeUn cryptogramme est une énigme basée sur un message chiffré. On en trouve principalement dans les médias imprimés comme les livres, les magazines ou les journaux. Le chiffrement est souvent simple, comme une substitution (Chiffre de César) ou une permutation des lettres, le but du jeu étant de retrouver le message en « clair ». Parmi les méthodes possibles, l'analyse fréquentielle d'apparition des lettres est celle qui est privilégiée si le chiffrement est une simple substitution (substitution monoalphabétique).
Texte en clairEn cryptographie, un texte en clair (ou message clair) désigne une information non chiffrée. Il s'oppose à un rendu inintelligible par un processus de chiffrement à toute personne non autorisée. Ces termes s'applique à la fois à une donnée stockée ou en transmission. Il est généralement utilisé pour décrire la donnée en entrée d'un chiffre, mais sert également dans le domaine de la cryptanalyse pour les attaques à texte clair connu et texte clair choisi. Appliquer un chiffrement à un texte en clair permet d'assurer sa confidentialité.
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.
Analyse fréquentielleL’analyse fréquentielle, ou analyse de fréquences, est une méthode de cryptanalyse dont la description la plus ancienne est réalisée par Al-Kindi au . Elle consiste à examiner la fréquence des lettres employées dans un message chiffré. Cette méthode est fréquemment utilisée pour décoder des messages chiffrés par substitution, dont un exemple très simple est le chiffre de César. L'analyse fréquentielle est basée sur le fait que, dans chaque langue, certaines lettres ou combinaisons de lettres apparaissent avec une certaine fréquence.
Chiffrement de fluxvignette|Schéma du A5/1 et ses trois registres à décalage, un chiffrement par flot utiliser pour chiffrer les communications téléphoniques mobiles. Le chiffrement de flux, chiffrement par flot ou chiffrement en continu (en anglais stream cipher) est une des deux grandes catégories de chiffrements modernes en cryptographie symétrique, l'autre étant le chiffrement par bloc. Un chiffrement par flot arrive à traiter les données de longueur quelconque et n'a pas besoin de les découper.
Vecteur d'initialisationEn cryptographie, un vecteur d'initialisation (en anglais initialization vector ou IV) est un bloc de bits combiné avec le premier bloc de données lors d'une opération de chiffrement. Il est utilisé dans le cadre des modes d'opération d'un algorithme de chiffrement symétrique par blocs ou pour un chiffrement par flux comme RC4. Dans certains cryptosystèmes, le vecteur est généré de manière aléatoire puis transmis en clair avec le reste du message. Dans d'autres systèmes, on peut utiliser une métadonnée comme le numéro de inode du fichier chiffré.
Longueur de cléEn cryptologie, la longueur de clé ( ou key length) est la taille mesurée en bits de la clé de chiffrement (ou de signature) utilisée par un algorithme de chiffrement. La longueur de la clé est différente de la sécurité cryptographique, qui est la mesure de l'attaque la plus rapide contre un algorithme, aussi mesurée en bits. La sécurité évaluée d'un cryptosystème ne peut pas dépasser sa longueur de clé (étant donné que tout algorithme peut être cassé par force brute), mais elle peut être plus petite.
Masque jetableLe masque jetable, également appelé chiffre de Vernam, est un algorithme de cryptographie inventé par Gilbert Vernam en 1917 et perfectionné par Joseph Mauborgne, qui rajouta la notion de clé aléatoire. Cependant, le banquier américain Frank Miller en avait posé les bases dès 1882. Bien que simple, facile et rapide, tant pour le codage que pour le décodage, ce chiffrement est théoriquement impossible à casser, mais le fait que le masque soit à usage unique impose de le transmettre au préalable par un "autre moyen", ce qui soulève des difficultés de mise en œuvre pour la sécurisation des échanges sur Internet.
Cryptographie symétriquevignette|320x320px|Schéma du chiffrement symétrique: la même clé est utilisée pour le chiffrement et le déchiffrement La cryptographie symétrique, également dite à clé secrète (par opposition à la cryptographie asymétrique), est la plus ancienne forme de chiffrement. Elle permet à la fois de chiffrer et de déchiffrer des messages à l'aide d'un même mot clé. On a des traces de son utilisation par les Égyptiens vers 2000 av. J.-C. Plus proche de nous, on peut citer le chiffre de Jules César, dont le ROT13 est une variante.
Data Encryption StandardLe Data Encryption Standard (DES, prononcer //) est un algorithme de chiffrement symétrique (chiffrement par bloc) utilisant des clés de 56 bits. Son emploi n'est plus recommandé aujourd'hui, du fait de sa lenteur à l'exécution et de son espace de clés trop petit permettant une attaque systématique en un temps raisonnable. Quand il est encore utilisé c'est généralement en Triple DES, ce qui ne fait rien pour améliorer ses performances. DES a notamment été utilisé dans le système de mots de passe UNIX.
Enigma (machine)vignette|Logo d’Enigma.|alt=« ENIGMA » en bleu sur fond noir dans un ovale. La taille des lettres suit la forme de l’ovale. vignette|Enigma, machine de chiffrement électromécanique à cylindres ; la version ci-dessus est un modèle militaire suisse, avec console de lecture supplémentaire. vignette|Tableau de permutations. Enigma est une machine électromécanique portative servant au chiffrement et au déchiffrement de l'information. Elle fut inventée par l'Allemand Arthur Scherbius, reprenant un brevet du Néerlandais Hugo Koch, datant de 1919.
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.
Générateur de nombres pseudo-aléatoiresUn générateur de nombres pseudo-aléatoires, pseudorandom number generator (PRNG) en anglais, est un algorithme qui génère une séquence de nombres présentant certaines propriétés du hasard. Par exemple, les nombres sont supposés être suffisamment indépendants les uns des autres, et il est potentiellement difficile de repérer des groupes de nombres qui suivent une certaine règle (comportements de groupe). Un algorithme déterministe génère des suites de nombres qui ne peuvent pas satisfaire complètement les critères mathématiques qualifiant les suites aléatoires.