Upload
builiem
View
228
Download
1
Embed Size (px)
Citation preview
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
CHAPITRE 1.
INTRODUCTION A LACRYPTOGRAPHIE
Cruptos (χρυπτoσ) : cache, dissimule
Graphein (γραφειν) : ecrire
http://math.univ-lyon1.fr/~roblot/masterpro.html
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Notions de base
Notions de base
Les quatre buts de la cryptographie
Confidentialite : mecanisme pour transmettre des donnees de telle sorteque seul le destinataire autorise puisse les lire.
Integrite : mecanisme pour s’assurer que les donnees recues n’ont pasete modifiees durant la transmission.
Authentification : mecanisme pour permettre d’identifier des personnesou des entites et de certifier cette identite.
Non-repudiation : mecanisme pour enregistrer un acte ou unengagement d’une personne ou d’une entite de telle sorte que celle-ci nepuisse pas nier avoir accompli cet acte ou pris cet engagement.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Notions de base
Terminologie
Alphabet A : ensemble fini de symboles utilises pour ecrire les messages.
Message clair m : chaıne de caracteres composee de lettres del’alphabet A et dont on veut en general conserver la confidentialite. Onnote M l’ensemble de tous les messages clairs possibles.
Message crypte c : chaıne de caracteres composee de lettres del’alphabet A, correspondant a un message clair, et dont la diffusion a desentites non autorisees ne doit pas devoiler pas d’information sur cemessage clair. On note C l’ensemble de tous les messages cryptes.
Cryptage : transformation d’un message clair en un message crypte.
Decryptage : transformation inverse du cryptage qui permet deretrouver a partir d’un message crypte, le message clair correspondant.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Notions de base
Terminologie
Signature s : chaıne de caracteres associees a un message donne (etaussi possiblement a une entite) et le caracterisant.
Transformation Tk : fonction qui associe a un message clair ou crypte,une autre donnee qui peut etre un message clair, crypte ou une signature.En general, ce sont des fonctions qui dependent de cles.
Cle k : donnee supplementaire permettant de construire les fonctions decryptage et de decryptage. Sans connaissance de la cle de decryptage, ledecryptage doit etre impossible. On note K l’ensemble de toutes les cles.
Protocole : description de l’ensemble des donnees necessaires pourmettre en place le mecanisme de cryptographie : ensemble des messagesclairs, des messages cryptes, des cles possibles, des transformations...
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Notions de base
Fonctions cryptographiques
Notations. Pour une fonction f : X → Y . on note Im(f) l’image de fet f−1 la fonction reciproque (si f est bijective).
Probleme de l’inversion. Pour une fonction f : X → Y et poury ∈ Im(f) ⊂ Y . Le probleme de l’inversion est de trouver x ∈ X tel quef(x) = y.
Fonction a sens unique. C’est une fonction f : X → Y telle que, pourpresque tout element y ∈ Im(f), le probleme de l’inversion est impossiblea resoudre. On veut aussi que f(x) soit facile a calculer pour tout x ∈ X.
Fonction a sens unique a trappe. C’est une fonction f : X → Y asens unique et telle que la connaissance d’une donnee supplementaire, latrappe ou cle, permet de resoudre facilement le probleme de l’inversion.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Confidentialite
Confidentialite
Eve
↓
?
Alice c−→ Bob
mCkA→ c c
DlA→ m
Protocole.
M ensemble des messages clairs
C ensemble des messages cryptes
K ensemble des cles
Ck :M→ C fonction de cryptage
Dl : C → A fonction de decryptage
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Exemples historiques de protocoles de cryptographie
1 La scytale
2 Le cryptogramme de Cesar
3 La permutation de lettres
4 Le chiffrement de Vigenere
5 Le chiffrement de Hill
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Scytale
Message crypte
KTMIOILMDLONKRIIRGNOHGWT
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Cryptogramme de Cesar
A→ E B → F C → G D → H E → I F → J G→ K
H → L I →M J → N K → O L→ P M → Q N → R
O → S P → T Q→ U R→ V S →W T → X U → Y
V → Z W → A X → B Y → C Z → D
Exemple
ATTAQUE AU MATIN −→ EXXEUYI EY QEXMR
Cle : entier entre 1 et 26
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Permutations de lettres
A→ D B → R C → K D → X E → V F → H G→ L
H → N I → S J → O K → P L→ Q M →W N → I
O → T P → J Q→ E R→ U S → Z T → A U → C
V → F W → B X → Y Y → G Z →M
Exemple
ATTAQUE AU MATIN −→ DAADECV DC WDASI
Cle : permutations sur 26 lettres
Nombre de cles : 26! = 403291461126605635584000000 ' 288
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Cryptanalyse de la permutation de lettres
Message a decrypter
CEGCL AM NMGAL LJC ZWIWJLL LH CYEWJ RMYCWLJ ZEHCGHL LJC UMQWCLL RMY ALJ QLANLJ A MGCYL RMY ALJ MVGWCMWHJAM CYEWJWLPL RMY SLGF VGW ZMHJ ALGY AMHNGL JL HEPPLHC
SLACLJ LC ZMHJ AM HECYL NMGAEWJ
On attaque en utilisant les frequences d’apparition des lettres en francais.
E A S I N T R L
17,3% 8,4% 8,1% 7,4% 7,1% 7,0% 6,6% 6,0%
L M C J A W H G
27 16 15 15 12 11 10 10
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Essai de decodage : (L, M) → (E, A)
CEGCE AA NAGAE EJC ZWIWJEE EH CYEWJ RAYCWEJ ZEHC GHE EJCUAQWCEE RAY AEJ QEANEJ A AGCYE RAY AEJ AVGWCAWHJ AA
CYEWJWEPE RAY SEGF VGW ZAHJ AEGY AAHNGE JE HEPPEHC SEACEJEC ZAHJ AA HECYE NAGAEWJ
Essai de decodage : (L, M) → (E, A)
CEGCE AA NAGAE EJC ZWIWJEE EH CYEWJ RAYCWEJ ZEHC GHE EJCUAQWCEE RAY AEJ QEANEJ A AGCYE RAY AEJ AVGWCAWHJ AA
CYEWJWEPE RAY SEGF VGW ZAHJ AEGY AAHNGE JE HEPPEHC SEACEJEC ZAHJ AA HECYE NAGAEWJ
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Essai de decodage : (L, M, A) → (E, A, L)
CEGCE LA NAGLE EJC ZWIWJEE EH CYEWJ RAYCWEJ ZEHC GHE EJCUAQWCEE RAY LEJ QELNEJ L AGCYE RAY LEJ AVGWCAWHJ LA
CYEWJWEPE RAY SEGF VGW ZAHJ LEGY LAHNGE JE HEPPEHC SELCEJEC ZAHJ LA HECYE NAGLEWJ
Essai de decodage : (L, M, A, J) → (E, A, L, S)
CEGCE LA NAGLE ESC ZWIWSEE EH CYEWS RAYCWES ZEHC GHE ESCUAQWCEE RAY LES QELNES L AGCYE RAY LES AVGWCAWHS LA
CYEWSWEPE RAY SEGF VGW ZAHS LEGY LAHNGE SE HEPPEHC SELCESEC ZAHS LA HECYE NAGLEWS
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Essai de decodage : (L, M, A, J, C) → (E, A, L, S, T)
TEGTE LA NAGLE EST ZWIWSEE EH TYEWS RAYTWES ZEHTGHE ESTUAQWTEE RAY LES QELNES L AGTYE RAY LES AVGWTAWHS LA
TYEWSWEPE RAY SEGF VGW ZAHS LEGY LAHNGE SE HEPPEHT SELTESET ZAHS LA HETYE NAGLEWS
E A S I N T R L
17,3% 8,4% 8,1% 7,4% 7,1% 7,0% 6,6% 6,0%
L M C J A W H G
27 16 15 15 12 11 10 10
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Essai de decodage : (L, M, A, J, C, W, H) → (E, A, L, S, T, I, N)
TEGTE LA NAGLE EST ZIIISEE EN TYEIS RAYTIES ZENT GNE ESTUAQITEE RAY LES QELNES L AGTYE RAY LES AVGITAINS LA
TYEISIEPE RAY SEGF VGI ZANS LEGY LANNGE SE NEPPENT SELTESET ZANS LA NETYE NAGLEIS
· · · · · ·http://math.univ-lyon1.fr/~roblot/masterpro.html
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Chiffrement de Vigenere
Correspondance lettre ↔ nombre. A = 0, B = 1, . . . , Z = 25
Addition sur les lettres. J + W = F (9 + 22 mod 26 = 5)
Exemple
NOUS ATTAQUERONS AU MATIN PAR LE NORD
VIGE NEREVIGENER EV IGENE REV IG ENER
KYCY PZMGNEMXDTL GR WIZXT IGO VM TDXW
Cle : mot de l lettres (l fixe)
Nombre de cles : 26l (Note : 2619 ' 26!)
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Cryptanalyse du chiffrement de Vigenere(Friedman-Babbage-Kasiski)
Indice de coıncidence.Probabilite que 2 lettres prises au hasard dans un texte soient egales
IC =1n2
Z∑l=A
n2l
Frequence et IC. Notons pl la frequence de la lettre l = A, . . . , Z.Alors, on a
IC =Z∑
l=A
p2l
Il suit que l’IC d’un texte (suffisamment long) en francais est 0.078.
Exercice. Demontrer les diverses formules de l’IC. Puis, calculer le ICd’un texte totalement aleatoire.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Exercice sur les proprietes de l’indice de coıncidence
On travaille avec l’alphabet A = {A,B,C}. On suppose que ces lettresapparaissent dans un texte avec les probabilites suivantes
A = 68%, B = 18%, C = 14%
1 Calculer l’indice de coıncidence du texte.
2 On applique la transformation (A, B, C) → (B, C, A) au texte.Calculer l’indice de coıncidence du texte obtenu.
3 On applique la transformation (A, B, C) → (B, C, C) au texte.Calculer l’indice de coıncidence du texte obtenu.
4 Soit k ≥ 2. On considere le texte obtenu en selectionnant une lettresur k. Estimer son indice de coıncidence ?
5 On applique un chiffrement de Vigenere de longueur k au texte, puison selectionne une lettre sur k dans le texte chiffre. Calculer l’indicede coıncidence du nouveau texte.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Message a decrypterKIIFSIRV A E NEEF HJYKR SPFCVI GI KRVMMSYI XSLC HZ ZVAX YI EBVY IJG UPM JR
HZGYNMIE RH QDPZRY YI C RUPMEBBZ HV PIOXV NRIIV RX KIEQEIX CRUPIC YI WEIBQZXIRXJQSN E NIGG GZRK QMS QZYPDQVGVZW TR JPX LA SPVRTEI WRAW DRKRVHMKGIIGV DYD HLEE YY
UVB CYZG EP ZZAKO GZAU HEIF PZW INZVKVF UP MC CVJHLVWDX WHVZRK VQHIEFIN IENQZVZDYZ IE RYMSGR II EJVI NYI HRZ DFAI GEITI YI UVB CYZG GZRKF QDPCRW LYZ FI
YIJFMIEZG SWPZDYZQVAX V P VDYVXVHV YIGHMN PV GVZRKR GDRHHMZQV CEMECYIGI EBVY NLFUPEL DYVVRAXDIDR TVVRYPZPV FYY
IC des sous-sequences :
Intervalle 1 : KIIFSIRVAENEEFHJYKRSPFCVIGI... 0,05257
Intervalle 2 : KISRANEHYRPCI.. IFIVEEFJKSFV... 0,05184
Intervalle 3 : KFREEJRFI... ISVNFYSCG... IIAEHKPVI... 0,05245
Intervalle 4 : KSAEYPI... IIEFKFG... IRNHRCI... FVEJSVK... 0,05053
Intervalle 5 : KINJ... IREY... IVEK... FAFR... SEHS... 0,07981
⇒ Cle C1C2C3C4C5 de longueur 5
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Message extrait 1 : 1 lettre sur 5
KINJPGMXZYYPZIDYPZOIKIPWZJNZSDZPPIDHIDYCPOHZVPJDZHNZZMIN-ZGYCZDLYIWZVVYNZDZMGYPVDVZY
Premiere lettre : 16 Z (19, 3%) donc C1 = Z - E = V
Message extrait 2 : 1 lettre sur 5
IREYFIMSZIIMGEPIMHXIIXIEXQIRQQWXVWRMGHYYZGEWKMHXRIIVISEY-DEIYRPYIEPQPXIPRRQEINEVIVP
Deuxieme lettre : 17 I (20, 7%) donc C2 = I - E = E
· · · · · ·http://math.univ-lyon1.fr/~roblot/masterpro.html
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Theoreme
Le protocole de chiffrement de Vigenere avec une cle delongueur egale ou superieure a la longueur du message, etutilisee une et une seule fois, est totalement sur.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Chiffrement de Hill
Correspondance lettre ↔ nombre. A = 0, B = 1, . . . , Z = 25
Action des matrices. Un matrice 2× 2 agit sur les vecteurs de longueur2 de la maniere suivante
(x, y)
(a b
c d
)= (ax+ cy, bx+ dy)
En reduisant les nombres modulo 26, on en deduit une action sur les
couples de lettres, par exemple pour la matrice M =
(3 215 8
)
RE→ (17, 4) ×M−→ (71, 389) mod 26−→ (19, 25)→ TZ
Exercice. A quelles conditions existe-t-il une matrice N permettant derenverser la transformation ? Calculer cette matrice pour l’exempleci-dessus.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Exemple
Cle : M =
3 21
5 8
!inversible
Message : RENDEZ VOUS CE SOIR
RE ND EZ VO US CE SO IR
(17, 4) (13, 3) (4, 25) (21, 14) (20, 18) (2, 4) (18, 14) (8, 17)
×M ×M ×M ×M ×M ×M ×M ×M
(19, 25) (2, 11) (7, 24) (3, 7) (20, 18) (0, 22) (20, 22) (5, 18)
TZ CL HY DH US AW UW FS
Nombre de cles : (22 − 1)(22 − 2)(132 − 1)(132 − 13) = 157 248
Generalisation. On peut utiliser des matrices de taille plus grande, pourdes matrices de taille 5, on obtient un nombre de cle de l’ordre de 2115.
Cas particulier. Le digramme AA correspond au vecteur (0, 0) et doncest toujours code sur lui-meme pour toute matrice M . Plusieursmethodes permettent de pallier a ce probleme.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Exemples historiques de protocoles de cryptographie
Cryptanalyse du chiffrement de Hill
Attaque par les digrammes. On considere les digrammes quiapparaissent le plus souvent
ES DE LE EN RE NT ON ER TE
3,3% 2,4% 2,3% 2,1% 1,9% 1,7% 1,6% 1,5% 1,5%
Attaque par texte clair connu. Si on connaıt une partie du texte clairet sa version cryptee, on peut en deduire des informations sur la cle, voirela cle entiere.
Attaque par information partielle. En particulier, si on peut devinerune partie du message clair, on peut en deduire des informations sur lacle.
Exercice. Sachant que la version cryptee du message clair CRYPTO est lemessage MPODXM, en deduire le maximum d’information sur la cle decryptage.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Protocoles de confidentialite
Protocoles de confidentialite
Choix des cles. Bob dispose d’un couple de cles (kB , lB) telles queDlB (CkB
(m)) = m pour tout m ∈M. kB est la cle de cryptage et lB lacle de decryptage.
Transmission d’un message.
1 Alice veut transmettre le message m a Bob
2 Elle calcule c = CkB(m) et transmet c a Bob
3 Bob retrouve le message clair a partir de c :DlB (c) = DlB (CkB
(m)) = m
Types de protocole : Si kB = lB , alors c’est un protocole a cle secrete(ou symetrique), et kB doit etre secrete (lB est toujours secrete). Sinon,kB peut etre rendue publique et c’est un protocole a cle publique.
Principe de Kerckhoff : la securite du protocole reposedans le secret des cles et non celui des algorithmes
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Protocoles de confidentialite
Protocoles a cle secrete et a cle publique
Eve
Generateur de cles
Cryptagec = Ck(m)
Source
Decryptagem = Dk(c)
Destination
k
k
m m
c
Alice Bob
canal surcanal non sur
Protocole a cle secrete
Eve
Generateur de cles
Cryptagec = CkB
(m)
Source
Decryptagem = DlB
(c)
Destination
kB
lB
m m
c
Alice Bob
canal surcanal non sur
Protocole a cle publique
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Quelques principes de base en cryptographie
Quelques principes de base en cryptographie
Performance. Un protocole sur vaut mieux qu’un protocole efficace.Exemple : attaque par chronometre sur les cartes a puce.
Simplicite. Un protocole ne doit jamais essayer de faire plus que ce qu’ilest sense faire. Exemple : extension des protocoles d’identification.
Le Maillon Faible. Un protocole n’est jamais aussi sur que sacomposante la plus faible. Exemple : le WiFi de l’universite Lyon 1.
Raisonnement paranoıaque. Un protocole avec une faiblesse, aussipetite qu’elle soit, est un protocole qui n’est plus sur. Exemple : leprotocole WEP
Modele de securite. Un protocole n’est jamais parfait. L’essentiel estd’obtenir le niveau de securite souhaite. Exemple : le WiFi de l’universiteLyon 1 ?
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Cryptanalyse
Cryptanalyse – Attaques classiques
L’attaquant connaıt les algorithmes de cryptage et decryptage.
Attaque a texte crypte uniquement : l’attaquant ne dispose que d’unou plusieurs messages cryptes qu’il souhaite decrypter. C’est le typed’attaque le plus difficile.
Attaque a texte clair connu : l’attaquant dispose d’exemples demessages clairs avec les messages cryptes correspondants, ou d’une partieclair d’un message crypte. Le but est d’obtenir de l’information sur la cle.
Attaque a texte clair choisi : l’attaquant peut obtenir la versioncryptee d’un certain nombre de messages clairs choisis, soit avantl’attaque (attaque hors ligne), soit au fur et a mesure (attaque en ligne).Le but est encore d’obtenir de l’information sur la cle.
Attaque a texte crypte choisi : l’attaquant peut obtenir la versioncryptee d’un certain nombre de messages clairs choisis, et aussi la versionclaire d’un certain nombre de messages cryptes choisis. On distingueencore entre attaques hors ligne et en ligne.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Cryptanalyse
Cryptanalyse – Autres types d’attaques
Attaque par le paradoxe des anniversaires : Il s’agit d’obtenir descollisions (utilisation deux fois d’une meme valeur) pour obtenir del’information. Si on utilise 2n valeurs possibles, on peut esperer lapremiere collision avec environ 2n/2 valeurs.
Attaque par precalcul : Il s’agit pour l’attaquant de precalculer desinformations et de s’en servir pour identifier des messages ou des cles.Cela necessite plus de travail mais permet aussi plus de flexibilite. Un casextreme est la recherche exhaustive.
Attaque de differentiation : Il s’agit d’une attaque qui permet dedifferencier le protocole de cryptage utilise d’un protocole de cryptageparfait. Cela couvre les attaques citees precedemment et toutes lesattaques a venir !
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Cryptanalyse
Le modele de Dolev-Yao
Environnement vulnerable. On suppose que l’attaquant dispose esttres intelligent et dispose de beaucoup de moyens pour modifier lescommunications du reseau.
On suppose que l’attaquant :
peut obtenir tous les messages circulant sur le reseau ;
est un utilisateur legitime du reseau ;
peut initier une communication avec tous les membres du reseau ;
peut envoyer un message a tous les membres du reseau en se faisantpasser pour un autre personne.
Cependant, l’attaquant n’est pas tout puissant. On suppose, entreautres, que l’attaquant :
ne peut pas deviner un entier choisi au hasard ;
ne peut deviner la cle privee correspondant a une cle publique.
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Cryptanalyse
Cryptanalyse
Echelle de succes
Cassage complet : l’attaquant decouvre la cle.
Deduction globale : l’attaquant decouvre des fonctions equivalentesaux fonctions de cryptage et de decryptage sans pour autantconnaıtre la cle.
Deduction locale : l’attaquant peut decrypter un ou plusieursnouveaux messages cryptes.
Deduction d’information : l’attaquant obtient de l’information sur lacle ou sur des messages cryptes.
Criteres d’evaluation
Temps : le nombre d’operations de bases necessaires
Espace : la quantite de memoire maximale necessaire
Donnees : le nombre de messages clairs/cryptes necessaires
Master Pro – Ingenierie Mathematique – Cryptographie
Introduction a la cryptographie
Cryptanalyse
Echelle des couts en temps
Configurations :
A. Un ordinateur de bureau avec 4 coeurs a 2,5 GHz : 236 FLOPS
B. Cluster du laboratoire de maths : 240 FLOPS
C. Supercomputer (a 133 million de dollars) : 250 FLOPS
Nbre operations Config. A Config. B Config. C
Cle W.E.P. : 240 16 sec. 1 sec. 1 µsec.
Cle D.E.S. : 256 12 jrs 18 h 1 mn.
Collision MD5 : 264 8 1/2 ans 194 jrs 4 h.
perm. de lettres : 288 142000 mill. 9000 mill. 8 mill.
Hill de dim. 5 : 2115 106 univers 105 univers 83 univers
Cle 128 bits : 2128 1010 univers 108 univers 105 univers
Cle 192 bits : 2192 1011 univers2 1010 univers2 107 univers2