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. Il faut dès lors remplir les cases manquantes et on utilise pour cela du texte aléatoire destiné à rendre l'analyse plus pénible. En cryptographie moderne, le remplissage apparaît dans plusieurs primitives et concepts : chiffrement par bloc : le remplissage permet d'avoir un bloc de la taille adéquate si celui-ci est trop court (par exemple en ajoutant des 0) ; chiffrement par flot : le remplissage peut éviter d'avoir une longueur par flot susceptible d'être attaquée, cela évite aussi que l'attaquant ne connaisse la taille du flux ; cryptographie asymétrique : les cryptosystèmes prennent en entrée des données qui ne sont pas nécessairement des chaînes de bits, par exemple pour le chiffrement RSA, le message à chiffrer est un entier modulaire devant vérifiant des propriétés supplémentaires afin de résister à certaines attaques. Lors de l’encodage du message réel (sous la forme une chaîne de bits) dans l’ensemble voulu (pour RSA un entier modulaire), un remplissage est effectué pour garantir que l’entrée n’est pas vulnérable aux attaques ; fonction de hachage : la plupart des fonctions découpent les données en blocs de taille fixe et le dernier bloc doit être rempli de manière adéquate. Le remplissage doit suivre certaines contraintes pour éviter des attaques. Dans le cadre des fonctions de hachage, on peut appliquer un renforcement de Merkle-Damgård qui consiste à ajouter un 1, une suite de 0 et finalement la taille du message à hacher.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (3)
COM-401: Cryptography and security
This course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how
CS-523: Advanced topics on privacy enhancing technologies
This advanced course will provide students with the knowledge to tackle the design of privacy-preserving ICT systems. Students will learn about existing technologies to prect privacy, and how to evalu
PHYS-758: Advanced Course on Quantum Communication
The aim of this doctoral course by Nicolas Sangouard is to lay the theoretical groundwork that is needed for students to understand how to take advantage of quantum effects for communication technolog