Fondements de la sécurité - Chap2_FonSéc PDF
Document Details
ISIM Gabès
Akram Belazi
Tags
Summary
This document provides an overview of different security concepts within cryptography and cryptanalysis, suitable for an undergraduate Information Technology course. It covers various topics from different types of encryption schemes to attack types and security measures.
Full Transcript
Fondements de la sécurité Chapitre 2 : Cryptographie et Cryptanalyse Formation : Licence en Technologies de l’information et des Télécommunications Akram Belazi ISIM Gabès A.U : 2023-202...
Fondements de la sécurité Chapitre 2 : Cryptographie et Cryptanalyse Formation : Licence en Technologies de l’information et des Télécommunications Akram Belazi ISIM Gabès A.U : 2023-2024.................... Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc....................................... Akram Belazi | ISIM Gabès 2. Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc....................................... Akram Belazi | ISIM Gabès 3. Types de classification Les algorithmes de cryptage peuvent être classifiés selon plusieurs critères, notamment : Le nombre de clés utilisées : ◦ Cryptosystème à clé privée (symétrique) : Utilisation d’une seule clé pour le chiffrement et le déchiffrement. ◦ Cryptosystème à clé publique (asymétrique) : Utilisation de deux clés dis- tinctes, l’une pour le chiffrement et l’autre pour le déchiffrement. Type d’opération utilisée : ◦ Substitution : Modification des symboles du texte clair par d’autres symboles. ◦ Transposition : Réarrangement des symboles du texte clair. ◦ Combinaison des deux : Utilisation simultanée de la substitution et de la transposition. La façon dont le texte en clair est traité : ◦ Mode bloc : Traitement du texte en clair par blocs distincts. ◦ Mode flux (stream) : Traitement du texte en clair de manière continue, sym- bole par symbole........................................ Akram Belazi | ISIM Gabès 4. Cryptage symétrique Utilise une seule clé pour le chiffrement et le déchiffrement. Assure la confidentialité des données échangées. Exemples d’algorithmes : DES, AES, IDEA. Nécessite une distribution sécurisée de la clé entre les parties autorisées. Largement utilisé pour assurer la confidentialité des données dans diverses appli- cations et protocoles de sécurité........................................ Akram Belazi | ISIM Gabès 5. Terminologie basique Plaintext : La forme originale du message non chiffré. Ciphertext : La version chiffrée du message résultant du processus de chiffrement. Chiffrement ou cryptage : Le procédé de conversion du plaintext en ciphertext. Déchiffrement ou décryptage : Le procédé de conversion du ciphertext en plain- text. Cryptographie : La discipline académique consacrée à l’étude des méthodes de chiffrement, souvent qualifiée de science des messages secrets. Cryptanalyse : La branche de la cryptologie qui se concentre sur l’étude des tech- niques visant à compromettre les algorithmes de chiffrement. Cryptologie : Le domaine englobant à la fois la cryptographie (chiffrement) et la cryptanalyse (analyse des méthodes de chiffrement)........................................ Akram Belazi | ISIM Gabès 6. Modèle simplifié du cryptage symétrique....................................... Akram Belazi | ISIM Gabès 7. Modèle du cryptage symétrique....................................... Akram Belazi | ISIM Gabès 8. Cryptanalyse La cryptanalyse vise principalement à retrouver la clé secrète plutôt qu’à simplement récupérer le plaintext. Les deux approches principales pour atteindre cet objectif sont les suivantes : Brute Force Attack (Attaque à force brute) : ◦ Consiste à essayer toutes les combinaisons possibles de clés sur un ciphertext jusqu’à trouver la bonne. ◦ En moyenne, cette méthode nécessite d’essayer au moins la moitié des clés disponibles pour réussir à compromettre un cryptosystème. Cryptanalytic Attack (Attaque cryptanalytique) : ◦ Cette approche plus avancée s’appuie sur une compréhension approfondie tant de l’algorithme de chiffrement que du traitement réservé au plaintext. ◦ Exploite des connaissances spécifiques sur le fonctionnement interne de l’al- gorithme pour cibler des faiblesses potentielles........................................ Akram Belazi | ISIM Gabès 9. Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 10 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 11 Acquisition d’informations : Vulnérabilités théoriques Étape ”on-line” COA (Ciphertext-Only Attack) : ◦ Attaque basée sur l’analyse de plusieurs messages chiffrés sans accès au plain- text correspondant. ◦ L’attaquant cherche à déduire des informations sur la clé de chiffrement en étudiant les modèles dans les ciphertexts. KPA (Known-Plaintext Attack) : ◦ Attaque où l’attaquant dispose de paires plaintext-ciphertext connues. ◦ Le but est de déterminer la clé de chiffrement en analysant ces paires pour identifier les relations entre le plaintext et le ciphertext. CPA (Chosen-Plaintext Attack) : ◦ Attaque où l’attaquant peut choisir délibérément le plaintext à chiffrer et ob- server le résultat (ciphertext). ◦ L’objectif est de récupérer la clé de chiffrement en exploitant les réponses du système de chiffrement aux plaintexts choisis. CCA (Chosen-Ciphertext Attack) : ◦ Attaque plus avancée où l’attaquant a également la possibilité de choisir des ciphertexts à déchiffrer. ◦ Vise à obtenir la clé de chiffrement en utilisant la capacité de déchiffrer des ciphertexts choisis de manière stratégique......................................... Akram Belazi | ISIM Gabès 12 Acquisition d’informations : Vulnérabilités liées aux aspects physiques Attaques par canal auxiliaire (Side Channel Attacks) Mesure du temps de cryptage/décryptage : Consiste à étudier la durée nécessaire pour effectuer certaines opérations de cryptage ou de décryptage. Fuites électromagnétiques : Implique la détection d’émissions de rayonnements électromagnétiques qui varient en fonction des opérations de cryptographie ef- fectuées. Analyse du comportement du processeur lors du calcul : Utilise le bruit acous- tique généré par le processeur pendant les calculs comme source d’information pour analyser le comportement. Analyse de la consommation d’énergie : Consiste à observer la consommation d’énergie du système. Une consommation accrue peut indiquer une charge de cal- cul importante, fournissant des informations potentielles sur la clé de chiffrement......................................... Akram Belazi | ISIM Gabès 13 Analyse, déduction et exploitation Étape ”off-line” Attaque à force brute : Essaie toutes les clés possibles pour récupérer le texte en clair à partir du cryptogramme. Attaque statistique : Estime la fréquence d’apparition des lettres dans un texte chiffré pour déduire des informations sur la clé ou le plaintext. Attaque algébrique : Recherche des représentations équivalentes du cryptosys- tème et exploite les linéarités existantes pour compromettre la sécurité du chiffre- ment. Cryptanalyse linéaire : Utilise une approximation linéaire de l’algorithme de chif- frement, en augmentant le nombre de couples de plaintext et de ciphertext pour améliorer l’approximation. Cryptanalyse différentielle : Étudie comment les différences entre les entrées d’un cryptosystème influent sur les différences de leurs sorties pour découvrir des vulnérabilités. Exploitation : Processus visant à estimer la clé et à déchiffrer l’ensemble des cryp- togrammes......................................... Akram Belazi | ISIM Gabès 14 Exemple d’attaque par force brute........................................ Akram Belazi | ISIM Gabès 15 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 16 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 17 Cesar Substitution de caractères : Implique le remplacement des caractères du plaintext par d’autres lettres, symboles ou bits. Algorithme de César : Méthode de substitution où chaque lettre du plaintext est remplacée par celle qui la suit de trois positions dans l’alphabet. Enroulement de l’alphabet : Pratique de réenrouler l’alphabet de sorte que la lettre qui suit Z soit A. Exemple : ◦ Plaintext : meet me after the toga party ◦ Cipher : PHHW PH DIWHU WKH WRJD SDUWB........................................ Akram Belazi | ISIM Gabès 18 Cesar (suite) La transformation de César peut être définie comme suit : abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC L’algorithme peut être exprimé comme suit : c = E(3, p) = (p + 3) mod 26 Le décalage peut être généralisé à n’importe quel nombre k. c = E(k, p) = (p + k) mod 26 Si k ∈ [1, 25], alors le processus de déchiffrement est le suivant : p = D(k, c) = (c − k) mod 26........................................ Akram Belazi | ISIM Gabès 19 Attaque par force brute sur l’algorithme de César Tester l’ensemble des 26 combinaisons possibles......................................... Akram Belazi | ISIM Gabès 20 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 21 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 22 Chiffrement monoalphabétique Le chiffrement monoalphabétique consiste à substituer chaque lettre du texte en clair de manière arbitraire, plutôt que par un simple décalage. La clé utilisée pour cette méthode est de longueur 26, avec un exemple de corres- pondance entre les lettres du texte en clair et les lettres du texte chiffré, tel que : Clair : a b c d e f g h i j k l m n o p q r s t u v w x y z Chiffré : D K V Q F I B J W P E S C X H T M Y A U O L R G Z N Exemple : Texte en clair : if we wish to replace letters Texte chiffré : WI RF RWAJ UH YFTSDVF SFUUFYA........................................ Akram Belazi | ISIM Gabès 23 La sécurité du chiffrement monoalphabétique. Bien que le chiffrement monoalphabétique offre un total de 26! (4 × 1026 ) clés potentielles. Il reste vulnérable à l’analyse de fréquence, comme démontré par Al-Kindy. La redondance inhérente au langage humain est une faiblesse exploitable. Dans des messages tels que ”th lrd s m shphrd shll nt wnt”, les configurations in- habituelles des lettres ne correspondent pas aux normes de la langue anglaise. En anglais, la lettre ”E” est la plus fréquemment utilisée, suivie par ”T”, ”R”, ”N”, ”I”, ”O”, ”A”, et ”S”. Des lettres moins fréquentes comme ”Z”, ”J”, ”K”, ”Q”, et ”X” sont rares. Les motifs tels que les doublets ou triplets de lettres présentent des fréquences spécifiques, facilitant une analyse cryptographique......................................... Akram Belazi | ISIM Gabès 24 Fréquences des lettres en anglais........................................ Akram Belazi | ISIM Gabès 25 Illustration d’une cryptanalyse Étant donné un texte chiffré : UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXU DBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSV PQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPF UPZHMDJUDTMOHMQ La fréquence de chaque lettre dans le texte chiffré est comptée. On peut conjecturer que P et Z correspondent respectivement à e et t. En faisant cette supposition, on peut également inférer que ZW représente th et par conséquent, ZWP serait équivalent à the. Si la séquence ZWSZ est remplacée par th*t, on peut déduire que S représente a. On poursuit la méthode d’essais et d’erreurs, et l’on identifie le texte en clair sui- vant : it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow........................................ Akram Belazi | ISIM Gabès 26 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 27 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 28 Playfair L’algorithme prééminent, conçu pour chiffrer simultanément plusieurs lettres, consi- dère les digrammes (paires de lettres) comme une unité et les transforme en di- grammes chiffrés. Fondé sur une matrice 5 × 5 utilisant un mot-clé. Inventé en 1854 par Sir Charles Wheatstone, érudit britannique. Employé par l’armée britannique pendant la Première Guerre mondiale et par les forces américaines et leurs alliés durant la Seconde Guerre mondiale......................................... Akram Belazi | ISIM Gabès 29 Matrice de Playfair Copier les lettres du mot-clé dans la matrice sans duplication. Compléter le reste de la matrice avec les lettres manquantes. Les lettres I et J sont traitées comme une seule lettre. Exemple : en utilisant le mot-clé MONARCHY......................................... Akram Belazi | ISIM Gabès 30 Cryptage de Playfair Effectuer des opérations sur des digrammes de lettres (paires de lettres) à chaque itération. Gérer le cas particulier où le digramme est composé de deux lettres identiques en les séparant par une lettre spéciale, par exemple, x. Par exemple, le mot balloon serait traité comme ba lx lo on. Si les lettres du plaintext se trouvent dans la même ligne, les remplacer par les lettres à leur droite. Par exemple, pq serait remplacé par QS, et ar serait remplacé par RM. Si les lettres du plaintext se trouvent dans la même colonne, les remplacer par les lettres situées en dessous. Par exemple, mu serait remplacé par CM. Dans les autres cas, remplacer les lettres par celles situées dans la même ligne que l’une et dans la même colonne que l’autre lettre du plaintext. Par exemple, hs serait remplacé par BP, et ea pourrait devenir IM ou JM......................................... Akram Belazi | ISIM Gabès 31 Sécurité de Playfair La sécurité est renforcée car il existe un total de 26 × 26 = 676 digrammes pos- sibles. Une analyse fréquentielle doit être effectuée sur 676 unités, plutôt que sur 26 comme dans le cas du chiffrement monoalphabétique. En conséquence, l’alphabet du ciphertext devient considérablement plus vaste. Toutefois, il peut être compromis si l’on dispose de connaissances sur une centaine de paires plaintext/ciphertext......................................... Akram Belazi | ISIM Gabès 32 Fréquence des lettres........................................ Akram Belazi | ISIM Gabès 33 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 34 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 35 Chiffrement polyalphabétique Algorithme de substitution poly-alphabétique. Améliore la sécurité en fusionnant plusieurs algorithmes mono-alphabétiques. Accroît la complexité de la cryptanalyse en introduisant une augmentation d’al- phabets et en générant une distribution fréquentielle plus uniforme. Utilise une clé pour déterminer quel alphabet mono-alphabétique appliquer à chaque lettre du plaintext. En cas d’épuisement de la clé, le processus se répète depuis le début......................................... Akram Belazi | ISIM Gabès 36 Vigenère L’algorithme poly-alphabétique le plus élémentaire est celui des multiples algo- rithmes de César. La clé est composée de caractères K = k1 , k2 ,... , kd. Chaque lettre de la clé spécifie l’algorithme de César à utiliser pour la lettre cor- respondante du plaintext. Le processus recommence dès le début après chaque ensemble de d lettres du plaintext......................................... Akram Belazi | ISIM Gabès 37 Illustration de l’algorithme de Vigenère Rédiger le texte en clair. Écrire la clé et la répéter sur la longueur du texte en clair. Utiliser chaque lettre de la clé comme clé de César. Chiffrer chaque lettre indépendamment des autres. Exemple : clé = deceptive......................................... Akram Belazi | ISIM Gabès 38 Chiffrement à clé automatique (autokey) Dans le souhait d’utiliser une clé aussi longue que le message, l’algorithme de Vi- genère propose une solution connue sous le nom d’autokey. L’autokey consiste à préfixer la clé au message, créant ainsi une nouvelle clé pour le chiffrement. La connaissance de la clé initiale permet de déchiffrer les premières lettres du mes- sage. Bien que cette méthode puisse être vulnérable à une analyse fréquentielle. Exemple : clé = deceptive......................................... Akram Belazi | ISIM Gabès 39 Chiffrement de Vernam Utilise une clé aussi longue que le texte en clair. Inventé par l’ingénieur de AT&T, Gilbert Vernam, en 1918. Applique une opération XOR bit à bit entre la clé et le message......................................... Akram Belazi | ISIM Gabès 40 One-time Pad Une amélioration du chiffrement de Vernam a été proposée par l’officier de l’armée Joseph Mauborgne. Il recommande l’utilisation d’une clé aléatoire de longueur équivalente au message, éliminant ainsi le besoin de répéter la clé. Chaque clé est utilisée pour chiffrer et déchiffrer un seul message, puis elle est écartée. Pour chaque nouveau message, une nouvelle clé de la même longueur que le mes- sage est nécessaire. Ce cryptosystème est considéré comme incassable. Toutefois, il présente des défis liés à la production et à la distribution sécurisée de la clé. En raison de sa complexité, il n’est pas pratique pour une utilisation générale, mais demeure employé dans des contextes de communications top-secrètes et coû- teuses, comme le ”téléphone rouge” entre Moscou et Washington......................................... Akram Belazi | ISIM Gabès 41 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 42 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 43 Transposition La transposition peut être considérée comme une forme de permutation dans le contexte de la cryptographie. Cette technique implique le chiffrement d’un message en réorganisant l’ordre des lettres du texte en clair. Il est à noter que dans ce processus, le texte en clair et le texte chiffré présentent une occurrence équivalente des lettres, en termes de fréquence......................................... Akram Belazi | ISIM Gabès 44 chiffrement de Rail Fence La technique de chiffrement ”Rail Fence” constitue une méthode de transposition relativement simple. Dans ce procédé, le texte en clair est agencé en séquences de diagonales, qui sont ensuite lues ligne par ligne. Pour illustrer, considérons le chiffrement du message ”meet me after the toga party” avec une profondeur (nombre de lignes) de 2, en utilisant la clé ”Rail hence”. Le résultat chiffré, également appelé texte crypté (ciphertext), s’avère être : MEMATRHTGPRYETEFETEOAAT........................................ Akram Belazi | ISIM Gabès 45 Chiffrement par transposition brute Le chiffrement par transposition brute, également connu sous le nom de ”Raw Transposition Cipher”, représente une technique plus complexe. Dans ce procédé, le texte en clair est disposé sous la forme d’un rectangle, ligne par ligne. Pour obtenir le texte chiffré (ciphertext), il convient de lire le message colonne par colonne, tout en permutant l’ordre des colonnes. Notons que la clé de chiffrement réside dans l’ordre spécifique de la lecture des colonnes......................................... Akram Belazi | ISIM Gabès 46 Chiffrement par produit Les chiffrements par produit, aussi appelés ”product ciphers”, émergent comme une réponse à la vulnérabilité des algorithmes de substitution ou de transposition envers l’analyse fréquentielle. Pour pallier cette faiblesse, l’idée est d’envisager l’utilisation de plusieurs algo- rithmes successifs afin de compliquer davantage la cryptanalyse. Un exemple concret serait la répétition de la permutation du texte précédent avec la même clé (ou éventuellement avec une autre clé). Ce processus itératif contribue à renforcer la sécurité en introduisant des couches supplémentaires de complexité, rendant ainsi la tâche de cryptanalyse plus ardue......................................... Akram Belazi | ISIM Gabès 47 Chiffrement par produit (suite) L’effet de la double permutation peut être appréhendé de la manière suivante : Avant la permutation : Après la première permutation : (Réarrangement des éléments selon la première clé) Après la deuxième permutation : (Réarrangement supplémentaire des éléments selon la deuxième clé) Ce processus séquentiel de permutation double aboutit à une transformation complexe du texte initial, conférant ainsi une couche de sécurité supplémentaire au chiffrement......................................... Akram Belazi | ISIM Gabès 48 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 49 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 50 Les algorithmes de chiffrement par bloc et par flux Les algorithmes de chiffrement par bloc et par flux sont respectivement désignés en anglais comme ”block ciphers” et ”stream ciphers”. Les block ciphers traitent le texte en clair bloc par bloc, chaque bloc étant chiffré ou déchiffré individuellement. Des exemples d’algorithmes de block ciphers incluent DES (Data Encryption Standard) et AES (Advanced Encryption Standard). En revanche, les stream ciphers opèrent sur le texte en clair bit par bit (ou octet par octet) lors du processus de chiffrement ou de déchiffrement. Des exemples d’algorithmes de stream ciphers sont le chiffre de Vigenère et le chiffre de Vernam. Il est à noter que la majorité des algorithmes modernes de chiffrement sont des block ciphers en raison de leur capacité à offrir un niveau élevé de sécurité et de parallélisme dans le traitement des blocs de données......................................... Akram Belazi | ISIM Gabès 51 Illustration de chiffrement par flot et chiffrement par bloc........................................ Akram Belazi | ISIM Gabès 52 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 53 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 54 Chiffrement de Vernam Utilise une clé aussi longue que le texte en clair. Inventé par l’ingénieur de AT&T, Gilbert Vernam, en 1918. Applique une opération XOR bit à bit entre la clé et le message......................................... Akram Belazi | ISIM Gabès 55 One-time Pad Une amélioration du chiffrement de Vernam a été proposée par l’officier de l’armée Joseph Mauborgne. Il recommande l’utilisation d’une clé aléatoire de longueur équivalente au message, éliminant ainsi le besoin de répéter la clé. Chaque clé est utilisée pour chiffrer et déchiffrer un seul message, puis elle est écartée. Pour chaque nouveau message, une nouvelle clé de la même longueur que le mes- sage est nécessaire. Ce cryptosystème est considéré comme incassable. Toutefois, il présente des défis liés à la production et à la distribution sécurisée de la clé. En raison de sa complexité, il n’est pas pratique pour une utilisation générale, mais demeure employé dans des contextes de communications top-secrètes et coû- teuses, comme le ”téléphone rouge” entre Moscou et Washington......................................... Akram Belazi | ISIM Gabès 56 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 57 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 58 Fonctions réversibles et irréversibles Un algorithme de chiffrement par bloc prend n bits du texte en clair et les trans- forme en n bits de texte chiffré. Il existe 2n combinaisons possibles de plaintext, reflétant la variété des arrange- ments binaires de n bits. Le cryptage doit être réversible, assurant la possibilité de déchiffrer le texte chiffré pour retrouver le texte en clair original. Chaque bloc du texte en clair produit un bloc de texte chiffré différent, ce qui implique une relation bijective entre les blocs correspondants. Il y a 2n transformations possibles, illustrant la diversité des opérations qui peuvent être appliquées sur les blocs de données......................................... Akram Belazi | ISIM Gabès 59 Modèle d’un chiffrement par bloc........................................ Akram Belazi | ISIM Gabès 60 Exemple des tables du chiffrement par bloc........................................ Akram Belazi | ISIM Gabès 61 Claude Shannon et les algorithmes de substitution-permutation Claude Shannon a joué un rôle fondamental dans le domaine de la cryptographie en introduisant en 1949 l’idée novatrice des réseaux de substitution-permutation (S-P). Cette notion constitue la fondation de tous les algorithmes de chiffrement moderne. Les réseaux S-P reposent sur deux critères essentiels : la substitution (S-box) et la permutation (P-box). Les boîtes de substitution (S-box) effectuent une substitu- tion non-linéaire des éléments du texte en clair, tandis que les boîtes de permu- tation (P-box) réalisent des permutations ou des réarrangements des bits. Cette combinaison de substitution et de permutation contribue à atteindre deux objec- tifs cruciaux en cryptographie : ◦ Confusion : Les S-box introduisent de la confusion en effectuant des substi- tutions non-linéaires, complexifiant ainsi la relation entre le texte en clair et le texte chiffré. ◦ Diffusion : Les P-box assurent la diffusion en effectuant des permutations ou des réarrangements, dispersant ainsi l’influence des bits de la clé et du texte en clair sur l’ensemble du texte chiffré. Ces critères de confusion et de diffusion sont fondamentaux pour garantir la sécu- rité des algorithmes de chiffrement en assurant une relation complexe et étendue entre le texte en clair, la clé, et le texte chiffré......................................... Akram Belazi | ISIM Gabès 62 Confusion et diffusion Claude Shannon a introduit deux termes fondamentaux qui sont les critères de base d’un algorithme de cryptage. Son objectif était de concevoir des cryptosys- tèmes capables de résister à l’analyse statistique, assurant ainsi une sécurité ro- buste. Confusion : Ce concept vise à rendre la relation entre le texte chiffré et la clé aussi complexe que possible, donnant ainsi à l’apparence du texte chiffré un caractère aléatoire. La confusion est obtenue en introduisant des éléments tels que des sub- stitutions non-linéaires (S-boxes) dans le processus de chiffrement. Diffusion : La diffusion vise à garantir que chaque bit du texte en clair influence tous les bits du texte chiffré de manière significative. On parle parfois d’avalanche pour décrire cet effet, où de petits changements dans le texte en clair entraînent des changements importants dans le texte chiffré. Les permutations et les réarran- gements des bits, souvent réalisés par des boîtes de permutation (P-boxes), contri- buent à cet objectif. En combinant ces deux principes, confusion et diffusion, Shannon a jeté les bases de la conception d’algorithmes de cryptage capables de fournir une sécurité ro- buste contre les attaques statistiques......................................... Akram Belazi | ISIM Gabès 63 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 64 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 65 DES Le Data Encryption Standard (DES) a été désigné comme le standard de cryptage recommandé par le National Institute of Standards and Technologies (NIST) en 1977. Jusqu’en 2001, il était l’algorithme de cryptage le plus largement utilisé, avant l’in- troduction de l’AES également recommandé par le NIST. L’algorithme de chiffrement DES est également appelé DEA (Data Encryption Al- gorithm). Le texte en clair est chiffré en blocs de 64 bits en utilisant une clé de 56 bits. L’algorithme transforme un bloc de 64 bits du texte en clair en un bloc de 64 bits du texte chiffré. Les mêmes étapes, avec la même clé, permettent le processus inverse de décryp- tage......................................... Akram Belazi | ISIM Gabès 66 Présentation générale de DES........................................ Akram Belazi | ISIM Gabès 67 Permutation initiale (IP) de DES Par exemple, à la sortie de la permutation initiale (IP) : À la position 1, l’entrée est 58. À la position 2, l’entrée est 50. À la position 64, l’entrée est 7. Par exemple, à la sortie de la permutation initiale inverse (IP−1 ) : À la position 58, on lit 1. À la position 50, on lit 2. À la position 7, on lit 64......................................... Akram Belazi | ISIM Gabès 68 Structure d’une ronde DES........................................ Akram Belazi | ISIM Gabès 69 Structure d’une ronde DES Chaque bloc du texte en clair est divisé en deux moitiés, L et R, chacune de taille 32 bits. La procédure F au sein de la structure de Feistel est décrite de la manière suivante : Li = Ri−1 Ri = Li−1 ⊕ F (Ri−1 , Ki ) La fonction F opère en prenant la moitié R de 32 bits ainsi que la clé intermédiaire de 48 bits, et elle exécute les opérations suivantes : ◦ Expansion de R à 48 bits à l’aide de la permutation E. ◦ Addition par XOR avec la clé intermédiaire. ◦ Passage à travers 8 S-box pour obtenir un résultat de 32 bits. ◦ Enfin, une permutation est réalisée au moyen de la permutation P......................................... Akram Belazi | ISIM Gabès 70 Les fonctions de permutation E et P........................................ Akram Belazi | ISIM Gabès 71 Structure d’une ronde DES : F(R, K)........................................ Akram Belazi | ISIM Gabès 72 Les 8 S-box Chaque S-box effectue une transformation de 6 bits à 4 bits. Pour chaque entrée de chaque S-box, le processus se déroule comme suit : ◦ Les bits 1 et 6 (bits extérieurs) sélectionnent une ligne parmi 4. ◦ Les bits 2 à 5 (bits intérieurs) sont substitués par la sortie correspondante dans la ligne choisie. ◦ Le résultat se compose de 8 blocs de 4 bits chacun, aboutissant à une somme totale de 32 bits. La sélection de la ligne s’opère en fonction du texte en clair (plaintext) et de la clé. À titre d’illustration, avec un exemple de 48 bits se transformant en 32 bits, la fonction S(12, 9, C, 32, B, 11, 26, 3C)16 = S(18, 9, 12, 50, 11, 17, 38, 60)10 produit le résultat : ◦ S-box1 : (18)10 = (010010)2 → ligne n° (00)2 = (0)10 et colonne n° (1001)2 = (9)10 ⇒ (10)10 = (0 × A)16 ◦ S-box2 : (9)10 = (001001)2 → ligne n° (01)2 = (1)10 et colonne n° (0100)2 = (4)10 ⇒ (15)10 = (0 × F)16........................................ Akram Belazi | ISIM Gabès 73 Les 8 S-box : (1-4)........................................ Akram Belazi | ISIM Gabès 74 Les 8 S-box : (5-8)........................................ Akram Belazi | ISIM Gabès 75 Génération des clés intermédiaires Le processus de génération des clés intermédiaires pour les 16 rondes, connu sous le nom de ”Key schedule”, dérive de la clé originale de 56 bits. La première étape, permutation initiale de choix (PC1), consiste à sélectionner 56 bits (parmi 64) et à les diviser en deux moitiés de 28 bits chacune. Le cycle de génération des clés comprend 16 étapes qui se déroulent comme suit : ◦ Rotation circulaire à gauche de chaque moitié de 1 ou 2 bits en fonction de la fonction de rotation K. ◦ Sélection de 24 bits de chaque moitié par la permutation de choix PC2, pour constituer l’entrée de la fonction F......................................... Akram Belazi | ISIM Gabès 76 Génération des clés intermédiaires : PC1, PC2 et K........................................ Akram Belazi | ISIM Gabès 77 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 78 Plan 1 Cryptographie et cryptanalyse 2 Protocole d’attaque cryptographique général 3 Algorithmes de substitution 4 Chiffrement monoalphabétique 5 Algorithme de Playfair 6 Algorithmes poly-alphabetiques 7 Les algorithmes de transposition 8 Algorithmes de cryptage moderne Les algorithmes de chiffrement par flux Les algorithmes de chiffrement par bloc 9 Exemple DES 10 Modes de cryptage par bloc........................................ Akram Belazi | ISIM Gabès 79 Mode ECB........................................ Akram Belazi | ISIM Gabès 80 Mode CBC........................................ Akram Belazi | ISIM Gabès 81 Mode OFB........................................ Akram Belazi | ISIM Gabès 82 Mode CTR........................................ Akram Belazi | ISIM Gabès 83