crypto et sécurité de l’information - esen · 2016-09-28 · algorithmes de cryptage moderne...
TRANSCRIPT
Crypto et sécurité de l’informationChap 2: Cryptographie symétrique
Rhouma Rhoumahttps://sites.google.com/site/rhoouma
Ecole superieure d’Economie Numerique
2ème Mastère Web Intelligence
1 / 79
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
2 / 79
Algorithmes de substitution
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
3 / 79
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
4 / 79
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
5 / 79
Algorithmes de substitution
Brute force attacksur Cesar :essayer toute les26 combinaisons
6 / 79
Monoalphabetic Cipher
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
7 / 79
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
8 / 79
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.
9 / 79
Monoalphabetic Cipher
fréquences des lettres en anglais
10 / 79
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"
11 / 79
Algorithme Playfair
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
12 / 79
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
13 / 79
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
14 / 79
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
15 / 79
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
16 / 79
Algorithme Playfair
fréquence des lettres
17 / 79
Algorithmes poly-alphabetiques
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
18 / 79
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
19 / 79
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
20 / 79
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
21 / 79
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
22 / 79
Algorithmes poly-alphabetiques
Vernam cipher
utilise une clé aussi longue que le plaintextinventé par un ingénieur AT&T Gilbert Vernam en 1918
23 / 79
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)
24 / 79
Les algorithmes de transposition
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
25 / 79
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
26 / 79
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
27 / 79
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é
28 / 79
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
29 / 79
Algorithmes de cryptage Moderne
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
30 / 79
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
31 / 79
Algorithmes de cryptage Moderne
32 / 79
Algorithmes de cryptage Moderne Stream ciphers
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
33 / 79
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
34 / 79
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)
35 / 79
Algorithmes de cryptage Moderne Block ciphers
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
36 / 79
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
37 / 79
Algorithmes de cryptage Moderne Block ciphers
modèle d’un block cipher
38 / 79
Algorithmes de cryptage Moderne Block ciphers
les tables du bloc cipher exemple
39 / 79
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
40 / 79
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 du ciphertext(avalanche)
41 / 79
Exemple : DES
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
42 / 79
Exemple : DES Structure et fonctionnement
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
43 / 79
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
44 / 79
Exemple : DES Structure et fonctionnement
DES
45 / 79
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
46 / 79
Exemple : DES Structure et fonctionnement
Structure d’une ronde DES
47 / 79
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
48 / 79
Exemple : DES Structure et fonctionnement
Les fonction de permutation E et P
49 / 79
Exemple : DES Structure et fonctionnement
Structure d’une ronde DES: F(R,K)
50 / 79
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
51 / 79
Exemple : DES Structure et fonctionnement
Les 8 S-box: (1-4)
52 / 79
Exemple : DES Structure et fonctionnement
Les 8 S-box: (5-8)
53 / 79
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.
54 / 79
Exemple : DES Structure et fonctionnement
DES Key schedule
55 / 79
Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
56 / 79
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
57 / 79
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
58 / 79
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
59 / 79
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
60 / 79
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
61 / 79
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.
62 / 79
Modes de cryptage par bloc
Plan
1 Algorithmes de substitution
2 Monoalphabetic Cipher
3 Algorithme Playfair
4 Algorithmes poly-alphabetiques
5 Les algorithmes de transposition
6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers
7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES
8 Modes de cryptage par bloc
63 / 79
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
64 / 79
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
65 / 79
Modes de cryptage par bloc
ECB
66 / 79
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
67 / 79
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)
68 / 79
Modes de cryptage par bloc
CBC
69 / 79
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
70 / 79
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
71 / 79
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
72 / 79
Modes de cryptage par bloc
CFB
73 / 79
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é
74 / 79
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é
75 / 79
Modes de cryptage par bloc
OFB
76 / 79
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
77 / 79
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
78 / 79
Modes de cryptage par bloc
CTR
79 / 79