Audit et Sécurité Informatique - ESEN · Protocole d’attaque cryptographique general Plan 1...
Transcript of Audit et Sécurité Informatique - ESEN · Protocole d’attaque cryptographique general Plan 1...
Audit et Sécurité InformatiqueChap 3: Cryptographie et Cryptanalyse
Rhouma Rhoumahttps://sites.google.com/site/rhoouma
Ecole superieure d’Economie Numerique
3ème année Licence
1 / 91
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
2 / 91
Cryptographie et Cryptanalyse
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
3 / 91
Cryptographie et Cryptanalyse
Types de classification
On peut classifier les alg de cryptage selon :Le nb de clés utilisés :
Une seul clé cryptosystème à clé privée (symétrique)2 clés ou cryptosystème à clé publique (asymétrique)
type d’opération utilisée :substitutiontranspositionproduit des deux
la façon dont le plaintext est traitéblockstream (flux)
4 / 91
Cryptographie et Cryptanalyse
Cryptage symétrique
Aussi connu comme cryptage conventionnel ou cryptage à clésecrète.c’était le seul type de cryptage jusqu’à invention du cryptageasymétrique ds les années 70.reste comme même le cryptage le plus répandu des deux
5 / 91
Cryptographie et Cryptanalyse
Terminologie basique
Plaintext : le message originalCiphertext : le message chiffréchiffrement ou cryptage : le processus de conversion du plaintextvers le ciphertextdéchiffrement ou décryptage : le processus de conversion duciphertext vers le plaintextcryptographie : l’étude des méthodes de cryptage (science desmessages secrets)cryptanalyse : l’étude des techniques pour casser les algorithmesde chiffrementCryptologie : la cryptographie et la cryptanalyse
6 / 91
Cryptographie et Cryptanalyse
Modèle simplifié du cryptage symétrique
7 / 91
Cryptographie et Cryptanalyse
Modèle du cryptage symétrique
8 / 91
Cryptographie et Cryptanalyse
Cryptanalyse
Son objectif est de retrouver la clé secrète pas simplement leplaintextbrute force attack (attaque à force brute) :
essayer toutes les combinaisons (sur une ciphertext pour ledéchiffrer) de la clé jusqu’à trouver la bonneEn moyenne, il faut essayer au moins la moitié des clés disponiblespour arriver à casser un cryptosystème.
cryptanalytic attack : plus intelligente, exploite une connaissancesur l’algorithme et la manière dont le plaintext est traité.
9 / 91
Protocole d’attaque cryptographique general
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
10 / 91
Protocole d’attaque cryptographique general
Collecte d’informations : faiblesses théoriques
Observation ou action :Étape "on-line" connecté à la cible.
Ciphertext-only attack(COA)
Known-plaintext attack(KPA)
Chosen-plaintext attack(CPA)
Chosen-ciphertext attack(CCA)
11 / 91
Protocole d’attaque cryptographique general
Collecte d’informations : faiblesses théoriques
Observation ou action :Étape "on-line" connecté à la cible.
Ciphertext-only attack(COA)
Known-plaintext attack(KPA)
Chosen-plaintext attack(CPA)
Chosen-ciphertext attack(CCA)
11 / 91
Protocole d’attaque cryptographique general
Collecte d’informations : faiblesses théoriques
Observation ou action :Étape "on-line" connecté à la cible.
Ciphertext-only attack(COA)
Known-plaintext attack(KPA)
Chosen-plaintext attack(CPA)
Chosen-ciphertext attack(CCA)
11 / 91
Protocole d’attaque cryptographique general
Collecte d’informations : faiblesses théoriques
Observation ou action :Étape "on-line" connecté à la cible.
Ciphertext-only attack(COA)
Known-plaintext attack(KPA)
Chosen-plaintext attack(CPA)
Chosen-ciphertext attack(CCA)
11 / 91
Protocole d’attaque cryptographique general
Collecte d’informations : faiblesses physiques
Attaques par canal auxiliaire : Side Channel AttackMesure du temps de cryptage/décryptage : étude du temps mispour effectuer certaines opérationsFuites électromagnétiques : émet des rayonnements qui varientselon les opérations effectuéesAnalyse du Comportement du processeur lors du calcul : bruitacoustiqueAnalyse de la consommation d’énergie : Une consommation accrueindique un calcul important et peut donner des renseignements surla clé
12 / 91
Protocole d’attaque cryptographique general
Analyse, déduction et exploitation
Étape "off-line" : Analyse & DéductionAttaque à force brute : essayer toutes les clés possibles pourretrouver un texte en clair à partir du cryptogrammeAttaque statistique : Estimer la fréquence d’apparition des lettresdans un texteAttaque algébrique : trouver des représentations équivalentes ducryptosystème, exploiter des linéarités existantes.Cryptanalyse linéaire : approximation linéaire de l’algorithme dechiffrement, augmenter le nombre de couples pour améliorerl’approximation.Cryptanalyse différentielle : étudier la manière dont les différencesentre les entrées affectent les différences de leurs sorties pourdécouvrir des vulnérabilités.
Exploitation : Estimation de la clé et Déchiffrement de tous lescryptogrammes.
13 / 91
Protocole d’attaque cryptographique general
Analyse, déduction et exploitation
Étape "off-line" : Analyse & DéductionAttaque à force brute : essayer toutes les clés possibles pourretrouver un texte en clair à partir du cryptogrammeAttaque statistique : Estimer la fréquence d’apparition des lettresdans un texteAttaque algébrique : trouver des représentations équivalentes ducryptosystème, exploiter des linéarités existantes.Cryptanalyse linéaire : approximation linéaire de l’algorithme dechiffrement, augmenter le nombre de couples pour améliorerl’approximation.Cryptanalyse différentielle : étudier la manière dont les différencesentre les entrées affectent les différences de leurs sorties pourdécouvrir des vulnérabilités.
Exploitation : Estimation de la clé et Déchiffrement de tous lescryptogrammes.
13 / 91
Protocole d’attaque cryptographique general
exemple brute force attack
14 / 91
Algorithmes de substitution
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
15 / 91
Algorithmes de substitution
Cesar
Consiste à remplacer les lettres du plaintext par d’autres lettres ousymboles ou bits.le plus connu est l’alg de Cesar : remplacer chaque lettre par cellequi la suit apres trois positions ds l’alphabetL’alphabet est enroulé de sorte que la lettre qui suit Z est Aex :plain : meet me after the toga partycipher : PHHW PH DIWHU WKH WRJD SDUWB
16 / 91
Algorithmes de substitution
Cesar
On peut définir la transformation de Cesar comme :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 zD E F G H I J K L M N O P Q R S T U V W X Y Z A B Cl’alg peut etre exprimé comme :
c = E(3,p) = (p + 3)mod 26
le decalage peut etre généralisé à n’importe quel nombre k :
c = E(k ,p) = (p + k)mod 26
si k ∈ [1,25], alors le déchiffrement est :
p = D(k , c) = (c − k)mod 26
17 / 91
Algorithmes de substitution
Brute force attacksur Cesar :essayer toute les26 combinaisons
18 / 91
Monoalphabetic Cipher
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
19 / 91
Monoalphabetic Cipher
Monoalphabetic Cipher
consiste a remplacer chaque lettre arbitrairement (pas simpledécalage)la clé est de longueur 26 :Plain : 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 zCipher : 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 Nexemple :Plaintext : if we wish to replace lettersCiphertext : WI RF RWAJ UH YFTSDVF SFUUFYA
20 / 91
Monoalphabetic Cipher
Sécurité du crypto monoalphabetique
On a un total de 26! = 4× 1026 clés possiblesmais on peut le casser par analyse de fréquence : Al-Kindyle langage humain est très redondantex ds le msg "th lrd s m shphrd shll nt wnt" les lettres de cettefaçon ne sont pas ordinaire en anglaisEn anglais la lettre "E" est la plus utilisée, suivie par :"T,R,N,I,O,A,S"les lettres comme "Z,J,K,Q,X" sont rares en utilisation.il ya des doublets ou des triplets qui sont plus répondu qued’autres.
21 / 91
Monoalphabetic Cipher
fréquences des lettres en anglais
22 / 91
Monoalphabetic Cipher
Exemple Cryptanalyse
etant donné un ciphertext :UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPF UPZHMDJUDTMOHMQ
On compte la fréquence de chaque lettre ds le ciphertext
On peut deviner que P et Z sont e et t
On peut deviner que ZW est th et donc ZWP est the
la séquence ZWSZ est remplacé par th*t, on peut deviner que S est a
on continu avec la technique essai-erreur-essai, on trouve le plaintext :"it was disclosed yesterday that several informal but direct contacts have been made withpolitical representatives of the viet cong in moscow"
23 / 91
Algorithme Playfair
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
24 / 91
Algorithme Playfair
Playfair
L’alg le plus connu qui crypte plusieurs lettres en même tempstraite les diagrammes (2 lettres) comme unité et la converti endiagramme ciphertext.basé sur une matrice 5× 5 utilisant un mot cléinventé par le Britannique Sir Charles Wheatstone en 1854utilisé par l’armée Britannique en W.W.I et par l’USA et ses alliésdurant la guerre W.W.II
25 / 91
Algorithme Playfair
Matrice de Playfair
copier les lettres du mots clé dans la matrice (sans duplication)completer le reste de la matrice par les lettres manquantesles lettres I et J sont traités comme une seule lettreex : en utulisant le mot clé MONARCHY
26 / 91
Algorithme Playfair
Cryptage de Playfair
opérer sur des diagrammes de lettres (2 lettres) à chaque foiscas particulier : si diagramme de même lettres, séparer par deslettres spéciales ex : x. par exemple : balloon est traité comme balx lo onSi plaintext ds la même ligne : remplacer par les lettres de droite.Ex1 pq est remplacé par qs. Ex2 ar est remplacé par RM.Si plaintext ds la même colonne : remplacer par les lettresen-dessous. ex mu est remplacé par CMsinon, remplacer par lettre en même ligne qu’elle et mêmecolonne que l’autre lettre du plaintext. ex hs est remplacé par BP.ex2 ea devient IM ou JM
27 / 91
Algorithme Playfair
Sécurité de Playfair
Sécurité amélioré puisque il ya en tout 26× 26 = 676 diagrammeson a besoin d’une analyse fréquentielle sur 676 unité et non plussur 26 comme le monoalphabetiquedonc l’alphabet du ciphertext est aussi énormeil peut être cassé si on connaît une centaine deplaintext/ciphertext
28 / 91
Algorithme Playfair
fréquence des lettres
29 / 91
Algorithmes poly-alphabetiques
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
30 / 91
Algorithmes poly-alphabetiques
Polyalphabetic Ciphers
Alg de substitution poly-alphabetiqueaméliore la sécurité en combinant plusieurs algmono-alphabetiquesrende la cryptanalyse plus difficile avec augmentation d’alphabetset une distribution fréquentielle plus platteutilise une clé pour choisir quel alphabet mono-alphabetique àutiliser pour chaque lettre du plaintextrépéter du début si la fin de la clé est atteinte
31 / 91
Algorithmes poly-alphabetiques
Vigenère
l’alg poly-alphabetique le plus simple : algs de Cesar muliples
la clé est constitué de caractères K = k1k2 . . . kd
la ième lettre de la clé spécifie le ième alg de Cesar à utiliser
repeter des le debut chaque d lettres du plaintext
32 / 91
Algorithmes poly-alphabetiques
Exemple Vigenère
écrire le plaintextécrire la clé et la répéter sur la longueur du plaintextutiliser chaque lettre de la clé comme clé de Cesarchiffrer chaque lettre indépendamment des autresex : clé = deceptive
33 / 91
Algorithmes poly-alphabetiques
Autokey cipher
voulant une clé aussi longue que le messagevigenère propose l’autokeyclé est préfixé au message pour générer une nouvelle cléconnaissant la clé basique, on peut déchiffrer les premières lettrespeut etre cassé par analyse fréquentielleex : clé : deceptive
34 / 91
Algorithmes poly-alphabetiques
Vernam cipher
utilise une clé aussi longue que le plaintextinventé par un ingénieur AT&T Gilbert Vernam en 1918
35 / 91
Algorithmes poly-alphabetiques
One time Pad
Amélioration de Vernam proposé par l’officier de l’armée, JosephMauborgneUtiliser une clé aléatoire qui est aussi longue que le message desorte que la clé n’a pas besoin d’être répétéeLa Clé est utilisée pour chiffrer et déchiffrer un seul message, puiselle est jetéChaque nouveau message nécessite une nouvelle clé de lamême longueur que le nouveau messageCe cryptosystème est incassableproblèmes dans la production et la distribution sécurisée de la cléNon pratique : reste utilisé ds les communications top-secrets ettrès coûteuses (teleph rouge entre Moscow et Washington)
36 / 91
Les algorithmes de transposition
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
37 / 91
Les algorithmes de transposition
Transposition
Transposition= permutationChiffrer le message en réarrangeant l’ordre des lettres du plaintextle plaintext et le ciphertext ont même occurence (fréquence) deslettres
38 / 91
Les algorithmes de transposition
Fail hence cipher
La transposition la plus simpleplaintext est écrit en séquences de diagonaleson le lit ligne par lignepour chiffrer le message "meet me after the toga party" avec "Railhence" de profondeur(nb de lignes) 2 :
ciphertext est : MEMATRHTGPRYETEFETEOAAT
39 / 91
Les algorithmes de transposition
Raw Transposition Cipher
Transposition plus complexeécrire le plaintext sous forme de rectangle, ligne par ligneciphertext : lire le message colonne par colonne, mais permuterl’ordre des colonnesl’ordre de la lecture des colonnes est donc la clé
40 / 91
Les algorithmes de transposition
Product ciphers
Les algorithmes de substitutions ou transposition ne sont pas sécurisésà cause de l’analyse fréquentielle
donc envisager d’utiliser plusieurs alg à la suite pour rendre lacryptanalyse plus difficile.
exemple répéter la permutation du texte précédent avec la même clé (oumême avec une autre clé) :
on peut voir l’effet de la double permutation comme ceci :
avant permutation :
après la première permutation :
après la deuxième permutation :
C’est le concept des algorithmes de cryptage moderne
41 / 91
Algorithmes de cryptage Moderne
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
42 / 91
Algorithmes de cryptage Moderne
Algorithmes de chiffrement par bloc, et par flux
en anglais : block ciphers et stream ciphersblock ciphers traitent le plaintext bloc par bloc, chcun estchiffré/déchiffré (ex : DES et AES)stream ciphers traitent le plaintext bit par bit (ou octect par octect)lors de cryptage/decryptge (ex : viginère, vernam)majorité des algorithmes modernes sont des blocks ciphers
43 / 91
Algorithmes de cryptage Moderne
44 / 91
Algorithmes de cryptage Moderne Stream ciphers
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
45 / 91
Algorithmes de cryptage Moderne Stream ciphers
Stream cipher : Vernam cipher
utilise une clé aussi longue que le plaintextinventé par un ingénieur AT&T Gilbert Vernam en 1918
46 / 91
Algorithmes de cryptage Moderne Stream ciphers
One time Pad
Amélioration de Vernam proposé par l’officier de l’armée, JosephMauborgneUtiliser une clé aléatoire qui est aussi longue que le message desorte que la clé n’a pas besoin d’être répétéeLa Clé est utilisée pour chiffrer et déchiffrer un seul message, puiselle est jetéChaque nouveau message nécessite une nouvelle clé de lamême longueur que le nouveau messageCe cryptosystème est incassableproblèmes dans la production et la distribution sécurisée de la cléNon pratique : reste utilisé ds les communications top-secrets ettrès coûteuses (teleph rouge entre Moscow et Washington)
47 / 91
Algorithmes de cryptage Moderne Block ciphers
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
48 / 91
Algorithmes de cryptage Moderne Block ciphers
fonctions réversibles et irréversibles
Un alg à chiffrement par bloc prend n bits du plaintext et letransforme en n bits de ciphertextil y a 2n combinaisons possibles de plaintextle Cryptage doit être reversiblechaque bloc du plaintext produit un bloc du ciphertext diffèrent(bijectivité)il ya 2n transformations possibles
49 / 91
Algorithmes de cryptage Moderne Block ciphers
modèle d’un block cipher
50 / 91
Algorithmes de cryptage Moderne Block ciphers
les tables du bloc cipher exemple
51 / 91
Algorithmes de cryptage Moderne Block ciphers
Claude Shannon et les alg de substitution-permutation
Shannon a introduit l’idée des réseaux desubstitution-permutation (S-P) en 1949c’est la base de tout les alg de cryptage moderneles réseaux S-P sont basés sur deux critère :
substitution (S-box)Permutation(P-box)
Ceci fourni les critères de confusion et de diffusion du plaintext etde la clé sur le ciphertext
52 / 91
Algorithmes de cryptage Moderne Block ciphers
Confusion et diffusion
Deux termes introduits par Shanon qui constituent les critères debase d’un algorithme de cryptageSon but était de concevoir des cryptosystèmes qui résistentl’analyse statistiqueconfusion : Rend la relation entre le ciphertext et la clé aussicomplexe que possible (apparence aléatoire)diffusion : Chaque bit du plaintext affecte tous les bits duciphertext (avalanche)
53 / 91
Exemple : DES
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
54 / 91
Exemple : DES Structure et fonctionnement
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
55 / 91
Exemple : DES Structure et fonctionnement
DES
Data Encryption standard (DES) est le standard de cryptagerecommandé par NIST (National Institute of Standards andTechnologies) en 1977.l’alg de cryptage le plus utilisé jusqu’à 2001 (l’arrivée de AES parNIST aussi)L’alg de DES est appelé DEA (Data Encryption Algorithm)Le plaintext est chiffré en 64-bit blocs en utilisant une clé de taille56 bitl’alg transforme un bloc de 64-bit du plaintext à un bloc de 64-bitdu ciphertextLes mêmes étapes, avec la même clé, conduisent au décryptage
56 / 91
Exemple : DES Structure et fonctionnement
DES
57 / 91
Exemple : DES Structure et fonctionnement
Initial permutation (IP) de DES
ex : A la sortie de IP :ds la pos 1 =⇒ entrée 58 ;ds la pos 2 =⇒ entrée 50 ;ds la pos 64 =⇒ entrée 7
A la sortie de IP−1 :1 est lu depuis la pos 582 est lu depuis la pos 5064 est lu depuis la pos 7
58 / 91
Exemple : DES Structure et fonctionnement
Structure d’une ronde DES
59 / 91
Exemple : DES Structure et fonctionnement
Structure d’une ronde DES
Deux moitiés L et R de taille 32-bits chacuneStructure de Feistel est comme suit :
Li = Ri−1
Ri = Li−1 ⊕ F (Ri−1,Ki)
F prend la moitié R de 32-bit et la clé intermédiaire de 48-bit etfait comme suit :
Expansion de R à 48-bits en utilisant la permutation EL’ajouter à la clé intermédiaire par XORLa faire passer à travers 8 S-box pour avoir le résultat de 32-bitsFinalement la permuter en utilisant une permutation P
60 / 91
Exemple : DES Structure et fonctionnement
Les fonction de permutation E et P
61 / 91
Exemple : DES Structure et fonctionnement
Structure d’une ronde DES : F(R,K)
62 / 91
Exemple : DES Structure et fonctionnement
Les 8 S-box
chaque S-box transforme 6-bits à 4-bitsPour chaque entrée de chaque S-box :
les bits 1 et 6 (bits extérieurs) sélectionne une ligne parmi 4.les bits 2-5 (bits intérieurs) sont substitués par la sortiecorrespondante ds la ligne choisiele résultat est 8 lots de 4-bit : ça fait 32-bits en tout
la sélection de la ligne dépend du plaintext et de la cléexemple 48 bits –> 32 bits : S(18 09 12 3d 11 17 38 39) =5fd25e03
Sbox1 : 0x18 : 011000 –> ligne n˚0 et colonne n˚ 12 : 5 = 0x5Sbox2 : 0x09 : 001001 –> ligne n˚1 et colonne n˚ 4 colonne : 15=0xfSbox8 : 0x39 : 111001 –> ligne n˚3 et colonne n˚ 12 : 3 = 0x3
63 / 91
Exemple : DES Structure et fonctionnement
Les 8 S-box : (1-4)
64 / 91
Exemple : DES Structure et fonctionnement
Les 8 S-box : (5-8)
65 / 91
Exemple : DES Structure et fonctionnement
DES Key schedule
Key schedule : préparation des clés intermédiaires (des 16rondes) à partir de la clé originale de 56-bitsPermutation initiale de la clé (PC1) qui sélectionne 56-bits (parmi64) en 2 moitiés de 28-bits16 stages qui consistent à :
"Rotation circulaire à gauche" de chaque moitié de 1 ou 2 bits enfonction de la fonction de rotation Ksélectionner 24 bits de chaque moitié et la permuter par (PC2) pourêtre l’entrée de la fonction F.
66 / 91
Exemple : DES Structure et fonctionnement
DES Key schedule
67 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
68 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Sécurité de DES
taille de l’espace clé 256 = 7.2× 1016
une machine à 109 déchiffrement/s peut le casser en 1.125 annéeune machine à 1013 déchiffrement/s peut le casser en 1 heurel’AES-128 avec la même vitesse, la machine reste 5.3× 1017
annéesplusieurs attaques sur DES :
differential cryptanalysislinear cryptanalysisrelated key attack
Le besoin de trouver une alternative de DES devient nécessaire
69 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Cryptage multiple avec DES
DES est devenu vulnérable à la brute force attackAlternative : crypter plusieurs fois avec des clés différentesOptions :
Double DES : n’est pas très performantTriple DES (3DES) avec deux clés : brute force 2112
Triple DES avec trois clés : brute force 2168
70 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Double encryption
clé de taille 2× 56 = 112espace clé de 2112.il faut donc essayer en moyenne 2111 pour le casser en brute forceattaque plus intelligente : Meet-in-the-middle attack
71 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Meet-in-the-middle attack
Double cryptage DES : C = E(K2,E(K1,P))
soit X = E(K1,P) = D(K2,C)
supposons que l’adversaire connaît 2 paires P/C : (Pa,Ca) et(Pb,Cb)
chiffrer Pa en utilisant toutes les possibilités 256 de la clé K1 pouravoir les possibilités de XEnregistrer les valeurs possibles de X ds un tableau avec leurs cléscorrespondantes K1Déchiffrer Ca en utilisant toutes les possibilités 256 de la clé K2Pour chaque résultat du décryptage, vérifier avec les valeurs dutableauS’il y a correspondance, Prenez les valeurs correspondantes de K1et K2. Et vérifier si Cb = E(K2,E(K1,Pb)), alors accepter les clés.
Avec deux paires de P/C, la probabilité de succès est 1Cette attaque est de complexité 2× 256 qui est très inférieur àcomplexité brute force attack 2112
72 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Cryptage Triple
2 clés : 112 bits3 clés : 168 bitsPourquoi E-D-E ? Pour être compatible avec DES simple :
C = E(K1,D(K1,E(K1,P)))
3DES a été adopté par plusieurs application internet : PGP,S/MIME
73 / 91
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
AES
Advanced encryption standard est le nouveau alg de cryptageadopté par NIST crée en 2001 (Rijandael)
Taille block : 128-bit (possibilité d’autres tailles)taille clé : 128, 192, 256 bitsrondes : 10, 12, 14 dépend de la cléXOR avec clés intermédiaires, Substitutions avec des S-box,mixage avec l’arithmétique du corps de Galois
Largement utilisé dans les communications sécurisés en réseauxConsidéré comme sécurisée jusqu’à ce moment.
74 / 91
Modes de cryptage par bloc
Plan
1 Cryptographie et Cryptanalyse
2 Protocole d’attaque cryptographique general
3 Algorithmes de substitution
4 Monoalphabetic Cipher
5 Algorithme Playfair
6 Algorithmes poly-alphabetiques
7 Les algorithmes de transposition
8 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
9 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
10 Modes de cryptage par bloc
75 / 91
Modes de cryptage par bloc
Modes de cryptage par bloc
NIST SP 800-38A definiti 5 modes de cryptagesECB : Electronic codebook Book ModeCBC : cipher block chaining ModeCFB : cipher FeedBack ModeOFB : Output FeedBack ModeCTR : Counter Mode
il y a ceux qui sont orientés bloc et ceux qui sont orienté fluxCeci est pour couvrir une large variété d’application ds la vie réelleces modes peuvent être appliqués sur n’importe quel algorithmede bloc
76 / 91
Modes de cryptage par bloc
ECB
Le plaintext est divisé en blocs qui seront cryptéschaque block constitue une valeur qui sera substitué par cryptagecomme un dictionnaire, d’où le nom (dictionnaire=codebook)Chaque bloc est crypté indépendamment des autres blocs :Ci = EK (Pi)
Application : transmission sécurisée de messages courts
77 / 91
Modes de cryptage par bloc
ECB
78 / 91
Modes de cryptage par bloc
Avantages et limitations de ECB
Les répétitions dans le plaintext sont montrés aussi dans leciphertext (peu de confusion)Non efficace pour les images : trop de redondance, trop derépétitions donc image peut rester visible après cryptageLa faiblesse est dans l’indépendance dans le cryptage desdifférents blocsUtilisation principale est le cryptage de plaintext très court
Image originale Image cryptée (AES) en mode ECB
79 / 91
Modes de cryptage par bloc
CBC
Le plaintext est divisé en blocsces blocs seront liés durant le cryptagechaque bloc du ciphertext est lié avec le bloc du plaintextcorrespondant et les bloc ciphertext précédentsutilise un vecteur d’initialisation pour commencer le cryptage :
Ci = EK (Pi XOR Ci−1)
C−1 = IV
Application : Le cryptage de données en vrac (de granderedondance) ; Authentification (CMAC)
80 / 91
Modes de cryptage par bloc
CBC
81 / 91
Modes de cryptage par bloc
Avantages et limitations de CBC
chaque bloc du ciphertext dépend de tous les blocs qui leprécèdentn’importe quel changement affecte tous les blocs du ciphertext quile suiventCBC a besoin d’un IV pour l’initialisation :
l’IV doit être connu de l’émetteur et récepteurS’il est transmis en clair, un adversaire peut changer les bits dupremier bloc et changer IV pour compenser ce changement.Donc IV doit être soit fixesoit envoyé crypté en mode ECB avant de traiter le plaintext
82 / 91
Modes de cryptage par bloc
Les modes de cryptage en bloc orientés flux
Les modes de bloc chiffre tout le blocdans certaines application, on pourra avoir besoin d’operer surdes tailles plus petitesapplication dans le cryptage du flux multimédia (temps réel)convertir les alg de bloc en alg de flux
CFBOFBCTR
l’idée est d’utiliser les alg de blocs sous forme de générateur deséquences pseudo-aléatoires
83 / 91
Modes de cryptage par bloc
CFB
Le message est traité comme un flux de bitsle message est ajouté à la sortie du l’alg de blocle résultat est retourné (feed-back) à l’étage précédent (d’où lenom)le standard permet plusieurs tailles de blocs (1 ; 8 ; 64 ; 128 ; etc)pour être feed-backnotés CFB-1, CFB-8, CFB-64, CFB-128le cryptage est comme suit :
Ci = Pi XOR EK (Ci−1)
C−1 = IV
Applications : cryptage du flux (temps réel), Authetification
84 / 91
Modes de cryptage par bloc
CFB
85 / 91
Modes de cryptage par bloc
Avantages et limitations de CFB
CFB est approprié si les données arrivent en bits ou octetsapproprié pour le mode en fluxNoter que dans le cryptage et le décryptage, les deux opèrentavec le bloc de chiffrement EK
l’erreur (s’il y en a) peut se propager dans plusieurs blocs après lebloc erroné
86 / 91
Modes de cryptage par bloc
OFB
Le message est traité comme flux de bitsla sortie du cryptage est ajouté au messagela sortie est ensuite retourné (Output feed-back) à l’entrée del’étage suivant (d’où le nom)le feedback est indépendant du message (plaintext)il peut être calculé auparavant
Oi = EK (Oi−1)
Ci = Pi XOR Oi
O−1 = IV
Utilisation : Cryptage de flux dans un canal bruité
87 / 91
Modes de cryptage par bloc
OFB
88 / 91
Modes de cryptage par bloc
Avantages et Limitations de OFB
OFB a besoin d’un IV qui doit être unique pour chaque utilisationsi l’IV est réutilisé, l’adversaire peut retrouver les sortiesLes erreurs ne se propagent pasémetteur et récepteur doivent être en synchronisation
89 / 91
Modes de cryptage par bloc
CTR
un nouveau mode similaire à OFB mais chiffre un compteur aulieu de la sortiedoit avoir une clé différente et une valeur de compteur différentepour chaque message
Oi = EK (i)
Ci = Pi XOR Oi
Utilisation : Cryptage dans les réseaux haut débit
90 / 91
Modes de cryptage par bloc
CTR
91 / 91