Résumé
En 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é. Le chiffrement de plusieurs fichiers avec la même clé nécessite des précautions lors de la création des vecteurs d'initialisation. Il faut en particulier veiller à ne pas être vulnérable à une attaque basée sur une simple opération booléenne avec XOR. Soit C1 et C2, deux messages chiffrés grâce à un chiffrement par flot (XOR entre les données et une suite pseudo-aléatoire générée par l'algorithme). La même clé et le même vecteur d'initialisation sont utilisés pour chiffrer les deux messages originaux M1 et M2. On peut alors établir la relation suivante qui permet de retrouver facilement les deux messages en clair : C1 XOR C2 = M1 XOR M2 C'est pourquoi on utilise des vecteurs d'initialisation différents à chaque chiffrement. Si ce n'est pas la même clé qui est utilisée, la relation ci-dessus ne tient plus. Les modes d'opération permettent de chaîner plusieurs blocs et traiter des données de longueur quelconque. Le mode le plus simple, ECB découpe les données en blocs et les traite indépendamment les uns des autres. ECB n'utilise pas de vecteur d'initialisation. Considérons les deux messages suivants : ATTENTION AUX ATTAQUES EN CRYPTO et ATTENDEZ ENCORE UN INSTANT SVP.. chiffrés avec un algorithme par blocs (avec des blocs de quatre caractères) On découpe en blocs de quatre caractères et on chiffre chaque bloc sans se préoccuper des autres : ATTE|NTIO|N AU|X AT|TAQU|ES E|N CR|YPTO UAKQ|LYLS|QP9M|PO3F|AP0R|ITBV|D5TH|JJDC On effectue la même opération avec la même clé sur l'autre texte : ATTE|NDEZ| ENC|ORE |UN I|NSTA|NT S|VP.
À 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 (4)
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
COM-301: Computer security and privacy
This is an introductory course to computer security and privacy. Its goal is to provide students with means to reason about security and privacy problems, and provide them with tools to confront them.
COM-501: Advanced cryptography
This course reviews some failure cases in public-key cryptography. It introduces some cryptanalysis techniques. It also presents fundamentals in cryptography such as interactive proofs. Finally, it pr
Afficher plus
Séances de cours associées (33)
Chiffrement symétrique : Formalisme et sécurité
Explore les aspects de formalisme et de sécurité des systèmes de chiffrement symétrique, y compris les chiffrements par bloc, le chiffrement à longueur variable et les définitions de sécurité.
Bloquer les ciphers: Modes et sécurité WiFi
Explore les chiffrements de blocs, les chiffrements de flux et les vulnérabilités de sécurité WiFi, en soulignant l'importance du chiffrement dans la communication moderne.
Chiffrement symétrique : DES et AES
Explore le cryptage DES et AES, discutant des clés faibles, des attaques, de la structure AES, de l'importance IV et de divers modes de fonctionnement pour un cryptage sécurisé.
Afficher plus
Publications associées (35)
Concepts associés (13)
Transport Layer Security
La 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).
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.
RC4
RC4 (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 .
Afficher plus