Sunteți pe pagina 1din 65

Universit dAvignon et des Pays de Vaucluse

CERI, M1-M2 Alternance, 2009-2010

Scurit des Systmes dInformation et


des Rseaux : Cryptographie
Khalil IBRAHIMI

Laboratoire dInformatique
d Informatique dAvignon
d Avignon (LIA)
Contact : khalil.ibrahimi@univ-avignon.fr

Plan
Chapitre 1 : Concepts gnraux et dfinitions;
Chapitre 2 : Aspects techniques de la cryptographie
symtrique;
Chapitre 3 : Aspects techniques de la cryptographie
asymtrique;
Chapitre
Ch
it 4 : Authentification,
A th tifi ti
hachage,
h h
signature
i
t
ett
gestion de cls;
2

HSCTDOC.blogspot.com

Rfrences

1- Titre : Cryptographie
yp g p
applique
pp q
:p
protocoles,, algorithmes,
g
, et code
source en C,
Auteur : Bruce Schneier.

2- Titre : Handbook of Applied Cryptography,


Auteurs : A. Menezes, P. van Oorschot and S. Vanstone.
http://www.cacr.math.uwaterloo.ca/hac/index.html

Chapitre 1 : Concepts gnraux et dfinitions

HSCTDOC.blogspot.com

Cryptologie
yp
g

Cryptanalyse

Cryptographie

Cryptosystme
Symtriques

Cryptosystme
Asymtrique

Confidentialit des
informations transmises ou
stockes
Schma gnral de la cryptologie

Quelques applications civiles :


Protocoles cryptographiques scuriss tels que :

Protocole dIBM de gestion de cls secrtes,


Kerberos
Kerberos,
SSL,
IPsec,

Systme de paiement scuris


Carte
C t puce ett transactions
t
ti
bancaires
b
i
change confidentiel de donnes mdicales, juridiques,

Rseaux tlphoniques (Tlphonie fixe et mobile, fax,


))

HSCTDOC.blogspot.com

A quoi sert la cryptographie?


Confidentialit des informations stockes ou
transmises.
Seuls les utilisateurs autoriss peuvent accder linformation.

Intgrit des informations stockes ou transmises.


Seuls les utilisateurs autoriss peuvent modifier linformation.

Authentification des utilisateurs.


L
Lutilisateurs
utilisateurs est-il ou non autoris ?

Rendre une information incomprhensible.


p

Concepts gnraux et dfinitions

Objectif principal dun cryptosystme est de chiffrer un


message en clair en un message chiffr appel cryptogramme.
Ce message ne doit pas tre dchiffr par les cryptanalystes
cryptanalystes,
dcrypteurs, hackeurs,

Il doit tre uniquement dchiffr par le destinataire lgitime


lgitime. Un
cryptosystme est caractris par cinq composants :
Un espace M = {M1,
{M1 M2,
M2 }} des messages en clair;
Un espace C = {C1, C2, } des messages chiffrs;
Un espace K = {K1, K2, } des cls;

HSCTDOC.blogspot.com

Concepts gnraux et dfinitions


Un algorithme de chiffrement paramtr par une cl K dans
K

Un algorithme de dchiffrement paramtr par une cl K


dans K

Concepts gnraux et dfinitions


Cryptosystme :

Message en clair (M) + algorithme de chiffrement (E) avec la cl K;


ou bien
Algorithme de dchiffrement (D) + Message chiffr (C) + toutes les cls
possibles K et K.

Un cryptosystme moderne doit satisfaire les conditions suivantes :


Les algorithmes de chiffrements (E) / dchiffrement (D) doivent tre
oprationnels pour tout cl K
K, stables ils sont publiquement connus (grand
public, );
La scurit de systme doit reposer uniquement sur le secret des cls K et K.

=> Ce qui donne naissance aux cryptosystmes usage gnral.


10

HSCTDOC.blogspot.com

Cryptosystmes usage gnrale


Les cryptosystmes modernes sont conus en tenant compte des conditions
prcdentes. Ils forment deux classes de cryptosystmes : Symtrique et
Asymtrique.
Les cryptosystmes symtriques sont synonymes de systmes
cryptographiques cls secrtes ou prives
prives. Une mme cl K est utilise
pour le chiffrement et dchiffrement cest--dire K = K.
G
Gnralement
l
t un seull algorithme
l ith
estt utilis
tili pour lle chiffrement
hiff
t ett lle
dchiffrement (D = E).
Le secret de la cl de chiffrement / dchiffrement est donc partag entre
metteur A et rcepteur B.

11

Cryptosystmes usage gnrale

Message en
clair M

Message en
clair
l i M

Chiffrement
C = EK (M)
Cl K
tt
metteur
A

Canal de communication non scuris

Message
chiffr C

Dchiffrement
M = DK (C)
Cl K
Rcepteur B

Fig 1 : Synoptique gnrale dun cryptosystmes usage gnrale


12

HSCTDOC.blogspot.com

Cryptosystmes
yp y
usage
g g
gnrale
Rcepteur
p
B

metteur A

Message en
clair M

Message en
clair
l i M

Chiffrement
C = EK (M)
Cl K

Canal de communication non scuris

Dchiffrement
M = DK (C)

Message
chiffr C

Cl K

Canal de communication scuris pour changer la cl K

Fig 2 : Synoptique gnrale dun cryptosystmes cl symtrique

13

Cryptosystmes cl symtrique

Avantages
Rapidit de chiffrement / dchiffrement,
Confidentialit
C fid ti lit llocale
l par un seull utilisateur
tili t
((protection
t ti d
de fifichiers
hi
d
dans
une machine),
Champs dapplication trs vaste (Banques, communications
tlphoniques),
Longueur de la cl relativement petite code entre 40 bits et 256 bits.

Inconvnients
Si la cl est compromise (vole, pirate, ) le systme nest plus fiable
et donc plus de confidentialit
confidentialit,
Dans un rseau de N correspondants, il faut distribuer N (N-1)/2 cls
par des canaux sr et donc problme de distributions des cls par des
voies scurises
scurises.
14

HSCTDOC.blogspot.com

Cryptosystmes cl symtrique

Outils

Substitution,
Transposition,
Ou Exlusif,
Dcalage logique,
C bi i
Combinaison
d
des ffonctions
ti
ci-dessus.
id

Exemples
p
de ralisation

DES,
IDEA,
MARS
MARS,
3DES,

15

Cryptosystmes usage gnrale

Le conceptt de
L
d cryptosystmes
t
t
asymtriques
t i
a t introduit,
i t d it en 1976,
1976 par
Delfie Hellman. Lide de base est repose essentiellement sur deux
algorithmes Ek diffrent de Dk pour K diffrent de K (voir la figure 3 ciaprs).
aprs)

Ce cryptosystme met en jeu deux cls, une pour le chiffrement (K) et une
autre pour le dchiffrement (K). De ce fait, chaque utilisateur doit possder
une paire de cl (K, K). La cl k est appele publique Kp : elle peut tre
rendue publique dans un annuaire, une base de donne. Lautre cl K est
appele
l prive
i Kpr
K doit
d i
tre garder
d secrte
et nest

connue que d
de son
propritaire.

La cl Kp est utilise pour le chiffrement du message en clair M.

La cl Kpr est utilise pour le dchiffrement du message chiffr C


C.
16

HSCTDOC.blogspot.com

Cryptosystmes
yp y
usage
g g
gnrale
Rcepteur
p
B

metteur A

Message en
clair M

Message en
clair
l i M

Chiffrement
C = EK (M)
Cl K

Canal de communication non scuris

Message
chiffr C

Dchiffrement
M = DK (C)
Cl K

Fig 3 : Synoptique gnrale dun cryptosystmes cl asymtrique

17

Aspects techniques de la cryptographie


asymtrique

Diffrente possibilits dutilisation de Kp et Kpr

1
1.

Confidentialit (voir la figure 4)

Il sagit de garantir le secret de linformation transmise ou


archive.
S it A un utilisateur
Soit
tili t
avec la
l paire
i de
d cl
l suivante
i
t : Kp
K A la
l cl
l
publique, KprA la cl prive,
Soit B un utilisateur avec la paire de cl suivante : KpB la cl
publique,
bli
K B la
Kpr
l cl
l prive,
i
A est lmetteur du message chiffr et B est le rcepteur de ce
message.
18

HSCTDOC.blogspot.com

Message en
clair M

Message en
clair M

Chiffrement
C = EKpB (M)
KpB

Canal de
communication
non scuris

Canal de communication non scuris

A chiffre le
message M avec
la cl publique de
B provenant dun
centre de
di ib i
distribution

Message
chiffr C

Dchiffrement
M = DKprB (C)

B dchiffre le
message C avec sa
cl prive tenue
secrte

KpA
KpB

Centre de distribution
de cls publiques
Rcepteur B

metteur A
Fig 4 : Synoptique du mcanisme de confidentialit

19

Aspects techniques de la cryptographie


asymtrique
Dans ce schma, le chiffrement / dchiffrement est ralis
uniquement en utilisant la paire de cl de B (KpB, KprB).
)
A chiffre le message
g M avec la cl p
publique
q B C = EkpB ((M).
)
B dchiffre le message c avec sa cl prive M = DkprB (C).
Linconvnient majeur est que lauteur du message nest pas
forcment identifi et peut tre anonyme (que les cls publique
qui sont connus).
20

HSCTDOC.blogspot.com

Aspects techniques de la cryptographie


asymtrique
2

Authentification (voir la figure 5)


Il sagit
i d
de garantir
i llorigine
i i d
dune iinformation
f
i (l
(le courrier
i
lectronique, un bon de commande transmis en ligne),
A chiffre le message M avec sa cl prive tenue secrte
(KprA) (C = EkprA(M),
B dchiffre le message c avec la cl publique de A (kpA)
M = DkpA(C) = DkpA[EkprA(M)],
Dans ce schma, le chiffrement / dchiffrement seffectue en
utilisant uniquement la pair de cl de A (kpA, kpprA).
21

Aspects techniques de la cryptographie


asymtrique

B identifie A en utilisant
tilisant la cl publique
p bliq e de A pour
po r dchiffrer le
message C ce qui donne lauthentification de A.
Pas de confidentialit puisque la cl publique de A est connue et
publique (nimporte qui peut dchiffrer le message C).

3 Intgrit
g
Il sagit de garantir la confidentialit et lauthenticit,
A chiffre le message avec sa cl prive (kprA), puis le rsultat sera

22

HSCTDOC.blogspot.com

Aspects
p
techniques
q
de la cryptographie
yp g p
asymtrique
ensuite chiffr par la cl publique de B (kprB),
A (M)
1. C = Ekpr
p
2. C = EkpB(C) = EkpB[ EkprA (M) ]

B dchiffre le message
g c avec sa cl p
prive ((kprB)), puis
p
le rsultat
sera ensuite dchiffr par la cl publique de A (kprA),
1. DkprB (C) = C
A
A
B (C
2 Ekp
2.
(C))
k (C) = Ekp
k [ Dkpr
k
= EkpA[ DkprB (EkpB[ EkprA (M) ]) ] = M

Hypothse fondamentale :
On ne doit pas pouvoir trouver la cl prive partir de la cl publique
(connue par tous le monde et circule sur des canaux non scuriss).
23

metteur A
Assure la confidentialit

Message
g en
clair M

C = EKprA (M)

C = EKpB (C)

Canal de communication non


scuris

Message
chiffr
hiff C

A
Assure
lauthenticit
l th ti it

Rcepteur B

C = DKprB (C)

M = EKpA (C)

Message
g en
clair M

Fig 5 : Schma du mcanisme de confidentialit / authentification


HSCTDOC.blogspot.com

24

Cryptosystmes cl asymtrique

Avantages
change de cl publique sur un canal non scuris (pas besoin dun
canal scuris),
Possibilit de cration de base de donnes des cls publiques,
Authentification du message grce la signature numrique,
Nombre de cls crot linairement avec le nombre dutilisateurs N
utilisateurs N pairs de cls
cls.

Inconvnients
Temps de calcul mathmatique et espace mmoire relativement
important, donc moins rapides que les cryptosystmes symtriques,
Sensible aux attaques message clairs choisis (cl publique),
Validit des cls publiques problme de certifications des cls
publiques confiance une tiers personne organisme de
distribution des cls,
Longueur des cls trs grandes : nombre premiers alatoires avec une
certaine probabilit code entre 1024 et 4096 bits
bits.
25

Cryptosystmes cl asymtrique

O il
Outils
Thorie des grands nombres premiers,
Fonctions dexponentiation
p
modulaires.

Exemples de ralisation
RSA,
RSA Diffi
Diffie-Hellman,
H ll
El Gamal,

Cryptosystme hybrides
Lide de base consiste utiliser un cryptosystme asymtrique pour
changer les cls dun
d un cryptosystme symtrique.
symtrique Ce systme combine
donc tous les avantages des deux cryptosystmes symtriques et
asymtriques.
26

HSCTDOC.blogspot.com

Cryptosystmes hybride

metteur
A

Rcepteur B

La cl de
session Ks

C = EKpB (Ks)

Canal de communication non


scuris

Ks = DKprB (C)

La cl de
session Ks
A chiffre la cl de session Ks en
utilisant
tili
t la
l cl
l publique
bli
d
de B

B dchiffre la cl de session Ks
en utilisant sa cl priv

Fi 6 : Schma
Fig
S h
dun
d
cryptosystme
t
t
hybride
h b id : change
h
de
d cl
l de
d session
i
(cryptosystme asymtrique)
27

Cryptosystmes hybride
Rcepteur B

metteur A

Message en
clair M

C = EKs (M)

Canal de communication non


scuris

M = DKs(C)

Message en
clair M
Fig 7 : Schma dun cryptosystme hybride : communication (cryptosystme
symtrique)

Exemple
p de ralisation :
PGP (Pretty Good Privacy)
28

HSCTDOC.blogspot.com

Chapitre 2 : Aspects techniques de la


cryptographie symtrique

29

Cryptographie classique

Substitution

Une substitution est un remplacement dalphabet. A chaque caractre ou


groupe de caractres du message en clair on substitue un autre caractre ou
groupe de caractres
caractres. Ce procd doit augmenter la confusion de faon
compliquer la liaison entre le message en clair. La substitution inverse redonne
le message en claire.

1 Substitution monoalphabtique
Soient A = {a0,
S
{
a1, , an-1}} les caractres alphabtiques
ordonns dans le message en clair et C = {f(a0), f(a1), , f(an-1)} les
caractres alphabtiques utiliss dans le message chiffr. La fonction
f estt la
l fonction
f
ti de
d chiffrement.
hiff
t Soit
S it M = {m0,
{ 0 m1,
1 , mr-1}
1} lle
message en clair o mi sont les caractres du message M de A.
La cl et lalgorithme de chiffrement sont combins et reprsents par
C = Ek(M) = f(m0) f(m1) f(mr-1)
HSCTDOC.blogspot.com

30

Cryptographie classique
Les substitutions monoalphabtiques dcaler de K positions modulo le
nombre de caractre de A. La forme explicite de la fonction f est donne par :
f(a) = (a+K) mod n
O
a: caractre chiffrer
K: nombre de dcalage, cl de chiffrement
n: dimension de A
A.

Exemple :
A : ABCDEFGHIJKLMNOPQRSTUVWXYZ (les caractres alphabtiques
majuscule du franais standard)
M : RENAISSANCE
n: 26
K :3 (chiffrement de Jule Cesar)

31

Cryptographie classique
Exercice :
Trouvez lensemble de lalphabets de substitution C?
Chiffrez le message en clair M?
Dchiffrez le message chiffr C = Ek(M)?
Vrifiez que la redondance dans le message en clair apparat dans le message
chiffr et aussi si lensemble
l ensemble C est choisie alatoirement?

32

HSCTDOC.blogspot.com

Cryptographie classique
2
2.

S b i i polyalphabtique
Substitution
l l h b i

Dans la substitution monoalphabtique


p
q la frquence
q
de distribution des
caractres du message en clair est prserve dans le message chiffr
(redondance ce qui donne la possibilit de lanalyse statistique). Pour
remdier
di ce problme,
bl
l substitution
la
b tit ti polyalphabtique
l l h bti
consiste
i t utiliser
tili
plusieurs alphabets de substitution. Son principe est bas sur une cl (un
mot, une phrase, )) et dune matrice dalphabets de substitution C1, ,
Cn avec la fonction de chiffrement associe Ci :
fi(A) = Ci pour i = 1, , n

33

Cryptographie classique
En pratique
E
ti
l nombre
le
b dalphabets
d l h b t utilises
tili dans
d
l chiffrement
le
hiff
t estt gale
l
au nombre utiliss dans la cl. De ce fait, la cl de chiffrement doit donc
q caractre de la cl on attribut un
tre constitue de d caractre, chaque
alphabet de substitution Ci. Donc, cette cl sera rpte autant de fois que
ncessaire pour chiffrer le message M.
M = m1, , md, md+1, , m2d, ,
Cl = k1, , kd, k1, , kd, ,
Ek(M) = f1(m1), , fd(md), f1(md+1), , fd(m2d), ,
Les fonctions fi peuvent tre dcalage :
fi(mi) = (mi + ki) mod n,
O
Ki (i=1,
(i 1 , d) cl
l de
d chiffrement,
hiff
t estt la
l valeur
l
d dcalage
de
d l
d la
de
l ime
i
alphabet de substitution par rapport lalphabet standard A.
HSCTDOC.blogspot.com

34

Exemple : Chiffrement de Vignere dcalage (1863)


La matrice de lalphabet est obtenue en choisissant la valeur de Ki gale la
kime position du caractre dans lalphabet A. Cette matrice propose 26
alphabets de substitution :

35

Exemple en utilisant la matrice de lalphabets


l alphabets de substitution
K = K1 K2 K3 K4 (d=4, 4 alphabets de substitution parmi 26)
K1 = 1 (mod 26)
K2 = 0 (mod 26)
K3 = 13 (mod 26)
K4 = 3 (mod 26)
La cl est donc gale K = BAND
Message en clair
M = INFO RMAT IQUE S
K = BAND BAND BAND B
g chiffr
Message
C = Ek(M) = JNSR SMNW JQHH T

36

HSCTDOC.blogspot.com

Substitution par polygrammes

Cette technique permet de chiffrer les carctres par blocs de deux


caractres (bigramme) ou trois caractres (trigramme),
(trigramme) . L
Lalgorithme
algorithme le
plus connu est play fair Wheastone (1854) qui a t
utilis par les anglais durant la premire guerre mondiale.
Dans cet algorithme, bas sur la substitution bigramme, on utilise une
p
q carr ((5x5)) de 25 caractres dont les caractres
matrice alphabtique
dpendent du choix dune cl K.

a- Prparation du message chiffrer


ff
1- Elimination des signes, ponctuation et on groupe les lettres par
g p de deux
groupe
2- Si une paire se compose de deux lettres identiques la 2me lettre
sera remplace par X.
3- Le caractre J est trait comme I.
3
I
37

b- Construction de la matrice carr


Le mot cl, choisi, est inscrit horizontalement sans rpter
p
aucun caractre
puis les caractres restants de lalphabet sont crits en respectant
leur ordre alphabtique et en traitant I et J comme IJ.

cc- Rgle suivre pour chiffrer le bigramme mi mj d


dun
un message M
1- Si mi et mj occupent la mme ligne ci et cj sont les caractres de
substitution situs respectivement droite de mi et mj.
2 Si mii ett mjj sontt dans
2d
l mme
la

colonne
l
cii ett cjj sontt les
l caractres
t
de substitution situs respectivement en dessous de mi et mj.
3- Si mi et mj, se trouvent dans des lignes et colonnes diffrentes ci
(
(ou
cj)
j) sera le
l caractre
t quii se trouve
t
lintersection
li t
ti
d la
de
l ligne
li
mii
(ou mj) et de la colonne de mj (ou mi).

d-Exemple :
Avec la cl K = SPART, trouvez le message chiffr C du message en clair
M = INFORMATIQUES
38

HSCTDOC.blogspot.com

3 Masque
3.
M
jetable
j bl ((one time
i
P
Pad)
d)
Pour viter les attaques statistiques, cette technique consiste utiliser une cl,
appel masque, constitue de K caractres tries au hasard et de mme longueur
que le message en clair. Le chiffrement est effectu par :
Ci = f(mi) = (mi + Ki) mod n
O
mi : le caractre chiffrer
Ki : caractre de la cl (masque) gnr alatoirement pour chiffrer mi
n : dimension de llensemble
ensemble de llalphabets
alphabets A.
A
Cette fonction est identique au systme de vignere avec une gnration alatoire
des caractres de la cl dont la taille est celle du message en clair.
clair
Exemple :
n = 26
K = TBFRGFARFMIKL
M = MASQUEJETABLE
Calculer le message chiffr C = Ek(M)?
39

Cryptographie classique

T
Transposition
iti

Le chiffrement par transposition est bas sur les permutations des caractres
du message en clair.
clair De ce fait,
fait les caractres sont toujours mais dans un
Autre ordre pour augmenter les diffusions dans le message en clair. Ce
procd est fond essentiellement sur des matrices dordres nxp.

Message
en clair M

Matrice
de taille
nxp

Lecture du
message
chiffr
partir de la
matrice

Message
chiffr C

Fi 6
Fig
6. P
Principe
i i d
de lla ttransposition
iti
40

HSCTDOC.blogspot.com

1 Transposition
1.
T
i i simple
i l par colonnes
l
Dans la matrice, le message en clair est crit horizontalement et le message chiffr
est obtenu en lisant la matrice verticalement. De ce fait, llordre
ordre de la matrice
reprsente la cl de chiffrement K.
Exemple :
K=4x4
M = INFORMATIQUES
Donc nous avons une matrice de 4 lignes et 4 colonnes.
colonnes
X est pour complter la matrice.

D le
Do
l message chiffr
hiff estt
C = IRISNMQXFAUXOTEX

41

Le dchiffrement seffectue en crivant le message C en colonnes.


colonnes Le message en
clair est obtenu en lisant horizontalement la matrice. La transposition par colonne
peut tre complique si on lit les colonnes dans autre ordre. La cl K sera
reprsente

t par lordre
l d de
d la
l matrice
t i ett le
l squencement

t de
d la
l lecture
l t
d colonnes.
des
l
Exemple :
K = 4 x 4, lecture des colonnes 2-4-1-3
M = INFORMATIQUES

Do le message chiffr est


C = NMQXOTEXIRISFAUX
42

HSCTDOC.blogspot.com

1 Transposition
1.
T
i i complexe
l
par colonnes
l
Dans la transposition complexe par colonnes, le nombre de colonnes (p) de la
matrice est fix par le nombre de caractres d
dune
une cl K (tous les caractres sont
diffrents les uns aux autres), le nombre de ligne (n) dpendra de la longueur du
message en clair. Le classement dans lordre alphabtique des caractres de la cl
permet de fixer le squencement de la lecture des colonnes de la matrice.
matrice
Exemple :
K = GATS,
GATS p = 4
M = INFORMATIQUES

43

Classement par ordre alphabtique des caractres de K

Message chiffr est


C = NMQX IRIS OTEX FAUX

44

HSCTDOC.blogspot.com

Cryptographie moderne
La cryptographie
L
t
hi symtrique
t i
classique
l
i
t it i t des
traitaient
d cryptosystmes
t
t
b
bas
sur des caractres. Les diffrents algorithmes remplaaient ou
p
les caractres. Les meilleurs systmes
y
combinaient les deux
transposaient
oprations plusieurs fois.
Actuellement la cryptographie symtrique moderne utilise la mme
philosophie La diffrence est que les algorithmes associs manipulent des
philosophie.
bits au lieu des caractres. Donc, il y a un passage dun alphabet de 26
caractres un alphabet de 2 caractres (base 2).
La plus part des algorithmes combinent galement des substitutions avec
des transpositions en plus des deux fonctions logiques : ouexclusif et dcalage logique.

45

Cryptographie moderne
1
1.

O Exclusif
Ou
E l if simple
i l

La fonction logique ou-exclusif ou XOR est une opration classique


sur les bits, est note ^ en langage C et ((+)) en mathmatique binaire.
La table de vrit ou a et b sont cods sur un bit est
Entre a

Entre b

Sortie S

Table de vrit
La fonction canonique est
46

HSCTDOC.blogspot.com

Considrons un
n bloc M du
d message en clair et une
ne cl K de chiffrement.
chiffrement Ils
sont cods lintrieur dune machine informatique en code ASCII, et le
chiffrement se ralise en effectuant un XOR entre les diffrents bits de M
et C :

ci : lltat
tat logique du ime bit du message chiffr,
mi : ltat logique du ime bit du message en clair,
Ki : ltat logique du ime bit de la cl K.
Le dchiffrement bit bit est

Le message dchiffr est


47

2. Masque jetable (one time Pad)


Lide du masque jetable peut tre facilement tendue au chiffrement de
d
donnes
binaires.
bi i
C tt mthode
Cette
th d reprsente

t une gnralisation
li ti de
d XOR
simple. On utilise donc un masque compos de bits au lieu des caractres
et au lieu de laddition, on utilise le XOR. Pour dchiffrer, on applique au
message chiffr le XOR avec le mme masque jetable. On rappel que la
taille du masque jetable est gale celle du message en clair, et que le
masque doit tre gnr alatoirement et utilis une seul fois.
fois
Linconvnient majeur du masque jetable est la synchronisation entre
lexpditeur et le destinateur sur le canal de transmission. Si le
destinataire est dcal de quelques bits (bits perdu durant la transmission)
et donc le message dchiffr naura aucun sens. Malgr cela, les
q
jjetables ont encore leur utilit essentiellement p
pour des canaux
masques
de communications ultra-secrets et faible dbit. Le chiffrement est
effectu par lopration : C = M K
M estt le
l message en clair;
l i K estt la
l cl
l de
d chiffrement
hiff
t ett C estt le
l message
chiffr.
48
HSCTDOC.blogspot.com

Modes cryptographiques
yp g p q
Il existe
i t deux
d
modes
d d
de b
base d
de ffonctionnement
ti
td
des algorithmes
l ith
symtriques ou cl secrte : les algorithmes de chiffrement par blocs
g
de chiffrement en continu. Les algorithmes
g
de
et les algorithmes
chiffrement par blocs manipulent des blocs de texte en clair et de texte
chiffr. Les algorithmes de chiffrement en continu manipulent des flux
de texte en clair et de texte chiffr bit par bit ou octet par octet
octet.

Modes de chiffrement par blocs


Carnet de codage lectronique (ECB : Electronic Code Blook)
Chaque bloc de n bits du message en clair est chiffr indpendamment
des autres blocs du message en clair. Le mme bloc sera donc toujours
chiffr en un mme bloc de mme taille en utilisant la mme cl.

Message
en clair M

Cl K

Message
chiffr C

Bloc M1

Bloc M2

Bloc Mn

Ek

Ek

Ek

Bloc C1

Bloc C2

Bloc Cn

Fig 7 : Mode ECB


Le chiffrement par ECB est : Ci = Ek(Mi) et le dchiffrement est Mi = Dk(Ci).
50

HSCTDOC.blogspot.com

Modes cryptographiques

Modes de chiffrement par blocs


Chanage de blocs (CBC : Cipher Block Chaining)
Dans le mode CBC, le chiffrement seffectue par un mcanisme de
chanage Ainsi,
chanage.
Ainsi le rsultat du chiffrement du bloc prcdent est combin
combin,
par un ou exclusif, avec le bloc courant du message en clair. De ce fait, le
rsultat de chiffrement de ce bloc dpendra non seulement du bloc en clair
qui la
l a engendr mais aussi du bloc du message en clair qui le prcde
prcde.
Le chiffrement du dernier bloc dpendra du rsultat de chiffrement de tous
les blocs qui le prcdent.
Un message en clair M est dcompos en blocs de mme taille n que celle
de la cl K en nombre de bits (n=64 bits (8caractres), n=128 (16
caractres),
), ).
) Aussi le bloc chiffr Ci est de mme taille n.
Pour chiffr le premier bloc M1 un vecteur dinitialisation VI est utilis
comme bloc prcdent et sa valeur peut tre alatoire.

C1 = Ek(M1
Message
en clair M

Ci = Ek(Mi

VI)

Ci-1)

Bloc M1

Bloc M2

Bloc Mi-1

Ek

Ek

Ek

Bloc C1

Bloc C2

Bloc Ci-1

Vecteur
dinitialisation
VI
Message
chiffr C

Fi 8 : Mode
Fig
M d CBC : Chiff
Chiffrementt
52

HSCTDOC.blogspot.com

M1 = Dk(C1)
Message
chiffr C

Mi = Dk(Ci)

VI

Ci-1

Bloc C1

Bloc C2

Bloc Ci-1

Dk

Dk

Dk

Bloc M1

Bloc M2

Bloc Mi-1

Vecteur
V
t
dinitialisation
VI

Message
g
en clair M

Fi 9 : Mode
Fig
M d CBC : D
Dchiffrement
hiff
t
53

Modes cryptographiques
Modes
M d d
de chiffrement
hiff
t en continu
ti
Chiffrement rtroaction (CFB : Cipher Feed Back )
En mode CBC,, les donnes peuvent
p
tre chiffres par
p units de m
bits plus petite ou gale la taille dun bloc chiffrer de n bits.
La figure suivante montre un exemple de chiffrement en mode CFB 8 bits
appliqu un algorithme de chiffrement par bloc de 64 bits (n = 64 et m =
8). Un algorithme de chiffrement par bloc en mode CFB manipule une file
dattente de la taille dun bloc dentre. Initialement, la file est initialise par
un bloc quelconque de mme taille que le bloc chiffrer : vecteur
dinitialisation VI. Ensuite, la file est chiffre par un algorithme de
chiffrement par bloc Ek et les 8 bits les plus gauche du rsultat de
chiffrement
hiff
t sontt combins
bi par ou exclusif
l if avec lle premier
i caractre
t d
de 8
bits du message en clair pour former les 8 premiers bits du message
chiffr.

HSCTDOC.blogspot.com

Modes cryptographiques
Les 8 bits sont placs dans les 8 bits les plus droite de la file dattente
et les autres bits sont dcals de 8 positions vers la gauche
gauche. Les 8 bits les plus
gauche sont ignors. Les autres caractres sont chiffrs de la mme manire
jusqu la fin du bloc de 64 bits.
File d
dattente
attente de 64 bits (8 octets)
Octet 8 Octet 7 Octet 6 Octet 5 Octet 4 Octet 3 Octet 2 Octet 1

Cl K

Ek
Octet le plus
gauche

Mi (8 bits)

Chiffrement
Ci (8 bits)

Fig 8 : Mode CFB

Ci = Mi

Ek(Ci-1)

Dchiffrement
Mi = Ci

Ek(Ci-1)

Modes cryptographiques
Mode de rtroaction de sortie (OFB : Output-Feed Back)
Ce mode est similaire au mode CFB,, sauf que
q n bits chiffrs sont rangs
g
dans les 8 positions les plus droite de la file dattente. Le rsultat de
chiffrement peut tre transmis et ne contribue pas au chiffrement du
caractre suivant.
suivant
File dattente de 64 bits (8 octets)
Octet 8 Octet 7 Octet 6 Octet 5 Octet 4 Octet 3 Octet 2 Octet 1

Cl K

Ek
Octet le plus
gauche Si-1
Si 1

Mi (8 bits)

Chiffrement
Ci (8 bits) peut tre
transmis

Fig 10 : Mode CFB


HSCTDOC.blogspot.com

Ci = Mi

Ek(Si-1)

Dchiffrement
Mi = Ci

Ek(Si-1)

Le standard des algorithmes de chiffrement de


donnes : le DES (Data Encryption Standard)
Historique : Ds le dbut des annes 1960 la technologie des circuits
intgrs permet de travailler des circuits combinatoires complexes
permettant d'automatiser:
la mthode de substitution et la mthode de transposition.
transposition Un chercheur
Des laboratoires dIBM, Feistal Horst, propose lide dun algorithme de
chiffrement trs fiable dont les composantes simples permettent le codage
t facilement
trs
f il
t sur un circuit
i it lectronique.
l t i
L projet
Le
j t Est
E t retenu
t
ett sera
dvelopp sous le nom de code LUCIFER.
En 1972, la recherche de lalgorithme le plus sr possible, le NBS lance un
appel doffre travers un cahier de charge. Vu les traits de ressemblance
avec le projet LUCIFER, IBM apporte quelques modifications afin de
satisfaire la norme propose.

Le standard des algorithmes de chiffrement de


donnes : le DES
1977 : Lalgorithme de chiffrement conu par IBM est retenu par le NBS
(National Bureau of Standards) sous le nom de DES.
1978 : LANSI valide son tour cet algorithme sous le nom du DEA (Data
E
Encryption
ti Al
Algorithm).
ith )

Principe
p : Lalgorithme
g
DES est un cryptosystme
yp y
de chiffrement
symtrique par blocs (mode ECB). Le principe de base du DES est fond
essentiellement sur la transposition binaire ou permutation pour insrer le
mcanisme de diffusion et sur la substitution binaire pour intgrer le
mcanisme de confusion.
Dans un premier temps, le message en clair est dcoup en plusieurs blocs
de 64 bits (8 caractres). Chaque bloc est chiffr par une cl de 64 bits. Le
bloc chiffr a la mme taille que le bloc initial du message en clair de 64
bits.
HSCTDOC.blogspot.com

Message
en clair M

Cl K de
64 bits

Message
chiffr C

Bloc 64 bits

Bloc 64 bits

Bloc 64 bits

DES

DES

DES

Bloc 64 bits

Bloc 64 bits

Bloc 64 bits

Figure 11 : Principe du DES en mode ECB

59

Le standard des algorithmes de chiffrement de


donnes : le DES
Chiff
Chiffrement
t : Pour
P
chiffrer
hiff
un bl
bloc d
de 64 bit
bits, lla ffonction
ti principale
i i l d
du
DES est fondue sur un processus itratif compos de 16 itrations. De ce
fait, partir de la cl de chiffrement on gnre 16 sous cls Ki (i=1, 2, ,16).
A chaque itration correspond une sous cl Ki et chaque itration est
compose de 5 tapes comme le montre la figure 12.
Le message en clair de 64 bits constitue donc lentre
l entre de la premire itration
itration.

Bloc T
1

10

11

12

13

14

15

16

17

18

19

20

12

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

Indices des bits dun bloc T de 8 octets du message en clair M.


HSCTDOC.blogspot.com

Le standard des algorithmes de chiffrement de


donnes : le DES
Avant la premire tape dune itration i, ce bloc va subir une
permutation initiale comme suit. Cette permutation consiste dplacer
paires vers les 4 p
premires lignes
g
tout en inversant les
les 4 colonnes p
indices des bits dune colonne. Ensuite, les 4 colonnes impaires restants
sont dplacs vers les 4 lignes en inversant galement lordre des bits.
Voir les tableaux dans la page suivante.
suivante
Le nouveau bloc gnr par cette permutation est divis en deux parties
de 32 bits chacune. La partie droite note R(i-1), constitue uniquement
des bits pairs de la permutation. La partie gauche note L(i-1) est
constitue par les indices des bits impairs restants.
restants

Le standard des algorithmes de chiffrement de


donnes : le DES
P
Permutation
t ti initiale
i iti l IP

Indices des bits dun bloc T permut par IP.

HSCTDOC.blogspot.com

Figure 12 : Principe de fonctionnement dune itration

Partie droite R(i-1)

Partie gauche L(i-1)

58

50

42

34

26

18

10

57

49

41

33

25

17

60

52

44

36

28

20

12

59

51

43

35

27

19

11

62

54

46

38

30

22

14

61

53

45

37

29

21

13

64

56

48

40

32

24

16

63

55

47

39

31

23

15

Aprs cette division,


division les 5 tapes de litration
l itration i sont:
tape 1: Les 32 bits de R(i-1) entrent dans une table de permutation
expansive not E(Ri-1). Elle change lordre des bits et rpte certains bits
tout en ralisant
li
une extension
i d
de 32 48 bi
bits. C
Cette prsentation

i
reprsente de la manire suivante :

HSCTDOC.blogspot.com

Le standard des algorithmes de chiffrement de


donnes : le DES
La table correspondante E(Ri-1) de 48 bits est :
Bloc E(Ri-1)
32

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

Le standard des algorithmes de chiffrement de


donnes : le DES
tape 2: E(Ri-1) a une taille de 48 bits, elle sera transforme par un XOR
avec la sous cl Ki gnre pour litration i partir de la cl K et elle doit
avoir galement une mme taille de 48 bits.
Etape 3: Le rsultat de ltape 2 est de 48 bits, il sera divis en 8 sous
blocs de 6 bits chacun. Chaque sous bloc subira une substitution binaire
compressive qui gnre un bloc de 4 bits. Ainsi, cette substitution
gnrera 8 blocs de 4 bits chacun et donc un bloc de 32 bits. Ceci
g
permet de couper dfinitivement tout rapport entre le bloc du message en
clair et le bloc chiffr correspondant. De ce fait, il y a 8 tables de
substitutions. Voir la figure 13.
Etape 4: Les bits du bloc B vont tre ensuite permuts selon la table P
Suivante : Les bits changent de position, aucun bit nest utilis deux fois
et aucun bit nest
n est ignor.
ignor
Une table Sj (j=1,,8) est constitue de 4 lignes, 16 colonnes. Llment
gnral de cette table est cod sur 4 bits.

HSCTDOC.blogspot.com

Table de
substitution
S1

b1
b2
b3
b4

b1
b2
b3
b4
b5
b6

Table de
substitution
S2

b5
b6
b7
b8

b43
b44
b45
b46
b47
b48

Table de
substitution
S8

B = S(E(R
Ri-1) XOR
R Ki) de 3
32 bits

b1
b2
b3
b4
b5
b6

b29
b30
b31
b32

Figure 13 : Substitution compressive

Le standard des algorithmes de chiffrement de


donnes : le DES

M
Mcanisme:
i
Substitution pour le bloc b1b2b3b4b5b6. Les deux bits faible et fort
g b6b1 =X, les 4 bits intermdiaires le
slectionnent le numro de la ligne
numro de la colonne b2b3b4b5 =Y. La position (X,Y) permet de substituer le
bloc b6b5b4b3b2b1 par un autre bloc de 4 bits comme intersection de la ligne
X et colonne Y
Y.
Exemple : G = 101110. Les premiers et derniers bits donnent 10, c'est--dire
2 en binaire. Les bits 2,3,4 et 5 donnent 0111, soit 7 en binaire. Le rsultat
de la fonction de slection est donc la valeur situ la ligne n2=X, dans la
colonne n7=Y. Il s'agit de la valeur 11=(X,Y), soit en binaire 1011.
HSCTDOC.blogspot.com

Le standard des algorithmes de chiffrement de


donnes : le DES
Les tables de substitutions :

Le standard des algorithmes de chiffrement de


donnes : le DES

HSCTDOC.blogspot.com

Le standard des algorithmes de chiffrement de


donnes : le DES

Le standard des algorithmes de chiffrement de


donnes : le DES
Etape 5: Dans cette tape lopration suivante est effectue :
P(B) XOR L(i-1) et elle va constituer la nouvelle partie droite de litration
suivante Ri
Ri. Et la nouvelle partie gauche de litration
l itration suivante sera la
partie droite avant le chiffrement du bloc Li = Ri-1.
Ainsi, sachve une itration Ri = P(B) XOR Li et Li = Ri-1 constituent les

parties
i d
droite
i et gauche
h de
d litration
li i suivante.
i
A la
l fin
fi d
de lla 16me
itration on obtient le bloc L16, R16 de 64 bits qui subira une permutation
permutation initiale et constitue le bloc chiffr T du
finale ((inverse de la p
message en clair M.).

HSCTDOC.blogspot.com

Le standard des algorithmes de chiffrement de


donnes : le DES
Le bloc chiffr est

La figure
g
14 suivante p
prsente le synoptique
y p q g
gnrale p
pour chiffrer un
bloc T du message M.
Dchiffrement : Procder exactement de la mme manire en appliquant
les cls en sens inverse (de k16 k1).

Figure 14 : Architecture gnrale du DES


HSCTDOC.blogspot.com

Domaine dutilisation:
Sur limplmentation matrielle, le DES est actuellement capable de chiffrer et
de dchiffrer jusqu
jusqu 1 Gegabits /seconde. Il est donc ligible pour chiffrer et
dchiffrer sans surcot dchange sur un rseau ou sur un bus. Ila t utilis
dans tous les domaines dsirant une scurit acceptable : Banque, industrie et
g
il a t envisag
g p
pour les communications tlphoniques
p
q
et p
pour les
galement
signaux vido de haute dfinition.
Niveau de scurit du DES :
La qualit dun cryptosystme est value par le temps ncessaire et le cot du
matriel utilis pour trouver le message en clair partir dun message chiffr.
Depuis sa naissance, le DES a t soumis toutes les techniques imaginables
d cryptoanalyse
de
t
l
(li
(linaire,
i
diff
diffrentielle,
ti ll ).
) R
Rgulirement,
li
t lloccasion
i
d
des
confrences internationales sur le chiffrement (CRYPTOxx, EUROCRYPT,
AUSTCRYPT ), des experts ont cherch les faiblesses de ce code qui,
rappelons le
le, est act
actuellement
ellement le pl
plus
s rpand
rpandu ssurr le march
march. Les rs
rsultats
ltats de
ces recherches ont mis jour quelques faiblesses savoir : la taille de la cl, le
nombre ditrations et le schma de conception des tables-S.
75

Taille de la cl :
Les experts ont estim que la taille de la cl utilise est trs faible. Leurs
arguments tournaient principalement autour de la possibilit dune attaque
exhaustive Le DES code des messages en clair grce une cl de taille 56
exhaustive.
bits. Donc, le nombre des cls possibles est de 256=7,2*1016 cls. En
imaginant un ordinateur capable de tester la validit dune cl par
microseconde (attaque directe), et en supposant que la bonne cl est la
dernire teste, le temps de calcul approcherai 2258 annes. Mais ces
suppositions sont toutes prises par excs.
excs Certains mathmaticiens estiment
que pour que le code soit inviolable la cl doit avoir la taille de 300 bits. Au
dbut IBM a propos une cl de 128 bits mais la NSA la rduit 64 bits. La
raison dune telle rduction na pas t rendue publique.
.

76

HSCTDOC.blogspot.com

Tables-S (S-Box) :
Lexistence de ces tables-S permettent dimposer au message chiffr un
caractre non linaire des bits entre eux. Classifis par la NSA, les
critres de ralisation des fonctions S(i) nont jamais t rendus publics.
Aussi est-il difficile de se prononcer sur le caractre fortement non
linaire de leur comportement. De plus, travers plusieurs articles crits
d
dans
l
les
parutions
ti
rgulires
li
d
des
confrences,
f
d
deux
mathmaticiens
th ti i
(Diffie & Hellman) ont mis en vidence la structure quasi-linaire de ces
fameuses
fonctions.
Cette
considration
pourrait
rduire
considrablement le temps de cryptoanalyse.
cryptoanalyse
Nombre ditration :
La scurit du DES avec 16 itrations est grande et rsiste lheure
l heure
actuelle toutes les attaques effectues avec des moyens financiers et
temporels raisonnables (i.e. moins de 10 millions de dollars et moins dun
mois) Plusieurs versions du DES avec 3
mois).
3, 4
4, 6
6, itrations ont t touts
casses.

77

Modes opratoires : Le DES peut tre utilis avec les 4 modes


cryptographiques : ECB, CBC, OFB et CFB. Le mode le plus utilis, cause
de simplicit est ECB et il ne protge pas contre la prsence des blocs
redondants. Le mode CBC est occasionnellement utilis.

C
Conclusion:
l i
Ancien standard ayant tenu plus de 20 ans.
Excellentes performances en vitesse de chiffrement : 1 G bit / s en matriel
et 1 M bits / s en logiciel.
Niveau de scurit trs raisonnable pour les applications civiles.
Il est probablement peu sr pour un attaquant de gros moyens mais trs
suffisant pour les applications habituelles.

78

HSCTDOC.blogspot.com

Variantes du DES :
Un grand nombre dalgorithmes ont vu le jour ces dernires annes pour
renforcer la scurit et dessayer de surmonter les inconvnients du DES
(taille des cls,
cls tables-S et le nombre d
ditration)
itration).
Triple DES

Les mcanismes de chiffrement et dchiffrement sont raliss par trois


utilisations successives du DES en impliquant
p q
trois cls diffrentes : K1,, K2
et K3 comme suit:

DES-1

DES

Message
en clair

K1

DES-1

DES

K3

K2
DES

Message
chiffr

DES-1

79

Le standard des algorithmes de chiffrement de


donnes : AES (Advenced Encryption Standard)

Historique :
Le 2 janvier 1997,
1997 le NIST a lanc un processus de remplacement de DES :
Advanced Encryption Standard, (AES). Un appel doffre a t lanc le 12
Septembre 1997. Il y tait requis quAES possde une longueur de bloc gale
128 bits et qu
quilil supporte des longueurs de clef gales 128, 192 et 256 bits. De
plus, Il tait ncessaire quAES soit libre de droits dans le monde entier.
Les soumissions devaient tre rendues le 15 juin 1998. Des vingt-et-un systmes
yp g p q
soumis,, q
quinze remplissaient
p
tous les critres ncessaires et ont
cryptographiques
t accepts en tant que candidats AES. Le NIST a prsent les quinze candidats
lors de la First AES Candidate Conference le 20/08/1998. Une second AES
Candidate Conference sest tenue en mars 1999. En aot 1999, cinq candidats ont
t choisis par le NIST comme finalistes : MARS, RC6, Rijndael, Serpent et
Twofish. En avril 2000, une Third AES Candidate Conference a eu lieu. Le 2
octobre 2000, Rijndael a t choisis comme standard avanc de chiffrement.
80

HSCTDOC.blogspot.com

Le standard des algorithmes de chiffrement de


donnes : AES (Advenced Encryption Standard)

Critres principaux dvaluation dAES:


1 Scurit :
1.
La scurit des algorithmes proposs tait absolument essentielle et
nimporte quel algorithme prsentant des faiblesses de scurit aurait t
limin.
2. Cot
Le cot se rapporte lefficacit en termes de calculs (vitesse et besoin en
yp de p
plates-formes,, que
q ce soit en logiciel,
g
, en
mmoire)) sur divers types
matriel ou sur une carte puce.
3. Caractristiques de lalgorithme et de son implmentation.
Elles incluent la flexibilit et la simplicit de lalgorithme.

81

Le standard des algorithmes de chiffrement de


donnes : AES (Advenced Encryption Standard)
Description dAES:
AES est un algorithme de chiffrement symtrique itr; le nombre dtages ou de
ronde, quon le note Ne, dpend de la longueur de la clef. Ne = 10 si la cl a
une longueur
l
d 128 bits;
de
bi Ne=12
N 12 dans
d
l cas dune
le
d
cl
l de
d longueur
l
192 bits
bi et
Ne =14 si la cl comporte 256 bits.
L fifigure 15 montre
La
t
succinctement
i t
t le
l droulement
d l
t du
d chiffrement.
hiff
t Chaque
Ch
ronde/tage est compos comme suit :
1. BYTE_SUB (Byte Substitution) est une fonction non-linaire oprant
indpendamment sur chaque bloc partir d
d'un
un table dite de substitution.
substitution
2. SHIFT_ROW est une fonction oprant des dcalages (typiquement elle prend
l'entre en 4 morceaux de 4 octets et opre des dcalages vers la gauche de
0 1,
0,
1 2 et 3 octets pour les morceaux 1,
1 2,
2 3 et 4 respectivement).
respectivement)
3. MIX_COL est une fonction qui transforme chaque octet d'entre en une
combinaison linaire d'octets d'entre et qui peut tre exprime
mathmatiquement par un produit matriciel sur le corps de Galois (28).
)
4. Le + entour d'un cercle dsigne l'opration de OU exclusif (XOR). Ki est la
82
ime sous-cl calcule par un algorithme partir de la cl principale K.
HSCTDOC.blogspot.com

M
K
Etage 1
BYTE_SUB
SHIFT ROW
SHIFT_ROW
MIX_COL

k1

Etage 2

Etage 9
g 10
Etage
BYTE_SUB
SHIFT_ROW

k10

C
Figure 15 : Chiffrement selon lalgorithme AES.

83

Chapitre 3 : Aspects techniques de la


cryptographie asymtrique

84

HSCTDOC.blogspot.com

Le concept de la cryptographie asymtrique a t introduit pour la premire


fois par Diffie Hellman en 1976
1976.
Utilise lexponentielle modulaire, le problme dchanges des cls des
algorithmes symtriques
symtriques.
Lide neuve dans le domaine tait dutiliser deux cls diffrentes pour
chiffrer et dchiffrer un message. Une des cls sera publie et lautre
l autre doit
tre maintenu secrte.
yp y
asymtriques
y
q
ou cl p
publique.
q
Cryptosystmes
A la mme poque une nouvelle approche cl publique a t propose par
Rivest, Shamir et Aldeman appele RSA.
Les algorithmes RSA, ElGamal et Rabin seront la fois pour le chiffrement
et les signatures numriques.
Utilise galement lexponentielle modulaire.
Chiffrementt ett dchiffrement,
Chiff
d hiff
t lchange
l h
d
des cls
l symtriques
t i
ett
lauthentification des messages.

85

Les algorithmes cl publique sont conus pour rsister aux attaques


texte en clair choisi; leur scurit dpend la fois de la difficult de dduire
la cl prive partir de la cl publique et la difficult de dduire le texte en
clair partir du texte chiffr.
Inconvnient majeur de ces algorithmes
La vitesse de chiffrement et de dchiffrement sont nettement plus faible que
pour les algorithmes de la cryptographie symtrique. Habituellement sont
trop lent pour le chiffrement de donnes en masse
masse.
Avantage
Chiffrement et le dchiffrement
Authentification des messages (sorte de signature numrique).
numrique)
Chiffrer et changer des cls de session des algorithmes symtrique dans
un rseau non scurise.
86

HSCTDOC.blogspot.com

I- RSA
Le principe de base de cet algorithme est fond sur des fonctions
appartenant la famille des fonctions trappes ou piges. Elles sont
appeles des fonction sens unique brche secrte : facile calculer
dans un sens et difficile voir impossible calculer dans le sens inverse sans
la connaissance de la brche secrte.
I- 1. Principe
Lutilisation du RSA consiste gnrer tout dabord des cls publiques et
prives et ensuite effectuer le chiffrement, le dchiffrement des messages
ou lauthentification (signature numrique des messages).
p 1 : Gnration des cls
Etape
Pour gnrer les cls publique et prive dun utilisateur, cette tape est
base sur une multiplication de deux grands nombres premiers faciles
calculer et sur la difficult de factoriser le rsultat de cette multiplication.
Sous cette condition, cette tape consiste calculer trois nombres e, d et n
permettant de dfinir :
Une cl publique
Kp = ( e , n )
Une cl prive
Kpr = ( d , n )
87

Etape2 : Chiffrement et dchiffrement


Le chiffrement/ dchiffrement des messages est base sur lexponentielle
modulaire de base a et dexposant b modulo n :
a b mod n
Elle est facile calculer dans un sens et elle est difficile inverser ( le
logarithme discret)
Chiffrement
C = Ekp (M) =Me mod n

avec Kp= (e, n)

Dchiffrement
M = D kpr (C) = Cd mod n

avec Kpr = (d, n)

88

HSCTDOC.blogspot.com

Pour que les deux mcanismes soient rversibles il faut que


(Me mod n)d mod n = (Med mod n) mod n = M
Ainsi, les cls publiques et prives sont lies par lquation suivante :
ed mod n = 1 calcul de linversion modulaire
Si on fixe e on calcul d ou inversement
II- Outils mathmatiques
yp g p
asymtrique
y
q utilise essentiellement la thorie des
La cryptographie
nombres et plus particulirement les outils suivants :
1. Gnration de trs grands nombres premiers,
2. Arithmtique modulaire de base n,
3. Exponentielle modulaire de base n,
4. Inversion modulaire de base n,
5. Fonction dEuler et thorme dEuler.

89

1. Gnration de trs grands nombres premiers


Un nombre premier est un entier dont les seuls facteurs soit 1 et lui-mme.
Deux nombres entiers sont premiers entre eux si leurs PGCD = 1.
Lalgorithme
L
algorithme le plus utilis pour tester la primalit dun
d un entier de grande
valeur est celui de Rabin-Miller.
2. Arithmtique modulaire de base n
b = a mod n

a b (mod n)

a est congrue b modulo n

a = kn + b
a, b, k et n sont des entiers. Si a et b>0 et b<n alors b est le reste de la
division de a par n appel rsidu de a modulo n et reprsente une rduction
modulaire. Lensemble des rsidus est { 0 , 1 , . , n-1 }.
Larithmtique modulaire a les mmes proprits que larithmtique
classique : commutativit, associativit et distributivit.

90

HSCTDOC.blogspot.com

3.

Exponentielle modulaire de base n

ax mod n
Il existe plusieurs techniques qui permettent de calculer lexponentielle
l exponentielle
modulaire sans engendrer des rsultats dmesurs. Le meilleur algorithme
est celui de Montgomery.
4.

Inversion modulaire de base n

problme difficile rsoudre p


par
Le calcul de linverse modulaire est un p
-1
rapport linversion classique ( ax = 1, x=1/a a )
ax mod n =1

avec a et x [ 0 , n-1]

Cette quation a une solution unique a-1 si :


a et n sont premiers entre eux PGCD(a , n)=1, sinon pas de solution.

91

Si n est premier, chaque entier de lensemble des rsidus [0 ,n-1] est


premier par rapport n et chacun a un inverse dans lensemble
l ensemble des rsidus
calcul par :
x = a-1 mod n
appel linverse multiplicatif modulo n de a.
Lalgorithme
L
algorithme d
d Euclide tendu ou le thorme dEuler
d Euler permettent de calculer
x.
5. Fonction dEuler
Le thorme dEuler permet de calculer linverse modulaire dun entier
( )
modulo n en utilisant lensemble restreint des rsidus modulo not (n).
Si n est premier alors (n) est le cardinal de lensemble des rsidus
{0, 1, 2, , n-1}-{0} : ensemble restreint des rsidus
(n) = n -1 reprsente le cardinal de lensemble dentiers premier avec n.
Si n = p x q avec p et q nombre premiers alors
(n) = (p) (q) = (p - 1)(q 1)
La fonction (n) est appele fonction totient dEuler.
HSCTDOC.blogspot.com

92

Thorme dEuler
Si

PGCD (a ,n) = 1 alors

a(n) mod n =1

La rsolution de ax mod n =1 est


1.
1
2.
3.
4.

( ) mod n =1
a a(n)-1
1
-1
(n)-1
a =a
mod n
-1
x = a mod n
x = a(n)-1 mod n

Par la gnralisation du thorme dEuler, linversion de ax mod n = b est


par :
calcule p
x = b a(n)-1 mod n
Factorisation
La factorisation dun nombre consiste chercher tous les facteurs premiers
qui le compose (252 = 41* 61*101).
93

III- Gnration des cls publique et prive dun correspondant A


1- Calcul des nombres nA, eA et dA
1 Trouver deux entiers premiers pA et qA dont les valeurs sont
1.
extrmement grandes, valeurs usuelles sont codes sur 2048 et 4096
bits. Puis calculer
nA =pA
pA qA.
1. Calculer la fonction dEuler
A (nA) = (pA -1)*(qA-1)
1. Calculer les nombres eA et dA.
Condition pour avoir le chiffrement par (eA , nA) et le dchiffrement par (dA ,
nA))
(MeA mod nA)dA mod nA = MeAdA mod nA
Si eAdA mod nA = 1 M mod nA = M
Par consquent, M mod nA = M impose la dcomposition du message
chiffrer ou dchiffrer sous la forme de blocs dont la taille est infrieur
celle
ll de
d nA.
A
94

HSCTDOC.blogspot.com

2- Calcul du nombre eA
Pour que eA dA mod (nA) = 1 possde une solution unique il faut que le
PGCD (eA , (nA) ) = 1
De ce fait, eA doit appartenir lensemble restreint des rsidus (nA) de
nA.
Choisir eA dans [2, nA - 1].
(eA , nA) reprsente la cl publique KAp publier.
3- Calcul du nombre dA
Linversion dA de eA peut tre calcul par le thorme dEuler :
eA (nA) mod nA =1
dA = eA-1 = eA (nA)-1 mod nA
( A) 1 mod
dA = eA-11 = eA (nA)-1
d nA.
A

95

Remarque :
e-11 peut tre galement calcul par lalgorithme
l algorithme dEculide
d Eculide tendu
dA = eA-1 mod (nA)
dA [ 2 ,nA
nA 1 ]
(dA , nA) reprsente la cl prive KApr garder secrte
Important : Les nombres pA, qA et (nA) doivent tre dtruits.
Ainsi, le chiffrement dun message M est effectu par C=MeA mod nA et le
g Cp
par M = CdA mod nA.
dchiffrement du message
III. Exemples
Exemple 1
Chiffrement / dchiffrement du message M=8 reu par A
Gnration des cls publique et prive de A
choix de deux nombres premiers pA =3 et qA= 5 nA = pAqA =15
(nA) = (pA-1)(qA-1) = 8
C l ld
Calcul
de eA
A ett dA
dA.
96

HSCTDOC.blogspot.com

Choix de eA dans [ 2 , nA-1 ] premier avec nA par exemple eA =11.


KAp = ( 11 , 15 )
) mod 15 = 3
dA = 11 ((nA)-1

KApr = ( 3 , 15 )
Chiffrement de M
Un correspondant B chiffre M = 8 avec la cl publique de A
C = 811 mod 15 =2
Dchiffrement de C
A reoit C et le dchiffre avec sa cl prive
M = 23 mod 15 =8

97

Exemple 2
Chiffrement / dchiffrement du message M couleurs reu par A
Gnration des cls publique et prive de A
1. Choix de deux nombres premiers pA = 53 et qA = 17 nA = pAqA = 901
2. (nA) = (pA - 1) (qA - 1) = 832
3. Calcul de eA et dA
4. Choix de eA dans [ 2 , nA-1 ] premier avec nA par exemple eA =83
KAp = ( 83 , 901 )
Ainsi, dA = 83 (nA)-1 mod 901 = 411
KApr = ( 411 , 901 )
Chiffrement de M
B chiffre le message M avec la cl publique de A : (83, 901)
Le message M = m1 m2 m3 m4 m5 m6 m7 m8 = c o u l e u r s est cod en
ASCII par 099 111 108 101 11 7 114 115.
115
98

HSCTDOC.blogspot.com

Le message M est dcoup sous la forme de blocs dont le nombre de chiffre


est infrieur ou gale celui de n 3 chiffres
Blocs mi

Chiffrement

Bloc ci

m1

09983 mod 901

789

m2

11183 mod 901

797

m3

11783 mod 901

196

m4

10883 mod 901

233

m5

10183 mod 901

475

m6

11783 mod 901

196

m7

11483 mod 901

198

m8

11583 mod 901

378

C = c1c2c3c4c5c6c7c8 = 789 797 196 233 475 196 198 378.

99

Dchiffrement de C
A reoit C et le dchiffre avec sa cl prive :
Blocs ci

Chiffrement

Bloc mi

c1

789411 mod 901

099

c2

797411 mod 901

111

c3

196411 mod 901

117

c4

233411 mod 901

108

c5

475411 mod 901

101

c6

196411 mod 901

117

c7

198411 mod 901

114

c8

378411 mod 901

115

M = 099 111 117 108 101 117 114 115 = c o u l e u r s


On peut remarquer que lutilisation de llvation la puissance puis
lutilisation du modulo permet de changer la base des registres choix et
di t d i une di
dintroduire
discontinuit.
ti it
100

HSCTDOC.blogspot.com

Exemple
m7 = 114 et m8 = 115 valeurs peu diffrents
c7 = 198 et c8 =378 valeurs trs diffrents
Authentification des messages
Lauthentification dun message peut tre considr comme une signature
numrique. En effet, A signe son message M en utilisant sa cl prive : KApr
C = D KApr (M) = MdA mod nA
B dchiffre C en utilisant la cl publique de A : KAp
M = E KAp ((C)) = MeAdA mod nA
Linconvnient majeur est que M peut tre dchiffrer par nimporte qui
puisque eA et nA sont publiques.

101

Chiffrement/dchiffrement et authentification des messages entre A et


B
Scnario 1 : A chiffre le message M avec sa cl prive puis chiffre le
rsultat avec la cl publique de B
C = EkBp(DkApr(M)) = (MdAeB mod nA )mod nB
B dchiffre le message C en utilisant sa cl prive, ensuite avec la cl
publique de A :
M = EkAp(DkBpr(C)) = (CdBeA mod nB )mod nA
Scnario 2 : A chiffre le message M avec la cl la cl publique de B et le
rsultat avec sa cl prive
( Bp(M))
( )) = (M
( dAeB mod nB ))mod nA
C = DkApr(Ek
B dchiffre le message C en utilisant la cl publique de A, ensuite avec sa
cl prive :
M = DkBpr(DkAp(C)) = (CeAdB mod nA )mod nB
Pour avoir un mcanisme rversible il faut que :
nA
A < nB
B pour le
l scnario
i 1
nB < nA pour le scnario 2.
HSCTDOC.blogspot.com

102

Attaque de RSA :
Les nombres n et e sont publiques, de ce fait il y a une possibilit de
chercher p et q puis (n) en se basant sur la factorisation de n en deux
nombres premiers. Si on arrive lalgorithme sera cass car le calcul de e et
de d devient trs facile.
Scurit de RSA :
La scurit de RSA rside au niveau de la longueur des nombres p et q.
Ces deux nombres ont t cods sur 512 bits, 640 bits et 1024 bits.
Actuellement sont cods sur 2048 et 4096 bits.
Performances :
Le RSA est moins rapide que le DES cause des calculs des puissances
modulo. Dans les ralisations matrielles le RSA est environ 1000 fois plus
lente que le DES. Au niveau logiciel,
g
le chiffrement de RSA est bien plus
rapide si vous choisissez bien la valeur de e (les plus courants sont 3, 17 et
65537).
Conclusion :
Le RSA est le plus populaire parmi les algorithmes cl publique. Vu la
complexit de calculs, le RSA est souvent utilis au dbut des
communications
i i
pour
changer
h
d
des cls
l d
de session
i (f
(faible
ibl quantit
i
dinformation communiquer) des algorithmes symtriques qui seront
utiliss pour effectuer des communications en diffr ou en temps rel.

103

Algorithme de Diffie et Hellman :


Diffie et Hellman ont t les fondateurs de la cryptographie cls publiques.
Leur algorithme a permis de rsoudre le problme dchange
d change des cls de la
cryptographie cl symtrique. Son principe est bas sur lexponentielle
modulaire. La fonction utilise est
gm mod n,
n
O g et n sont deux grands entiers premiers entre eux et sont publiques, m
est un entier alatoire gard secret.
Le protocole dchange des cls secrtes se droule comme suit :
1. Au dbut deux correspondants A et B se mettent daccord sur n et g,
grand nombre entier alatoire X g
gard secret et calcul : gX
2. A choisit un g
mod n et envoie le rsultat B,
3. B choisit un grand nombre entier alatoire Y gard secret et calcul : gY
mod n et envoie le rsultat A,
4. A reoit gY mod n, puis calcul (gY mod n) X mod n = gYX mod n,
5. B reoit gX mod n, puis calcul (gX mod n) Y mod n = gXY mod n,
Ainsi, la valeur K = gYX mod n reue par les deux parties devient leur secret
partag et par consquent, elle peut tre utilis comme cl de session pour
communiquer en utilisant un algorithme cl symtrique.
104

HSCTDOC.blogspot.com

KA p = gX mod n est la cl publique de A et sa cl prive est KA pr = X.


KB p = gY mod n est la cl publique de B et sa cl prive est KB pr = Y.
Pour trouver les cls prives X et Y un attaquant doit rsoudre linverse
l inverse de
gX mod n ou gY mod n. Cette rsolution reste un problme trs redoutable
en mathmatique.
Algorithme dElGamal
La version de base de cet algorithme, publie en 1985, a t utilise pour
effectuer des signatures numriques. Elle tire galement sa scurit sur la
difficult de calculer les logarithmes discrets. Une autre version modifie a
propose
p
p
pour le chiffrement et le dchiffrement des messages.
g
t p
3.3.1 Signature numrique des messages
Pour gnrer une paire de cl, un correspondant doit choisir un nombre
premier n et deux nombre alatoire g et x < n. Ensuite, il doit calculer :
y = gx mod n
Ce qui permet de gnrer :
U cl
Une
l publique
bli
K
Kp =(y,
( g, n))
Une cl prive kpr = x

105

La signature dun
d un message M ncessite le choix dun
d un nombre alatoire k tel
que k et n-1 soient premiers entre eux. Cette signature sera compose de
deux parties. La premire partie de la signature est exprime par :
a = gk mod n
La deuxime p
partie de la signature
g
est obtenue en rsolvant lquation
q
cidessous avec lalgorithme dEuclide tendu:
M = ((xa + kb)) mod ( n-1))
La signature de M sera donc reprsente par a et b
Pour vrifie une signature, un correspondant B reoit M, aA et bA. Il utilisera
la cl publique de A : Kp (yA, gA, nA ) pour confirmer lgalit suivante :
yaAA abA mod nA = gMA mod nA

106

HSCTDOC.blogspot.com

Exemple :
1- Cl publique et prive de A
nA = 11
gA = 2 < nA
xA < nA , xA = 8
yA = gAxA mod nA = 28 mod 11 =3
KAp = (3,
(3 2
2, 11)

KApr = 8

2- signature de M=5
Choix de kA = 9, nA 1 = 10, PGCD(9,10) = 1
Calcul de aA = gkA mod nA = 29 mod 11 =6
Rsolution de M = yaAA abAA mod nA = gMA mod nA
5 = (8*6 + 9*bA) mod 10
Lalgorithme dEuclide tendu donne bA = 3, Signature de M = (6,3)
3- La correspondant B reoit M = 5et (6 ,3), pour confirmer la signature de A,
il calcul : yaAAabAA mod nA = gMA mod nA
36 .63 mod 11 = 25 mod 11 = 10
Il est sr que cest A qui a sign le message M.

107

Chiffrement de dchiffrement
Un correspondant B envoie un message M A, en utilisant la cl publique
de A :
KAp = ( yA, gA , nA). Le message chiffr sera compos de deux parties
comme suit :
C1 = gkBA mod nA
C2 = ykBA mod nA
kB est un nombre alatoire choisi par B tel que PGCD (kB, nA 1) =1
C = C1C2 le message chiffr dont la taille est le double de celle de M
M.
Le correspondant A reoit C et le dchiffre avec sa cl prive xA en utlisant
llexpression
expression suivante :
M = C2 /CxA1 mod nA
En effet,
C2/ CxA1 mod nA = ykBA mod nA / [gxAkBA mod nA] mod nA
= (gxAkBA mod nA) M mod nA / [gxAkBA mod nA] mod nA
= M.
HSCTDOC.blogspot.com

108

Exemple
Cls publique et prive de A : KAp = (yA, gA, nA) = ( 3, 2, 11) et KApr = xA
=8
B chiffre M=5 en utilisant kB = 3, PGCD( 3,10 ) =1
C1 = 23 mod 11 = 8
C2 = 33. 5 mod 11 =25
B envoie A C1C2, A utilise sa cl prive xA = 8,
M = 25 / 88 mod
d 11 =25
25 / 5 =5.
5
Conclusion
Le chiffrement / dchiffrement, lauthentification et la signature dElGamal ne
peuvent tre effectus que sur des messages dont la taille est entre 8 64
caractres ( de 64 bits 512 bits)
bits). Ceci est d la complexit du calcul de
lexponentielle modulaire qui utilise des cls publiques ou prives
reprsentes par des nombres de grandes valeurs de 100 500 chiffres (de
512 bits 2048 bits)
bits).

109

Exemple de cl publique sur 1024 bits en Hexadcimal :


3081 8902 8181 00CF 8424 B08C CD71 9110 7E44 2B2E 8014 35F0 49CE
8C3E 8CA9 3516 5FC7 9EB8 B4D2 9A89 637C 20C4 DB30 97AF ECB3
37F2 A000 00E8 E350 BA90 2B20 EEE5 9D5B 4A87 E0D5 895A B6A4
05A6 B2C4 2715 555F 6699 0A68 95AD 3963 6071 4C00 8431 7693 7EC0
20F9 8C31 EC2A 8585 9054 3478 4DD1 366B 9024 67B1 E8C8 C812
6EE9 E35B 5D04 700D 7C28 2702 0301 0001
Les algorithmes asymtriques sont trs coteux en temps de calcul
Utilisation courante : Echange des cls de session des algorithmes
symtriques (8 caractres (64 bits) 32 caractres (256 bits)) en utilisant le
service de chiffrement / dchiffrement
dchiffrement.
Signature et lauthentification des messages plus longs nest possible que
sur des rsums des messages
Solution adopte :
Fonction de hachage rsum signature et authentification
HSCTDOC.blogspot.com

110

Chapitre 4 : Authentification,
Authentification hachage
hachage, signature et
gestion de cls

111

1 Signature numrique :
1.
La signature numrique doit avoir les mmes caractristiques quune
signature manuscrite savoir :
Elle ne peut tre limite pour prouver que la signataire a dlabrement
sign son document.
g
Elle doit authentifier la signature
Elle nappartient qu un seul document : pas rutilisable
Un document sign ne peut tre modifi (intgralit)
Elle ne peut tre renie (non rpudiation).
Existence dune relation biunivoque entre un document sign et la
signature qui laccompagne.
Les algorithmes asymtriques permettent une signature numrique des
messages trs court (<256 bits) pour les messages de grandes tailles
Utilisation
Utili ti d
de ffonction
ti d
de contraction
t ti ou d
de condensation
d
ti appele
l
fonction de hachage sens unique. Gnration de rsum appel
une empreinte digitale ou un condens ou un digit du document initial.
112

HSCTDOC.blogspot.com

- Notion de fonction de hachage sens unique (one way hach function)


Cest une fonction mathmatique facile calculer dans un sens (chiffrement
facile) et est extrmement difficile calculer dans le sens inverse
(dchiffrement difficile).
M H(M) empreinte digitale
Proprit de H(M) :
M est de taille variable empreinte h=H(M)
h H(M) de taille fixe
Il est facile de calculer h partir de M
Impossible de calculer M partir de H(M)
Rapidit du calcul de lempreinte
l empreinte
Impossible de gnrer deux documents diffrents ayant la mme
empreinte. (H(M) est sans collision)
Il est trs difficile de trouver deux messages
g alatoires q
qui donnent la
mme signature.

113

Principe de fonctionnement :
Le message M = M0 M1 MN-1 les blocs Mi sont de mme taille. Chaque
bloc Mi subira un hachage : H(Mi) = f(Mi, H(Mi-1))

M0

Mi

M1
.

H(Mi-1)

H = fonction de
hachage sens
unique

H(Mi)

MN-1
Pour le premier bloc M0, une constante sera utilise comme valeur initiale,
pour le bloc M1, H(M0) reprsente une valeur dinitiation et ainsi de suite. A
la fin du hachage H (MN-1) reprsente lempreinte digitale du message.
HSCTDOC.blogspot.com

114

- M de taille quelconque H(M) de taille fixe (valeurs standards 128 ou 160


bits)
Particularit des fonctions de hachage :
Algorithmes associs sont publiques
Une fois M hach on ne peut plus restitu M (sens unique)
- Assure lintgralit mais ne peuvent pas authentifier lauteur de M
- Ncessit de la cryptographie asymtrique qui offre le service
dauthentification
- H(M) et RSA ou ELGAMAL == signature numrique
- Fonction de hachage
g sens unique
q avec cl ((ou brche secrte))

115

Cration dune signature numrique


Le correspondant A signe un message M en utilisant une fonction de
hachage H(M) et en chiffrant le rsultat avec sa cl prive KApr le rsultat est
transmis un correspondant B
B.
S(M)=DKApr(H(M))
Remarque :
Le message M peut tre clair ou chiffr avec un algorithme symtrique dont
la cl a t pralablement change entre A et B en utilisant un algorithme
asymtrique. Dans ce cas B reoit C= EKBp(M) et S(M)

116

HSCTDOC.blogspot.com

Vrification dune signature numrique


Le correspondant B reoit Mr et S(M) . Il utilise la cl publique de A (KAp)
pour dchiffrer la signature S(M).
H(M)=EKAp(S(M))=EKAp(DkApr(H(M))
Et hache Mr pour calculer H(Mr)
Si H(Mr)=H(M) la signature est valide sinon M est jet
Inconvnient majeur du protocole de la signature numrique : certification
de la cl publique du correspondant A.

117

Exemples dutilisation
Signature en utilisant :
Un algorithme de hachage :
MD4 : Message Digist version 4 (produit des empreintes de 128 bits)
MD5 : Message Digist version 5 (produit des empreintes de 128 bits)
SHA2 : Hach Algorithm version 2
RIPEMD 160 : Ripe Message Digest
Et un algorithme asymtrique :
RSA
ELGAMAL
- ou lutilisation du :
g
numrique
q ((DSS))
Standard de signature
DSA Digital Signature

118

HSCTDOC.blogspot.com

Description de lalgorithme de hachage MD5


MD5 est une version amliore de MD4. Le principe de base de cet
algorithme, conu par R. Rivest, est fond sur la manipulation de blocs de
512 bits chacun ( 64 caractres). Chaque bloc est dcompos sous la forme
de 16 sous blocs de 32 bits chacun. Ces sous blocs constituent une des
entres de lalgorithme. 4 fonctions non linaires sont utilises. Chaque
fonction est utilise dans une ronde (MD5 possde 4 rondes). Chaque
ronde effectue 16 itrations. La sortie de lalgorithme est un ensemble de 4
variables de 32 bits. De ce fait, le rsultat de hachage est cod sur 128 bits.
tape 1 : pr traitement du message
Le message M peut avoir une taille quelconque, il doit tre complt de
manire ce que sa taille soit multiple de 512 bits (M mod 512 =0)
Message multiple de 512 bits est M.
Message M initial

b0b1.bi..bn1

Complment de M

1000000000000000000000

taille de M

b0b1..b63

119

Le complment
p
de M reprsente
p
un remplissage
p
g q
qui commence avec 1 seul
et dautant de 0 que ncessite et ensuite la taille initiale de M est code sur
64 bits et est place la fin du message.
- Dcoupage de M en blocs de 512 bits chacun
B0

B1

..

Bm

Chaque bloc Bi dcoup en 16 sous blocs de 32 bits chacun


Bi M[0], M[1], , M[15]
tape 2 : Initialisation
t
I iti li ti
pour le
l traitement
t it
t de
d B0
On dfinit 4 variables (variables de chanage) A,B,C,D de 32 bits initialises
par :
A = 01 23 45 67
B = 89 AB CD EF
C = FE DC BA 98
D = 76 54 32 10
Ces 4 variables sont copies dans 4 autres variables :
AA = A, BB = B, CC = C, DD = D
120

HSCTDOC.blogspot.com

tape 3 : Calcul itrative des 4 rondes (4*16=64 itrations)


Dans chaque ronde , on calcul de nouvelles valeurs des variables A
A, B
B, C
C, D
partir des anciennes valeurs en utilisant dans chaque ronde une fonction
non linaire (pour voluer ces variables de manire non-linaire, et
d'assurer
d
assurer les proprits de sens unique)
unique).
Ronde 1
F(X Y Z)=(X
F(X,Y,Z)
(X AND Y) OR ( NOT(X) AND Z)
Ronde 2
G(X,Y,Z)=(X AND Z) OR (Y AND NOT(Z))
Ronde 3
H(X,Y,Z)=(X XOR Y XOR Z)
Ronde 4
( , , )
XOR ((X XOR NOT(Z))
( ))
I(X,Y,Z)=Y
O X, Y et Z dnotent lun des variables A, B,C ou D. Ces fonctions
renvoient des valeurs sur 32 bits qui seront ajoutes la 4 eme variable (
non implique dans le calcul), et au sous bloc considr et une constante
T. Ce nouveau rsultat sera ensuite dcal circulairement vers la gauche de
S positions. Enfin, le rsultat de ce dcalage est ajout lune des variables
A,B,C ou D.
121

Dtails du calcul de A,B,C et D


M[j] : j (0 15) me bloc
T[i] : constante calcule litration i par 429467296 . abs(sin[i]) (i en radian).
S[i] : nombre de dcalages correspondant litration i.

Ronde 1
A = B + [(A + F(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B + F(C,D,A) + M[j] + T[i])<<<S[i]]
C = D + [(C + F(D,A,B) + M[j] + T[i])<<<S[i]]
D = A + [(D + F(A,B,C) + M[j] + T[i])<<<S[i]]
Ronde 2
A = B + [(A + G(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B
( + G(C
G(C,D,A)) + M[j] + T[i])<<<S[i]]
)
S
C = D + [(C + G(D,A,B) + M[j] + T[i])<<<S[i]]
D = A + [(D + G(A,B,C) + M[j] + T[i])<<<S[i]]
R d 3
Ronde
A = B + [(A + H(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B + H(C,D,A) + M[j] + T[i])<<<S[i]]
C = D + [(C + H(D
H(D,A,B)
A B) + M[j] + T[i])<<<S[i]]
D = A + [(D + H(A,B,C) + M[j] + T[i])<<<S[i]]

122

HSCTDOC.blogspot.com

Ronde
R
d 4
A = B + [(A + I(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B + I(C,D,A) + M[j] + T[i])<<<S[i]]
C = D + [(C + I(D
I(D,A,B)
A B) + M[j] + T[i])<<<S[i]]
D = A + [(D + I(A,B,C) + M[j] + T[i])<<<S[i]]
A la fin de la 4eme ronde on fait les mise jour des variables :
A = A + AA
B = B + BB
C = C + CC
D = D + DD
Ces 4 variables seront utilises comme entre pour le traitement du bloc
B1.
Les 4 rondes sont effectues autant de fois quil y a de blocs de 512 bits
dans le message complt M.
tape 4 : Empreinte du message
g M
Lempreinte du message sera code sur 128 bits en regroupant les 4
variables A, B, C et D de 32 bits.

123

C
Concurrents
t d
de MD5
SHA 1 : empreinte sur 160 bits
SHA 2 : 3 choix 256
256, 384 ou 512 bits
RIPEMD 160 : empreinte sur 160 bits
Le standard de la signature numrique DSS
Lalgorithme
L
algorithme de signature cl publique (DSA : Digital Signature Algorithme)
a t propose par le NIST en 1991, comme standard de signature
numrique (DSS : Digital Signature Standard).
Le DSA est une variable de lalgorithme
l algorithme de signature dElGamal.
d ElGamal.
- Gnration dune paire de cls dun correspondant :
premier entre 512 et 1024 bits
n nombre p
q nombre premier avec (n-1) de 160 bits
calculer g=h(n-1)/q mod n o h<n-1 tel que g>1
y=g
gx mod n avec x<q
calculer y

une cl publique Kp=(q,y,g,n)


une cl prive Kpr=x
Signature de lempreinte H(M) dun message M
124

HSCTDOC.blogspot.com

Ch i alatoire
Choix
l t i d
de K<
K<q
Calculer :
R = (gk mod n) mod q
1ere partie de la signature
-1
S = (K (H(M)+x*R)) mod q
2eme partie de la signature
(R,S) reprsente la signature du message M, en utilisant la fonction de
hachage SHA1
SHA1.
Un correspondant A ayant la cl publique (qa,ya,ga,na) hache son message
et le signe en utilisant sa cl prive xa et Ka, il envoie B lempreinte
l empreinte Ha(M),
le message M en clair ou chiffr et la signature (Ra, Sa).
Vrification de la signature
g
Un correspondant B reoit lempreinte Ha(M) et (Ra, Sa). Il utilisera la cl
publique de A pour calculer :
W = S-1A mod qA
U1 = (HA(M)*W mod qA
U2 = RA*W mod qA
V = ((gU1A*yU2A) mod nA ) mod qA
125

Si V=RA alors la signature est vrifie


A a bien sign le message M en utilisant HA(M) avec sa cl prive xA et le
nombre KA.
Exemple :
Gnration dune paire de cls dun correspondant A :
nA= 124540019 nombre premier entre 512 et 1024
qA= 17389 nombre premier avec (n-1) de 160 bits
(n-1)/qA=7162 et h=11021752 < 124540018
gA= 1102175287162 mod 124540019 = 10083255 > 1
xA= 12496 < qA
yA= 1008325512496 mod 124540019 = 119946265
une cl publique KpA = (qA,yA,gA,nA)
une cl prive KprA=xA
Signature par A de lempreinte HA(M) dun message M
qA
Choix alatoire de KA=9557 <q
calculer :
1ere partie de la signature
RA=(100832559557 mod 124540019) mod 17389 =34
2eme partie de la signature
SA=(9557-1 (5246+12496*34)) mod 17389 =13049
Avec H(M)=5246
A envoie B (34, 13049)
HSCTDOC.blogspot.com

126

Vrification de la signature
Le correspondant B reoit dun correspondant A lempreinte HA(M) (le
message en clair ou chiffr et (RA=34, SA=13049). Il utilisera la cl publique
de A pour calculer :
W= 34-11 mod 117389 = 1799
U1=(5246*1799) mod 117389 = 12716
U2 = 13049* 1799 mod 117389 = 8999
V=((10083255
V
((1008325512716A*y
y8999A) mod nA) mod 117389 =34
34
V=RA=34 alors la signature est valide
A a bien sign le message M en utilisant HA(M) avec sa cl prive xA =
12496 et le nombre KA= 9557.
Gestion des cls et certificat numrique
problme majeur
j
de la cryptographie
yp g p
asymtrique
y
q est la p
publication des
Le p
cls publiques des diffrents utilisateurs. Cette publication doit offrir
lassurance que :
Les cls publiques sont bien celles des utilisateurs qui elles sont
associes.
Lorganisme qui publie les cls publiques doit tre digne de confiance
(tiers de confiance).
Les cls publiques sont valides.
127

Pour cela, on a recours un certificat numrique. Un certificat numrique


estt un document
d
t numrique
i
fifixantt les
l relations
l ti
quii existent
i t t entre
t une cl
l
publique et son propritaire ( un utilisateur, une application, un site, une
machine).
La gestion technique et administrative de ces certificats sont assures par
une infrastructure de gestion des cls IGC ou Public Key Infrastructure
(PKI). Une PKI repose sur les organismes suivants :
L
Lautorit
autorit de certification AC
AC, dont la fonction est de dfinir la
politique de certification (PC) et de la faire appliquer, garantissant ainsi
un certain niveau de confiance aux utilisateurs.
Lautorit
autorit d
denseignement
enseignement (AE)
(AE), dont la fonction est de vrifier que
L
le demandeur est bien la personne quil prtend tre, conformment
aux rgles dfinies par lautorit de certification. Elle garantit la validit
des informations contenues dans le certificat. Lautorit
L autorit denseignement
d enseignement
est le lien entre loprateur de certification et labonn.
Loprateur de certification (OC), dont la fonction est dassurer la
gestion du cycle
y
de vie des certificats. Son rle consiste
fourniture et g
mettre en uvre une plate forme oprationnelle, fonctionnelle,
scurise, dans le respect des exigences nonces dans la politique de
certification (PC) et dont les modalits sont dtailles dans la
dclaration des pratiques de certification (DPC).
128

HSCTDOC.blogspot.com

Annexe : Norme X.509


X 509 est un standard de cryptographie de llUnion
Union international des
tlcommunications pour els infrastructures cls publique. X509 tablit
entre autres les formats standard de certificats lectronique et un algorithme
de validation de chemin de certification.
X509 a t cr en 1988 dans le cadre du standard X500. Il repose sur un
systme hirarchique dautorits de certifications.
Un certificat X.509 est dcompos en deux parties :
La partie contenant les informations (version, n de srie du certificat,
algorithme utilis , nom, date de validit, cl publique du propritaire du
certificat, )
La partie contenant la signature de lautorit de certification
Exercice :
Discuter les cas suivants:
1. Deux certificats diffrents contiennent la mme cl publique.
2 Deux
2.
D
certificats
tifi t diff
diffrents
t ontt la
l mme

signature.
i
t

129

HSCTDOC.blogspot.com

S-ar putea să vă placă și