Title: Cryptographie et Protection de linformation
1Cryptographieet Protection de linformation
- J-F Méla (12.01.05)
- Note Cet exposé sappuie notamment sur
larticle La cryptologie moderne dAnne
Canteaut et Françoise Lévy, et emprunte des
éléments au site www.bibmath.net
2Protection de linformation
-
- Linformation doit être protégée contre deux
types dattaques - Attaques passives
- Une information parvient à un autre que son
destinataire légitime - Attaques actives
- Linformation est altérée
- - par modification ou destruction du contenu
- - par usurpation didentité ou impossibilité
dauthentification - - par retard dans la transmission
3Cryptographie
- Algorithmes de chiffrement qui servent à protéger
la confidentialité des données. - Algorithmes de signature qui garantissent la
provenance et lintégrité des messages.
4Chiffrement
- Transformation dun texte en clair en un texte
chiffré qui ne sera lisible quune fois déchiffré
par son destinataire légitime. - A lorigine partage dun secret.
- Formalisation du chiffrement (Kerckhoffs, fin du
19ème siècle) - Les algorithmes de chiffrement et de
déchiffrement sont publics. - Deux grands types dalgorithmes de chiffrement
- - Les algorithmes à clé secrète.
- - Les algorithmes à clé publique.
- La plupart des systèmes actuels sont hybrides.
5Chiffrement à clé secrète
Tous les détails du système, notamment les
procédés de chiffrement et de déchiffrement, sont
connus sauf la valeur de la clé. La sécurité
repose uniquement sur le secret de la clé. La
clé est commune à tous les utilisateurs
(émetteurs et récepteurs de messages). Analogie
avec un coffre fort.
6Substitution alphabétique
Substitution Remplacement des lettres du texte
par dautres lettres (ou dautres
symboles) Méthode de Jules César le décalage
alphabétique
CAESAR
LJNBJA
7Version numérique
- Correspondance A ? 0, B ? 1, C ? 3, , Z ? 25
On additionne 9 à chaque nombre m de la première
ligne Si m 9 gt 25, on lui retranche 26.
La clé est le nombre 9. Il y a 26 clés possibles.
8Arithmétique modulo 26
- Etant donné un nombre entier, on peut lui faire
correspondre un nombre (unique) entre 0 et 25 en
lui retranchant 26 ou un certain nombre de fois
26. - Exemples
- 29 - 26 3
- On dit que 29 est égal à 3 modulo 26
- On écrit 29 3 (mod 26)
- 26647 1024 26 26647 - 26624 23
- On dit que 26647 est égal à 23 modulo 26
- On écrit 26647 23 (mod 26)
9Arithmétique modulo 12
- Une horloge comporte 12 graduations pour les
heures, de 0 à 11. - Sil sécoule 15 heures à partir du temps 0,
laiguille des heures sera à la position - 15 12 3
- 15 3 (mod 12)
- Sil sécoule 47 heures, laiguille des heures
sera à la position 47 3 12 47 36 11 - 47 11 (mod 12)
10Arithmétique modulo n
- Etant donné un nombre entier m, on peut lui
fait correspondre un nombre m (unique) compris
entre 0 et n-1 en lui retranchant un multiple de
n - On dit que m est égal à m modulo n
- On note
- m m (mod n)
-
11Numérisation
- Tout message peut être numérisé.
- On peut faire correspondre aux lettres de
lalphabet les nombres de 0 à 25. - Un mot est alors représenté par un nombre plus
grand. - Exemple
- O ? 15 U ? 21 I ? 9
- OUI ? 15 2126 926² 6645
- A partir du nombre on peut retrouver le mot
12Ecriture binaire
- Tout nombre est converti en base 2 pour être
représenté dans un ordinateur. - Exemples
- Le nombre 5 sécrit en binaire 101 car
- 5 4 1 122 02 1
-
- Le nombre décimal 73 sécrit en binaire 11001001
car - 73 128 64 8 1
- 73 127 126 025 024 123 022
02 1 - Sur 8 bits (un octet) on peut stocker 28 256
nombres entiers.
13Ecriture binaire
- Le nombre décimal 6645 sécrit en binaire
- 1100111110101
- Sur 64 bits on peut stocker 264 nombres, soit
environ 1019 (plus dun milliard de milliards). - Sur 128 bits on peut stocker 2128 nombres, soit
environ 1038 .
14Attaque dun système de chiffrement à clé secrète
- Lattaquant connaît le texte chiffré, ou des
couples de textes clairs et chiffrés. Il veut
retrouver la clé. - Attaque exhaustive énumérer toutes les clés
possibles et les essayer. - Protection de linformation les clés possibles
doivent être suffisamment nombreuses pour rendre
une attaque exhaustive impossible dans un temps
raisonnable (notion évolutive).
15Taille de la clé
- Une clé est codée par un nombre binaire qui
occupe un certain nombre de bits informatiques
quon appelle sa taille. - Si la taille de la clé est k, le nombre de clés
possibles est 2k . - Système DES (Data Encryption System) adopté comme
standard pour les communications commerciales en
1977 taille de la clé k 56. - Désormais vulnérable aux attaques exhaustives.
- Taille conseillée 64 ou 128 bits.
16Chiffrement itératif par blocs
- Le message est découpé en blocs (de 64 ou 128
bits). - Le chiffré d'un bloc de message est obtenu en
itérant un certain nombre de fois une permutation
paramétrée par une clé secrète dont la valeur est
modifiée à chaque tour. - Les clés utilisées successivement dans les
différentes itérations sont produites à partir
d'une unique clé de base. - Principe employé dans le système DES et tous les
algorithmes de chiffrement à clé secrète utilisés
actuellement.
17Système AES
- AES (Advanced Encryption Standard) nouveau
standard de chiffrement à clé secrète (adopté en
2000). - Opère sur des blocs de messages de 128 bits.
- Taille des clés 128, 192 ou 256 bits.
- Itération dune permutation paramétrée par une
sous-clé qui change à chaque itération. Les
sous-clés dérivent de la clé secrète par un
algorithme.
18Cryptanalyse
- Attaque des systèmes de chiffrement à clé
secrète, qui consiste à exploiter certaines
caractéristiques de lalgorithme, ou certains
biais statistiques.
19Exemple dalgorithme de chiffrement à clé secrète
- La clé est un mot quelconque CRYPTANALYSE
- On supprime les lettres en double CRYPTANLSE
- On rajoute à la suite de ce mot, dans lordre
alphabétique, toutes les lettres qui ne sont pas
dans le mot. On les écrit dans un tableau 3 x 9 - C R Y P T A N L S
- E B D F G H I J K
- M O Q U V W X Z
- On lit le tableau colonne par colonne pour avoir
le nouvel alphabet. - La correspondance avec lalphabet usuel est la
suivante - A B C D E F G H I J K L M N O P Q R S T U V
W X Y Z - C E M R B O Y D Q P F U T G V A H W N I X L J
Z S K
20Exemple de texte chiffré
- nvxlbgi avxw n ctxnbw ubn dvttbn r bhxqacyb
- awbggbgi rbn cueciwvn lcnibn vqnbcxz rbn tbwn
- hxq nxqlbgi qgrvubgin mvtacygvgn rb lvscyb
- ub gclqwb yuqnncgi nxw ubn yvxoowbn ctbwn
- c abqgb ubn vgi qun rbavnbn nxw ubn aucgmdbn
- hxb mbn wvqn rb u ckxw tcucrwvqin bi dvgibxz
- ucqnnbgi aqibxnbtbgi ubxwn ywcgrbn cqubn eucgmdbn
- mvttb rbn clqwvgn iwcqgbw c mvib r bxz
- mb lvscybxw cqub mvttb qu bni ycxmdb bi lbxub
- uxq gcyxbwb nq ebcx hx qu bni mvtqhxb bi ucqr
- u xg cycmb nvg ebm clbm xg ewxubyxbxub
- u cxiwb tqtb bg evqicgi u qgoqwtb hxq lvucqi
- ub avbib bni nbteuceub cx awqgmb rbn gxbbn
- hxq dcgib uc ibtabib bi nb wqi rb u cwmdbw
- bzqub nxw ub nvu cx tquqbx rbn dxbbn
- nbn cqubn rb ybcgi u btabmdbgi rb tcwmdbw
21Analyse de la fréquence des lettres
- On fait lhypothèse que le texte est en français
et que lalgorithme est une permutation
alphabétique. - Dans le texte chiffré les fréquences sont
- B N C U X Q G
I W V - 18,7 9,91 7,78 6,90 6,72 6,37 5,84 5,84
5,30 4,60 - En Français les fréquences sont
- E S A N T I R
U L O - 17,8 8,23 7,68 7,61 7,30 7,23 6,81 6,05
5,89 5,34
On fait lhypothèse que B ? E N ? S C ?
A
22Après remplacement des 3 lettres
- svxlegi avxw s atxsew ues dvttes r ehxqaaye
- aweggegi res aueaiwvs lasies vqseaxz res tews
- hxq sxqlegi qgrvuegis mvtaaygvgs re lvsaye
- ue galqwe yuqssagi sxw ues yvxoowes atews
- a aeqge ues vgi qus reavses sxw ues auagmdes
- hxe mes wvqs re u akxw tauarwvqis ei dvgiexz
- uaqssegi aqiexsetegi uexws ywagres aques euagmdes
- mvtte res alqwvgs iwaqgew a mvie r exz
- me lvsayexw aque mvtte qu esi yaxmde ei lexue
- uxq gayxewe sq eeax hx qu esi mvtqhxe ei uaqr
- u xg ayame svg eem alem xg ewxueyxexue
- u axiwe tqte eg evqiagi u qgoqwte hxq lvuaqi
- ue aveie esi seteuaeue ax awqgme res gxees
- hxq dagie ua ietaeie ei se wqi re u awmdew
- ezque sxw ue svu ax tquqex res dxees
- ses aques re yeagi u etaemdegi re tawmdew
23Fréquence des bigrammes
- Bigrammes les plus fréquents dans le texte
chiffré - ES UE GI RE EG EX IE SE QU TE UA EW AG AQ HX XW
- 25 17 13 12 9 8 8 8 8 8
8 7 7 7 7 7 - Bigrammes les plus fréquents en Français
- ES LE EN DE RE NT ON ER TE SE ET EL QU AN NE OU
AI
On fait lhypothèse U ? L R ? D G ? N Q ? I
24Fréquence des bigrammes après remplacement des
lettres
Bigrammes les plus fréquents dans le texte
chiffré ES LE NI DE EN EX IE SE IL TE LA EW AN
AI HX XW 25 17 13 12 9 8 8 8 8
8 8 7 7 7 7 7
Bigrammes les plus fréquents en Français ES LE
EN DE RE NT ON ER TE SE ET EL QU AN NE OU AI
On fait lhypothèse I ? T
25Texte après remplacement des 3 1 4 lettres
- svxlent avxw s atxsew les dvttes d ehxiaaye
- awennent des aleatwvs lastes viseaxz des tews
- hxi sxilent indvlents mvtaaynvns de lvsaye
- le naliwe ylissant sxw les yvxoowes atews
- a aeine les vnt ils deavses sxw les alanmdes
- hxe mes wvis de l akxw taladwvits et dvntexz
- laissent aitexsetent lexws ywandes ailes elanmdes
- mvtte des aliwvns twainew a mvte d exz
- me lvsayexw aile mvtte il est yaxmde et lexle
- lxi nayxewe si eeax hx il est mvtihxe et laid
- l xn ayame svn eem alem xn ewxleyxexle
- l axtwe tite en evitant l inoiwte hxi lvlait
- le avete est setelaele ax awinme des nxees
- hxi dante la tetaete et se wit de l awmdew
- ezile sxw le svl ax tiliex des dxees
- ses ailes de yeant l etaemdent de tawmdew
26A partir de quelques mots du message chiffré
- indvlent vnt V ? O
- oiseaxz X ? U
- Z ? X
- a aeine A ? P
- leuws W ? R
- taladroits T ? M
- yrandes Y ? G
27Après remplacement des 3 4 1 7 lettres
- soulent pour s amuser les dommes d ehuipage
- prennent des aleatros lastes oiseaux des mers
- hui suilent indolents mompagnons de losage
- le nalire glissant sur les gouoores amers
- a peine les ont ils deposes sur les planmdes
- hue mes rois de l akur maladroits et donteux
- laissent piteusement leurs grandes ailes elanmdes
- momme des alirons trainer a mote d eux
- me losageur aile momme il est gaumde et leule
- lui naguere si eeau hu il est momihue et laid
- l un agame son eem alem un erulegueule
- l autre mime en eoitant l inoirme hui lolait
- le poete est semelaele au prinme des nuees
- hui dante la tempete et se rit de l armder
- exile sur le sol au milieu des duees
- ses ailes de geant l empemdent de marmder
28Chiffrements polyalphabétiques
- Chiffre de Vigenère (1586)
- Décalage alphabétique qui change de lettre en
lettre et rend difficile une analyse statistique.
- Système en vigueur pendant 3 siècles jusquà son
décodage par Babbage en 1854. - Chiffre de Hill (1929)
- On code des groupes de lettres.
29Chiffre de Vigerène
30Chiffre de Vigerène
- Exemple
- On veut coder le texte "CRYPTOGRAPHIE DE
VIGENERE" avec la clé "MATHWEB". - On commence par écrire le clé sous le texte
- C R Y P T O G R A P H I E D E V I G E N E R E
- MA T HW E B M A T HWE B M AT HW E B M A
- Pour coder la lettre C, on prend dans le tableau
l'intersection de la ligne C et de la colonne M.
31Chiffre de Vigerène
32Enigma
Machine inventée en 1919, puis perfectionnée par
les allemands à des fins militaires. Utilisée
pendant la seconde guerre mondiale. Principe
permutation alphabétique qui change dune lettre
à lautre. Les permutations sont faites par des
rotors qui tournent. Nombre de clés possibles
1016
Enigma
33Enigma
- En 1933, Marian Rejewski, mathématicien
responsable du Bureau du Chiffre polonais,
réussit à décrypter les messages allemands. - En 1939, il remet une copie dune machine Enigma
aux anglais et aux français. - Les anglais installent à Bletchley Park leur
service du chiffre où travaillent 12.000
scientifiques anglais et étrangers.
34Enigma
- Alan Türing, logicien et mathématicien, fondateur
de linformatique théorique, conçoit des machines
programmables ( les bombes de Türing ) capables
de décrypter les messages allemands après une
vingtaine d'heures de calcul. - En 1944, le premier ordinateur de l'histoire, le
Colossus, garantira une puissance de calcul
suffisante jusqu'à la fin de la guerre
35Cryptanalyse moderne
- Cryptanalyse différentielle Etude sur la
manière dont les différences entre les données en
entrée affectent les différences de leurs
sorties, découvrant ainsi où l'algorithme montre
un comportement prédictible. - Cryptanalyse linéaire Analyse dun grand nombre
de couples clair/chiffré afin de déterminer la
clé la plus probable.
36Théorie de linformation
- Shannon fonde la théorie mathématique de
linformation en 1949. - Il définit la quantité dinformation apportée
par la connaissance dun message. - La connaissance dun message écrit au hasard
apporte une information maximale car on ne peut
pas le deviner par une étude statistique.
37Théorie de linformation
- En cryptographie, on sintéresse à la quantité
dinformation apportée à un message (le message
en clair) par la connaissance dun autre (le
message chiffré). - Un système cryptographique est parfait si la
connaissance du message chiffré n'apporte aucune
information sur le message en clair. - Si le système est parfait, linformation contenue
dans la clé (liée à sa taille) est au moins aussi
grande que celle contenue dans le message en
clair. - Pour empêcher toute étude statistique, une clé
doit être aussi longue que le message.
38Chiffre de Vernam
- La clé a même longueur que le message à chiffrer.
- La clé est choisie de façon totalement aléatoire.
- Exemple
- message en clair 0 1 1 0 0 0 1 0 1 1
- clé aléatoire 1 1 0 1 0 1 1 0 0 0
- message chiffré 1 0 1 1 0 1 0 0 1 1
- Un bit est conservé si le bit correspondant de
la clé est 0. Il est inversé si le bit
correspondant de la clé est 1. - Système utilisé pour le téléphone rouge .
39Chiffrement à clé publique (1976)
- Chaque utilisateur dispose dune clé publique
(figurant dans un annuaire) et dune clé privée
(quil est seul à connaître). - Si A veut envoyer un message à B, il le chiffre
en utilisant la clé publique de B. - B déchiffre le message en utilisant sa clé
privée. - Analogie avec une boîte aux lettres.
40Chiffrement à clé publique
- Le chiffrement est une fonction (publique) qui à
tout texte en clair x fait correspondre un texte
chiffré y - x ? y
- Cette fonction est telle quil est facile de
calculer y en fonction de x, mais quil est
impossible de retrouver x à partir de y si on na
pas une information supplémentaire (secrète). - La construction de telles fonctions repose sur
des problèmes mathématiques très difficiles comme
la factorisation des nombres entiers en nombres
premiers.
41Nombres premiers
- Un nombre entier est premier sil ne peut pas
être écrit comme produit de deux autres nombres. - Exemples
- 11 est premier 23 est premier.
- 12 3 4 nest pas premier.
- 21 3 7 nest pas premier
- Cest le produit de deux nombres premiers.
42Nombres premiers
- Il existe une infinité de nombres premiers.
- On connaît de très grands nombres premiers.
- Exemple nombre de 100 chiffres
- 7074514883149317982260680135652618736529836632926
22994237726005516351521652807666931211533632799693
9 - On connaît des nombres premier à plus dun
million de chiffres. - Il est difficile de savoir si un très grand
nombre est premier. Cest un problème difficile
même avec des méthodes savantes darithmétique. - Il est encore plus difficile de le factoriser
lorsquil nest pas premier. On sait factoriser
les nombres de 100 chiffres, mais pas ceux de 200
chiffres.
43Algorithme RSA (1978)
- Inventé par R. Rivest, A. Shamir, L. Adleman
(1978) - Chaque utilisateur choisit secrètement deux très
grands nombres premiers p et q et les multiplie.
Le nombre - n p q
- est public. Mais il sera impossible de retrouver
p et q si on ne les connaît pas - Il dispose aussi de deux nombres qui dépendent de
p et de q - - Un nombre e qui est (avec le nombre n) sa clé
publique. - - Un nombre d qui est sa clé privée, secrète.
44Principe de lalgorithme RSA
- Les nombres e et d sont choisis de façon que, si
m est un nombre entier quelconque, on ait - (me)d m (mod n)
- Pour transmettre un message m de A à B
- A code le message avec la clé publique e de B
- m ? me (mod n)
- B le décode à laide de sa clé privée d
- me ? (me)d m (mod n)
45Schéma de lalgorithme RSA
A
B
m
m
Clé privée de B d
Clé publique de B (n, e)
me (mod n)
(me)d (mod n)
46Exemple
- B choisit p 127 et q 179
- n 127 179 22733
- Clé publique n 22733 e 17
- Clé privée d 13193
- A veut envoyer à B le message m 6645
- Message chiffré
- me 664517 5159 (mod 22733)
- Déchiffrement
- (me) d 515913193 6645 (mod 22733)
47Principe de lalgorithme RSA
- A code le message avec la clé publique e de B
- m ? me (mod n)
- B le décode à laide de sa clé privée d
- me ? (me)d m (mod n)
- Tout monde connaît npq et e, mais pas d (ni p
et q). - Si un intrus capte le message chiffré me, il
nest pas capable de retrouver m sil ne connaît
pas d. - La seule façon de connaître d est de factoriser
n, cest-à-dire de retrouver p et q.
48Attaque du chiffrement RSA
- La seule attaque connue revient à factoriser n.
- Un nombre décimal à 155 chiffres correspond à un
chiffre binaire sur 512 bits. En 1999 il fallait
2 mois et demi de calculs pour le factoriser. - Le plus grand nombre jamais factorisé est de 576
bits. Il fut factorisé le 3 décembre 2003,
faisant partie de la compétition de factorisation
RSA. - Une attaque par factorisation dune clé publique
est plus rapide quune attaque exhaustive sur une
clé secrète. - Un système à clé secrète de 128 bits est sûr. Un
système à clé publique de 128 bits est très
vulnérable. - Il est recommandé de prendre un nombre n à 768
bits ou, mieux, 1024 bits.
49Systèmes hybrides
- Le système de chiffrement RSA est très sûr car il
ny a pas déchange de secret (chaque utilisateur
choisit ses paramètres). - Mais la complexité des opérations rend le système
extrêmement lent (1000 fois plus lent que le
système DES). Il ne permet pas le chiffrement en
ligne de très longs messages. - Système hybride
- On utilise un système à clé publique pour
échanger une clé secrète. - Système PGP (Pretty Good Privacy).
50Signature numérique
- Objectif sassurer de la provenance et de
lintégrité dun message. - Méthode adjoindre au message un petit nombre de
bits dépendant du message et de lauteur, qui est
sa signature - Contraintes
- - Seul le détenteur de la clé peut signer.
- - La signature nest plus valide si le message
est falsifié. - - Impossible de réutiliser la signature.
- - Le signataire ne peut pas nier quil a signé.
51Signature RSA
- A envoie un message m à B.
- A a une clé publique (n, e) et une clé privée d.
- B a une clé publique (n, e) et une clé privée
d. - A signe le message m avec sa clé privée d
- m ? s md (mod n)
- A transmet le message m et la signature s à B en
utilisant le chiffrement RSA. - B déchiffre m et s, puis calcule, en utilisant la
clé publique e de A - se (md)e m (mod n)
- Il vérifie quil retrouve bien le message m
(reçu par ailleurs), ce qui authentifie le
message et son auteur.
52Hachage
- Une fonction de hachage produit un court
résumé dun message, quon appelle son
haché . - On signe le haché du message, et non le message
lui-même. - On veut que deux messages différents aient des
hachés différents (en pratique). Pour cela le
haché doit avoir au moins 128 bits.
53Certification de la clé publique
- Les clés publiques stockées dans les annuaires
doivent être certifiées. - Il faut être sûr que son correspondant est le
véritable détenteur de la clé utilisée pour
chiffrer le message quon lui envoie. - La clé publique dun correspondant est signée par
une autorité de certification .
54Sécurisation du e-commerce
- Protocole SSL (Secure sockets layers) procédé
de sécurisation des transactions via internet,
basé sur un échange de clés entre client et
serveur. - Le client se connecte au site marchand qui lui
envoie sa clé publique certifiée. Le client (en
fait son navigateur) vérifie le certificat et
adopte un algorithme à clé secrète, commun avec
le marchand. - Le client (en fait son navigateur) choisit au
hasard une clé secrète quil chiffre avec la clé
publique du serveur et quil lui transmet. Le
serveur la déchiffre avec sa clé privée. Les
transactions se font à laide de cette clé
secrète.
55Carte bancaire
- Pour des petites sommes, lunique contrôle au
moment du paiement (outre le code confidentiel)
consiste à vérifier que la carte est valide. - Chaque carte possède un identifiant qui a été
signé par la banque. - Le terminal du commerçant vérifie lauthenticité
de lidentifiant en déchiffrant la signature à
laide de la clé publique de la banque. - Lunique faille de ce système est la taille des
clés RSA.
56Carte bancaire
- Une clé RSA de 320 bits se factorise aujourdhui
aisément. - Pour fabriquer de fausses cartes, il suffit donc
dobtenir la clé publique de la banque
(relativement facile). La factorisation de ce
nombre fournit alors la clé secrète de la banque
qui permet dimiter sa signature. - Cest pourquoi on utilise une clé de 792 bits
dans les cartes les plus récentes.