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.
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).
Protocole de communicationDans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier. Initialement, on nommait protocole ce qui est utilisé pour communiquer sur une même couche d'abstraction entre deux machines différentes. Par extension de langage, on utilise parfois ce mot aussi aujourd'hui pour désigner les règles de communication entre deux couches sur une même machine.
Attaque temporelleEn cryptanalyse, une attaque temporelle consiste à estimer et analyser le temps mis pour effectuer certaines opérations cryptographiques dans le but de découvrir des informations secrètes. Certaines opérations peuvent prendre plus de temps que d'autres et l'étude de ces informations temporelles peut être précieuse pour le cryptanalyste. La mise en œuvre de ce genre d'attaque est intimement liée au matériel ou au logiciel attaqué. Des attaques temporelles peuvent aussi se faire à distance, via un réseau.
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.
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.
Attaque par canal auxiliaireDans le domaine de la sécurité informatique, une attaque par canal auxiliaire ( ou SCA) est une attaque informatique qui, sans remettre en cause la robustesse théorique des méthodes et procédures de sécurité, recherche et exploite des failles dans leur implémentation, logicielle ou matérielle. En effet, une sécurité « mathématique » ne garantit pas forcément une sécurité lors de l'utilisation en « pratique ». Une attaque est considérée comme utile dès lors qu'elle présente des performances supérieures à une attaque par force brute.
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é.
Orienté connexionDans les télécommunications, l'orienté connexion décrit un moyen de transmettre des données dans lequel : les appareils à chaque extrémité, utilisent un protocole préliminaire pour établir une connexion de bout en bout avant que les données soient envoyées ; les données sont envoyées le long d'un même chemin pendant la communication. Le service offert par un protocole orienté connexion est souvent, mais pas toujours, un service réseau « fiable », qui fournit la garantie que les données arriveront dans le bon ordre.
Remplissage (cryptographie)En cryptographie, le remplissage ou bourrage (padding) consiste à faire en sorte que la taille des données soit compatible avec les algorithmes utilisés. Un grand nombre de schémas cryptographiques décrivent des algorithmes qui utilisent un partitionnement en blocs de taille fixe. Si la taille des données n'est pas un multiple de la taille d'un bloc alors l’utilisation d’un schéma de remplissage doit être envisagé. Plusieurs algorithmes classiques placent le texte en clair dans des grilles rectangulaires ou carrées.
GnuTLSGnuTLS (prononcé , GNU Transport Layer Security Library) est une implémentation libre des protocoles SSL et TLS. GnuTLS est distribué sous la forme d'une bibliothèque (libgnutls) permettant au programme qui l'utilise de disposer de protocoles de communication sécurisée, et de diverses interfaces en ligne de commande (dont gnutls-cli, gnutls-serv et gnutls-cli-debug). La bibliothèque libgnutls fournit les fonctionnalités suivantes : Protocoles SSL 3.0, DTLS, TLS 1.0, TLS 1.1, TLS 1.2 et TLS 1.
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.
OpenSSLOpenSSL est une boîte à outils de chiffrement comportant deux bibliothèques, libcrypto et libssl, fournissant respectivement une implémentation des algorithmes cryptographiques et du protocole de communication SSL/TLS, ainsi qu'une interface en ligne de commande, openssl. Développée en C, OpenSSL est disponible sur les principaux systèmes d'exploitation et dispose de nombreux wrappers ce qui la rend utilisable dans une grande variété de langages informatiques. En 2014, deux tiers des sites Web l'utilisaient.
Transmission en mode sans connexionDans un réseau à commutation de paquets, la transmission en mode non-connecté ou transmission en mode sans-connexion est une transmission de données dans laquelle chaque paquet est préfixé par un entête contenant une adresse de destination, suffisante pour permettre la livraison autonome du paquet, sans recours à d'autres instructions. Un paquet transmis en mode non-connecté est fréquemment appelé un datagramme. Dans une communication orientée connexion, les stations qui sont prêtes à échanger des données doivent d'abord se déclarer comme voulant effectivement le faire.
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.
CryptanalyseLa cryptanalyse est la technique qui consiste à déduire un texte en clair d’un texte chiffré sans posséder la clé de chiffrement. Le processus par lequel on tente de comprendre un message en particulier est appelé une attaque. Une attaque est généralement caractérisée selon les données qu'elle nécessite : attaque sur texte chiffré seul (ciphertext-only en anglais) : le cryptanalyste possède des exemplaires chiffrés des messages, il peut faire des hypothèses sur les messages originaux qu'il ne possède pas.
Meet-in-the-middle attackThe meet-in-the-middle attack (MITM), a known plaintext attack, is a generic space–time tradeoff cryptographic attack against encryption schemes that rely on performing multiple encryption operations in sequence. The MITM attack is the primary reason why Double DES is not used and why a Triple DES key (168-bit) can be brute-forced by an attacker with 256 space and 2112 operations. When trying to improve the security of a block cipher, a tempting idea is to encrypt the data several times using multiple keys.
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 .
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é.
Block codeIn coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract definition of block codes is conceptually useful because it allows coding theorists, mathematicians, and computer scientists to study the limitations of all block codes in a unified way.