Vous êtes sur la page 1sur 45

Rseaux & Protocoles

MASTER 2 FST SETTAT


S c u r i t a v a n c e Slide 1
Y. I. KHAMLICHI
La cryptographie
Youness IDRISSI KHAMLICHI
(ykhamlichi@gmail.com)
2012/2013
Scurit des rseaux
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 2
Y. I. KHAMLICHI
La cryptographie
Cruptos : cache, dissimule
Graphein : crire
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 3
Y. I. KHAMLICHI
Cryptographie : terminologie
La cryptologie est une science mathmatique qui comporte deux
branches : la cryptographie et la cryptanalyse.
La cryptographie : tude des mthodes permettant davoir
des donnes de manire confidentielle.
La cryptanalyse : tude des procds cryptographiques dans
le but de trouver des faiblesses.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 4
Y. I. KHAMLICHI
Notions de base
Les quatre buts de la cryptographie
Confidentialit : mcanisme pour transmettre des donnes de telle
sorte que seul le destinataire autoris puisse les lire.
Intgrit : mcanisme pour s'assurer que les donnes reues n'ont
pas t modifies durant la transmission.
Authentification : mcanisme pour permettre d'identifier des
personnes ou des entits et de certifier cette identit.
Non-rpudiation : mcanisme pour enregistrer un acte ou un
engagement d'une personne ou d'une entit de telle sorte que celle-
ci ne puisse pas nier avoir accompli cet acte ou pris cet engagement.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 5
Y. I. KHAMLICHI
Cryptographie : Chiffrement et dchiffrement
Le chiffrement cest de transformer un texte clair en texte
incomprhensible qui sappel texte chiffr ou cryptogramme.
Inversement, le dchiffrement est laction qui permet de
reconstruire le texte en clair partir du texte chiffr.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 6
Y. I. KHAMLICHI
Cryptographie : principe de base
Chiffrement
Dchiffrement
Texte en clair
Texte chiffr ou cryptogramme
Texte en clair
Clef de chiffrement
Clef de dchiffrement
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 7
Y. I. KHAMLICHI
Dfense : cryptage
Le cryptage est une technique qui vise :
dformer un message de manire le rendre
incomprhensible.
protger les donnes contre laccs non autoriss
Une fois dform, ce message pourra tre transmis via un mdia
non-scuris.
Le rcepteur devra ensuite le ramener sa forme initiale.
Repose sur lemploi des formules mathmatiques et des
algorithmes complexes afin de coder linformation
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 8
Y. I. KHAMLICHI
Cryptage classique
On distingue 2 procds de cryptage:
Procds de transposition (permutation), qui modifie la
succession des caractres laide dun algorithme.
Procds de substitution, qui remplace les caractres
dorigine par dautres prlevs dans une liste
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 9
Y. I. KHAMLICHI
Cryptage classique
Chiffrement de Csar
Homophonique
XOR
Vigenre
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 10
Y. I. KHAMLICHI
Le chiffre de substitution de Csar
La technique est de remplacer chaque
lettre du texte chiffrer par la lettre qui se
situe n places plus loin dans l'alphabet.
Par exemple si n=3, on remplacera A par D,
B par E, C par F etc.
Exemple :
Chiffrement : n = 10
SALUT => CKVED
Dchiffrement : n = -10
CKVED => SALUT
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 11
Y. I. KHAMLICHI
Le chiffre de substitution homophonique
Le principe du chiffre de substitution homophonique est de
remplacer chaque lettre par divers substituts, cela afin
d'empcher la mise en correspondance des lettres les plus
frquentes (par exemple le e en franais) avec les symboles les
plus reprsents dans le texte chiffr.
Par exemple, dans l'applet ci-contre, la lettre a sera chiffre
par "21" ou "27"ou "31" ou "40".
Le fait de proposer plusieurs options de substitution pour les
lettres les plus usuelles bouleverse les frquences dans le texte
chiffr. Et puisqu' aucun symbole n'apparait plus souvent que les
autres, le message sera plus rsistant la cryptanalyse.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 12
Y. I. KHAMLICHI
Le chiffre de substitution homophonique
Exemple :
MAMAN => 0921432712
CANNE => 0121124822
A => 21 27 31 40
B => 15
C => 01 33
D => 20 34
E => 22 28 32 36 37
F => 05
G => 17
H => 14
I => 02 29 38 41
J => 19
K => 03
L => 07 39 42
M => 09 43
N => 12 48 97
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 13
Y. I. KHAMLICHI
Utilisation dun OU exclusif (XOR)
La technique de OU exclusif (XOR) entre le texte chiffrer et
la cl.
0 0 = 0
1 0 = 1
0 1 = 1
1 1 = 0
On remarque les proprits suivantes :
a a = 0
a b b = a
Lalgorithme du OU exclusif simple nest rien dautre quun
chiffre de Vigenere, c--dire une substitution polyalphabtique
utilisant une cl,
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 14
Y. I. KHAMLICHI
Utilisation dun OU exclusif (XOR)
Exemple :
Cl : KHAMLICHI
Message : vivre
En code ASCII :
K = 01001011 | H = 01001000 | A = 01000001 | M = 01001101
L = 01001100 | I = 01001001 | C = 01000011
v = 01110110 | i = 01101001 | r = 01110010 | e = 01100101
Rsultat : (vivre) (KHAMLICHI) => =!7?)
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 15
Y. I. KHAMLICHI
Substitution poly alphabtique : Chiffre de Vigenre
Blaise de Vigenre (1523-1596)
"carr de Vigenere", 26 fois l'alphabet, dcal chaque fois d'une
lettre,
Pour crypter, on convient d'une clef (mot ou phrase). A chaque
lettre du texte clair on fait correspondre une lettre de la clef (la
clef tant rpte autant de fois que ncessaire).
En posant C le texte cod, T le texte et K la cl, on peut traduire
ceci par la formule : C = T + K [mod 26]
Pour dchiffrer le message, il suffit de faire l'opration inverse :
On prend la ligne correspondant la lettre de la cl, et on la suit
jusqu' rencontrer le caractre cod; la lettre dcode est alors la
premire ce cette colonne. Ce qui se traduit par la formule :
T = C - K [mod 26]
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 16
Y. I. KHAMLICHI
Substitution poly alphabtique : Chiffre de Vigenre
Exemple :
Cl : ABY
Message : SALUT
Grill :
1 : ABCDEFGHIJKLMNOPQRSTUVWXYZ
2 : BCDEFGHIJKLMNOPQRSTUVWXYZA
3 : CDEFGHIJKLMNOPQRSTUVWXYZAB
4 : DEFGHIJKLMNOPQRSTUVWXYZABC
.
25 : YZABCDEFGHIJKLMNOPQRSTUVWX
Rsultat : SBJUU
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 17
Y. I. KHAMLICHI
Les outils de la cryptographie et des signatures
Les fonctions de hachage
Elles prennent en entre un message de taille variable le
compressent et produisent une empreinte (digest) de taille fixe.
Le rsultat dune fonction de hachage est identique pour deux
entres identiques.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 18
Y. I. KHAMLICHI
Les outils de la cryptographie et des signatures
Les fonctions de hachage
Les fonctions de hachage permettent difficilement (ou ne
permettent pas) de retrouver le texte qui a donn une empreinte
donne.
De plus une fonction de ce type doit viter les collisions. Cest
dire que deux textes diffrents doivent avoir une probabilit trs
faible de donner la mme empreinte.
Les fonctions les plus courantes :
MD5(Message Digest 5) gnre une empreinte de 128 bits
partir dun texte de longueur quelconque
SHA (Secure Hash Algorithm) gnre une empreinte de 160 bits
partir dun texte de longueur maxi 264.
RIPE-MD (Race Integrity Primitives Evaluation) communaut
europenne gnre une empreinte de 128 bits, une version 160
bits existe.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 19
Y. I. KHAMLICHI
Cryptographie
Il existe 2 systmes de cryptographie:
Les systmes symtriques:
la mme cl utilis pour coder et dcoder
Exemple : DES; Data Encryption standard
Les systmes asymtriques:
la cl qui sert coder est diffrente de celle qui peut dchiffrer
(notion de cl prive et cl publique)
Exemple : RSA; Rivest Shamir Adelmann
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 20
Y. I. KHAMLICHI
Cryptographie symtrique
La cryptographie symtrique fonctionne habituellement suivant
deux procds diffrents :
Le cryptage de flux ou par flot (en anglais stream cipher)
le cryptage par blocs
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 21
Y. I. KHAMLICHI
Cryptographie symtrique: principe de base
Voici le
numro
de ma
carte de
crdit
111111,
Texte clair
Cl
01010000111
Cl
01010000111
Emetteur
Rcepteur
Voici le
numro
de ma
carte de
crdit
111111,
Texte clair
Cryptage
Dcryptage

Texte crypt
Internet
Transmission par canal scuris
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 22
Y. I. KHAMLICHI
Cryptage symtrique
Avantages
Confidentialit des donnes.
Rapidit, et facilit de mise en uvre sur des circuits.
Limitations
Problmatique de l'change de la cl de chiffrement
tablissement pralable d'un canal sr pour la transmission de la cl
Une tierce partie ne peut pas sassurer de lauthenticit
des messages.
Problme de la distribution des cls de cryptage
Ncessit dtablir un canal scuris pour la transmission de la cl
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 23
Y. I. KHAMLICHI
Cryptographie symtrique
Cryptage par bloc (Bloc Cipher)
Principe: Le texte est divis en diffrents blocs de taille fixe. Un bloc
est trait la fois, produisant un bloc de donnes cryptes.
le bloc doit tre entirement disponible avant le traitement
La mme fonction et la mme cl est utilise pour crypter les blocs
successifs.
Implmentation dune manire logicielle en gnrale.
Cryptage par flux (Stream Cipher)
Principe: Traite les lments dentre de faon continue, produisant
la fois un lment de sortie (crypt).
La cl est aussi longue que le stream de donnes.
Mode adapt pour la communication en temps rel: Pas besoin
dattendre larriv du bloc entier
Implment en gnral sur des supports hardware.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 24
Y. I. KHAMLICHI
Le chiffrement par flux (stream cipher)
le cryptage en continu, est effectu bit--bit sans attendre la
rception complte des donnes crypter.
Une liste non-exhaustive de chiffrements par flot :
A5/1, algorithme publi en 1994, utilis dans les tlphones
mobiles de type GSM pour chiffrer la communication par radio
entre le mobile et l'antenne-relais la plus proche ;
RC4 (Rivest Cypher), le plus rpandu, conu
en 1987 par Ronald Rivest, utilis notamment par le
protocole WEP du Wi-Fi ;
Py, un algorithme rcent de Eli Biham ;
E0 utilis par le protocole Bluetooth.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 25
Y. I. KHAMLICHI
Le chiffrement par blocs (block cipher)
Blowfish, longueur variable (32 448 bits) pour microprocesseurs
puissants free
CAST(Carlisle Adams Statford Tavares)
DES (Data Encryption Standard) free 1977, 64 bits de cl donc 56
utiles (controle de parit), chiffre de FEISTEL 16 rondes.
Variante le triple DES 112 bits.
IDEA (International Data Encryption Algorithm) anne 1991,
itration 128 bits et 8 rondes
AES(Advance Encryption Standard) remplace le triple DES 128,
192,256 bits plus rapide que IDEA et triple DES free.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 26
Y. I. KHAMLICHI
Principe de cryptage
Tout systme de cryptage est compos dun algorithme
de codage
La Cryptographie ncessite 2 fonctions essentielles:
Le message M est crypt par une fonction de cryptage
E(M) = C
Le cryptogramme C est dcrypt par le destinataire par
une fonction de dcryptage D(C)= M =D(E(M))
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 27
Y. I. KHAMLICHI
Application de la cryptographie
Commerce lectronique
Protection de la confidentialit de correspondance
Protection des bases de donnes contre les
intrusions et la divulgation des tiers non autoriss
Transmission scurise des donnes sensibles
travers les rseaux internationaux
Preuve informatique: Identification et authentification
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 28
Y. I. KHAMLICHI
Le chiffre de FEISTEL, blocs avec itrations
on chiffre les blocs par un processus comportant
plusieurs rondes.
Dans chaque ronde, la mme transformation
est applique au bloc, en utilisant une sous-
clef drive de la clef de chiffrement.
Exemple la famille des chiffres de Feistel.
Un bloc de texte en clair est dcoup en
deux ; la transformation de ronde est
applique une des deux moitis, et le
rsultat est combin avec l'autre moiti par
ou exclusif.
Les deux moitis sont alors inverses pour
l'application de la ronde suivante.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 29
Y. I. KHAMLICHI
DES (Data Encryption Standard)
Lalgorithme de cryptage cls symtriques le plus
utilis.
Crypte des blocs de 64 bits en utilisant des cls
relativement courtes (taille effective 56-bit).
Produit de transpositions et de substitutions.
Implmentation facile en matriel.
Boites transposition P-Box
Boites de substitution S-Box
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 30
Y. I. KHAMLICHI
Algorithme DES : Mcanisme
Le message, au pralable converti en binaire, est dcoup en
blocs B
i
de 64 bits.
La cl K, comporte 56 bits.
Voir : http://www.primenumbers.net/Renaud/fr/crypto/DES.htm
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 31
Y. I. KHAMLICHI
Algorithme DES : Mcanisme
Pour chaque bloc B
i
, on applique l'algorithme* suivant :
1) On effectue une permutation initiale des bits du bloc B
i
. On
appelle alors G
0
et D
0
les parties de 32 bits droite et gauche du
bloc obtenu.
2) On rpte 16 fois la procdure suivante :
G
i
= D
i-1
D
i
= G
i-1
XOR f(D
i-1
, K
i
) (XOR est reprsent par + sur
le schma ci-dessous)
o K
i
est un bloc de 48 bits de la cl K, et f une fonction
compose successivement d'une expansion de bits, d'un XOR,
d'une rduction de bits, et d'une permutation de bits.
3) On recompose un bloc B'
16
en "recollant" D
16
et G
16
dans cet
ordre.
4) On effectue la permutation inverse de la permutation initiale 1).
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 32
Y. I. KHAMLICHI
Algorithme DES
48 bits
1
2
4
3
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 33
Y. I. KHAMLICHI
Algorithme DES
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 34
Y. I. KHAMLICHI
Cryptographie asymtrique
Cryptographie asymtrique :
Le crypto-systme R.S.A
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 35
Y. I. KHAMLICHI
R.S.A (Rivest, Shamir et Adelman)
Adi Shamir, Ronald Rivest et Leonard Adleman
R.S.A : du nom de ses auteurs Rivest, Shamir et Adleman. Mis au point en 1977
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 36
Y. I. KHAMLICHI
Clef publique / prive
Public
Voici un
message
ultra
secret
U93%
%*2Ja
nd938Q
D&fd
Voici un
message
ultra
secret
Private
RSA
RSA
Publication de la clef
publique dans un annuaire,
par exemple sur le web
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 37
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Rappelons que chaque correspondant utilisateur dun tel systme
possde deux cls, lune publique connue de tous et lautre quil
garde secrte.
Quand vous voulez crire quelquun vous utilisez sa cl
publique pour chiffrer votre message.
Le destinataire de votre message utilisera sa cl secrte pour
le dchiffrer
Prenons deux personnage de fiction, par exemple Alice la
personne qui dsire recevoir un message chiffr, et Bob la
personne qui envoie le message.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 38
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Choix de la clef
Alice choisit deux grands nombres entier naturels premiers p et q.
Elle fait leur produit n = pq et calcule f = (p - 1)(q - 1).
Elle choisit ensuite un entier e premier trs grand tel que e soit
premier avec f.
Il dtermine d, linverse multiplicatif de e mod f (e.d = 1 mod f).
La cl publique dAlice sera le couple (n, e) et sa cl secrte sera
lentier d.
Enfin, elle publie dans un annuaire, par exemple sur le web, sa
clef publique: (RSA, n, e).
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 39
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Chiffrement :
Bob veut donc envoyer un message Alice. Il cherche dans l'annuaire la
clef de chiffrement qu'elle a publie. Il sait maintenant qu'il doit utiliser
le systme RSA avec les deux entiers n et e.
Il transforme en nombres son message en remplaant par exemple
chaque lettre par son rang dans l'alphabet.
Puis il dcoupe son message chiffr en blocs de mme longueur
reprsentant chacun un nombre plus petit que n.
bonjour devient : 02 15 09 14 15 21 18
(ex. bloc=3) => 002 150 914 152 118
Un bloc B est chiffr par la formule C = B
e
mod n, o C est un bloc du
message chiffr que Bob enverra Alice.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 40
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Dchiffrement :
Alice calcule partir de p et q, qu'elle a gards secrets, la clef d
de dchiffrage (c'est sa clef prive).
Celle-ci doit satisfaire l'quation ed mod ((p-1)(q-1)) = 1.
Chacun des blocs C du message chiffr sera dchiffr par la
formule B = C
d
mod n.
Voir le site : http://www.apprendre-en-ligne.net/crypto/menu/index.html
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 41
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Exemple (1/2) :
1 - prparation des cls
Deux nombres premiers tenus secrets : p = 3 et q = 7
Son produit n est diffus : n = p.q = 21
On calcule f, f =(p-1)(q-1) = 12
Un nombre e est, lui aussi, diffus : e premier avec f, soit e = 5
On calcule d, linverse de e mod f, e.d =1 mod f :
5d = 1 mod 12 => d= 5
2 - Prparation du message
Le message est converti en chiffres, On va coder chaque chiffre
Soit par exemple le mot chiffrer est x = 2
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 42
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Exemple (2/2) :
3 - Codage du message
Chaque x est cod par y
y = x
e
mod n
y = 2
5
mod 21 => y = 32 mod 21 => y = 11
Les valeurs de y sont transmises, dans notre exemple 11 est
transmis
2 Dchiffrage
On calcule : z = y
d
mod n
z = 11
5
mod 21 => z = 2
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 43
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Exemple
Soit p = 47 et q = 59.
On a donc n = pq = 2773 et m = (p - 1)(q - 1) = 2668.
On choisit d premier avec 2668 par exemple d = 157.
On calcule c linverse multiplicatif de 157 modulo 2668,
laide des coefficients de Bzout de 157 et 2668. On
trouve alors c = 17.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 44
Y. I. KHAMLICHI
Cryptographie asymtrique : R.S.A
Dans cet exemple, la cl publique est donc le
couple (17,2773).
Et la cl secrte est lentier 157.
Exercice
Soit p = 53 et q = 97.
Montrer que lon peut choisir d = 4279.
Calculer alors c.
Rseaux & Protocoles
MASTER 2 FST SETTAT
S c u r i t a v a n c e Slide 45
Y. I. KHAMLICHI
A discuter !!

Vous aimerez peut-être aussi