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.
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.
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.
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.
Transport Layer SecurityLa Transport Layer Security (TLS) ou « Sécurité de la couche de transport », et son prédécesseur la Secure Sockets Layer (SSL) ou « Couche de sockets sécurisée », sont des protocoles de sécurisation des échanges par réseau informatique, notamment par Internet. Le protocole SSL a été développé à l'origine par Netscape Communications Corporation pour son navigateur Web. L'organisme de normalisation Internet Engineering Task Force (IETF) en a poursuivi le développement en le rebaptisant Transport Layer Security (TLS).
Groupe de permutationsEn théorie des groupes (mathématiques), un groupe de permutations d'un ensemble X est par définition un sous-groupe du groupe symétrique SX. On parle d'un groupe de permutations de X ou, s'il n'est pas nécessaire de préciser l'ensemble X, d'un groupe de permutations. Pour un ensemble X, nous désignerons ici par SX et nous appellerons groupe symétrique de X l'ensemble des permutations de X, muni de la loi de groupe ∘ définie par f ∘ g : X → X, x ↦ f(g(x)). Cette définition convient à l'étude des actions à gauche d'un groupe sur un ensemble.
Réseau de FeistelUn réseau de Feistel est une construction utilisée dans les algorithmes de chiffrement par bloc, nommée d'après le cryptologue d'IBM, Horst Feistel. Elle a été utilisée pour la première fois dans Lucifer et DES. Cette structure offre plusieurs avantages, le chiffrement et le déchiffrement ont une architecture similaire voire identique dans certains cas. L'implémentation matérielle est aussi plus facile avec un tel système même si les choses ont passablement changé depuis la fin des années 1970.
Circuit intégréLe circuit intégré (CI), aussi appelé puce électronique, est un composant électronique, basé sur un semi-conducteur, reproduisant une ou plusieurs fonctions électroniques plus ou moins complexes, intégrant souvent plusieurs types de composants électroniques de base dans un volume réduit (sur une petite plaque), rendant le circuit facile à mettre en œuvre. Il existe une très grande variété de ces composants divisés en deux grandes catégories : analogique et numérique.
Advanced Encryption StandardAdvanced Encryption Standard ou AES ( « norme de chiffrement avancé »), aussi connu sous le nom de Rijndael, est un algorithme de chiffrement symétrique. Il remporta en octobre 2000 le concours AES, lancé en 1997 par le NIST et devint le nouveau standard de chiffrement pour les organisations du gouvernement des États-Unis. Il a été approuvé par la NSA (National Security Agency) dans sa suite B des algorithmes cryptographiques. Il est actuellement le plus utilisé et le plus sûr.
Réseau de substitution-permutationvignette|Représentation d'un réseau de substitution-permutation en 3 rounds avec le texte en clair (noté PLAINTEXT), la clé de chiffrement (notée KEY) et le texte chiffré (noté CIPHERTEXT). En cryptographie, un réseau de permutation-substitution (SPN en anglais) est une architecture utilisée dans les chiffrements par bloc comme AES. Elle consiste en une série de transformations mathématiques sur le bloc en clair en entrée pour produire un bloc chiffré en sortie.
Galois/Counter ModeGalois/Counter Mode (GCM) est un mode d'opération de chiffrement par bloc en cryptographie symétrique. Il est relativement répandu en raison de son efficacité et de ses performances. Les débits de GCM sur des canaux de communication haut débit peuvent être effectués avec des ressources matérielles raisonnables. C'est un algorithme de chiffrement authentifié conçu pour fournir à la fois l'intégrité et l'authenticité des données, ainsi que la confidentialité.
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.
LibreSSLLibreSSL est une boîte à outils de chiffrement implémentant les protocoles SSL et TLS et résultant d'un fork de la populaire OpenSSL par le projet OpenBSD à la suite de la découverte de la faille Heartbleed en . Dans un premier temps, LibreSSL s'est orienté avant tout vers OpenBSD, afin d’accroitre l’efficacité de l'audit et des corrections, pour ensuite étendre la portabilité vers d'autres systèmes.
Camellia (algorithme)Camellia est un algorithme de chiffrement symétrique par blocs de 128 bits, conçu pour fonctionner avec des clés de 128, 192 et 256 bits. Tous les six tours, une transformation nommée « FL-function » est appliquée. Il a été développé conjointement par la Nippon Telegraph and Telephone Corporation et Mitsubishi Electric Corporation en 2000 sur la base de l'algorithme E2 ayant participé au concours AES. Camellia a été sélectionné et recommandé par le projet NESSIE de l'Union européenne, c'est l'un des standards de chiffrement du gouvernement japonais.
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.
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
RC4RC4 (Rivest Cipher 4) est un algorithme de chiffrement en continu conçu en 1987 par Ronald Rivest, l'un des inventeurs du RSA, pour les Laboratoires RSA. Il est supporté par différentes normes, par exemple dans TLS (anciennement SSL) ou encore WEP. RC4 a été conçu par Ronald Rivest de RSA Security en 1987. Officiellement nommé Rivest Cipher 4, l'acronyme RC est aussi surnommé Ron's Code comme dans le cas de RC2, RC5 et RC6. Les détails de RC4 furent initialement tenus secrets mais en 1994, une description du chiffrement fut postée de manière anonyme sur la liste de diffusion Cypherpunks .
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Clé de chiffrementUne clé est un paramètre utilisé en entrée d'une opération cryptographique (chiffrement, déchiffrement, scellement, signature numérique, vérification de signature). Une clé de chiffrement peut être symétrique (cryptographie symétrique) ou asymétrique (cryptographie asymétrique). Dans le premier cas, la même clé sert à chiffrer et à déchiffrer. Dans le second cas on utilise deux clés différentes, la clé publique est utilisée au chiffrement alors que celle servant au déchiffrement est gardée secrète : la clé secrète, ou clé privée, et ne peut pas se déduire de la clé publique.
Application-specific integrated circuitvignette|Un ASIC. Un ASIC (acronyme de l'anglais application-specific integrated circuit, littéralement « circuit intégré propre à une application ») est un circuit intégré spécialisé. En général, il regroupe sur la même puce un ou sur mesure. thumb|Autre exemple de puce ASIC. L'intérêt de l'intégration est de réduire les coûts de production et d'augmenter la fiabilité. Avantage pour le maître d'œuvre : un contrôle total du produit et un coût de production réduit.