Académique Documents
Professionnel Documents
Culture Documents
Adrien Goffon
Bureau H207 / adrien.goeffon@univ-angers.fr
Scurit informatique
Le stockage et lachemination dinformations (via des rseaux internet, des voies tlphoniques ou en main propre)
relvent de linformatique.
La scurit informatique regroupe les moyens permettant lintgrit et la confidentialit dinformations.
Plusieurs critres relvent de la scurit informatique :
garantir lexactitude et la conformit des informations (intgrit)
garantir laccessibilit des informations et des systmes (disponibilit)
sauf laccessibilit de certaines informations des personnes non autorises (confidentialit)
prouver et enregistrer tout accs une information (traabilit)
de manire gnrale, protger contre des actions non intentionnelles (sret) ou intentionnelles malveillantes
(scurit).
Lauthentification (assurance de lidentit de lexpditeur) est galement une proprit de scurit importante dans
les protocoles dchange de messages.
Une vulnrabilit est une faille de scurit. La vulnrabilit est un niveau dexposition.
Une attaque est un moyen dexploiter une vulnrabilit. Une menace est une possibilit identifie dattaque.
Le risque prend en compte la probabilit de menace (fonction de la vulnrabilit, lensemble des menaces et les
prventions de menaces ou contre-mesures) mais galement la gravit dune attaque russie.
Dans la plupart des cas, la scurisation des informations passe par le chiffrement, procd qui permet de rendre
une information incomprhensible a tout individu nayant pas sa connaissance une information supplmentaire
(la cl de chiffrement).
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Chiffrement
Premier exemple de texte chiffr :
SFOEF AWPVT BNJOV JUDIF AUPOZ NPOUB OB
Cas simple et facile dchiffrer :
chiffrement par dcalage (ou chiffrement de Csar)
dcalage : +1
Pour retrouver le message (texte clair), appliquer le dcalage inverse (-1 ou +25) puis retrouver les espaces :
S<->R, F<->E, O<->N
SFOEF AWPVT BNJOV JUDIF AUPOZ NPOUB OB
SFOEFAWPVTBNJOVJUDIFAUPOZNPOUBOB
RENDEZVOUSAMINUITCHEZTONYMONTANA
RENDEZ-VOUS A MINUIT CHEZ TONY MONTANA
Csar remplaait chaque lettre par la troisime suivante dans lordre alphabtique lors de ses conversations
secrtes et militaires.
Le mme message chiffr avec un dcalage de 3 :
UHQGH CYRXV DPLQX LWFKH CWRQB PRQWD QD
Chiffrement
Avant lapparition des ordinateurs, les applications taient essentiellement militaires et diplomatiques.
Sur les champs de bataille, le chiffrement des messages devaient rpondre certaines contraintes :
rapides traiter par un le codeur / dcodeur connaissant la mthode de chiffrement
de courte dure de vie et donc rapides apprendre pour les codeurs
Chiffrement
Avant lapparition des ordinateurs, les applications taient essentiellement militaires et diplomatiques.
Stganographie
Quelques applications sociales galement, notamment pour la correspondance entre amants
(par cryptographie mais aussi stganographie, consistant cacher un message dans un autre).
Exemple avec la (probablement fausse mais clbre) lettre de George Sand Alfred de Musset
Cher ami,
Je suis toute mue de vous dire que j'ai
bien compris l'autre jour que vous aviez
toujours une envie folle de me faire
danser. Je garde le souvenir de votre
baiser et je voudrais bien que ce soit
une preuve que je puisse tre aime
par vous. Je suis prte montrer mon
affection toute dsintresse et sans calcul, et si vous voulez me voir ainsi
vous dvoiler, sans artifice, mon me
toute nue, daignez me faire visite,
nous causerons et en amis franchement
je vous prouverai que je suis la femme
sincre, capable de vous offrir l'affection
la plus profonde, comme la plus troite
amiti, en un mot : la meilleure pouse
dont vous puissiez rver. Puisque votre
me est libre, pensez que l'abandon ou je
vis est bien long, bien dur et souvent bien
insupportable. Mon chagrin est trop
gros. Accourrez bien vite et venez me le
faire oublier. vous je veux me soumettre entirement.
Votre poupe
Stganographie
Un exemple plus rcent de stganographie :
Cryptographie
La cryptologie est la science (autrefois un art) qui traite du chiffrement des informations symbolises par des
messages (ensemble de signes). Elle englobe deux spcialits : la cryptographie et la cryptanalyse.
La cryptographie a trait au chiffrement des messages : comment crer un texte chiffr (cryptogramme) ?
La cryptographie cl secrte (ou cryptographie symtrique) utilisera la mme cl pour le chiffrement et le
dchiffrement.
Donnes
en clair
Cl Secrte
Cl Secrte
Algorithme
symtrique
Algorithme
symtrique
Donnes
chiffres
Donnes
chiffres
Donnes
en clair
Cryptographie
La cryptologie est la science (autrefois un art) qui traite du chiffrement des informations symbolises par des
messages (ensemble de signes). Elle englobe deux spcialits : la cryptographie et la cryptanalyse.
La cryptographie a trait au chiffrement des messages : comment crer un texte chiffr (cryptogramme) ?
La cryptographie cl publique (ou cryptographie asymtrique) utilisera deux cls : une cl publique pour le
chiffrement et une cl secrte pour le dchiffrement.
Cl Publique
Cl Publique
Algorithme
asymtrique
Donnes
en clair
Cl Prive
Algorithme
asymtrique
Donnes
chiffres
Donnes
chiffres
Donnes
en clair
Cryptosystme
Un cryptosystme permet de dfinir la plupart des protocoles dchange de messages.
Il se dfinit par un quintuplet =(M,C,K,E,D) o :
- M est lensemble des textes clairs possibles,
- C est lensemble des textes chiffrs possibles,
- K est lensemble des cls possibles,
- E est lensemble des fonctions de chiffrement possibles ek : M C
- D est lensemble des fonctions de dchiffrement possibles dk : C M
- mM, kK, ekE, dkD, dk(ek (m)) = m.
Canal sr
Cl Secrte
k
m
Algorithme
symtrique
Algorithme
symtrique
ek(m)
Donnes
en clair
Donnes
chiffres
Cl Secrte
ek(m)
ek(m)
Donnes
chiffres
Protocole
1. Alice a comme entre le texte clair m
2. Alice et Bob conviennent de
3. Ils font en sorte de possder resp. 2
fonctions ek et dk pour une mme cl k
4. Alice calcule c = ek(m) et lenvoie Bob
(lattaquant potentiel Oscar a accs ek(m)
et connat )
5. Bob calcule dk(c), soit m.
dk(ek(m))=m
Donnes
en clair
Oscar
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Cryptanalyse
La cryptanalyse sintresse au dchiffrement des messages partir du cryptogramme uniquement (sans cl) : estce quune attaque peut permettre de dchiffrer un message, et ainsi mettre mal la scurit de lalgorithme de
chiffrement ?
On dtermine une attaque par les donnes que lon dispose ou que lon peut gnrer :
Attaque texte chiffr seul : retrouver le message clair (ou la cl)
Attaque texte clair connu : retrouver la cl en analysant messages chiffrs disponibles et messages clairs correspondants
Attaque texte clair choisi : possibilit de choisir des textes clairs et de gnrer leurs quivalents chiffrs
Attaque texte chiffr choisi : possibilit de choisir des textes chiffrs et de gnrer leurs quivalents clairs
Cryptosystmes alphabtiques
Soit A lalphabet latin compos des 26 lettres A, B, , Z. Considrons lensemble A en bijection avec lintervalle
dentiers [0,25] et muni des oprateurs darithmtique modulaire lmentaires (addition et multiplication), i.e. A = Z/26Z.
A
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(0 + 4) mod 26 = 4,
(14 + 14) mod 26 = 2
(10 20) mod 26 = 16
(3 7) mod 26 = 21
A + E = E
O + O = C
K U = Q
D H = V
Chiffrement affine
Chiffrement affine
Gnralisation du chiffrement par dcalage.
Une cl est un couple (k1,k2) o k1 est premier avec 26 et k2 [0,25].
Toute lettre mi est chiffre par la lettre ci = k1 mi + k2 (fonction inversible : (k1)-1 (ci - k2 ) = mi ).
Cryptanalyse : |K| = 364, une attaque exhaustive est toujours possible.
Thorme de Bachet-Bzout : a,b Z, u,v tels que u a + v b = PGCD(a,b).
Thorme de Bzout : Soient a,b Z*. a et b sont premiers entre eux si et seulement si u,y tels que u a + v b = 1.
Dans Z/nZ, tous les nombres premiers avec n possdent un inverse multiplicatif (et uniquement ceux-ci) :
Soit a Z/nZ premier avec n, alors a-1 Z/nZ est le nombre u tel que u a + v n = 1.
Calculer a-1 dans Z/nZ revient calculer les coefficients de Bzout du couple (a,n), ce que permet lalgorithme
dEuclide tendu.
Exemple : calcul de linverse de 15 dans Z/26Z
26 = 1 15 + 11
15 = 1 11 + 4
11 = 2 4 + 3
4=13+1
26 = 1 15 + 11
15 = 1 11 + 4
11 = 2 4 + 3
4=13+1
(4)
(+3)
(1)
(4) 26 + (+7) 15 = 1
15 1 = 7
17 1 = 23
19 1 = 11
21 1 = 5
23 1 = 17
25 1 = 25
S 0.063
H 0.061
R 0.060
G 0.020
Q 0.001
Y 0.020
Z 0.001
P 0.019
20
16
15
13
11
11
10
10
4 : DZ MD MR ZW
3 : CD CH FM IF NM NZ ZU
2 : CF DI EJ EY FQ FZ HZ JM JN JX MX NC QF RN RW RZ SM UC UM VE WD WN XC XZ YF YI YV ZC ZD ZJ ZR ZV
1 : BT CE CJ CM CR CS CV CW DD DH DJ DM DR DU DY EC EF EX FC FE FW FY GC HN HS IE IR JB JC JJ JY JZ
KC ME MF MJ MQ MY MZ ND PC QC QZ RE RJ RT SZ TN TX UN VM VY VZ WG WI WJ WQ XJ XY YR YS YU YY ZK ZN ZP
S 0.063
H 0.061
R 0.060
G 0.020
Q 0.001
Y 0.020
Z 0.001
P 0.019
20
16
15
13
11
11
10
10
4 : DZ MD MR ZW
3 : CD CH FM IF NM NZ ZU
2 : CF DI EJ EY FQ FZ HZ JM JN JX MX NC QF RN RW RZ SM UC UM VE WD WN XC XZ YF YI YV ZC ZD ZJ ZR ZV
1 : BT CE CJ CM CR CS CV CW DD DH DJ DM DR DU DY EC EF EX FC FE FW FY GC HN HS IE IR JB JC JJ JY JZ KC ME MF MJ
MQ MY MZ ND PC QC QZ RE RJ RT SZ TN TX UN VM VY VZ WG WI WJ WQ XJ XY YR YS YU YY ZK ZN ZP
On en dduit :
(Z) = E (caractres de plus hautes frquence : 20/168 = 0,119)
(D) {R,S,T} par tude des digrammes anglais E et E (Z et Z dans le texte chiffr)
(W) {D,N,A} : ZW apparat 4 fois et WZ 0 fois
(N) = H
-1(T) {J,W} donc (J) = T et (D) {R,S}
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Exemple tir de
Cryptography: theory and practice (Douglas Robert Stinson)
------END-----A---E-A--NEDH--E------A----H-------EA---E-A---A---NHAD-A-EN--A-E-H--E
HE-A-H------N------ED---E---E--NEANDHE-E--ED-A---NH---HA---A-E----ED-----A-D--HE--N
OURFRIENDFROMPARISEXAMINEDHISEMPTYGLASSWIT
HSURPRISEASIFEVAPORATIONHADTAKENPLACEWHILE
HEWASNTLOOKINGIPOUREDSOMEMOREWINEANDHESETT
LEDBACKINHISCHAIRFACETILTEDUPTOWARDSTHESUN
Our friend from Paris examined his empty glass with surprise, as if evaporation had taken place while he wasnt looking. I poured some more wine
and he settled back in his chair, face tilted up towards the sun.
Chiffrement de Vigenre
Chiffrement de Vigenre
Dchiffrer chaque caractre selon la place quil occupe dans le texte en clair.
La cl k est un mot (chiffrement polyalphabtique : le texte clair est dcoup en blocs de taille |k|), donc M=C=K
ci = mi + k(1 + (i-1) mod |k|) et mi = ci - k(1 + (i-1) mod |k|)
Exemple
MAYTHEFORCEBEWITHYOU
+ STARWARSSTARWARSSTAR
ETYKDEWGJVESAWZLZROL
ETYKDEWGJVESAWZLZROL
- STARWARSSTARWARSSTAR
MAYTHEFORCEBEWITHYOU
Cryptanalyse
Utilise lindice de concidence dun couple de mots (w,w) :
I ( w, w ) =
25
i= 0
f i f i
w . w
i pi
0.065)
Chiffrement de Vigenre
Droulement dune attaque sur un chiffrement de Vigenre
But : trouver la cl k partir du mot chiffr c
1. Calculer la longueur de la cl k
2. Calculer les dcalages des |k| mots extraits
On note c(i,j) le mot extrait de c compos des lettres dindice x tel que x mod i = j mod i.
Exemple : calcul de c(5,3) avec c=ETYKDEWGJVESAWZLZROL.
ETYKD EWGJV ESAWZ LZROL
c(5,3) = YGAR
Chiffrement de Vigenre
Exemple dattaque texte chiffr seul
On cherche dchiffrer le texte suivant :
CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWQIMMQMNKGRFVGXWTRZXWIAXLX
FPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWE
LEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEV
KAKOEWADREMXMTBHHCHRTKDNVRICHRCLQOHPWQAIIWXNRMGWOIIFKEE
Hypothse 1 : chiffrement de Vigenre.
Hypothse 2 : message clair en langue anglaise.
tape 1 : calculer la longueur de la cl
calculer les mots extraits c(i,j)
j [1,i], calculer I ( c(i,j) , c(i,j) )
si j [1,i], I ( c(i,j) , c(i,j) ) 0.065 alors i est trs probablement la longueur de la cl k.
tape 2 : calculer la cl
Calculer les indices I ( c(|k|,i) , c(|k|,j) , d), {i,j}, i,j [1,|k|] et d [0,25]
si I ( c(|k|,i) , c(|k|,j) , d) 0.065 et d [0,25] \ {d}, I ( c(|k|,i) , c(|k|,j) , d) / 0.065, alors d = kj kj
Le systme dquations rsultant permet dexprimer tous les dcalages en fonction dun seul.
Lattaque revient alors une attaque sur un chiffrement par dcalage simple. La recherche du caractre de plus
grande frquence permet de calculer le dcalage et de retrouver la cl.
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Chiffrement de Vigenre
tape 1 : calculer la longueur de la cl
calculer les mots extraits c(i,j)
j [1,i], calculer I ( c(i,j) , c(i,j) )
si j [1,i], I ( c(i,j) , c(i,j) ) 0.065 alors i est trs probablement la longueur de la cl k.
c(1,1) est le mot lui-mme :
CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWQIMMQMNKGRFVGXWTRZXWIAXLX
FPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWE
LEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEV
KAKOEWADREMXMTBHHCHRTKDNVRICHRCLQOHPWQAIIWXNRMGWOIIFKEE
I ( c(1,1) , c(1,1) ) = 0.045
j=1
i=1
0.045
Chiffrement de Vigenre
tape 1 : calculer la longueur de la cl
calculer les mots extraits c(i,j)
j [1,i], calculer I ( c(i,j) , c(i,j) )
si j [1,i], I ( c(i,j) , c(i,j) ) 0.065 alors i est trs probablement la longueur de la cl k.
c(2,1) :
C R E O H A R T I X W N B E P B B M E E B R X O K A S X E H W I M M K R V X T Z W A L
P K U E N C G S M B U A N M P R L N E X R P T L D Q T D Y B H T A J A V F N L C R B E
L K S I N H R G M J G X E P A N B E J A R L R E N G X R M N N W H Q A Y V A E B P E E
A O W D E X T H C R K N R C R L O P Q I W N M W I F E
I ( c(2,1) , c(2,1) ) = 0.046
j=1
i=1
i=2
j=2
0.045
0.046
Chiffrement de Vigenre
tape 1 : calculer la longueur de la cl
calculer les mots extraits c(i,j)
j [1,i], calculer I ( c(i,j) , c(i,j) )
si j [1,i], I ( c(i,j) , c(i,j) ) 0.065 alors i est trs probablement la longueur de la cl k.
c(2,2) :
H E V A M E A B A X T X E O H S Q Q Q R W V U A X O X W A B Q M Q N G F G W R X I X X
F S A T M D M T X X T I D G G S E X J L V V R U H N W W T G P X F L H S B X G L H Z W
E M J K B W J N G S L F Y H G R I Q T M V C R M D L R I G S R C R H E E T Q B I E W V
K K E A R M M B H H T D V I H C Q H W A I X R G O I K E
I ( c(2,2) , c(2,2) ) = 0.041
j=1
i=1
i=2
j=2
0.045
0.046 0.041
Chiffrement de Vigenre
tape 1 : calculer la longueur de la cl
calculer les mots extraits c(i,j)
j [1,i], calculer I ( c(i,j) , c(i,j) )
si j [1,i], I ( c(i,j) , c(i,j) ) 0.065 alors i est trs probablement la longueur de la cl k.
c(3,1) :
C E O M R B X T B O B Q E R R U K O X A W M M G V W Z I L
P A E D G X B I N G R X E V P U D W D G H F J S F G C Z E
K J N W G G G F P G B Q A V R M G R M S W R A E A B P W
K O A E M H H K V C C O W I X M O F E
I ( c(3,1) , c(3,1) ) = 0.043
j=1
i=1
i=2
i=3
j=2
j=3
0.045
0.046 0.041
0.043
Chiffrement de Vigenre
tape 1 : calculer la longueur de la cl
calculer les mots extraits c(i,j)
j [1,i], calculer I ( c(i,j) , c(i,j) )
si j [1,i], I ( c(i,j) , c(i,j) ) 0.065 alors i est trs probablement la longueur de la cl k.
c(5,5) = EMTXBHMRXXXBMGXXLKMGXAGLLPHTGTHFLBKKRGXHBTLMXGWHVBEAAXHKILWWGF
E
M
T
X
B
H
M
R
X
X
X
B
M
G
K
M
G
X
A
G
L
L
P
H
T
G
T
H
K
K
R
G
X
H
B
T
L
M
X
G
W
H
A
A
X
H
K
I
L
W
W
G
F
I ( c(5,5) , c(5,5) ) = 0.072
j=1
i=1
i=2
i=3
i=4
i=5
0.045
0.046
0.043
0.042
0.063
j=2
j=3
j=4
j=5
0.041
0.050 0.047 0.047
0.039 0.046 0.040
0.068 0.069 0.061 0.072
|k|=5
F
V
L
B
B
E
Chiffrement de Vigenre
tape 2 : calculer la cl
Calculer les indices I ( c(|k|,i) , c(|k|,j) , d), {i,j}, i,j [1,|k|] et d [0,25]
si I ( c(|k|,i) , c(|k|,j) , d) 0.065 et d [0,25] \ {d}, I ( c(|k|,i) , c(|k|,j) , d) / 0.065, alors d = kj kj
Le systme dquations rsultant permet dexprimer tous les dcalages en fonction dun seul.
Lattaque revient alors une attaque sur un chiffrement par dcalage simple. La recherche du caractre de plus
grande frquence permet de calculer le dcalage et de retrouver la cl.
Chiffrement de Vigenre
tape 2 : calculer la cl
Calculer les indices I ( c(|k|,i) , c(|k|,j) , d), {i,j}, i,j [1,|k|] et d [0,25]
si I ( c(|k|,i) , c(|k|,j) , d) 0.065 et d [0,25] \ {d}, I ( c(|k|,i) , c(|k|,j) , d)
/ 0.065, alors d = kj kj
Le systme dquations rsultant permet dexprimer tous les dcalages en fonction dun seul.
Lattaque revient alors une attaque sur un chiffrement par dcalage simple. La recherche du caractre de plus
grande frquence permet de calculer le dcalage et de retrouver la cl.
k1 k2 = 9
k1 k5 = 16
k2 k3 = 13
k2 k5 = 7
k3 k5 = 20
k4 k5 = 11
Chiffrement de Vigenre
tape 2 : calculer la cl
Calculer les indices I ( c(|k|,i) , c(|k|,j) , d), {i,j}, i,j [1,|k|] et d [0,25]
si I ( c(|k|,i) , c(|k|,j) , d) 0.065 et d [0,25] \ {d}, I ( c(|k|,i) , c(|k|,j) , d) / 0.065, alors d = kj kj
Le systme dquations rsultant permet dexprimer tous les dcalages en fonction dun seul.
Lattaque revient alors une attaque sur un chiffrement par dcalage simple. La recherche du caractre de plus
grande frquence permet de calculer le dcalage et de retrouver la cl.
k1 k2 = 9
k1 k5 = 16
k2 k3 = 13
k2 k5 = 7
k3 k5 = 20
k4 k5 = 11
k2 = k1 + 17
k3 = k1 + 4
k4 = k1 5
k5 = k1 16
k2 = k1 + 17
k3 = k1 + 4
k4 = k1 + 21
k5 = k1 + 10
k = ( k1 , k1 + 17 , k1 + 4, k1 + 21, k1 + 10 )
Chiffrement de Vigenre
tape 2 : calculer la cl
Calculer les indices I ( c(|k|,i) , c(|k|,j) , d), {i,j}, i,j [1,|k|] et d [0,25]
si I ( c(|k|,i) , c(|k|,j) , d) 0.065 et d [0,25] \ {d}, I ( c(|k|,i) , c(|k|,j) , d) / 0.065, alors d = kj kj
Le systme dquations rsultant permet dexprimer tous les dcalages en fonction dun seul.
Lattaque revient alors une attaque sur un chiffrement par dcalage simple. La recherche du caractre
de plus grande frquence permet de calculer le dcalage et de retrouver la cl.
k1 k2 = 9
k1 k5 = 16
k2 k3 = 13
k2 k5 = 7
k3 k5 = 20
k4 k5 = 11
k2 = k1 + 17
k3 = k1 + 4
k4 = k1 5
k5 = k1 16
k2 = k1 + 17
k3 = k1 + 4
k4 = k1 + 21
k5 = k1 + 10
k = ( k1 , k1 + 17 , k1 + 4, k1 + 21, k1 + 10 )
On recherche maintenant le caractre de plus grande frquence (chiffrant E) dans lensemble des textes :
c(5,1), c(5,1)+9, c(5,1)+22, c(5,1)+5 et c(5,1)+16.
La recherche retourne N, donc k1 = N E = J.
k2 = J + 17
k3 = J + 4
k4 = J + 21
k5 = J + 10
k = ( J, A , N , E , T )
Chiffrement de Vigenre
On peut alors retrouver le texte clair initial :
CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWQIMMQMNKGRFVGXWTRZXWIAXLX
FPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWE
LEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEV
KAKOEWADREMXMTBHHCHRTKDNVRICHRCLQOHPWQAIIWXNRMGWOIIFKEE
JANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJ
ANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJA
NETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJAN
ETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANE
TJANETJANETJANETJANETJANETJANETJANETJANETJANETJANETJANE
THEALMONDTREEWASINTENTATIVEBLOSSOMTHEDAYSWERELONGEROFTENENDINGWITHMAGNIFICENTEVENINGSO
FCORRUGATEDPINKSKIESTHEHUNTINGSEASONWASOVERWITHHOUNDSANDGUNSPUTAWAYFORSIXMONTHSTHEVINE
YARDSWEREBUSYAGAINASTHEWELLORGANIZEDFARMERSTREATEDTHEIRVINESANDTHEMORELACKADAISICALNEI
GHBORSHURRIEDTODOTHEPRUNINGTHEYSHOULDHAVEDONEINNOVEMBER
The almond tree was in tentative blossom. The days were longer, often ending with magnificent evenings of corrugated pink skies. The hunting
season was over, with hounds and guns put away for six months. The vineyards were busy again as the well-organized farmers treated their
vines and the more lackadaisical neighbors hurried to do the pruning they should have done in November.
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Dictionnaire de codes
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Chiffrement rtroaction
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
Image originale
Chiffrement en ECB
Chiffrement en CBC
Chiffrement de Vernam
Scurit inconditionnelle : la connaissance du message chiffr napporte aucune information sur le message clair.
Dans un cryptosystme inconditionnellement sr, tout message chiffr doit pouvoir tre le chiffrement de tout
message clair. Tous les cryptosystmes bass sur la rptition de la cls ne sont pas inconditionnellement srs.
Le chiffrement de Vernam (ou masque jetable) est le seul qui possde un degr de scurit absolu. Il possde
dimportantes difficults de mise en uvre bien quil soit extrmement simple par dfinition.
Le chiffrement de Vernam consiste additionner (oprateur XOR : ) au message clair m une cl k telle que :
|k| |m|
k soit gnre alatoirement et spcifiquement.
Mme une attaque exhaustive sur lensemble des cls ne pourra donner dinformation sur le contenu du message
clair.
Les difficults de mise en uvre sont les suivantes :
pour que le systme soit inconditionnellement sr, la cl ne doit jamais pouvoir tre intercepte (donc vhiculer
dans une valise diplomatique)
la mme cl ne doit pas tre utilise pour chiffrer deux messages
si c1 = m1 k et c2 = m2 k, alors c1 c2 = m1 m2
la cl doit thoriquement tre gnre de manire purement alatoire (impossible)
Cryptographie cl publique
La cryptographie cl publique (invente en 1976 par Diffie et Hellman) permet le partage dinformation chiffre
via des voies non ncessairement scurises. Ce schma permet de remdier au principal inconvnient des
chiffrements cl prive.
Cl Publique
Cl Publique
Algorithme
asymtrique
Donnes
en clair
Cl Prive
Algorithme
asymtrique
Donnes
chiffres
Donnes
chiffres
Donnes
en clair
Mettre en pratique ce schma ncessite dutilier une fonction de chiffrement sens unique brche secrte.
Une fonction sens unique est une fonction f : A B telle que le calcul de f est dit facile et le calcul de f-1 difficile.
Une fonction sens unique f admet pour brche secrte une information k le calcul de f-1 sachant k est facile.
Cours Scurit Cryptologie M2 CDSII adrien.goeffon@univ-angers.fr
RSA
Le systme RSA, invent en 1977 par Rivest, Shamir et Adleman (suite leurs travaux entams pour montrer la
vulnrabilit du protocole de Diffie-Hellman, et de tout cryptosystme cl publique par extension), utilise
larithmtique modulaire (exponentiation modulaire) pour produire des fonctions sens unique brche secrte.
RSA est bas sur :
la simplicit de multiplier des grands nombres (plus de 100 chiffres)
limpossibilit actuelle de factoriser dans le cas gnral des nombres de plus de 200 chiffres
la dcomposition des nombres en facteurs premiers est NP-complet
Thorme (RSA) :
Soient p et q deux nombres premiers. On pose n = p q.
Si e est un entier premier avec (p 1) (q 1), alors il existe un entier d positif,
tel que z d = 1 mod (p 1) (q 1), et, pour cet entier d et un entier a quelconque : aed = a mod n.
RSA
Avant le chiffrement :
Choisir deux grands nombres premiers distincts, p et q
Calculer le module de chiffrement n = p q, et son indicatrice dEuler z = (n) = (p 1) (q 1)
Choisir un nombre e (exposant de chiffrement) tel que e et z soient premiers entre eux
Trouver d (exposant de dchiffrement) tel que e d = 1 mod z (d peut tre choisi et e dduit).
Chiffrement dun message M (considr comme une chaine de bits) :
Dcomposer M en blocs (sous-messages) m tels que m < n
Dcomposition en messages de k bits avec k le plus grand entier tel que 2k < n
RSA
Avant le chiffrement :
Choisir deux grands nombres premiers distincts, p et q
Calculer le module de chiffrement n = p q, et son indicatrice dEuler z = (n) = (p 1) (q 1)
Choisir un nombre e (exposant de chiffrement) tel que e et z soient premiers entre eux
Trouver d (exposant de dchiffrement) tel que e d = 1 mod z (d peut tre choisi et e dduit).
Chiffrement dun message M (considr comme une chaine de bits) :
Dcomposer M en blocs (sous-messages) m tels que m < n
Dcomposition en messages de k bits avec k le plus grand entier tel que 2k < n
Exemple
p = 3, q = 11
n = 33, z = 20
d = 7, e = 3
M = ZORRO = (25,14,17,17,14)
Calcul des me = m3 : (15625,2744,4913,4913,2744)
Calcul des c = m3 mod 33 (16,5,29,29,5)
C = (16,5,29,29,5)
cd = c7 : (268435456,78125,17249876309,17249876309,78125)
Calcul des m = c7 mod 33 (25,14,17,17,14) = ZORRO
quivalent un chiffrement monoalphabtique car 33 = 1 26 + r (en pratique, un bloc contient 1024 bits soit 128 caractres)