Sécurité des systèmes
d’information
(cryptographie et stéganographie)
université d’Alger 1 -
Benyoucef Benkhedda
Introduction
• Depuis fort longtemps, les hommes ont tenté de rendre leurs
communications les plus sûres possibles
• Tout au cours de l’histoire, une difficile bataille eut lieu entre les
constructeurs de code (cryptographes) et ceux qui essayaient de les briser
(les cryptanalystes).
2
Introduction
• La cryptologie peut être définie littéralement comme la science du secret. Elle se
compose de deux grandes branches distinctes:
La Cryptologie
La Cryptographie La Cryptanalyse
Etude et conception Etude et analyse des
des méthodes et informations chiffrées
algorithmes de pour retrouver les
chiffrement des informations
données claires à originales sans avoir
transmettre. la permission. 3
Terminologie
Crypto-système
Clé Ke Clé Kc
Canal de
Chiffrement transmission Déchiffrement
Message M Message M
C=E(M,Ke) M=D(C,Kc)=D(E(M))
Texte chiffré : Texte en clair:
Texte en clair: cryptogramme
Algorithme de Algorithme de « un texte.. »
« un texte.. » « ☺☼♀☻
chiffrement E déchiffrement D
♠♣▼╫◊
♫◙◘€£ »
Emetteur A:Cryptage/Chiffrement Récepteur B:Décryptage/Déchiffrement
Espion C: Cryptanalyse
• Le chiffrement / Déchiffrement se fait généralement par une information
commune entre l’émetteur et le récepteur (secret commun) appelé clé de
chiffrement (en anglais: Key), sa nature dépond du type du chiffrement (voir plus
loin) 4
Sécurité d’un crypto-système
• Un crypto-système est sûr (sécurisé) s’il garantit qu’aucun intervenant n’a la
possibilité de posséder la clef de chiffrement ou de déchiffrer le message en un
temps finie raisonnable.
• La sécurité ne doit reposer que sur la clef de chiffrement, les algorithmes de
chiffrement/déchiffrement sont supposés être connus par tout le monde :
• En 1883, August Kerckhoffs publia les principes suivants de sécurité d’un crypto-
système
• « La sécurité repose sur le secret de la clef en non sur le secret de l’algorithme »
• « Le déchiffrement sans la clef doit être impossible »
• « Trouver la clef à partir du couple (M,C) doit être impossible en un temps raisonnable
».
5
Classes des crypto-systèmes
• On peut classer les algorithmes de cryptographie selon plusieurs critères :
Selon le mode d’utilisation de la clé :
• Chiffrement symétrique : la même clé est utilisée pour le chiffrement et le déchiffrement;
• Chiffrement asymétrique: deux clés sont utilisées , l’une pour chiffrer (clé publique) et
l’autre pour déchiffrer (clé privée).
Selon le mode d’opération
• Chiffrement par Bloc: le texte en clair est divisé en blocs de tailles identiques
• Chiffrement par flot: le texte est considéré comme un flot de bits (chiffrement par bits )
6
Historique de la cryptographie
• Historiquement , la plupart des méthodes de chiffrement reposent sur deux
principes essentiels :
• Substituer signifie qu'on remplace certaines lettres par d'autres, ou par des
symboles.
• Transposition signifie qu'on permute les lettres du message afin de le rendre
inintelligible.
• Ces deux approches on été combinées pour crée la majorité des méthodes
(algorithmes) de chiffrement/ déchiffrement à travers l’histoire.
7
Historique de la cryptographie
La cryptographie est utilisée depuis l'antiquité
– Il y a 4000 ans par les égyptiens
• Cryptographie ancienne
– Alphabet de la langue
Ex: Français : 26 lettres
• Chiffrement de documents
– Domaine militaire et diplomatique
– Chiffrement symétrique
• Chiffre de César, de Vigénère, Scytale, Enigma, … 8
Historique de la cryptographie
• Cryptographie moderne
– L'apparition de l'informatique et prolifération
des systèmes de communication
– Alphabet = {0, 1}
– Protection de l’information
numérique
• Domaine militaire, diplomatique, commercial
• Protection de la vie privée
– Chiffrement symétrique
– Chiffrement asymétrique
• Distribution de clés
9
• Signature numérique
Chiffrement de Polybe
• L'historien grec Polybe (150 Av. JC) est à l'origine du premier procédé de
chiffrement par substitution. C'est un système de transmission basé sur un carré
de 25 cases.
• En français, on supprime le W, qui sera remplacé par V. Il existe une variante où
ce sont I et J qui se partagent la même case.
• Chaque lettre peut être ainsi représentée par un groupe de deux chiffres : celui
de sa ligne et celui de sa colonne. Ainsi e=(1;5), u=(5;1), n=(3;4)... 10
Chiffrement de César
• 60-50 avant JC Jules César décale les lettres de l'alphabet d'une quantité fixe
dans les communications du gouvernement.
• Le chiffre de César est une des plus simple méthodes d'encryptage connues.
• C'est une technique de codage par substitution, c'est-à-dire que chaque lettre du
texte en clair est remplacée par une autre lettre à distance fixe dans l'alphabet.
• Par exemple, si l'on utilise un décalage de 3, A serait remplace par D, B
deviendrait E, et ainsi de suite. Cette méthode doit son nom à Jules César, qui
utilisait cette technique pour certaines de ses correspondances.
11
Chiffrement de César
• Cette technique de chiffrement est-elle sécuritaire?
On intercepte par exemple le message
FAGEMYREMPURZV_EMZR_R FMNMDAZR
• Essayons différents décalages…
1: E_FDLXQDLOTQYUZDLYQZQZELMLC_YQ
2: DZECKWPCKNSPXTYCKXPYPYDKLKBZXP
3… 4… 5… 6… 7… 8… 9… 10… 11… 12…
13: TOUS_LES_CHEMINS_MENENT_A_ROME
• Après 13 essais, le message est parfaitement déchiffré sans avoir au préalable la valeur du
décalage.
12
• Clairement, le chiffrement de César n’est pas sécuritaire.
Substitution mono-alphabétique
• Vue cette faiblesse, une amélioration a été apportée : Essayons autre chose:
_ 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
R D O H X A M T C _ B K P E Z Q I W N J F L G V Y U S
• Chaque lettre est remplacée par une autre prédéfinie (table de correspondance) .
TOUS_LES_CHEMINS_MENENT_A_ROME devient
FQLJRPAJRHCAE_ZJREAZAZFRDRNQEA
• Ce type de codage est appelé substitution mono-alphabétique. Le décodage
devrait être plus difficile. Peut-on essayer tous les décodages possibles?
• Il y a 27!=10888869450418352160768000000 possibilités… 13
Substitution mono-alphabétique
• Le premier usage révélé de chiffrement par substitution dans un usage militaire
est rapporté par Jules César dans La guerre des Gaules. César utilisait
fréquemment ce type de chiffrement.
• La substitution mono-alphabétique fut la technique de chiffrement la plus
utilisée durant le premier millénaire. Nombreux savants de l’antiquité tenaient
cette technique pour inviolable.
• Ce sont les Arabes qui réussirent à briser ce code et qui inventèrent la
cryptanalyse au 9ième siècle (Al-Kindi). La technique est appelée analyse des
fréquences rédigée dans un traité intitulé ≪ Manuscrit sur le déchiffrement des
messages cryptographiques ≫. ﻲﻣﻌﻣﻟا فﺷﻛ ﻲﻓ يدﻧﻛﻟا ﺔﻟﺎﺳر
(L’ouvrage fut découvert en 1987 dans une bibliothèque à Istanbul)
14
Substitution mono-alphabétique
Première page du Manuscrit d’Al-Kindi sur le déchiffrement
des messages cryptographiques 15
Substitution mono-alphabétique
• Par exemple soit le texte chiffré suivant:
nvxlbgi avxw n ctxnbw ubn dvttbn r bhxqacyb awbggbgi rbn cueciwv 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
16
Substitution mono-alphabétique
• En utilisent les fréquences des lettres en français, on remarque que :
Dans le chiffré :
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 :
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
17
Substitution mono-alphabétique
• On déduit donc que : B→E, N →S, C →A, ce qui donne :
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
18
Substitution mono-alphabétique
• On peut utiliser ensuite les statistiques sur le bigrammes:
Bigrammes les plus fréquents dans le chiffré :
ES UE GI RE EG EX IE SE QU TE UA EW AG AQ HX
25 17 13 12 9 8 8 8 8 8 8 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 peut déduire que : U→ L, R → D , G → N , Q → I
Bigrammes les plus fréquents dans le chiffré (après subst.):
ES LE NI DE EN EX IE SE IL TE LA EW AN AI HX
25 17 13 12 9 8 8 8 8 8 8 7 7 7 7
• On peut déduire que: I → T
19
Substitution mono-alphabétique
• Le texte chiffré devient après substitution :
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
• Quelque mots apparaissent :
indvlent, vnt (V → O); oiseaxz (X → U, Z → X); a aeine (A → P) ; leuws (W → R);
taladroits (T → M); yrandes (Y → G) 20
Substitution mono-alphabétique
• Le texte devient donc:
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
• On peut facilement continuer le processus et trouver le texte complet (ex: L →
V, D → H,h → Q…..) 21
Substitution Poly-alphabétique
• Au lieu de faire la substitution mono-alphabétique, on peut rendre le code plus
difficile à briser en faisant une substitution de mots. Chaque mot est remplacé
par un nombre, d’où la nécessité d’un dictionnaire.
• Cette technique n’est pas vraiment pratique. La construction du dictionnaire est
fastidieuse. Il faut se déplacer avec le dictionnaire qui pourrait être intercepté.
Il est en plus difficile de changer le code.
• On peut aussi utiliser des synonymes. Par exemple, la lettre E se retrouve 14%
du temps et on pourrait utiliser 14 symboles différents pour représenter E et
ainsi de suite pour les autres symboles.
22
Chiffrement de Vigenère
• Au 16ième siècle, on brisait les codes de façon routinière. La balle était dans le
camp des cryptographes. Blaise de Vigenère (1523-1596), inventa un code
simple et subtile. Il s'agit d’une amélioration du chiffre par décalage.
• Vigenère est le premier à avoir introduit la notion de clé, on choisit un mot de
code on l’utilise pour chiffrer. Il est répété autant de fois que la taille du texte
clair, ensuite chaque lettre du texte est décalée en fonction de la valeur
numérique correspondant au symbole de la clé associée.
• Exemple :clé=ALAIN={1,12,1,9,14}
LE_CODE_DE_VIGENERE_EST_IL_INDECHIFFRABLE (41 symbole)
ALAINALAINALAINALAINALAINALAINALAINALAINA (41 symbole)
MQALBEQAMSAGJPSOQSNNFDUIWMLJWRFOIRTGCBKZF (41 symbole)
23
Chiffrement de Vigenère
• Mathématiquement, on considère que les lettres de l'alphabet sont numérotées de 0 à 25
(A=0, B=1 ...). La transformation lettre par lettre se formalise simplement par :
Chiffré[i] = (Texte [i]+ Clé[i]) modulo 26
• (Texte + Clé) modulo 26 correspond au « reste de la division entière de (Texte + Clé) par 26 »,
les ordinateurs le font très bien !
• Remarquez que si l'on utilise la clé avec un texte rempli uniquement avec des A on retrouve
assez facilement la clé
• « A » + LettreInconnue = LettreInconnue, soit du point de vue mathématique : 0 + x = x.
• Le chiffre de Vigenère est-il indéchiffrable?
24
Chiffrement de Vigenère
• Les cryptanalystes furent déjoués pendant près de 3 siècles par le chiffre de Vigenère.
• Au 19ième siècle, Charles Babbage réussit à le briser.
• La technique est relativement simple: la première étape consiste à déterminer la longueur de
la clé. Une fois déterminée , elle servira à décomposer le texte chiffré en un ensemble de l
suites de caractères pour une taille l de la clé.
• Chaque suite i parmi les l suites est ensuite analysée par la méthode d’analyse fréquentielle
(d’Al-Kindi) car chaque suite correspond à un chiffrement mono-alphabétique par un caractère
de la clé.
• La clé est donc déduite en l étapes.
25
Chiffrement de Vigenère
• Exemple : soit le texte chiffré suivant :
• Phase 1: trouvé la taille de la clé : Soulignez les répétitions de 3 caractères ou plus :
26
Chiffrement de Vigenère
• Ces séquences redondantes peuvent se produire par deux causes :
• Soit la même séquence de lettres du texte clair a été chiffrée avec la même partie de la clef
;
• Soit deux suites de lettres différentes dans le texte clair auraient (possibilité faible) par
pure coïncidence engendré la même suite dans le texte chiffré.
• Pour chaque répétition, mesurer la période
27
Chiffrement de Vigenère
• Les distances entre les occurrences doivent être des diviseurs de la taille de la
clé, donc pour chaque période, décomposer en facteurs premiers et regarder
quel facteur est commun a tous :
• La clé est ici longue de 5 caractères.
28
Chiffrement de Vigenère
• Les lettres du texte sont ensuite classées en 5 groupes :
-la 1ère, la 6ème, … dans le premier groupe
-la 2ème, la 7ème, … dans le deuxième groupe
-la 3ème, la 8ème, dans le troisième groupe
-…
• Puis chaque groupe est ensuite analysé selon la méthode d’ Al-Kindi, c’est à dire selon une
analyse statistique.
• L’analyse statistique permettra de déduire le caractère le plus fréquent du texte chiffré qui
correspondra au caractère le plus fréquent de la langue française (faire correspondre les deux
histogrammes). Ceci va permettre de déduire la première lettre de la clé .
• Le processus et répété sur les autres groupes pour déduire le reste de la clé.
29
Chiffrement de Vigenère
• En rouge, l'analyse de fréquence du 1ièr groupe, en bleu le diagramme de
fréquence des lettres en français.
• On voit que la lettre W du groupe correspond a la lettre E du français
• Avec W = 23 et E = 5, on trouve 23 – 5 + 1= 19 donc la première lettre de la clé
est S.
30
Chiffrement de Vigenère
• Le même processus est répété pour trouver les autre lettres de la clé en
analysent les groupes 2,3,4 et 5.
• La clé trouvée est SCUBA,en déchiffrant le texte on trouve:
« Souvent pour s'amuser les hommes d'équipage prennent des albatros, vastes oiseaux des
mers, qui suivent, indolents compagnons de voyage, le navire glissant sur les gouffres amers.
A peine les ont-ils déposés sur les planches que ces rois de l'azur, maladroits et honteux, laissent
piteusement leurs grandes ailes blanches, comme des avirons, traîner à côté d'eux.
Ce voyageur ailé, comme il est gauche et veule, lui naguère si beau, qu'il est comique et laid.
L'un agace son bec avec un brûle-gueule, l'autre mime en boitant l'infirme qui volait.
Le poète est semblable au prince des nuées, qui hante la tempête et se rit de l'archer.
Charles Baudelaire » 31
La Machine ENIGMA
• La cryptologie a joué un rôle décisif pendant la Seconde Guerre mondiale. Les
exploits des alliés en matière de cryptologie auraient permis d'écourter la guerre.
Churchill citait la cryptographie comme l'un des facteurs clefs de la victoire.
• La guerre a permis une grande évolution de l’art de la cryptographie. Plusieurs
techniques ont été élaborées, dont la plus fameuse est la machine ENIGMA.
• C’est une machine conçue par les allemands pour chiffrer leurs messages. Cette
machine peut être considérée comme la première machine électromagnétique
traitant de l’information. Elle a permis de lancer l’informatique après la guerre à
travers les travaux d’Alain Turing.
32
La Machine ENIGMA
33
La Machine ENIGMA
• Brièvement, la machine Enigma chiffre les informations en réalisant le passage
d'un courant électrique à travers une série de composants.
• Le courant est transmis en pressant une lettre sur le clavier. Après sa traversée
dans un réseau complexe de fils, une lampe indique la lettre chiffrée. Le premier
composant est une série de roues adjacentes, appelées « rotors », qui
contiennent les fils électriques utilisés pour coder le message. Les rotors
tournent, variant la configuration complexe du réseau chaque fois qu'une lettre
est tapée. La machine Enigma utilise habituellement une autre roue, nommée
« réflecteur », et un composant, appelé pupitre de connexion, permettant de
complexifier encore plus le processus de chiffrement.
34
La Machine ENIGMA
• La première version d’ENIGMA était utilisée comme suit:
• Agencement des 3 rotors:123, 132, 213, 231, 312, 321 (6 possibilités).
• Position des trois rotors, 3 lettres.(26x26x26=17 576 possibilités).
• Connexions des fiches (26 connexions). 100 391 791 500 possibilités.
• Nombre total de clefs:
6 * 17 576 * 100 391 791 500=10 586 916 764 424 000
10 million de milliard de possibilités…
• Tout tentative de casser la machine sans avoir la clé semble quasi impossible!
35
La Machine ENIGMA
• Le code ENIGMA fut brisé en décembre 1932 par Marian Rejewski, travaillant
pour les services de renseignement polonais. A partir de 1933, les Polonais ont
réussi a déchiffrer des milliers de messages allemands.
• Les Polonais ont réussi là ou les autres services de renseignement ont échoué.
• Peu après, la Pologne fut prise par les Allemands et le bureau de chiffrement
anglais récupéra les travaux de Rejewski, dans le plus grand secret.
• Un étudiant s'amusa un jour à programmer en langage C la simulation du
fonctionnement d'une machine Enigma. Ce programme fut inclus dans les
distributions UNIX sous le nom de crypt (utilisable comme une commande UNIX).
36
La Machine ENIGMA
• Plusieurs autres codes ont vu le jour pendant la guerre mondiale :
• Code ADFGVX: utilisé par les allemands, c’est une amélioration du carré de polybe;
• Code UBCHI: utilisé aussi par les allemands;
• Le code de lorenz: le premier chiffrement par flot;
• …….
• Avec l’avancement des sciences mathématiques, les algorithmes de
cryptographie deviennent de plus en plus complexes et robustes.
• Deux exemples simples de chiffrements qui utilisent des transformations
mathématiques sont:
• Le chiffrement de Hill (1929)
• Le chiffrement affine.
37
Cryptographie moderne
• D’un autre coté, dès 1977, [Link], [Link] et [Link] proposent un nouvel
principe, celui de la cryptographie asymétrique avec leur algorithme RSA, basé
sur les nombres premiers et l’exponentiation modulaire.
• Une version améliorée du RSA : Le PGP est proposé par Philip Zimmermann en
1991 pour être utilisé à grande échelle et sur des machines personnelles. Elle
demeure un standard fiable jusqu’à nos jours.
• En 1994, Taher ElGamel a publié un nouveau standard asymétrique connu sous le
nom « algorithme d’ElGamel » utilisant le problème du logarithme discret. Il est
considéré actuellement comme un standard comparable à RSA.
38