Documente Academic
Documente Profesional
Documente Cultură
Intervenants
Agenda
Introduction la cryptographie
Histoire de la cryptographie
Concepts et mthodologies
Applications de la cryptographie
Introduction la cryptographie
Objectifs
Postulats
Glossaire
Comme toute science, celle-ci possde son propre langage. tant donne
la relative jeunesse de cette science, et le fait qu'une trs grande partie
des publications dans ce domaine sont en langue anglaise, le problme de
la terminologie francophone se pose, parfois par manque de traduction
Le chiffrement est le procd grce auquel on peut rendre la comprhension d'un document
impossible toute personne qui n'a pas la cl de (d)chiffrement.
Une cl est un paramtre utilis en entre d'une opration cryptographique.
Dchiffrer consiste retrouver le texte original (aussi appel clair) d'un message chiffr dont
on possde la cl de (d)chiffrement.
Dcrypter consiste retrouver le texte original partir d'un message chiffr sans possder la
cl de (d)chiffrement.
Texte clair [Clear text ou Plain text] : Caractres ou bits sous une forme lisible par un humain
ou une machine.
Texte chiffr [Cipher text] : Rsultat de la manipulation de caractres ou de bits via des
substitutions, transpositions, ou les deux.
Histoire de la cryptographie
10
11
En Crte, un disque de
Phastos, datant de 1700
avant notre re, comportant
un texte chiffr sur les deux
faces t retrouv. Ce texte
nest encore ce jour dcrypt
de manire sure.
12
13
14
Les auteurs prennent leurs prcautions et chiffrent leur nom pour renier
ou revendiquer la paternit de leur crits.
Ainsi Rabelais signe Alcofribas Nasier
15
17
18
20
Ds le 1er Aot 1914, La section du chiffre est capable de dcrypter les communications
chiffres Allemandes
Le cryptologue le plus dou de lquipe est le lieutenant Painvain.
Il est lauteur dun vritable exploit en Juin 1918. Les Allemands ont adopts un nouveau
systme de chiffrement et esprent rompre les lignes franaise et atteindre Paris
Cinq axes dattaque sont possibles. Ou et comment disposer les dernires forces franaises
Par un travail acharn, Painvain reconstitue le nouveau code de lennemi le 2 Juin
Un message chiffr alors dcrypt se rvle dune importance capitale car il permet de
dterminer laxe dattaque.
Foch est averti et fait mettre en place les troupes de rserve. Lattaque allemande a lieue le 9
Juin. Elle est stoppe net et les forces franaises contre-attaquent.
La victoire des allis suivit quelques mois aprs.
21
George Painvain
(1886 1980)
22
De la mcanique lordinateur
La machine Enigma
Q
Lenseignement que les tats majors tirent de la guerre est quil faut
automatiser les oprations de chiffrement
Larme allemande squipe de machines Enigma ds 1926
Larme franaise squipe au milieu des annes 1930, de matriel sudois: La
machine C36 et la machine B211 qui resterons en service environ 20 ans
La machine Enigma possde 3 rotors,
chaque rotor contenant les 26 lettres de
lalphabet. Lordre de grandeur de la
combinatoire est donc de (26)3, cest
dire 17576 positions initiales des rotors.
La combinatoire est encore augmenter par
le fait que les rotors sont permutables
Vers la fin de 1938 les 3 rotors sont choisis
parmi 5, ce qui fait passer les possibilits
darrangement des rotors de 6 60.
24
De la mcanique lordinateur
La machine Enigma
Q
A partir de Juin 1943, la mise en service dune nouvelle version dEnigma, oblige les Britanniques
et les Amricains amliorer les BOMBES. Ces dcryptements redonnrent lavantage aux allis
qui ont remport la Bataille de lAtlantique, un tournant dans la guerre.
25
De la mcanique lordinateur
Les BOMBES rapides
De la mcanique lordinateur
Colossus
Geheimschreibers SZ 42
Linitialisation de la machine est
ralis par le positionnement initial
des roues dentes (10121 possibilits)
27
28
De la mcanique lordinateur
La cryptographie moderne
Q
29
Concepts et mthodologies
La cryptographie moderne
32
Chiffre de Vernam
DES / 3DES
AES
RC4 / RC5
34
Comme son nom l'indique, la cl publique est mise la disposition de quiconque dsire chiffrer
un message. Ce dernier ne pourra tre dchiffr qu'avec la cl priv, qui doit tre confidentielle.
Quelques algorithmes de cryptographie asymtrique trs utiliss :
RSA ;
DSA ;
Protocole d'change de cls Diffie-Hellman ;
Fonctions de hachage
Une fonction de hachage est une fonction qui convertit un grand ensemble en un plus petit
ensemble, l'empreinte. Il est impossible de la dchiffrer pour revenir l'ensemble d'origine, ce
n'est donc pas une technique de chiffrement.
Quelques fonctions de hachage trs utilises :
MD5 ;
SHA-1 ;
35
Cryptographie symtrique
Q
Cryptographie symtrique
Chiffrement par bloc
Q
Le chiffrement par bloc (block cipher) est une des deux grandes catgories de
chiffrements modernes en cryptographie symtrique
Le principe consiste un dcoupage des donnes en blocs de taille gnralement fixe
(souvent une puissance de deux comprise entre 32 et 512 bits). Les blocs sont ensuite
chiffrs les uns aprs les autres. Il est possible de transformer un chiffrement de bloc en
un chiffrement par flot en utilisant un mode d'opration comme ECB (chaque bloc chiffr
indpendamment des autres) ou CFB (on chane le chiffrement en effectuant un XOR
entre les rsultats successifs).
Une liste non-exhaustive :
DES, l'anctre
37
Cryptographie symtrique
Standard de chiffrement avanc (AES)
Q
Fonctionnement
L'algorithme prend en entre un bloc de 128 bits (16 octets), la cl fait 128, 192 ou 256 bits. Les 16 octets en
entre sont permuts selon une table dfinie au pralable. Ces octets sont ensuite placs dans une matrice de
4x4 lments et ses lignes subissent une rotation vers la droite. L'incrment pour la rotation varie selon le
numro de la ligne. Une transformation linaire est ensuite applique sur la matrice, elle consiste en la
multiplication binaire de chaque lment de la matrice avec des polynmes issus d'une matrice auxiliaire, cette
multiplication est soumise des rgles spciales selon GF(28) (groupe de Galois ou corps fini). La
transformation linaire garantit une meilleure diffusion (propagation des bits dans la structure) sur plusieurs
tours. Finalement, un XOR entre la matrice et une autre matrice permet d'obtenir une matrice intermdiaire. Ces
diffrentes oprations sont rptes plusieurs fois et dfinissent un tour . Pour une cl de 128, 192 ou 256,
AES ncessite respectivement 10, 12 ou 14 tours.
Cryptographie symtrique
Chiffrement de flux
Q
Le chiffrement de flux ou chiffrement par flot (stream cipher) est une des deux grandes
catgories de chiffrements modernes en cryptographie symtrique. Un chiffrement par flot arrive
traiter les donnes de longueur quelconque et n'a pas besoin de les dcouper.
A5, 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, le plus rpandu, conu par Ronald Rivest, utilis notamment par le protocole WEP du WiFi
Un chiffrement par flot se prsente souvent sous la forme d'un gnrateur de nombres pseudoalatoires avec lequel on opre un XOR entre un bit la sortie du gnrateur et un bit provenant des
donnes. Toutefois, le XOR n'est pas la seule opration possible. L'opration d'addition dans un
groupe est galement envisageable (par exemple, addition entre deux octets, modulo 256). Un
chiffrement par bloc peut tre converti en un chiffrement par flot grce un mode opratoire qui
permet de chaner plusieurs blocs et traiter des donnes de taille quelconque.
Soit
39
Cryptographie symtrique
RC4
Q
RC4 est un algorithme de chiffrement flot conu en 1987 par Ronald Rivest,
l'un des inventeurs du RSA, pour les Laboratoires RSA. Il est support par
diffrentes normes, par exemple dans SSL ou encore WEP.
Principe
RC4 fonctionne de la faon suivante : la clef RC4 permet dinitialiser un tableau de
256 octets en rptant la clef autant de fois que ncessaire pour remplir le tableau.
Par la suite, des oprations trs simples sont effectues : les octets sont dplacs
dans le tableau, des additions sont effectues, etc. Le but est de mlanger autant
que possible le tableau. Au final on obtient une suite de bits qui parait tout fait
alatoire. Par la suite on peut extraire des bits par consquent pseudo-alatoires.
40
Cryptographie asymtrique
Q
F est sens unique <--> Quelque soit x , y = f(x) est calculable rapidement.
Une fonction est dite trappe ou brche secrte si elle est sens unique sauf pour toute personne connaissant
un secret ou une brche, permettent de calculer un algorithme d'inversion rapide.
Une cl est utilise pour coder le message et une autre pour dcoder le message crypt.
Dans un systme cl publique , chaque personne dispose de deux cls: une publique et
une prive. Les messages chiffres avec l'une des cls peuvent seulement tre dchiffrs
par l'autre cl de la paire.
41
Cryptographie asymtrique
Le protocole de Diffie-Hellman
Q
42
Cryptographie asymtrique
Lalgorithme RSA
Q
Le systme RSA est fond sur la difficult de factoriser des grands nombres et la
fonction sens unique utilise est une fonction puissance
Soit p et q deux grands nombres premiers. Il est trs difficile de retrouver ces 2 nombres en
connaissant leur produit n= p*p
Pour le calcul des cls publique et prive, il faut choisir deux grands nombres premiers p et q.
On calcul le produit n = pq. On choisi un grand nombre e premier avec (p-1)(q-1).
On calcul ensuite un nombre d tel que ed = 1 mod (p-1)(q-1)
Le couple (n, e) est la cl publique, d est cl prive
Fonction de hachage
Q
Une fonction de hash (anglicisme) ou fonction de hachage est une fonction qui associe un
grand ensemble de donnes un ensemble beaucoup plus petit (de l'ordre de quelques
centaines de bits) qui est caractristique de l'ensemble de dpart
Le rsultat de cette fonction est par ailleurs aussi appel somme de contrle, empreinte,
rsum de message, condens ou encore empreinte cryptographique lorsque l'on
utilise une fonction de hachage cryptographique
Une fonction de hachage cryptographique est utilise entre autres pour la signature
lectronique, et rend galement possibles des mcanismes d'authentification par mot de
passe sans stockage de ce dernier. Elle doit tre rsistante aux collisions, cest--dire que
deux messages distincts doivent avoir trs peu de chances de produire la mme signature.
De par sa nature, tout algorithme de hachage possde des collisions mais on considre le
hachage comme cryptographique si les conditions suivantes sont remplies :
il est trs difficile de trouver le contenu du message partir de la signature (attaque sur la premire
pr image)
partir d'un message donn et de sa signature, il est trs difficile de gnrer un autre message qui
donne la mme signature (attaque sur la seconde pr image)
il est trs difficile de trouver deux messages alatoires qui donnent la mme signature (rsistance aux
collisions)
MD5
44
Fonction de hachage
MD5
Q
MD5 (Message Digest 5) est une fonction de hachage cryptographique qui permet
d'obtenir pour chaque message une empreinte numrique (en l'occurrence une
squence de 128 bits ou 32 caractres en notation hexadcimale) avec une
probabilit trs forte que, pour deux messages diffrents, leurs empreintes soient
diffrentes.
MD5 travaille avec un message de taille variable et produit une empreinte de 128
bits. Le message est divis en blocs de 512 bits, on applique un remplissage de
manire avoir un message dont la longueur est un multiple de 512. Le
remplissage se prsente comme suit :
on ajoute un '1' la fin du message
on ajoute une squence de '0' (le nombre de zros dpend de la longueur du
remplissage ncessaire)
on crit la taille du message, un entier cod sur 64 bits
Ce remplissage est toujours appliqu, mme si la longueur du message peut tre
divise par 512. Cette mthode de padding est semblable celle utilise dans la plupart
des algorithmes de Message Digest des familles MD
45
Applications de la cryptographie
Chiffrement de donnes
47
Mcanismes dauthentification
Certificats numriques
Signatures numriques
48
49
50
Cryptographie et Cryptanalyse
Q
Une attaque est souvent caractrise par les donnes qu'elle ncessite :
attaque sur texte chiffr seul (ciphertext-only) : le cryptanalyste possde des
exemplaires chiffrs des messages, il peut faire des hypothses sur les
messages originaux qu'il ne possde pas. La cryptanalyse est plus ardue de
par le manque d'informations disposition.
attaque texte clair connu (known-plaintext attack) : le cryptanalyste
possde des messages ou des parties de messages en clair ainsi que les
versions chiffres. La cryptanalyse linaire fait partie de cette catgorie.
attaque texte clair choisi (chosen-plaintext attack) : le cryptanalyste
possde des messages en clair, il peut gnrer les versions chiffres de ces
messages avec l'algorithme que l'on peut ds lors considrer comme une
bote noire. La cryptanalyse diffrentielle est un exemple d'attaque texte
clair choisi.
attaque texte chiffr choisi (chosen-ciphertext attack) : le cryptanalyste
possde des messages chiffrs et demande la version en clair de certains de
ces messages pour mener l'attaque.
53
Il existe plusieurs familles d'attaques cryptanalytiques, les plus connues tant l'analyse
frquentielle, la cryptanalyse diffrentielle et la cryptanalyse linaire.
L'analyse frquentielle : L'analyse frquentielle examine les rptitions des lettres du message chiffr
afin de trouver la cl. Elle est inefficace contre les chiffrements modernes tels que DES, RSA. Elle est
principalement utilise contre les chiffrements mono-alphabtiques qui substituent chaque lettre par
une autre et qui prsentent un biais statistique.
L'attaque par mot probable : L'attaque par mot probable consiste supposer l'existence d'un mot
probable dans le message chiffr. Il est donc possible d'en dduire la cl du message si le mot choisi
est correct. Ce type d'attaque a t mene contre la machine Enigma durant la Seconde Guerre
mondiale.
L'attaque par dictionnaire : L'attaque par dictionnaire consiste tester tous les mots d'une liste comme
mot cl. Elle est souvent couple l'attaque par force brute.
L'attaque par force brute : L'attaque par force brute consiste tester toutes les solutions possibles de
mots de passe ou de cls. C'est le seul moyen de rcuprer la cl dans les algorithmes les plus
modernes et encore inviols comme AES.
Attaque par paradoxe des anniversaires : Le paradoxe des anniversaires est un rsultat probabiliste
qui est utilis dans les attaques contre les fonctions de hachage. Ce paradoxe permet de donner une
borne suprieure de rsistance aux collisions d'une telle fonction. Cette limite est de l'ordre de la
racine de la taille de la sortie, ce qui signifie que, pour un algorithme comme MD5 (empreinte sur 128
bits), trouver une collision quelconque avec 50% de chance ncessite 264 hachages d'entres
distinctes.
54
Ces deux mthodes permettent de casser trs rapidement la plupart des schmas
proposs par des non spcialistes
55
Un exemple marquant:
Durant lt 1998, Serge Humpich rvlait quil avait cass la cl secrte de 320
bits assurant la scurit des transactions effectues avec une carte puce
bancaire
Dbut 2000, la publication sur Internet de la cl casse faisait la une des journaux
Le principe de Kerckhoffs
La scurit dun systme de chiffrement nest pas fonde sur le secret de la procdure mais
uniquement sur un paramtre utilis lors de sa mise en uvre: La cl
Q
Q
57
Une trappe, est un procd dlibr qui diminue la scurit dun systme
cryptographique.
Une cl avec une trappe est dangereuse, car elle parat incassable, alors quen
ralit ses concepteurs savent comment la casser rapidement.
Exemple
Lattaque ADK (Additional Decryption Key) contre le logiciel PGP qui autorisait un
attaquant accoler sa propre cl publique une autre, lui permettant de
dchiffr tous les messages destins au titulaire de la cl attaque.
Cette faille a t corrige en 2000, aprs sa rvlation
58
59
Lintroduction de trappes dans les cls des systmes asymtriques semble plus
difficile puisque ce type de cl possde dj une structure mathmatique
La gnration de telles cl seffectue sur la base de 2 grands nombres premiers.
Le hasard est ici dans le choix des grands nombres premiers utiliss
SI le gnrateur alatoire qui engendre ces nombres est biais, ce biais facilitera la
recherche des nombres premiers ayant servi llaboration de la cl
60
La gnration des cls RSA sappuie sur lutilisation dun grand nombre n produit de
deux grands nombres premiers p et q : n=pq et e premier avec (p-1)(q-1)
(n, e) forment la cl publique, et d linverse de e modulo (p-1)(q-1), la cl prive
La premire faon dattaquer lalgorithme RSA est de factoriser n et de retrouver p et q
En 1999, un nombre de 512 bits a t factoris avec une puissance de calcul de 104 Mips/an
(Soit 1010 instructions/s pendant un an)
En prenant la loi de Moore comme rfrence (La puissance double tous les 18 mois) on peut
estimer que les cls de 1024 bits pourront tre casses vers lan 2010 et que les cls de 2048
bits pourront ltre vers 2030
Dautres attaques sont possibles a condition de faire des hypothses sur lexposant
secret d inverse de e modulo (p-1)(q-1)
Il est facilement possible de retrouver d partir de n et e par lattaque de Wiener lorsque d
est infrieur n1/4
Dautres attaques sont possibles si lon suppose que certains bits de la cl d sont connus
Si d a une taille de k bits, la connaissance les k/4 bits de poids faibles (les moins
significatifs) est suffisant de reconstituer compltement la cl
61
Mme si RSA est solide, la faon dont on lutilise nest pas neutre. Exemple
Si on envoie le mme message 3 personnes diffrentes, chiffrs avec 3 cls
RSA de ces personnes, on peut facilement retrouver les message en clair
partir des 3 messages chiffrs en utilisant la proprit de multiplicativit de la
fonction RSA:
f(X*y) = f(x) * f(y)
Il est galement risqu de chiffrer plusieurs messages lis au moyen de la
mme cl publique RSA
62
Il sagit dans ce cas dattaques se basant sur des proprits physiques de lappareil
en charge de limplmentation du protocole RSA
Attaques sur le temps de calcul
Attaques sur la consommation lectrique
Attaques par injection de fautes
Toutes ces attaques physique concernent essentiellement les cartes puce pour
lesquelles, avec un dispositif adquat, il est facile dobtenir des donnes
63
64
Philippe Perret
65
Complexit
Temps de calcul :
1 : Temps constant
N : Linaire
Nx: polynomial
xN : exponentiel
Exemple :
Recherche dans une liste : N linaire
Tri bulle : N2 polynomial
Quick sort : N log(N)
Calcul AES : 1 (quasi constant quelle que soit la taille de la cl)
Attaque en force brute sur lAES : xN exponentiel
Calcul RSA : N2 polynomial
Attaque en force brute sur le RSA : xN exponentiel
28/02/2007
66
Pour la cryptographie
Le saint Graal :
Constant pour lutilisation
Exponentiel pour lattaquant
28/02/2007
67
a aa
m
m 1
Si :
m est premier
a nest pas multiple de m
Exemple :
2013 mod 13 = 13
Car 2013= 81920000000000000
Et 81920000000000000 mod 13 = 7 (=20-13)
28/02/2007
68
Problme de la factorisation
m = np
Q
28/02/2007
69
Algorithme RSA
m = pq
e .d 1 mod( p 1)( q 1) d = e 1 mod(( p 1)( q 1))
c = x e mod m
x = c d mod m
Avec :
70
log b
a =b x =
log a
x
28/02/2007
71
Algorithme Diffie-Hellman
X = g x mod n
Y = g y mod n
k = Y x mod n
k'= X
mod n
k = k ' = g xy mod n
Q
Avec :
g et n sont des donnes publiques
x et y sont les donnes prives
k est la cl change
28/02/2007
72
Courbes elliptiques
y + a 1 xy + a 3 y = x + a 2 x + a 4 x + a 5
2
28/02/2007
73
y = x + ax + b
2
4 a + 27 b 0
3
28/02/2007
74
Addition de points
L= J +K
28/02/2007
75
Addition de points
xl = s x j x k
2
yl = s ( x j xl ) y j
Q
s=
y j yk
x j xk
Cas particuliers :
K=-J L=0 (point linfini)
K=J L=2J=2K (doublement du point)
28/02/2007
76
L = 2J
28/02/2007
77
xl = s 2 x j
yl = s ( x j xl ) y j
Q
3x j + a
2
s=
2yj
Cas particulier:
yJ = 0 2J=0 (point linfini)
28/02/2007
78
P ( x p , y p ), Q ( x q , y q )
Q = kP
Q
Q
k est un entier.
La multiplication est une suite daddition et de
doublements
Exemple :
23 = 10111 en binaire
Q = 23P Q = 16P+4P+2P+P Q=2(2(2(2P)+P)+P+P
28/02/2007
79
Mise en uvre
En pratique :
Modulo un nombre premier
Polynmes binaires
Bases normales
28/02/2007
80
Calculs modulaires
y mod p = ( x + ax + b ) mod p
2
( 4 a + 27 b ) mod p 0
3
Q
Q
28/02/2007
81
Polynmes binaires
y 2 + xy = x 3 + ax + b
p =
n 1
i=0
Q
Q
ci x i
b 0
c i = 0 ou 1
28/02/2007
82
Bases normales
y 2 + xy = x 3 + ax + b
e=
m 1
ei
i=0
2i
avec
avec
b0
i
a
x
i
i=0
Trs mathmatique
28/02/2007
83
Utilisation en cryptographie
28/02/2007
84
Logarithmes discrets
y = x + ax + b
2
28/02/2007
85
ECDH
X = xG
Y = yG
K = xY
K ' = yX
K = K ' = xyG
Q
28/02/2007
86
ECRSA
m = pq
e.d 1mod(( p + 1)(q + 1)) d = e1 mod(( p + 1)(q + 1))
c = e.x
x = d .c
Q
Q
28/02/2007
87
Algorithme
symtrique
RSA ou DH
ECRSA ou ECDH
80
1024
160
112
2048
224
128
3072
256
192
7680
384
256
15360
521
Source : NIST
28/02/2007
88
NSA Suite B
28/02/2007
89
Adresse :
Philippe PERRET
Directeur technique
philippe.perret@msi-sa.fr
28/02/2007
3 place Renaudel
69003 LYON
Tl : 04 78 14 04 10
Fax : 04 78 14 04 11
Web : http://www.securitybox.net
90
Conclusion
Rfrences
Q
Portail de la cryptologie :
http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Portail_Cryptologie
91