Académique Documents
Professionnel Documents
Culture Documents
Master 1 ASR
Février 2016
M1-ASR 1 Sec 1
Cryptosystèmes et science de la cryptologie
1. Définitions et terminologie
– Historique
– Cryptosystème
– Principe de la cryptographie, cryptanalyse
2. Cryptographie classique
– Chiffrements mono-alphabétiques
– Chiffrements poly-alphabétiques
3. cryptanalyse de la cryptographie classique
– Confusion et diffusion
– Méthode de cryptanalyse de base
– Cryptanalyse et analyse des fréquences
– Sûreté d'un chiffrement
4. Résumé : cryptographie classique
– Algorithme de chiffrement – Concepts généraux
– Algorithmes "classiques" mono-alphabétiques
– Algorithme de Vigenère et OTP (poly-alphabétique)
– Enigma (En TP si possible)
M1-ASR 2 Sec 1
1- Définitions et terminologie I
Un peu de grec classique… Un peu d'américain…
Kryptos = "caché", "secret" Alice
Graphos = écriture Bob
=> Cryptographie Eve
=> Cryptanalyse (Charlie)
Logos = "savoir" Encrypt and Decrypt
=> Cryptologie Un peu de français !!!
Stéganos = "couvert", Chiffrer et déchiffrer
"étanche" Coder et décoder
=> Stéganographie Crypter et décrypter (!)
Irène !!! (l'ingénieure)
Un peu de math…
M1-ASR 3 Sec 1
1- Définitions et terminologie II
Vocabulaire :
Cryptosystème : Un système de
chiffrement/déchiffrement
Cryptographie : Art de concevoir des cryptosystèmes
Cryptanalyse : Art de casser les cryptosystèmes
Cryptologie : Science qui étudie les deux arts
précédents
M1-ASR 4 Sec 1
Historique
Les trois ères de la cryptographie
« Classique »
• Jusqu’au masque jetable (One Time Pad)
« Moderne »
• Crypto électro-mécanique (voir applet Enigma)
• Guerre froide …
• Crypto électronique et informatique - DES
« Âge d’or »
• Chiffrement à clé publique et gestion de certificats
• Cryptologie et autres tâches cryptographiques
• Internet et enjeux commerciaux
M1-ASR 5 Sec 1
Cryptosystème I
Eve
M1-ASR 6 Sec 1
Cryptosystème II
M1-ASR 8 Sec 1e
Principe de la cryptographie, cryptanalyse
• Considérations pratiques
les fonctions ek et dk doivent pouvoir se calculer efficacement
un opposant observant les messages chiffrés y ne peut déterminer k
ou x
cryptanalyse : rechercher k à partir de y. Donnera aussi x
• Algorithme public, clé cachée : principe de Kerckhoffs (1883)
la sécurité d'un cryptosystème ne repose que sur le secret de la clé.
autres paramètres connus (e et d)
exprimé aussi par Shannon : l'adversaire connaît le système
chiffres civils suivent le principe de Kerckhoffs. Militaires utilisent des
systèmes secrets. NB : l’algorithme de cryptage A5/1 des mobiles GSM
non divulgué au début (1987), divulgué en 1994.
• Le nombre de clés possibles doit être grand.
• Pourquoi de tels principes pour la sécurité informatique ?
M1-ASR 9 Sec 1
Résumé des outils I
M1-ASR 10 Sec 1
2- Cryptographie classique : Chiffrements mono-
alphabétiques I
• Quelques grands noms : Al-Kindi (801-873), Alberti
(1404-1472), Vigenère (1523-1596), Porta (1535-
1615), Babbage (1792-1872), Kerckhoffs (1835-
1903), Turing (1912-1954)
• Chiffre de substitution : remplacer les lettres ou les
mots par d'autres symboles
• On appelle chiffrement mono-alphabétique ou
substitution simple, un chiffre où chaque lettre est
remplacée par une autre lettre ou symbole.
Vérifier (1) ?
M1-ASR 12 Sec 1
Chiffrements mono-alphabétiques III
Exercices :
1. Quelle est l'espace des clés du chiffre par décalage ?
2. Quel est le texte clair de TMKBM CZXIQ AQJTM MBJCK
WTQYCM?
M1-ASR 13 Sec 1
Chiffrements mono-alphabétiques III
• Chiffrement par substitution
Algorithme de substitution
On prend un texte en clair et, pour chacune des lettres
du texte, on utilise la lettre comme index dans une table
de substitution () pour trouver l’équivalent chiffré
La table de substitution représente la clé
M1-ASR 14 Sec 1
Chiffrements mono-alphabétiques IV
• Exemple :
– « HELLOWORLD » devient :
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
h e v a m t s i c f n u o r b g q w j y d l x k z p
« imuubxbwua »
Exercice
Quelle est l'espace des clés de ce chiffrement ?
Est-ce qu'une recherche exhaustive est envisageable ?
M1-ASR 15 Sec 1
Chiffrements mono-alphabétiques V
• Un autre exemple est le chiffrement affine eK(x) = ax + b mod 26,
pour des clés k = (a, b) avec pgcd(a, 26) = 1.
• Montrez que résoudre ax + b= y(mod 26) est équivalent à résoudre
ax= y(mod 26)
• Supposez pgcd(a, 26) = d > 1 et montrez que ax= 0(mod 26) a au
moins deux solutions. eK peut-il être alors injectif ?
• Supposez pgcd(a, 26) = 1 et supposez x1, x2 tq ax1= ax2(mod 26).
• En déduire 26 divise (x1 − x2), ce qui montre que x1= x2(mod 26). ek
est-il alors injectif ?
• En déduire que l'équation ax= y(mod 26) admet une solution unique.
• Le chiffrement affine est bien un cryptosystème.
• Si a−1 est l'inverse de a, en déduire que dK(y)= a−1(y − b)(mod 26)
Exercices :
• Montrer que K = (7, 3) induit un chiffrement affine dans Z26. Quelle
est sa fonction de déchiffrement ? Combien y a-t-il de clés possibles ?
M1-ASR 16 Sec 1
Chiffrements mono-alphabétiques VI
Algorithme de substitution
Un exemple de texte chiffré en utilisant :
I L E T A I T U N E F O I S L H I S T O I RE D U N P E T I T C H A P E R O N R O U G E
c u m y h c y d r m t b c j u i c j y b c wm a d r g m y c y v i h g m w b r w b d s m
M1-ASR 17 Sec 1
Chiffrements poly-alphabétiques I
Un chiffrement polyalphabétique peut remplacer une lettre
par une autre lettre qui n'est pas toujours la même.
Cryptanalyse plus difficile.
M1-ASR 18 Sec 1
Chiffrements poly-alphabétiques II
M1-ASR 19 Sec 1
Chiffrements poly-alphabétiques III : Algorithme de
transposition (bit shifting)
• On prend un texte en clair et on permute la position
des lettres (ou des bits dans le cas moderne) entre elles
en fonction d’une « clé »
• Dans l’antiquité on utilisait un bâton autour duquel on
enroulait une lanière de cuir (déguisée en ceinture) où
était écrit le texte
• Exemple :
– Avec un « bâton » qui a une épaisseur de deux lettres,
« HELLOWORLD » devient
h l o o l
e l w r d
« hloolelwrd »
M1-ASR 20 Sec 1
Chiffrements poly-alphabétiques IV : Algorithme de
transposition (bit shifting)
Chiffrons ce texte avec un « bâton » de taille 6
e n l i p h n i
t e h r e a r l
a f i e t p o
i o s d i e u
t i t u t r g
u s o n c o e
I L E T A I T U N E F O I S L H I S T O I R E D U N P E T I T C H A P E R O N R O U G E
e n l i p h n i t e h r e a r l a f i e t p o i o s d i e u t i t u t r g u s o n c o e
Message
Message crypté
XOR
transmis
OTP
Récepteur
Message
crypté
XOR Message
transmis
original
OTP
M1-ASR 23 Sec 1
Chiffrements poly-alphabétiques VII : Algorithme One-Time-
Pad (OTP) – masque jetable
• Les inconvénients de l’OTP
– La clé doit être égale à la longueur du message à chiffrer. Si
le message à chiffrer est long, le
chiffrement/déchiffrement sera lourd (OTP utilisé pour
chiffrer des petits messages).
– La clé OTP doit être utilisée une seule fois, donc pour
chaque message à chiffrer, une OTP aléatoire doit être
générée (PRNG-Pseudo Random Number Genrator).
– L’autre problème de l’OTP est la distribution de la clé. La
clé doit être partagée d’une manière secrète et protégée
en dehors des deux parties communicantes.
M1-ASR 24 Sec 1
3 - Cryptanalyse de la cryptographie classique
• Confusion et diffusion
– Même dans les algorithmes modernes, la confusion et la
diffusion sont les deux propriétés recherchées
– Au sens strict :
• Confusion : Aucune propriété statistique ne peut être déduite
du message chiffré
• Diffusion : Toute modification du message en clair se traduit
par une modification complète du chiffré
• On remarque que les algorithmes classiques ne respectent pas
tout à fait cette propriété
– Objectif
• Empêcher de retrouver la clé à partir de paires : texte chiffré et
texte clair (exemple : attaque à texte choisi)
M1-ASR 25 Sec 1
Méthodes de cryptanalyse de base
Force brute
Taille de l’espace de clés (recherche exhaustive)
Analyse fréquentielle
Établir le tableau des fréquences
Connaître les fréquences de la source
Codage connu
Rétro-ingénierie de l'algorithme de chiffrement:
• Marche pour les algorithmes de substitution mono-
alphabétiques
• Peut marcher pour les poly-alphabétiques, si fréquences
connues
M1-ASR 26 Sec 1
Cryptanalyse et analyse des fréquences I
• Cryptanalyse : déterminer la clé k connaissant l'algorithme
• Niveaux d’attaques possibles :
– attaque à texte chiffré connu : seul C est connu d’Oscar
– attaque à texte clair connu : Oscar connait C et M correspondant
– attaque à texte clair choisi : : ∀M, Oscar peut obtenir C
– attaque à texte chiffré choisi : ∀C, Oscar peut obtenir M
• Cryptanalyse par analyse des fréquences (Al Kindi)
bigrammes (fr) : ES, (DE, LE, EN), (RE, NT, ON, ER, TE), . . .
trigrammes (fr) : ENT, LES, (EDE, DES, QUE), AIT, . . .
La cryptanalyse (ou analyse) fréquentielle consiste à
comparer les fréquences d’occurrence des symboles de la
source avec les fréquences d’occurrence des symboles dans
le texte chiffré.
S'applique aux chiffrements mono-alphabétiques
Chiffre par décalage en deux trois essais
Chiffre affine en quelques essais aussi.
Chiffre par substitution si texte suffisamment long. On utilise aussi
les bigrammes, trigrammes pour orienter la recherche.
M1-ASR 28 Sec 1
Sûreté d'un chiffrement
• Sécurité sémantique : un attaquant ne récupère aucune
information sur le texte clair à partir du texte chiffré.
(attaque passive)
• Sécurité calculatoire : système sûr au sens de la théorie de
la complexité si le meilleur algorithme pour le casser
nécessite N opérations, où N est un nombre trop grand.
• Sécurité prouvée : la sécurité se réduit à un problème
difficile à résoudre.
Exemple : le système X est sûr si un entier n donné ne peut être
factorisé.
M1-ASR 29 Sec 1
4- Résumé : Algorithme de chiffrement – Concepts généraux
Alphabet
– Entrée : Un texte clair (plaintext)
– Sortie : Un texte clair
Fonction de chiffrement
– Clé de chiffrement = ke
– y = eke(x), y est le texte chiffré (ciphertext)
Fonction de déchiffrement
– Clé de déchiffrement = kd
– x = dkd(y)
M1-ASR 30 Sec 1
Algorithmes "classiques" mono-alphabétiques
Algorithme de César Algorithme de substitution
– Source – Source
• texte en caractères latin • Idem
– Codage – Codage
• lettres chiffres de 0 à 25 • aucun
– Chiffrement – Chiffrement
• x x+3 mod 26 • x (x)
– Clés – Clés
• k =3 • (une table de substitution)
Algorithme de décalage Algorithme affine
– Source et codage – Source et codage
• idem • lettres en chiffres
– Chiffrement – Chiffrement
• x x + k mod 26 • x a x + b mod 26
– Clés – Clé
• k {0,…,25} • (a,b) où a, b {0,…,25} et pgcd(a,26)=1
M1-ASR 31 Sec 1
Algorithmes poly-alphabétiques
Algorithme de Vigenère Algorithme OTP
– Source – Chiffrement :
• Texte en caractères latin • C= P OTP
– Codage – Clé
• lettres chiffres de 0 à 25 ( ou code ASCII) • OTP = Taille du message
– Clé • OTP aléatoire , utilisée une
• k = k1 k2 … km , mot/phrase de longueur m seule fois.
– Chiffrement – Déchiffrement :
• xi (xi + k i mod m ) mod 26 • P=C OTP
C R Y P T O G R A P H I E D E V I G E N E R E
M A T H W E B M A T H W E B M A T H W E B M A
On trouve :
ORRWPSHDAIOEI EQ VBNARFDE
M1-ASR 32 Sec 1