Vous êtes sur la page 1sur 32

Sécurité informatique

Université Kasdi Merbah Ouargla


Département Mathématique et informatique

Crypto I : Cryptosystèmes et science de la


cryptologie

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

Cryptologie : science du secret

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 7 Sec 1ique


Cryptosystème III

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

• arithmétique modulo (ex : caractères modulo 26, bits


modulo 2)
• chiffrement eK, déchiffrement dK à clé secrète K
• chiffrement public eKpub , déchiffrement privé dKpriv
• signature privée sigKpriv, vérification publique verKpub
• fonction de hachage h publique, empreinte privée
sigKpriv(h(x)) (signature numérique)

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.

M1-ASR 11 Sec 1ue


Chiffrements mono-alphabétiques II
• Chiffre de César : Si on code A − Z dans , alors y =
x + 3 mod 26 et x = y − 3 mod 26.

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

 Il est difficile de faire la correspondance entre le texte


original et le texte chiffré sans connaître la table de
substitution  (la clé)
 Sans le texte en clair, il serait aussi difficile d’inférer  à partir
du texte chiffré, il faut avoir un « grand » (au moins une
occurrence de 25 lettres sur 26) nombre de texte en clair
pour reconstruire la clé
 L’algorithme classique de substitution possède donc des
propriétés raisonnables de confusion

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.

Le message clair est découpé en bloc de m lettres. Les clés comme


les messages sont traduits de l'alphabet a-z vers les nombres 0-25.
Vérifier (1) ?

M1-ASR 18 Sec 1
Chiffrements poly-alphabétiques II

• chiffrement par permutation (mélange de m lettres


consécutives par une permutation/clé) :
Transposition
• chiffrement de Hill (multiplication par une matrice
m × m inversible dans ) (voir exercice dans TD)
• Masque jetable (One Time Pad)

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

 Ici, il est « facile » d’inférer le texte original à partir du texte


chiffré
 On peut « facilement » retrouver la clé à partir du texte
chiffré
 La confusion est donc mauvaise
 Par contre, la disparition d’une lettre entraîne la modification
de tout le texte chiffré qui suit
M1-ASR 21 Sec 1ue
Chiffrements poly-alphabétiques V : Algorithme One-Time-
Pad (OTP) (ou masque jetable)
• Proposé par Gilbert Vernam en 1926
• Plus simple dans le monde de la cryptographie, considéré
comme incassable par certains spécialistes.
• Utilisé actuellement pour sécuriser des applications mobiles
e-commerce et l’accès à des serveurs Internet (pas de calcul
intensif).
• Il consiste à une opération ou exclusive (XOR : ) entre le
message et l’OTP.
• La clé OTP a les caractéristiques suivantes :
– Elle doit être aléatoire (c’est le grand défi : Utiliser un PRNG –
Pseudo Random Number Generator)
– La clé utilisée pour réaliser un chiffre ne sera plus disponible
pour les autres chiffres.
– La clé doit être une séquence de bits de longueur égale à la
longueur du message à chiffrer.
M1-ASR 22 Sec 1e
Chiffrements poly-alphabétiques VI : Algorithme One-Time-
Pad (OTP)
Emetteur

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)

Fig.: Fréquences des lettres en français (non accentué)

lettres (fr) : E, (A, S), (I,N,T,R), LUODCPMVGFBQHXJYZKW


M1-ASR 27 Sec 1
Cryptanalyse et analyse des fréquences II

 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

Vous aimerez peut-être aussi