Vous êtes sur la page 1sur 69

Sécurité Informatique

Cryptographie et cryptanalyse

October 17, 2018

Houcemeddine HERMASSI
houcemeddine.hermassi@enit.rnu.tn
École Nationale d’Ingénieurs de Carthage ENI-CARTHAGE
Université Carthage
Tunisie
Plan de cour 1

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie
Principe et classification 2
1

Principe
Cryptographie: Transformer un texte clair pour en cacher le sens

Classification

I Selon le nombre de clés à utiliser:


I Une seul clé, cryptosystème à clé privée (symétrique)
I 2 clés ou cryptosystème à clé publique (asymétrique)

I Selon le type d’opérations:


I substitution
I transposition
I produit des deux

I Selon la façon dont le texte clair est traité:


I Bloc
I flux (stream cipher)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie
Terminologie 3
1

Terminologie basique

I Plaintext : le message original


I Ciphertext : le message chiffré
I chiffrement ou cryptage : le processus de conversion du plaintext vers le ciphertext
I déchiffrement ou décryptage : le processus de conversion du ciphertext vers le plaintext
I cryptographie : l’étude des méthodes de cryptage (science des messages secrets)
I cryptanalyse : l’étude des techniques pour casser les algorithmes de chiffrement
I Cryptologie : la cryptographie et la cryptanalyse

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie
Cryptage symètrique 4
1

Modèle de cryptage symètrique

I Aussi connu comme cryptage conventionnel ou cryptage à clé secrète.


I c’était le seul type de cryptage jusqu’à invention du cryptage asymétrique ds les années 70.
I reste comme même le cryptage le plus répandu des deux

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptanalyse
Principe 5
1

Principe

I Son objectif est de retrouver la clé secrète pas simplement le plaintext


I brute force attack (attaque à force brute) :
I essayer toutes les combinaisons (sur une ciphertext pour le déchiffrer) de la clé
jusqu’à trouver la bonne
I En moyenne, il faut essayer au moins la moitié des clés disponibles pour arriver à
casser un cryptosystème.
I cryptanalytic attack : plus intelligente, exploite une connaissance sur l’algorithme et la
manière dont le plaintext est traité.

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptanalyse
Protocole d’attaque cryptographique general 6
1

Collecte d’informations : faiblesses théoriques


Observation ou action :Étape "on-line" connecté à la cible.
I Ciphertext-only attack(COA)
I Known-plaintext attack(KPA)
I Chosen-plaintext attack(CPA)
I Chosen-ciphertext attack(CCA)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptanalyse
Protocole d’attaque cryptographique general 7
1

Collecte d’informations : faiblesses physiques


Attaques par canal auxiliaire : Side Channel Attack
I Mesure du temps de cryptage/décryptage : étude du temps mis pour effectuer certaines
opérations
I Fuites électromagnétiques : émet des rayonnements qui varient selon les opérations
effectuées
I Analyse du Comportement du processeur lors du calcul : bruit acoustique
I Analyse de la consommation d’énergie : Une consommation accrue indique un calcul
important et peut donner des renseignements sur la clé

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptanalyse
Protocole d’attaque cryptographique general 8
1

Analyse, déduction et exploitation

I Étape "off-line" : Analyse & Déduction


I Attaque à force brute : essayer toutes les clés possibles pour retrouver un texte en
clair à partir du cryptogramme
I Attaque statistique : Estimer la fréquence d’apparition des lettres dans un texte
I Attaque algébrique : trouver des représentations équivalentes du cryptosystème,
exploiter des linéarités existantes.
I Cryptanalyse linéaire : approximation linéaire de l’algorithme de chiffrement,
augmenter le nombre de couples pour améliorer l’approximation.
I Cryptanalyse différentielle : étudier la manière dont les différences entre les entrées
affectent les différences de leurs sorties pour découvrir des vulnérabilités.
I Exploitation : Estimation de la clé et Déchiffrement de tous les cryptogrammes.

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptanalyse
Protocole d’attaque cryptographique general 9
1

Exemple: Brute force attack

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes de substitution 10
1

CESAR

I Consiste à remplacer les lettres du plaintext par d’autres lettres ou symboles ou bits.
I le plus connu est l’algorithme de Cesar : remplacer chaque lettre par celle qui la suit apres
trois positions ds l’alphabet
I L’alphabet est enroulé de sorte que la lettre qui suit Z est A
I ex :

plain : meet me after the toga party


cipher : PHHW PH DIWHU WKH WRJD SDUWB

CESAR: modèlisation mathématique

I l’alg peut etre exprimé comme :

c = E(3, p) = (p + 3)mod26

I le decalage peut etre généralisé à n’importe quel nombre k :

c = E(k , p) = (p + k )mod26

I si k ∈ [1, 25], alors le déchiffrement est :

p = D(k , c) = (c − k )mod26
Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique
Cryptographie classique
Algorithmes de substitution 11
1

CESAR: Brute force attack


Brute force attack sur Cesar : essayer toute les 26 combinaisons

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes de substitution 12
1

Monoalphabetic cipher

I consiste a remplacer chaque lettre arbitrairement (pas simple décalage)


I la clé est de longueur 26 :
I 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 z
I Cipher : 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
I exemple :

Plaintext : if we wish to replace letters


Ciphertext : WI RF RWAJ UH YFTSDVF SFUUFYA

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Monoalphabetic cipher 13
1

Sécurité du crypto monoalphabetique

I On a un total de 26! = 4 × 1026 clés possibles, mais on peut le casser par analyse de
fréquence : Al-Kindy
I Le langage humain est très redondant, ex ds le msg "th lrd s m shphrd shll nt wnt" les lettres
de cette façon ne sont pas ordinaire en anglais
I En anglais la lettre "E" est la plus utilisée, suivie par : "T,R,N,I,O,A,S"
I les lettres comme "Z,J,K,Q,X" sont rares en utilisation.
I il ya des doublets ou des triplets qui sont plus répondu que d’autres.

Fréquences des lettres en anglais

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Monoalphabetic cipher 14
1

Sécurité du crypto monoalphabetique: Exemple de cryptanalyse

I etant donné un ciphertext :UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXU


DBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYE-
POPDZSZUFPOMBZWPF
UPZHMDJUDTMOHMQ
I On compte la fréquence de chaque lettre ds le ciphertext
I On peut deviner que P et Z sont e et t
I On peut deviner que ZW est th et donc ZWP est the
I la séquence ZWSZ est remplacé par th*t, on peut deviner que S est a

I 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 with political
representatives of the viet cong in moscow"

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Playfair 15
1

Principe

I L’algorithme le plus connu qui crypte plusieurs lettres en même temps


I traite les diagrammes (2 lettres) comme unité et la converti en diagramme ciphertext.
I basé sur une matrice 5 × 5 utilisant un mot clé
I inventé par le Britannique Sir Charles Wheatstone en 1854
I utilisé par l’armée Britannique en W.W.I et par l’USA et ses alliés durant la guerre W.W.II

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Playfair 16
1

Matrice Playfair

I copier les lettres du mots clé dans la matrice (sans duplication)


I completer le reste de la matrice par les lettres manquantes
I les lettres I et J sont traités comme une seule lettre
I ex : en utulisant le mot clé MONARCHY

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Playfair 17
1

Cryptage Playfair

I opérer sur des diagrammes de lettres (2 lettres) à chaque fois


I cas particulier : si diagramme de même lettres, séparer par des lettres spéciales ex : x. par
exemple : balloon est traité comme ba lx lo on
I Si plaintext dans la même ligne : remplacer par les lettres de droite. Ex1 pq est remplacé par
qs. Ex2 ar est remplacé par RM.
I Si plaintext dans la même colonne : remplacer par les lettres en-dessous. ex mu est
remplacé par CM
I sinon, remplacer par lettre en même ligne qu’elle et même colonne que l’autre lettre du
plaintext. ex hs est remplacé par BP. ex2 ea devient IM ou JM

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Playfair 18
1

Sécurité de Playfair

I Sécurité amélioré puisque il ya en tout 26 × 26 = 676 diagrammes


I on a besoin d’une analyse fréquentielle sur 676 unité et non plus sur 26 comme le
monoalphabetique
I donc l’alphabet du ciphertext est aussi énorme
I il peut être cassé si on connaît une centaine de plaintext/ciphertext

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Playfair 19
1

fréquence des lettres

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes poly-alphabètique 20
1

Avantages

I améliore la sécurité en combinant plusieurs algorithme mono-alphabetiques


I rende la cryptanalyse plus difficile avec augmentation d’alphabets et une distribution
fréquentielle plus platte
I utilise une clé pour choisir quel alphabet mono-alphabetique à utiliser pour chaque lettre du
plaintext
I répéter du début si la fin de la clé est atteinte

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes poly-alphabètique 21
1

Vigenère

I l’algorithme poly-alphabetique le plus simple : algorithmes de Cesar muliples


I la clé est constitué de caractères K = k1 k2 ...kd
I la ième lettre de la clé spécifie le ième algorithme de Cesar à utiliser
I repeter des le debut chaque d lettres du plaintext

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes poly-alphabètique 22
1

Vigenère: Exemple

I écrire le plaintext
I écrire la clé et la répéter sur la longueur du plaintext
I utiliser chaque lettre de la clé comme clé de Cesar
I chiffrer chaque lettre indépendamment des autres
I ex : clé = deceptive

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes poly-alphabètique 23
1

Vigenère: AutoKey Cipher

I voulant une clé aussi longue que le message


I vigenère propose l’autokey
I clé est préfixé au message pour générer une nouvelle clé
I connaissant la clé basique, on peut déchiffrer les premières lettres
I peut etre cassé par analyse fréquentielle
I ex : clé : deceptive

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes poly-alphabètique 24
1

Vernam cipher

I utilise une clé aussi longue que le plaintext


I inventé par un ingénieur AT&T Gilbert Vernam en 1918

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes poly-alphabètique 25
1

Amélioration Vernam cipher: One Time Pad

I Amélioration de Vernam proposé par l’officier de l’armée, Joseph Mauborgne


I Utiliser une clé aléatoire qui est aussi longue que le message de sorte que la clé n’a pas
besoin d’être répétée
I La Clé est utilisée pour chiffrer et déchiffrer un seul message, puis elle est jeté
I Chaque nouveau message nécessite une nouvelle clé de la même longueur que le nouveau
message
I Ce cryptosystème est incassable
I problèmes dans la production et la distribution sécurisée de la clé
I Non pratique : reste utilisé ds les communications top-secrets et très coûteuses (teleph
rouge entre Moscow et Washington)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes de transposition 26
1

Principe

I Transposition= permutation
I Chiffrer le message en réarrangeant l’ordre des lettres du plaintext
I le plaintext et le ciphertext ont même occurence (fréquence) des lettres

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes de transposition 27
1

Fail hence cipher

I La transposition la plus simple


I plaintext est écrit en séquences de diagonales
I on le lit ligne par ligne
I pour chiffrer le message "meet me after the toga party" avec "Rail hence" de profondeur(nb
de lignes) 2 :

I ciphertext est : MEMATRHTGPRYETEFETEOAAT

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes de transposition 28
1

Raw Transposition Cipher

I Transposition plus complexe


I écrire le plaintext sous forme de rectangle, ligne par ligne
I ciphertext : lire le message colonne par colonne, mais permuter l’ordre des colonnes
I l’ordre de la lecture des colonnes est donc la clé

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie classique
Algorithmes de transposition 29
1

Product ciphers

I Les algorithmes de substitutions ou transposition ne sont pas sécurisés à cause de l’analyse


fréquentielle
I donc envisager d’utiliser plusieurs alg à la suite pour rendre la cryptanalyse plus difficile.
I exemple répéter la permutation du texte précédent avec la même clé (ou même avec une
autre clé) :

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Stream cipher vs Block cipher 30
1

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 31
1

fonctions réversibles et irréversibles

I Un algorithme à chiffrement par bloc prend n bits du plaintext et le transforme en n bits de


ciphertext
I il y a 2n combinaisons possibles de plaintext
I le Cryptage doit être reversible
I chaque bloc du plaintext produit un bloc du ciphertext diffèrent (bijectivité)
I il ya 2n transformations possibles

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 32
1

modèle d’un block cipher

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 33
1

les tables du bloc cipher exemple

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 34
1

Modes de cryptage par bloc

I NIST SP 800-38A definiti 5 modes de cryptages


I ECB : Electronic codebook Book Mode
I CBC : cipher block chaining Mode
I CFB : cipher FeedBack Mode
I OFB : Output FeedBack Mode
I CTR : Counter Mode
I il y a ceux qui sont orientés bloc et ceux qui sont orienté flux
I Ceci est pour couvrir une large variété d’application ds la vie réelle
I ces modes peuvent être appliqués sur n’importe quel algorithme de bloc

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 35
1

ECB

I Le plaintext est divisé en blocs qui seront cryptés


I chaque block constitue une valeur qui sera substitué par cryptage comme un dictionnaire,
d’où le nom (dictionnaire=codebook)
I Chaque bloc est crypté indépendamment des autres blocs : Ci = EK (Pi )
I Application : transmission sécurisée de messages courts

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
ECB 36
1

Avantages et limitations de ECB

I Les répétitions dans le plaintext sont montrés aussi dans le ciphertext (peu de confusion)
I Non efficace pour les images : trop de redondance, trop de répétitions donc image peut
rester visible après cryptage
I La faiblesse est dans l’indépendance dans le cryptage des différents blocs
I Utilisation principale est le cryptage de plaintext très court

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 37
1

CBC

I Le plaintext est divisé en blocs, ces blocs seront liés durant le cryptage
I chaque bloc du ciphertext est lié avec le bloc du plaintext correspondant et les bloc ciphertext
précédents
I utilise un vecteur d’initialisation pour commencer le cryptage :

Ci = EK (Pi XORCi−1 )C−1 = IV

I Application : Le cryptage de données en vrac (de grande redondance) ; Authentification


(CMAC)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
CBC 38
1

Avantages et limitations de CBC

I chaque bloc du ciphertext dépend de tous les blocs qui le précèdent


I n’importe quel changement affecte tous les blocs du ciphertext qui le suivent

I CBC a besoin d’un IV pour l’initialisation :


I l’IV doit être connu de l’émetteur et récepteur
I S’il est transmis en clair, un adversaire peut changer les bits du premier bloc et
changer IV pour compenser ce changement.
I Donc IV doit être soit fixe
I soit envoyé crypté en mode ECB avant de traiter le plaintext

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 39
1

Les modes de cryptage en bloc orientés flux

I Les modes de bloc chiffre tout le bloc


I dans certaines application, on pourra avoir besoin d’opérer sur des tailles plus petites
I application dans le cryptage du flux multimédia (temps réel)

I convertir les alg de bloc en algorithme de flux


I CFB
I OFB
I CTR
I séquences pseudo-aléatoires

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 40
1

CFB

I Le message est traité comme un flux de bits


I le message est ajouté à la sortie du l’alg de bloc
I le résultat est retourné (feed-back) à l’étage précédent (d’où le nom)
I le standard permet plusieurs tailles de blocs (1 ; 8 ; 64 ; 128 ; etc) pour être feed-back
I notés CFB-1, CFB-8, CFB-64, CFB-128
I le cryptage est comme suit :

Ci = Pi XOREK (Ci−1 )C−1 = IV

I Applications : cryptage du flux (temps réel), Authetification

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 41
1

CFB

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
CFB 42
1

Avantages et limitations de CFB

I CFB est approprié si les données arrivent en bits ou octets


I approprié pour le mode en flux
I Noter que dans le cryptage et le décryptage, les deux opèrent avec le bloc de chiffrement EK
I l’erreur (s’il y en a) peut se propager dans plusieurs blocs après le bloc erroné

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 43
1

OFB

I Le message est traité comme flux de bits


I la sortie du cryptage est ajouté au message
I la sortie est ensuite retourné (Output feed-back) à l’entrée de l’étage suivant (d’où le nom)
I le feedback est indépendant du message (plaintext)
I il peut être calculé auparavant

Oi = EK (Oi−1 )Ci = Pi XOROi O−1 = IV

I Utilisation : Cryptage de flux dans un canal bruité

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 44
1

OFB

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
OFB 45
1

Avantages et limitations de OFB

I OFB a besoin d’un IV qui doit être unique pour chaque utilisation
I si l’IV est réutilisé, l’adversaire peut retrouver les sorties
I Les erreurs ne se propagent pas
I émetteur et récepteur doivent être en synchronisation

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 46 1

CTR

I un nouveau mode similaire à OFB mais chiffre un compteur au lieu de la sortie


I doit avoir une clé différente et une valeur de compteur différente pour chaque message

Oi = EK (Oi )Ci = Pi XOROi

I Utilisation : Cryptage dans les réseaux haut débit

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block Cipher 47 1

CTR

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 48 1

Shannon et les alg de substitution-permutation

I Shannon a introduit l’idée des réseaux de substitution-permutation (S-P) en 1949


I c’est la base de tout les alg de cryptage moderne
I les réseaux S-P sont basés sur deux critère :
I substitution (S-box)
I Permutation(P-box)
I Ceci fourni les critères de confusion et de diffusion du plaintext et de la clé sur le ciphertext

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers 49 1

Confusion et diffusion

I Deux termes introduits par Shanon qui constituent les critères de base d’un algorithme de
cryptage
I Son but était de concevoir des cryptosystèmes qui résistent l’analyse statistique
I confusion : Rend la relation entre le ciphertext et la clé aussi complexe que possible
(apparence aléatoire)
I diffusion : Chaque bit du plaintext affecte tous les bits du ciphertext (avalanche)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers: Exemple DES 50 1

DES

I Data Encryption standard (DES) est le standard de cryptage recommandé par NIST
(National Institute of Standards and Technologies) en 1977.
I l’alg de cryptage le plus utilisé jusqu’à 2001 (l’arrivée de AES par NIST aussi)
I L’alg de DES est appelé DEA (Data Encryption Algorithm)
I Le plaintext est chiffré en 64-bit blocs en utilisant une clé de taille 56 bit
I l’alg transforme un bloc de 64-bit du plaintext à un bloc de 64-bit du ciphertext
I Les mêmes étapes, avec la même clé, conduisent au décryptage

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Block ciphers: Exemple DES 51 1

DES

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 52 1

Initial permutation (IP) de DES

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 53 1

Structure d’une ronde DES

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 54 1

Structure d’une ronde DES

I Deux moitiés L et R de taille 32-bits chacune


I Structure de Feistel est comme suit :
I F prend la moitié R de 32-bit et la clé intermédiaire de 48-bit et fait comme suit :

Li = Ri−1

Ri = Li−1 ⊕ F (Ri−1 , Ki )

I Expansion de R à 48-bits en utilisant la permutation E


I L’ajouter à la clé intermédiaire par XOR
I La faire passer à travers 8 S-box pour avoir le résultat de 32-bits
I Finalement la permuter en utilisant une permutation P

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 55 1

Les fonction de permutation E et P

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 56 1

Structure d’une ronde DES : F(R,K)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 57 1

Les 8 S-box

I chaque S-box transforme 6-bits à 4-bits


I Pour chaque entrée de chaque S-box :
I les bits 1 et 6 (bits extérieurs) sélectionne une ligne parmi 4.
I les bits 2-5 (bits intérieurs) sont substitués par la sortie correspondante ds la ligne
choisie
I le résultat est 8 lots de 4-bit : ça fait 32-bits en tout
I la sélection de la ligne dépend du plaintext et de la clé

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 58 1

Les 8 S-box : (1-4)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 59 1

Les 8 S-box : (5-8)

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 60 1

Key schedule

I Key schedule : préparation des clés intermédiaires (des 16 rondes) à partir de la clé originale
de 56-bits
I Permutation initiale de la clé (PC1) qui sélectionne 56-bits (parmi 64) en 2 moitiés de 28-bits
I 16 stages qui consistent à :
I "Rotation circulaire à gauche" de chaque moitié de 1 ou 2 bits en fonction de la
fonction de rotation K
I sélectionner 24 bits de chaque moitié et la permuter par (PC2) pour être l’entrée de la
fonction F.

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 61 1

Key schedule

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 62 1

Analyse de sécurité

I taille de l’espace clé 256 = 7.2 × 1016


I une machine à 109 déchiffrement/s peut le casser en 1.125 année
I une machine à 1013 déchiffrement/s peut le casser en 1 heure
I l’AES-128 avec la même vitesse, la machine reste 5.3 × 1017 années
I plusieurs attaques sur DES :
I differential cryptanalysis
I linear cryptanalysis
I related key attack
I Le besoin de trouver une alternative de DES devient nécessaire

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 63 1

Cryptage multiple

I DES est devenu vulnérable à la brute force attack


I Alternative : crypter plusieurs fois avec des clés différentes

I Options :
I Double DES : n’est pas très performant
I Triple DES (3DES) avec deux clés : brute force 2112
I Triple DES avec trois clés : brute force 2168

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 64 1

Double encryption

I clé de taille 2 × 56 = 112


I espace clé de 2112
I il faut donc essayer en moyenne 2111 pour le casser en brute force
I attaque plus intelligente : Meet-in-the-middle attack

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
Cryptage multiple DES 65 1

Meet-in-the-middle attack

I Double cryptage DES : C = E(K2 , E(K1 , P))


I soit X = E(K1 , P) = D(K2 , C)
I supposons que l’adversaire connaît 2 paires P/C : (Pa , Ca ) et (Pb , Cb )
I chiffrer Pa en utilisant toutes les possibilités 256 de la clé K1 pour avoir les possibilités
de X
I Enregistrer les valeurs possibles de X ds un tableau avec leurs clés correspondantes
K1
I Déchiffrer Ca en utilisant toutes les possibilités 256 de la clé K2
I Pour chaque résultat du décryptage, vérifier avec les valeurs du tableau
I S’il y a correspondance, Prenez les valeurs correspondantes de K1 et K2 . Et vérifier si
Cb = E(K2 , E(K1 , Pb )), alors accepter les clés.
I Avec deux paires de P/C, la probabilité de succès est 1
I Cette attaque est de complexité 2 × 256 qui est très inférieur à complexité brute force attack
2112

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
DES 66 1

Cryptage triple

I 2 clés : 112 bits


I 3 clés : 168 bits
I Pourquoi E-D-E ? Pour être compatible avec DES simple :

C = E(K1 , D(K1 , E(K1 , P)))

I 3DES a été adopté par plusieurs application internet : PGP, S/MIME

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Cryptographie moderne
AES 67 1

Principe

I Advanced encryption standard est le nouveau alg de cryptage adopté par NIST crée en 2001
(Rijandael)
I Taille block : 128-bit (possibilité d’autres tailles)
I taille clé : 128, 192, 256 bits
I rondes : 10, 12, 14 dépend de la clé
I XOR avec clés intermédiaires, Substitutions avec des S-box, mixage avec
l’arithmétique du corps de Galois
I Largement utilisé dans les communications sécurisés en réseaux
I Considéré comme sécurisée jusqu’à ce moment.

Houcemeddine HERMASSI houcemeddine.hermassi@enit.rnu.tn | Sécurité Informatique


Merci pour votre attention!

Vous aimerez peut-être aussi