Académique Documents
Professionnel Documents
Culture Documents
Cryptohraphie
Cryptohraphie
Cryptographie
ROYAUME DU MAROC
Cryptographie
Sommaire
1.
2.
3.
4.
Introduction.....................................................................................3
Qu'est-ce que la cryptographie?..............................................................3
La notion de codage de l'information...................................................4
Chiffrement par substitution...............................................................5
4.1. Exemples : Chiffrement par substitution mono alphabtique................5
4.2. Cryptanalyse du chiffrement par substitution.....................................6
4.2.1.
Cryptanalyse du chiffrement par substitution...............................6
4.2.2.
Mthode empirique de cryptanalyse............................................6
4.2.3.
Comment finir la cryptanalyse ?.................................................7
5.
Chiffrement par transposition.............................................................7
5.1. Cryptanalyse du chiffrement par tranposition.....................................8
5.1.1.
Cryptanalyse...........................................................................8
6.
Comment renforcer la force des chiffrements ?.....................................9
7.
Cryptographie moderne - Le cryptage cl.........................................10
7.1. Cryptographie moderne.................................................................10
7.2. Chiffrement cl symtrique.........................................................11
7.2.1.
Principe................................................................................11
7.3. Chiffrement cl asymtrique.......................................................11
7.3.1.
Principe................................................................................11
7.4. Les limites de la cryptographie Symtrique......................................12
7.5. Chiffrement asymtrique...............................................................13
Construction des cls..........................................................................13
Chiffrement d'un message...................................................................13
Rapports entre les cls........................................................................13
7.6. Prise en en compte de la notion d'change par rseau.......................14
7.7. Une approche thorique................................................................14
7.7.1.
Cryptage cl symtrique.......................................................14
7.8. Chiffrement asymtrique...............................................................15
7.9. Quelques lments de rflexion......................................................17
7.10.
Ide de chiffrement cl publique : le RSA...................................17
8.
Chiffrement asymtrique : prsentation de RSA..................................18
8.1.1.
Exemple d'utilisation de RSA....................................................18
9.
Le cryptage cl symtrique - le DES................................................19
9.1.1.
La cryptanalyse ?...................................................................22
10.
Le cryptage cl symtrique - le DES................................................22
10.1.
DES : l'algorithme.....................................................................23
10.1.1.
La cryptanalyse ?................................................................25
10.2.
Chiffrement cl symtrique - Autres algorithmes.........................25
10.2.1.
AES (Advanced Encryption Standard).....................................25
10.2.2.
IDEA (International Data Encryption Algorithm).......................26
10.2.3.
Blowfish.............................................................................26
10.2.4.
RC4 (Rivest Cipher 4)..........................................................26
10.3.
Chiffrement cl publique versus chiffrement cl secrte.............27
10.3.1.
Comparaisons entre RSA et DES............................................27
10.4.
Comparaison et combinaison......................................................27
10.5.
Le chiffrement par bloc..............................................................28
10.5.1.
CBC : Cipher Block Chaining.................................................29
10.5.2.
OFB : Output Feedback........................................................29
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
1 - 44
Cryptographie
11.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
2 - 44
Cryptographie
1.Introduction
Depuis l'Egypte ancienne, l'homme a voulu pouvoir changer des informations de
faon confidentielle.
Il existe de nombreux domaines o ce besoin est vital :
militaire (sur un champ de bataille ou bien pour protger l'accs l'arme
atomique) ;
commercial (protection de secrets industriels) ;
bancaire (protection des informations lies une transaction financire) ;
de la vie prive (protection des relations entre les personnes) ;
diplomatique (le fameux tlphone rouge entre Etats-Unis et Union
sovitique) ;
Les cls symtriques: il s'agit de cls utilises pour le chiffrement ainsi que
pour le dchiffrement. On parle alors de chiffrement symtrique ou de
chiffrement cl secrte.
Les cls asymtriques: il s'agit de cls utilises dans le cas du chiffrement
asymtrique (aussi appel chiffrement cl publique). Dans ce cas, une
cl diffrente est utilise pour le chiffrement et pour le dchiffrement
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
3 - 44
Cryptographie
dchiffrement
soit
connue
ou
non
de
l'attaquant).
Lorsque la clef de dchiffrement n'est pas connue de l'attaquant on parle alors de
cryptanalyse ou cryptoanalyse (on entend souvent aussi le terme plus familier
de cassage).
La cryptologie est la science qui tudie les aspects scientifiques de ces
techniques, c'est--dire qu'elle englobe la cryptographie et la cryptanalyse.
La cryptographie est traditionnellement utilise pour dissimuler des messages aux
yeux de certains utilisateurs. Cette utilisation a aujourd'hui un intrt d'autant plus
grand que les communications via internet circulent dans des infrastructures dont
on ne peut garantir la fiabilit et la confidentialit. Dsormais, la cryptographie
sert non seulement prserver la confidentialit des donnes mais aussi garantir
leur intgrit et leur authenticit
On appelle cryptanalyse la reconstruction d'un message chiffr en clair l'aide de
mthodes mathmatiques. Ainsi, tout cryptosystme doit ncessairement tre
rsistant aux mthodes de cryptanalyse. Lorsqu'une mthode de cryptanalyse
permet de dchiffrer un message chiffr l'aide d'un cryptosystme, on dit alors
que l'algorithme de chiffrement a t cass .
On distingue habituellement quatre mthodes de cryptanalyse :
des
lettres
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
4 - 44
vers
un
Cryptographie
Par Substitution
par transposition.
D'autres formes de chiffrement ?
Il existe galement d'autres formes comme le code morse ou bien les smaphores
dans la Marine. Ce sont des techniques de brouillage.
4.1. Exemples :
alphabtique
Chiffrement
par
substitution
mono
Le chiffrement de Csar
Ce code de chiffrement est un des plus anciens, dans la mesure o Jules Csar
l'aurait utilis. Le principe de codage repose sur l'ajout d'une valeur constante
l'ensemble des caractres du message, ou plus exactement leur code ASCII
(pour une version "informatique" de ce codage).
Il s'agit donc simplement de dcaler l'ensemble des valeurs des caractres du
message d'un certain nombre de positions, c'est--dire en quelque sorte de
substituer chaque lettre par une autre. Par exemple, en dcalant le message "
WNT " de 3 positions, on obtient "VMS". Lorsque l'ajout de la valeur donne une
lettre dpassant la lettre Z, il suffit de continuer en partant de A, ce qui revient
effectuer un modulo 26.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
5 - 44
Cryptographie
A titre d'exemple, dans le film L'odysse de l'espace, l'ordinateur porte le nom de
HAL. Ce surnom est en fait IBM dcal de 1 position vers le bas...
On appelle cl le caractre correspondant la valeur que l'on ajoute au message
pour effectuer le cryptage. Dans notre cas la cl est C, car c'est la 3 me lettre de
l'alphabet.
Ce systme de cryptage est certes simple mettre en oeuvre, mais il a pour
inconvnient d'tre totalement symtrique, cela signifie qu'il suffit de faire une
soustraction pour connatre le message initial. Une mthode primaire peut
consister une bte soustraction des nombres 1 26 pour voir si l'un de ces
nombres donne un message comprhensible.
Une mthode plus volue consiste calculer les frquences d'apparition des
lettres dans le message cod (cela est d'autant plus facile faire que le message
est long). Effectivement, selon la langue, certaines lettres reviennent plus
couramment que d'autres (en franais, par exemple, la lettre la plus utilise est la
lettre E), ainsi la lettre apparaissant le plus souvent dans un texte crypt par le
chiffrage de Csar correspondra vraisemblablement la lettre E, une simple
soustraction donne alors la cl de cryptage...
Un autre exemple : le ROT13
Dans le cas spcifique du chiffrement de Jules Csar o la cl de cryptage est N
(13me lettre de l'alphabet), on appelle ce cryptage ROT13 (le nombre 13, la moiti
de 26, a t choisi pour pouvoir chiffrer et dchiffrer facilement les messages
textuels).
Le ROT13 (rotation de 13) est un code Csar qui permet quand on l'applique deux
fois de retrouver le message original.
Il est souvent employ sur USENET (les news) pour masquer la solution d'une
devinette ou pour parler aux initis. Les lecteurs de news l'intgrent en gnral
4.2.
4.2.1.
4.2.2.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
6 - 44
Cryptographie
Faire des suppositions en les associants ceux les plus frquents d'un texte
en clair (dans la langue choisi).
Par exemple dans un texte crypt appartenant une banque il est probable de
trouver des mots tel que financier, montant, solde
4.2.3.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
7 - 44
Cryptographie
5.1.
5.1.1.
Cryptanalyse
Dterminer si une substitution n'a pas t utilise : une analyse statistique des
caractres suffit dterminer si les caractres ont t substitus (statistiques
frquentielles du texte identiques celle d'un texte en clair).
Si ce n'est pas le cas, il y a une forte probabilit pour qu'un chiffrement par
transposition ait t employ.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
8 - 44
Cryptographie
Ensuite, il faut faire une hypothse sur le nombre de colonnes utilises pour
raliser la transposition.
Les codes de transposition contrairement aux codes par substitution ne cachent
pas les caractres, mais modifient l'ordre des caractres.
Histoire :
L'arrive des ordinateurs a totalement dmod ces mthodes de chiffrement (on
ne parle plus d'ailleurs de chiffrement car ces mthodes ne rsiste pas au
traitement informatique). La machine Enigma utilise par les nazis a t casse
par Alan Turing, pionnier de l'informatique.
Il faut attendre les anns 60 pour voir les mthodes de chiffrement moderne
bases sur l'usage de cls.
et
assure
la
scurit
du
Le but
rendre l'apparence du cryptogramme la plus alatoire possible, c--d. liminer
les relations statistiques des caractres du cryptogramme pour viter la
cryptanalyse :
Transposition + Substitution = Diffusion
L'actualit ?
les chiffrements tels que DES (Data Encryption System) et AES (Advanced
Encryption System) sont utiliss l'heure actuelle.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
9 - 44
Cryptographie
Cryptographie moderne
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
10 - 44
Cryptographie
7.2.
Chiffrement cl symtrique
7.2.1.
Principe
7.3.
Chiffrement cl asymtrique
7.3.1.
Principe
Il utilise :
une cl publique connue de tous ;
une cl prive connue seulement du destinataire du cryptogramme.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
11 - 44
Cryptographie
Ces chiffrements a cl publique ont t dcouvert par James Ellis (Angleterre)
en 1969 et par Whitfield Diffie (Etats unis) en 1975.
L'ide de la conception de tels algorithmes revient Diffie et Hellman en 1976.
7.4.
Pour que deux canaux de communications soient indpendants l'un de l'autre, c-d. qu'une personne accde l'un mais pas l'autre, il faut que ces deux canaux
utilisent des cls diffrentes.
Il est possible qu'un des interlocuteurs connaissent plusieurs cls utiliss dans
diffrents canaux le reliant des utilisateurs diffrents.
Exemple : l'utilisateur D possde une cl pour chaque lien (avec J, I, H, G, F et E).
Problme : comment changer toutes ces cls ?
Pas d'intgrit et d'identification de l'auteur
Si Alice, Bob et Cdric partage le mme lien de communication alors ils partagent
la mme cl de chiffrement symtrique.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
12 - 44
Cryptographie
7.5.
Chiffrement asymtrique
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
13 - 44
Cryptographie
Le choix des cls doit tre fait de la manire la plus imprdictible possible : viter
les mots du dictionnaire, nombres pseudo-alatoires germe de gnration
difficile deviner, etc.
7.6.
7.7.
7.7.1.
Cryptage cl symtrique
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
14 - 44
Cryptographie
Lors d'change entre plusieurs intervenants : une cl est partage que par 2
interlocuteurs, donc pour N interlocuteurs il faut N*(N-1)/2 cls.
La plupart des codes utiliss
sont relativements rapides ;
peuvent s'appliquer un fort dbit de donne transmettre.
Il existe des processeurs spcialement conu pour raliser le chiffrement et le
dchiffrement.
Principaux algorithmes utiliss :
DES, Data Encryption System IBM 1977 ;
IDEA, International Data Encryption Algorithm Lai et Massey 1990 ;
Blowfish, Schneir 1994.
Problme d'assurer la scurit des cls.
Problme de la distribution des cls, qui doit se faire par un canal qui doit tre
sr. La valise diplomatique dans le cas du tlphone rouge
7.8.
Chiffrement asymtrique
Cryptage cl asymtrique
Il repose sur la connaissance d'une fonction mathmatique unidirectionnelle ("oneway function"), munie d'une porte arrire ("one-way trapdoor function").
Une fonction unidirectionnelle est une fonction y = f(x) telle que, si l'on connat la
valeur y, il est pratiquement impossible de calculer la valeur x (c'est--dire
d'inverser la fonction f). On dit que cette fonction est munie d'une porte arrire s'il
existe une fonction x = g(y, z) telle que, si
l'on connat z, il est facile de calculer x partir de y. Z est appele trappe.
Exemple de scnario d'change
Bob veux recevoir des messages cods d'Alice, il souhaite que ces messages
soient indchiffrables pour Oscar qui a accs leurs changes :
Bob et Alice connaissent la fonction unidirectionnelle f ;
Bob fournit Alice sa "cl publique" c.
f et c peuvent tre connus de tout le monde : ils sont connus d'Oscar.
Alice chiffre le message M en utilisant l'algorithme f et la cl c ; ceci fournit un
texte T chiffr ayant les apparences d'une suite de caractres choisis au hasard :
T = f(M, c).
Comme f est une fonction unidirectionnelle, Oscar est incapable de reconstituer le
message mme si il connat l'algorithme f, la cl publique c et le texte T.
Bob, lui, possde la cl prive z qui est absolument secrte.
z ouvre la porte arrire de la fonction f et permet de dchiffrer le message en
appliquant la fonction g au triplet (T, c, z) : M = g(T, c, z).
Bob peut lire le contenu du message envoy par Alice !
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
15 - 44
Cryptographie
Des cl et des cadenas
Alice :
cre une cl alatoire (la cl prive) ;
puis fabrique un grand nombre de cadenas (cl publique) qu'elle met
disposition dans un casier accessible par tous (le casier joue le rle de canal
non scuris).
Bob :
prend un cadenas (ouvert) ;
ferme une valisette contenant le document quil souhaite envoyer ;
envoie la valisette Alice, propritaire de la cl publique (le cadenas).
Cette dernire pourra ouvrir la valisette avec sa cl prive
Les contraintes pour un tel algorithme
Il faut trouver un couple de fonctions f (fonction unidirectionnelle) et g (fonction de
porte arrire) : C'est un problme mathmatique difficile !
Au dpart, le systme cl publique n'a d'abord t qu'une ide dont la faisabilit
restait dmontrer.
Des algorithmes ont t proposs par des mathmaticiens .Un des premiers
algorithmes propos repose sur la factorisation du produit de deux grands
nombres entiers. Cette factorisation demanderait un temps de calcul de plusieurs
millions d'annes.
Le problme est rsolu !
Cet algorithme a t propos par Rivest, Shamir et Adleman en 1977, ce qui a
donn naissance RSA. L'ide gnrale est la suivante :
la cl publique c est le produit de deux grands nombres entiers;
la cl prive z est l'un de ces deux nombres entiers;
g comporte la factorisation de c.
Seul Bob, qui connat z, peut factoriser c et donc dchiffrer le message chiffr.
Un dernier problme
Le systme de chiffrement cl publique est universel si chacun publie sa cl
publique dans un annuaire.
Pour envoyer un message chiffr Bob, il suffit de trouver sa cl publique dans
l'annuaire et de s'en servir pour chiffrer le message avant de le lui envoyer (seul
Bob pourra dchiffrer le message). Il faut bien sr que l'annuaire soit sr.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
16 - 44
Cryptographie
Oscar peut avoir substitu sa propre cl publique celle de Bob afin de pouvoir lire
les messages destins Bob. Il peut mme les renvoyer Bob une fois lu !
7.9.
La notion d'inverse
Ce que fait l'algorithme de chiffrement devra tre dfait plus tard lors du
dchiffrement. En mathmatique, l'ide de dfaire est l'inverse.
Il existe des fonctions inverses et des nombres inverses.
Les fonctions inverses sont des paires d 'oprations : exemple la multiplication et
la division sont des fonctions inverses, ce que l'une fait, l'autre le dfait.
Exemple : 5 * 2 = 10, 10 / 2 = 5
Les nombres inverses sont des paires de nombres, ce qu'un nombre fait, l'autre le
dfait.
Exemple : 2 et avec 5 * 2 = 10, et 10 * = 5
Avec les nombres inverses, l'opration reste la mme (ici, la multiplication).
La notion de nombre premier
Un nombre premier est simplement un nombre qui ne possde que deux facteurs,
1 et lui-mme.
7 est premier car aucun nombre autre que 1 et 7 ne donne un rsultat entier en
divisant 7. Deux nombres sont premiers entre eux s'ils n'ont pas d'autre facteur
que 1.
38 et 55 sont premiers entre eux, alors qu'aucun n'est premier : 38 = 2 * 19 *1 et
55 = 5 * 11 * 1
22 et 55 ne sont pas premiers entre eux, car 22 = 2 * 11 et 55 = 5 * 11
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
17 - 44
Cryptographie
utiliser l'arithmtique modulaire : trouver e * d tel que e * d = 1 mod { e * d 1}
Principe de RSA
utiliser deux modules, l'un pour les cls et l'autre pour chiffrer.
pour les cls : (p 1) (q 1)
pour chiffrer p * q
8.1.1.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
18 - 44
Cryptographie
la cl prive est (d,n) = (1079,1073) (=cl de dchiffrement)
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
19 - 44
Cryptographie
Un standard de chiffrement
Dvelopp dans les annes 70 par IBM, la mthode DES fut adopte et rendue
standard par le gouvernement des Etats Unis. Il devait rpondre lpoque aux
critres suivants :
avoir un haut niveau de scurit li une cl de petite taille servant au
chiffrement et au dchiffrement,
tre comprhensible,
ne pas dpendre de la confidentialit de l'algorithme,
tre adaptable et conomique,
tre efficace et exportable.
La mthode DES utilise des cls d'une taille de 56 bits ce qui la rend de nos jours
facile casser avec les nouvelles technologies de cryptanalyse. Mais elle est
toujours utilise pour des petites tches tel que l'change de cls de cryptage
(technologie SSL).
La cl est sur 64bits dont 8 sont utiliss comme calcul de l'intgrit des 56 autres
(parit).
Le DES est un standard utilis depuis plus de 20 ans. Il a suscit de nombreuses
critiques, des suspicions de vulnrabilit lattaque de son algorithme, mais na
pas eu dalternatives jusqu ces dernires annes : modifi par la NSA, trafiqu
par IBM,
Principe de l'algorithme
C'est un algorithme base de :
dcalage ;
ou exclusif ;
transposition/recopie (appel expansion).
Ces oprations sont faciles raliser par un processeur.
Le chiffrement par DES est trs rapide.
Certaines puces spcialises chiffrent jusqu' 1 Go de donnes par seconde ce qui
est norme : c'est plus que ce qu'est capable de lire un disque dur normal.
Principe de fonctionnement
L'algorithme utilise une cl de 56 bits. Dcomposition du texte en clair en bloc
le texte en clair est dcoup en bloc de 64 bits qui seront chiffrs un par un ;
Utilisation en diffrentes tapes, ventuellement rptes (en tout 19 tapes) :
la premire tape transpose chaques blocs de 64 bits du texte en clair avec la
cl de 56 bits ;
16 tapes intermdiaires ;
l'avant dernire tape intervertit les 32 bits de droite et de gauche ;
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
20 - 44
Cryptographie
la dernire tape transpose chaques blocs de 64 bits du texte avec la cl de 56
bits (exactement
l'inverse de la premire tape).
Les 16 tapes intermdiaires sont identiques mais varient par diffrentes
utilisations de la cl
Une tape intermdiaire
Elle consiste couper le bloc de 64 bits en 2 blocs de 32 bits.
Le bloc de sortie de gauche sera une recopie du bloc de droite en entre.
Le bloc de droite est utilis pour calculer un nombre de 48 bits l'aide de rgles
de transposition et de recopie. Ces rgle sont stockes dans des tables et leur
construction reste mystrieusele NSA y a particip !
La cl de 56 bits est divise en 2 blocs de 28 bits, sur ces blocs de 28 bits un
dcalage circulaire est effectu vers la gauche d'un nombre de position
dpendant de l'itration.
Un ou exclusif est calcul entre le nombre de 48 bits et la cl de 56 bits. Le
rsultat de ces ou exclusifs est dcoup en blocs de 6 bits.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
21 - 44
Cryptographie
9.1.1.
La cryptanalyse ?
1975 : un ordinateur a besoin de 100 000 jours (300 ans) pour tester toutes les
cls...
2000 : un ordinateur 100 000 fois plus puissant a besoin de 1 jour (un ordinateur
200 K) !
Challenge DES : propos par la socit RSA en janvier 1997
cassage du DES en 96 jours ;
fvrier 98, cassage en 41 jours ;
juillet 98, cassage en 56 heures sur une machine de moins de 60k ;
janvier 99, cassage en moins de 24h !
Le DES a t cass grce aux mthodes de cryptanalyse diffrentielle et la
puissance coordonnes
des machines mises disposition par un tat par exemple.
Les volutions
Si un algorithme est us il est possible d'utiliser des cls plus longues.
Le TDES (Triple DES) a t cr pour pallier les limites du DES, par lutilisation
dune chane de trois
chiffrements DES l'aide de seulement deux cls diffrentes :
Chiffrement avec une cl C1-> dchiffrement avec une cl C2 -> chiffement
avec la cl C1
L'avenir ?
Le DES et le TDES sont amens tre remplac par un nouvel algorithme : le
Rijndael (du nom de ses inventeurs) qui a t slectionn pour devenir AES.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
22 - 44
Cryptographie
avoir un haut niveau de scurit li une cl de petite taille servant au
chiffrement et au dchiffrement,
tre comprhensible,
ne pas dpendre de la confidentialit de l'algorithme,
tre adaptable et conomique,
tre efficace et exportable.
La mthode DES utilise des cls d'une taille de 56 bits ce qui la rend de nos jours
facile casser avec les nouvelles technologies de cryptanalyse. Mais elle est
toujours utilise pour des petites tches tel que l'change de cls de cryptage
(technologie SSL).
La cl est sur 64bits dont 8 sont utiliss comme calcul de l'intgrit des 56 autres
(parit). Le DES est un standard utilis depuis plus de 20 ans.
Il a suscit de nombreuses critiques, des suspicions de vulnrabilit lattaque de
son algorithme, mais na pas eu dalternatives jusqu ces dernires annes :
modifi par la NSA, trafiqu par IBM,
Principe de l'algorithme
C'est un algorithme base de :
dcalage ;
ou exclusif ;
transposition/recopie (appel expansion).
Ces oprations sont faciles raliser par un processeur.
Le chiffrement par DES est trs rapide.
Certaines puces spcialises chiffrent jusqu' 1 Go de donnes par seconde ce qui
est norme : c'est
plus que ce qu'est capable de lire un disque dur normal.
10.1.
DES : l'algorithme
Principe de fonctionnement
L'algorithme utilise une cl de 56 bits. Dcomposition du texte en clair en bloc : le
texte en clair est dcoup en bloc de 64 bits qui seront chiffrs un par un ;
Utilisation en diffrentes tapes, ventuellement rptes (en tout 19 tapes) :
la premire tape transpose chaques blocs de 64 bits du texte en clair avec la
cl de 56 bits ;
16 tapes intermdiaires ;
l'avant dernire tape intervertit les 32 bits de droite et de gauche ;
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
23 - 44
Cryptographie
la dernire tape transpose chaques blocs de 64 bits du texte avec la cl de 56
bits (exactement l'inverse de la premire tape).
Les 16 tapes intermdiaires sont identiques mais varient par diffrentes
utilisations de la cl
Une tape intermdiaire
Elle consiste couper le bloc de 64 bits en 2 blocs de 32 bits.
Le bloc de sortie de gauche sera une recopie du bloc de droite en entre.
Le bloc de droite est utilis pour calculer un nombre de 48 bits l'aide de rgles de
transposition et de recopie.
Ces rgle sont stockes dans des tables et leur construction reste mystrieusele
NSA y a particip !
La cl de 56 bits est divise en 2 blocs de 28 bits, sur ces blocs de 28 bits un
dcalage circulaire est effectu vers la gauche d'un nombre de position dpendant
de l'itration.
Un ou exclusif est calcul entre le nombre de 48 bits et la cl de 56 bits. Le
rsultat de ces ou exclusifs est dcoup en blocs de 6 bits.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
24 - 44
Cryptographie
10.1.1.
La cryptanalyse ?
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
25 - 44
Cryptographie
L'AES
est un standard, libre d'utilisation, sans restriction d'usage ni brevet ;
est un algorithme de chiffrement par blocs (comme le DES) ;
supporte diffrentes combinaisons [longueur de cl]-[longueur de bloc] : 128128, 192-128 et 256-128 bits
Le choix de cet algorithme rpond de nombreux critres tels que :
la scurit ou l'effort requis pour une ventuelle cryptanalyse ;
la facilit de calcul : cela entrane une grande rapidit de traitement ;
les faibles besoins en ressources : mmoire trs faibles ;
la flexibilit d'implmentation : cela inclut une grande varit de plates-formes
et d'applications ainsi que des tailles de cls et de blocs supplmentaires (il est
possible d'implmenter l'AES aussi bien
sous forme logicielle que matrielle, cbl) ;
la simplicit : le design de l'AES est relativement simple.
10.2.2.
conu dans les annes 90 par deux chercheurs suisses (Lai et Massey) de l'ETH
(Eidgenssische Technische Hochschule) de Zurich, IDEA (International Data
Encryption Algorithm) ;
utilise une cl de 128 bits ;
rsistera encore pendant quelques dizaines d'annes aux attaques
cryptanalytiques.
Aucune attaque existe contre l'IDEA.
IDEA est brevet aux Etats-Unis et dans de nombreux pays europens.
IDEA est gratuit tant que son utilisation reste non commerciale.
10.2.3.
Blowfish
10.2.4.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
26 - 44
Cryptographie
10.3.1.
RSA
cl de 40 bits
chiffrement matriel : 300 Kbits/sec
chiffrement logiciel : 21,6 Kbits/sec
Inconvnient majeur : un pirate substitue sa propre cl publique celle du
destinataire, il peut alors intercepter et dcrypter le message pour le recoder
ensuite avec la vraie cl publique et le renvoyer
sur le rseau. Lattaque ne sera pas dcele.
usage : on ne les emploiera que pour transmettre des donnes courtes (de
quelques octets) telles que les cls prives et les signatures lectroniques.
DES
cl de 56 bits
chiffrement matriel : 300 Mbits/sec
chiffrement logiciel : 2,1 Mbits/sec
Inconvnient majeur : attaque brute force rendue possible par la puissance
des machines.
Usage : chiffrement rapide, adapt aux changes de donnes de tous les
protocoles de communication scuriss.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
27 - 44
Cryptographie
Chiffrement par substitution : 26 lettres possibles associables, soit 26!
(factorielle 26) soient 291 461 : 126 605 635 584 000 000 possibilits ! mais
l'analyse frquentielle...
Le chiffrement cl : il protge des analyses frquentielles ; Attaque brute
force : essayer toutes les cl possibles pour dchiffrer le message chiffr, donc
plus la cl est longue (nombre de bits) plus il y a de cl essayer (2 fois plus de
cl essayer pour chaque bit ajout !).
La force de la scurit est mettre en rapport avec le type de donnes
scuriser :
une transaction bancaire doit tre scurise pendant quelques minutes
un document secret d'tat doit pouvoir tre protg plus de 50 ans par exemple.
La vitesse
Il existe un dcalage de puissance de calcul pour le chiffrement/dchiffrement des
codes cl secrte (algorithme de cryptage symtrique de type DES) et cl
publique (algorithme de cryptage asymtrique de type RSA).
Code cl secrte : applicable un dbit de donnes suprieur. C'est pourquoi
seule l'utilisation de code cl secrte est raliste pour scuriser une
transaction entre deux utilisateurs sur Internet.
Rsolution du problme de l'change des cls secrtes :
utilisation d'une mthode hybride combinant la fois chiffrement symtrique et
asymtrique
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
28 - 44
Cryptographie
D(m) = fonction de dchiffrement du bloc m.
Problmes :
si on utilise deux fois le mme texte clair et la mme cl de chiffrement, le
rsultat du chiffrement sera identique.
il faut un nombre suffisant d'octets de texte en clair (huit octets pour le DES
par exemple) avant de commencer.
10.5.1.
C'est un des modes les plus populaires. Il apporte une solution au premier
problme du mode ECB :
avant d'tre chiffr, l'opration binaire XOR est applique entre le bloc
actuel de texte en clair et le bloc prcdent de texte chiffr ;
pour le tout premier bloc, un bloc de contenu alatoire est gnr et utilis,
appel vecteur d'initialisation (initialization vector, ou IV).
Ce premier bloc est envoy tel quel avec le message chiffr.
T[n] = nime bloc de texte en clair.
E(m) = fonction de chiffrement du bloc m.
C[n] = nime bloc de texte chiffr.
D(m) = fonction de dchiffrement du bloc m.
VI = vecteur d'initialisation
Chiffrement :
C[0] = E(T[0] xor VI)
C[n] = E(T[n] xor C[n-1]) , si (n > 0)
Dchiffrement :
T[0] = D(C[n]) xor VI
T[n] = D[C[n]) xor C[n-1] , si (n > 0) T et C sont d'une longueur fixe
10.5.2.
Le mode OFB est une solution aux deux problmes relatifs au mode ECB.
Au dpart un vecteur d'initialisation est gnr. Ce bloc est chiffr plusieurs
reprises et chacun des rsultats est utilis successivement dans l'application de
l'opration XOR avec un bloc de texte en clair.
Le vecteur d'initialisation est envoy tel quel avec le message chiffr.
T[n] = nime bloc de texte en clair.
I[n] = nime bloc temporaire
C[n] = nime bloc de texte chiffr.
R[n] = nime bloc temporaire second
E(m) = fonction de chiffrement et de dchiffrement du bloc m
VI = vecteur d'initialisation
Chiffrement :
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
29 - 44
Cryptographie
I[0] = VI
I[n] = R[n-1] , si (n > 0)
R[n] = E(I[n])
C[n] = T[n] xor R[n]
Dchiffrement :
I[0] = VI
I[n] = R[n-1] , si (n > 0)
R[n] = E(I[n])
T[n] = C[n] ^ R[n] T et C sont d'une longueur fixe
Problmes :
le texte en clair est seulement soumis un XOR. Si le texte clair est connu, un
tout autre texte en clair peut tre substitu en inversant les bits du texte chiffr
de la mme manire qu'inverser les bits du texte clair (bit-flipping attack).
il existe une petite possibilit qu'une cl et un vecteur d'initialisation soient
choisis tels que les blocs successifs gnrs puissent se rpter sur une courte
boucle.
Le mode OFB est souvent utilis comme gnrateur de nombre alatoire.
Dfinition
Les algorithmes de chiffrement par flux peuvent tre vu comme des algorithmes
de chiffrement par bloc o le bloc a une dimension unitaire (1 bit, 1 octet) ou
relativement petite. Ils sont appels stream ciphers.
Avantages :
la mthode de chiffrement peut tre change chaque symbole du texte clair ;
ils sont extrmement rapides ;
ils ne propagent pas les erreurs (diffusion) dans un environnement o les
erreurs sont frquentes ;
ils sont utilisables lorsque l'information ne peut tre traite qu'avec de petites
quantits de symboles la fois (par exemple si l'quipement n'a pas de mmoire
physique ou une mmoire tampon trs limite).
Fonctionnement :
Ils appliquent de simples transformations selon un keystream utilis.
Le keystream est une squence de bits utilise en tant que cl qui est gnre
alatoirement par un algorithme (keystream generator).
Proprits :
Avec un keystream choisi alatoirement et utilis qu'une seule fois, le texte chiffr
est trs scuris.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
30 - 44
Cryptographie
La gnration du keystream peut tre :
indpendante du texte en clair et du texte chiffr, appele chiffrement de flux
synchrone (synchronous stream cipher) ;
dpendante (self-synchronizing stream cipher).
Les chiffrements de flux les plus rpandus sont synchrones Algorithmes les plus
connus :
LFSR (Linear Feedback Shift Register), rapide mais vulnrable l'heure actuelle.
RC4, invent par Ron Rivest en 87 (socit RSA), utilis dans le protocole SSL et
Oracle Secure SQL.
SEAL (Software-optimized Encryption Algorithm), Don Coppersmith et Phillip
Rogaway en 93 (IBM),plus rapide que RC4.
11.1.2.
Echange scuris
11.2. Cl de session
C'est un compromis entre le chiffrement symtrique et asymtrique permettant de
combiner les deux techniques. Il existe deux mthodes :
Premire possibilit :
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
31 - 44
Cryptographie
gnrer alatoirement une cl de taille raisonnable utilise pour un algorithme
de cryptage symtrique;
chiffrer cette cl l'aide d'un algorithme de cryptage cl publique ( l'aide de
la cl publique du destinataire) ;
Cela impose que l'un des interlocuteurs possde la cl publique de l'autre (pas
toujours facile de s'assurer que la cl publique appartient bien la bonne
personne).
Seconde possibilit :
construire une cl de session l'aide de la mthode dchange des cls de
Diffie-Hellman.
les interlocuteurs n'ont pas besoin de partager une cl publique avant de
commencer leur communication chiffre !
Cette mthode est extrmement employe pour initier un canal de transmission
scurise avant tout change.
Les deux interlocuteurs disposent ensuite :
d'une cl commune qu'ils sont seuls connatre
de la possibilit de communiquer en chiffrant leur donnes l'aide d'un
algorithme de chiffrement symtrique rapide.
11.2.1.
Alice et Bob se mettent en accord sur deux grands nombres premiers n et g avec
(n-1)/2 premier et quelques conditions sur g. Ces nombres sont publics.
Alice prend le nombre n et Bob le nombre g.
Alice choisit un nombre de 512 bits secret x, Bob fait de mme avec y.
Alice envoie Bob un message contenant le nombre n, le nombre g et le rsultat
de (g^x mod n)
Bob envoie Alice le rsultat de (g^y mod n)
Alice et Bob calculent (g^y mod n)^x et (g^x mod n)^y
A et B partagent maintenant la mme cl secrte g^xy mod n.
Si Oscar, l'intrus capture g et n, il ne peut pas calculer x et y, car il n'existe pas de
mthode humainement utilisable pour calculer x partir de g^x mod n !
Problme : Oscar peut s'insrer entre Alice et Bob et propos sa valeur z en lieu
et place de x pour Bob et de y pour Alice :
Alice --> n, g, g^x mod n --> Oscar > n, g, g^z mod n > Bob
< g^z mod n <-- < g^y mod n <
Conclusion : il faut une phase prliminaire d'authentification !
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
32 - 44
Cryptographie
12.L'authentification
L'authentification est suivie par l'autorisation
L'autorisation dfinit les ressources, services et informations que la personne
identifie peut utiliser, consulter ou mettre jour, exemple : son courrier
lectronique, des fichiers sur un serveur FTP
L'approche traditionnelle
Combinaison d'une identification et d'un mot de passe (code secret personnel).
Le mot de passe doit possder certaines caractristiques : non trivial, difficile
deviner, rgulirement modifi, secret
Des outils logiciel ou hardware de gnration de mots de passe existent, mais les
mots de passe gnrs sont difficiles retenir !
L'approche volue, la notion de challenge/rponse
Alice envoie Bob un message alatoire (challenge)
Chiffement cl secrte :
Alice et Bob partage une mme cl secrte ;
Bob renvoie Alice le message chiffr l'aide de la cl secrte (rponse) ;
Alice peut dchiffrer le message chiffr avec la cl secrte...C'est Bob !
Chiffrement cl publique :
Bob renvoie Alice le message chiffr l'aide de sa cl prive (rponse) ;
exploitation
de
la
proprit
chiffrement(dchiffrement(M))
=
dchiffrement(chiffrement(M)) ;
Alice peut dchiffrer ce message chiffr l'aide de la cl publique de Bob
c'est donc Bob !
Problme : cette mthode permet de faire des attaques sur la cl prive de Bob
en soumettant des messages alatoires bien choisi.
Solution : calculer un rsum du message alatoire initial, un digest, et
l'utiliser la place du message alatoire lors du chiffrement. L'obtention de ce
rsum se fait l'aide d'une fonction de hachage
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
33 - 44
Cryptographie
tre une fonction sens unique (one-way function) afin qu'il soit impossible de
retrouver le message original partir du rsum.
y = F(x), mais il est impossible de retrouver x partir de y !
Proprits
une fonction de hachage "H" transforme une entre de donnes d'une dimension
variable "m" et donne comme rsultat une sortie de donnes infrieure et fixe "h"
(h = H(m)).
l'entre peut tre de dimension variable ;
la sortie doit tre de dimension fixe ;
H(m) doit tre relativement facile calculer ;
H(m) doit tre une fonction sens unique ;
H(m) doit tre sans collision .
Utilisation - Authentification et intgrit
Les algorithmes de hachage sont utiliss :
dans la gnration des signatures numriques, dans ce cas, le rsultat "h" est
appel "empreinte" ;
pour la vrification si un document a t modifi (le changement d'une partie du
document change son empreinte) ;
pour la construction du MAC, Message Authentication Code, ou code
d'authentification de message, il permet de joindre l'empreinte du message
chiffr avec une cl secrte ce qui protge contre toute modification du
message (si l'intrus modifie le message et son empreinte, il est incapable de
chiffre celle-ci pour la remplacer dans le message).
12.1.1.
Principaux algorithmes
SHA (pour Secure Hash Algorithm, pouvant tre traduit par Algorithme de
hachage scuris), dvelopp par le NIST en 1995. il cre des empreintes d'une
longueur de 160 bits. C'est un standard SHA0 et SHA1 (devenu le standard
SHS)
RACE Integrity Primitives Evaluation Message Digest, dvelopp par Hans
Dobbertin, Antoon Bosselaers et Bart Preneel ;
RIPEMD-128 et RIPEMD-160, cr entre 88 et 92 ;
Tiger, dvelopp par Ross Anderson et Eli Biham, plus rapide que MD5
(132Mb/s contre 37Mb/s sur une mme machine, optimis pour processeur
64bit).
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
34 - 44
Cryptographie
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
35 - 44
Cryptographie
Le certificat est la carte d'identit de la cl publique, dlivr par un organisme
appel autorit de
certification.
Ces certificats sont mis et sign par une tierce partie, l'autorit de certification ou
CA (Certificate
Authority).
L'autorit de certification est charge de
dlivrer les certificats ;
dassigner une date de validit aux certificats (quivalent la date limite de
premption des produits
alimentaires) ;
rvoquer
ventuellement des certificats avant cette date en cas de
compromission de la cl (ou du
propritaire).
13.SSL
13.1.1.
Introduction
SSL (Secure Sockets Layers, que l'on pourrait traduire par couche de sockets
scurise) est un procd de scurisation des transactions effectues via Internet.
Le standard SSL a t mis au point par Netscape, en collaboration avec
Mastercard, Bank of America, MCI et Silicon Graphics. Il repose sur un procd de
cryptographie par clef publique afin de garantir la scurit de la transmission de
donnes sur internet. Son principe consiste tablir un canal de communication
scuris (chiffr) entre deux machines (un client et un serveur) aprs une tape
d'authentification.
Le systme SSL est indpendant du protocole utilis, ce qui signifie qu'il peut aussi
bien scuriser des transactions faites sur le Web par le protocole HTTP que des
connexions via le protocole FTP, POP ou IMAP. En effet, SSL agit telle une couche
supplmentaire, permettant d'assurer la scurit des donnes, situe entre la
couche application et la couche transport (protocole TCP par exemple).
De cette manire, SSL est transparent pour l'utilisateur (entendez par l qu'il peut
ignorer qu'il utilise SSL). Par exemple un utilisateur utilisant un navigateur internet
pour se connecter un site de commerce lectronique scuris par SSL enverra
des donnes chiffres sans aucune manipulation ncessaire de sa part.
La quasi intgralit des navigateurs supporte dsormais le protocole SSL.
Netscape Navigator affiche par exemple un cadenas verrouill pour indiquer la
connexion un site scuris par SSL et un cadenas ouvert dans le cas contraire,
tandis que Microsoft Internet Explorer affiche un cadenas uniquement lors de la
connexion un site scuris par SSL.
13.1.2.
La scurisation des transactions par SSL 2.0 est base sur un change de cls
entre client et serveur. La transaction scurise par SSL se fait selon le modle
suivant :
Dans un premier temps, le client se connecte au site marchand scuris par SSL et
lui demande de s'authentifier. Le client envoie galement la liste des
cryptosystmes qu'il supporte, trie par ordre dcroissant selon la longueur des
cls.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
36 - 44
Cryptographie
Le serveur a rception de la requte envoie un certificat au client, contenant la cl
publique du serveur, signe par une autorit de certification (CA), ainsi que le nom
du cryptosystme le plus haut dans la liste avec lequel il est compatible (la
longueur de la cl de chiffrement - 40 bits ou 128 bits - sera celle du
cryptosystme commun ayant la plus grande taille de cl).
13.1.3.
SSL 3.0
14.La PKI
14.1.1.
Les algorithmes de chiffrement asymtrique sont bass sur le partage entre les
diffrents utilisateurs d'une cl publique. Gnralement le partage de cette cl se
fait au travers d'un annuaire lectronique (gnralement au format LDAP) ou bien
d'un site web.
Toutefois ce mode de partage a une grande lacune : rien ne garantit que la cl est
bien celle de l'utilisateur a qui elle est associe. En effet un pirate peut corrompre
la cl publique prsente dans l'annuaire en la remplaant par sa cl publique.
Ainsi, le pirate sera en mesure de dchiffrer tous les messages ayant t chiffrs
avec la cl prsente dans l'annuaire.
Ainsi un certificat permet d'associer une cl publique une entit (une personne,
une machine, ...) afin d'en assurer la validit. Le certificat est en quelque sorte la
carte d'identit de la cl publique, dlivr par un organisme appel autorit de
certification (souvent note CA pour Certification Authority).
L'autorit de certification est charge de dlivrer les certificats, de leur assigner
une date de validit (quivalent la date limite de premption des produits
alimentaires), ainsi que de rvoquer ventuellement des certificats avant cette
date en cas de compromission de la cl (ou du propritaire).
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
37 - 44
Cryptographie
14.1.2.
Lorsqu'un utilisateur dsire communiquer avec une autre personne, il lui suffit de
se procurer le certificat du destinataire. Ce certificat contient le nom du
destinataire, ainsi que sa cl publique et est sign par l'autorit de certification. Il
est donc possible de vrifier la validit du message en appliquant d'une part la
fonction de hachage aux informations contenues dans le certificat, en dchiffrant
d'autre part la signature de l'autorit de certification avec la cl publique de cette
dernire et en comparant ces deux rsultats.
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
38 - 44
Cryptographie
14.1.3.
Signatures de certificats
Les certificats auto-signs sont des certificats usage interne. Signs par un
serveur local, ce type de certificat permet de garantir la confidentialit des
changes au sein d'une organisation, par exemple pour le besoin d'un
intranet. Il est ainsi possible d'effectuer une authentification des utilisateurs
grce des certificats auto-signs.
Les certificats signs par un organisme de certification sont ncessaires
lorsqu'il s'agit d'assurer la scurit des changes avec des utilisateurs
anonymes, par exemple dans le cas d'un site web scuris accessible au
grand public. Le certificateur tiers permet d'assurer l'utilisateur que le
certificat appartient bien l'organisation laquelle il est dclar appartenir.
14.1.4.
Types d'usages
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
39 - 44
Cryptographie
14.1.5.
Le but de PKI
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
40 - 44
Cryptographie
On distingue diffrents composants dans une IGC :
Autorit de certification AC (certificat authority)
Autorit denregistrement AE (registry authority)
Interface utilisateur (Enrolment Entity)
L'autorit d'enregistrement
Vrifie lidentit des demandeurs de certificats et les lments de la demande.
Exemple :
Lemail prsent dans le DN est-il lemail canonique ?
Le demandeur a-t-il le droit de disposer dun certificat de signature ?
Transmet les demandes valides par un canal sr lAC (demandes signes par
loprateur de la AC) Recueille et vrifie les demandes de rvocation
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
41 - 44
Cryptographie
Les composants du PKI
OFPPT @
Document
Millsime
339008772.doc
novembre 07
Page
42 - 44