Vous êtes sur la page 1sur 15

2018-2019

UDLA/ ENSETDLA/GPI5
EXPOSE

U
MASTER II – GPI
R

S
Étudiants
D

E s

SOKENG LUDIANNE
C AMINANGA ABOUBAKAR
R SIELENOU PATRICE
Y FOKOUA ROOSEVELT
P

G ENSEIGNANT
R

A
Mr MANGA BETENE IGNACE
P Enseignant - Chercheur ENSET Douala
H

EXPOSE SUR LA SUBSTITUTION ALPHABETIQUE : CAS DU CHIFFRE DE CESAR ET DE VIGENERE


RESUME

Dans le cadre du cours de cryptographie dispensé à l’École Normale Supérieure


d’Enseignement Technique (ENSET) de l’université de Douala, le présent document rédigé
par les étudiants de Master II Gestion de Projets informatiques (GPI) dudit établissement, a
pour but de présenter sous forme d’exposé, ce qu’on entend par chiffrement par
substitution. Cela avec pour cas d’étude les chiffres de César et de Vigenère. Pour ce faire,
il est fait dans ce document une présentation sommaire et quelques exemples d’applications.

1
INTRODUCTION

Selon la définition de Bruce Schneier, un crypto système, est un terme utilisé en


cryptographie pour désigner un ensemble composé d’algorithmes cryptographiques et de tous
les textes en clairs, textes chiffrés et clés possibles. De cet état de choses, le nom du
chiffrement par substitution vient donc du fait que, de manière classique, les crypto systèmes
étaient des algorithmes fondés sur les lettres de l’alphabet. Ils substituaient, permutaient (ou
transposaient) les caractères, ou faisaient une combinaison de ces opérations.

2
I. Objectif
Le chiffrement par substitution, consiste à remplacer les caractères du message
original (généralement des lettres) par d'autres caractères, voir par des symboles ou mêmes
des chiffres. On distingue les différents types de substitutions ci-dessous.
- Substitution mono-alphabétique, Substitution poly-alphabétique, Substitution
homophonique, Substitution de poly-grammes .
Notre travail au cours de cet exposé, consiste à présenter les deux premiers chiffrements par
substitution que sont, la substitution mono alphabétique pour le cadre du chiffre de César, et
la substitution poly alphabétique pour le cadre du chiffre de Vigenère.

II. Présentation de la substitution mono-alphabétique : Cas du chiffre de


César.
La substitution mono-alphabétique consiste à remplacer chaque lettre ("substitution")
par une seule autre ("mono-alphabétique"), selon un certain décalage dans l'alphabet ou de
façon arbitraire. Dans ce mode de chiffrement, on rencontre le chiffre de César, qui est
considéré comme le plus ancien algorithme de chiffrage par substitution.
1. Chiffre de César
Utilisé par Jules César pour chiffrer ses communications, le chiffrement par décalage
aussi connu sous le nom de chiffre de César, est une méthode de chiffrement triviale qui
consiste en un simple « décalage » de l’alphabet.

2. Principe
Le principe du chiffrement de César, met en œuvre la substitution mono-alphabétique :
Une même lettre n’est toujours remplacée que par une seule autre. Le texte chiffré s’obtient
alors en remplaçant chaque lettre du texte clair d’origine par une lettre à distance fixe,
toujours du même côté dans l’ordre de l’alphabet. D'après Suétone (haut fonctionnaire romain
et biographe de César), César avait coutume d'utiliser un décalage de 3 lettres de telle sorte
que : A devient D, B devient E, C devient F, etc. Il écrivait donc son message normalement,
puis remplaçait chaque lettre par celle qui lui correspondait. Lorsque l’ajout de la valeur
donne une lettre dépassant la lettre Z, il suffit de continuer en partant de A, ce qui revient à
effectuer un modulo 26.
Illustration1 : 1 = texte clair, 2 = texte chiffré

1 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

2 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

3
Ex : du texte clair ci-dessous on obtient le message chiffré correspondant
MONSIEUR MANGA BETENE IGNACE = PRQVLHXU PDQJD EHWHQH LJQDFH
Note : pour prendre en compte le décalage des dernières lettres de l’alphabet lors du
chiffrement de César, il faut les représenter sur deux algorithmes, de telle en sorte d’obtenir
un Décalage circulaire sur les lettres de l’Alphabet.
Pour déchiffrer le message chiffré, il faut lire cette correspondance dans le sens inverse (de
l’alphabet en vert à celui en rouge), on décale dans l’autre sens.
Illustration2

1 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

2 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Ex : du texte chiffré ci-dessous on obtient le message clair correspondant


JSL FLQT HQVHW GRXDOD = GPI CINQ ENSET DOUALA
Les résultats obtenus après les différents processus de chiffrement à la main sont certes
satisfaisants. Mais, Il est plus facile de manipuler des nombres que des lettres, aussi nous
passons à une formulation mathématique. Nous associons à chacune des 26 lettres de A à Z un
nombre de 0 à 25. Le point suivant consiste à nous apporter plus d’informations par rapport à
la mise en œuvre d’un tel processus.
a. Implémentation mathématique

Le chiffrement de César étant un cas particulier de chiffrement mono-alphabétique


(chiffrement lettre à lettre) quel intérêt existe-t-il à le faire correspond à une opération
mathématique ?
L’implémentation mathématique du chiffrement de César, à un principe simple qui
repose sur de l’arithmétique élémentaire et des calculs modulaire, permettant de chiffrer et de
déchiffrer des messages. En associant chaque lettre des vingt-six lettres de l’alphabet, (de A à
Z) avec un nombre (de 0 à 25), on décrit très simplement l'opération de chiffrement d'un
caractère c arpès un décalage n par l'équation suivante : c ≡ n + k [mod 26] pour le
chiffrement du message et k ≡ c - n [mod 26] pour le déchiffrement du message.
Avec n = la clé comprise entre 1 et 25 du chiffre, c’est-à-dire le décalage, k = la lettre à
crypter dans l’alphabet normal, et c = la lettre cryptée dans l’alphabet normal.
 Explications
De manière Basique on peut croire que le chiffre de César équivaut à additionner n et k
afin d’obtenir la position de la nouvelle lettre cryptée. Seulement il est possible que n + k > 26.

4
Dans ce cas-là, il est nécessaire d'appliquer le modulo, qui est en fait le reste de la division
euclidienne. Donc:
- Si c = n + k [mod 26] >= 26, on applique la règle du modulo de telle en sorte que
notre résultat soit de la forme 26≡0, 27≡1, 28≡2, . . . , 52≡0, 53≡1, . . .
- Si c = n + k [mod 26] < 26, on garde le résultat trouvé situé dans l’intervalle {0, 1, 2, 25}.

 Mise en pratique du chiffrement


Soit le tableau ci-dessous
= texte clair 2 = texte chiffré
1

1 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
D E F G H I J K LM N O P Q R S T U V W X Y Z A B C
2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Prenons le décalage de 3 Si nous voulons chiffrer le mot TPE par exemple, cela donne WSH.
Nous pouvons maintenant vérifier ce cryptage avec l’algorithme de César :
Dans ce cas, n = 3, K = 19 pour la lettre T, K = 15 pour la lettre P et K = 4 pour la lettre E.
c ≡ 3 + 19 [mod 26] => c ≡ 22 [mod 26]. On constate que la lettre W est bien à la place 22
dans l’alphabet clair. De même, c ≡ 3 + 15 [mod 26] = > c ≡ 18 [mod 26] (ce qui donne la
lettre S dans le texte clair) et c ≡ 3 + 4 [mod 26]=> c ≡ 7 [mod 26] (ce qui donne la lettre H
dans le texte clair).
Ainsi le chiffrement par substitution mono-alphabétique avec sa principale variante, le chiffre
de César est bel et bien un recours aux mathématiques qui fait intervenir un algorithme.
Preuve de l’importance de ce chiffrement, le chiffre de César a été réutilisé lors de
l’avènement d’Internet pour dissimuler des textes qui ne devaient pas être lus par
inadvertance. De nos jours il est enseigné dans le cours de cryptographie car trop vulnérable
pour continuer à être utilisé sur Internet.

b. Implémentation Informatique : algorithme


L'implémentation du chiffre de César ne comporte aucune difficulté particulière.
L'arithmétique sur les caractères, évite l'utilisation de table de correspondance et rend le code
plus court. L'implémentation suivante, en algorithme, chiffre un caractère seul ou une chaine
complète.

5
 Algorithme de chiffrement via le chiffre de César

 Résultat

L’algorithme ci-dessus représente l’implémentation informatique du chiffrement d’un


message via le chiffre de César. Le résultat obtenu après son exécution est identique à celui
trouvé plus haut dans l’illustration 1, lors de la superposition des alphabets dans le but
d’obtenir le cryptage du message clair en message chiffré.

3. Sécurité
L’algorithme de chiffrement par substitution mono-alphabétique via le chiffre de
César, n'est pas sûr car très vulnérable. On peut le déjouer facilement en effectuant tous les
décalages soit 26 combinaisons possibles, pour retrouver le message clair (attaque par force
brute). Les premières traces d'attaques remontent au IXe siècle par analyse fréquentielle
(analyse consistant à examiner la fréquence des lettres employées dans un message chiffré).

6
a. Version Asymétrique
La version asymétrique de l'algorithme, utilisant une clé publique et une clé privée n'est
pas sûre pour deux raisons : l'opération choisie et la taille du groupe.
• L'opération choisie. La sécurité de ce crypto système est basée sur la difficulté
d'inverser une addition, c'est à dire calculer une soustraction (programme de CP/CE1) dans un
groupe cyclique (programme de Terminale).
• La taille du groupe. Avec seulement 26 éléments, il est très rapide de calculer toutes
les possibilités, même avec une opération bien plus complexe.
Pour rendre cet algorithme plus sûr, il faudrait alors augmenter la taille du groupe et dans
le même temps utiliser une opération plus difficile à inverser. On obtiendrait alors
naturellement des algorithmes modernes comme RSA ou encore El Gamal (protocole de
cryptographie asymétrique inventé par Taher Elgamal en 1984 et construit à partir du
problème du logarithme discret).
b. Version symétrique
Vu la facilité à trouver l'inverse de la clé, on comprend pourquoi cet algorithme a été
utilisé de manière symétrique, les correspondants étant d'accord à priori sur un couple de clés
qu'ils gardent secrètes.
Le problème, cette fois est dû à la taille de la clé et au mode opératoire ECB qui chiffre
toujours les blocs de la même manière.
• La taille des clés. Encore une fois, leur faible nombre permet de tester toutes les clés et
de confronter les résultats avec les informations sur le texte clair (i.e. un dictionnaire).
• Le mode ECB. Qui, en chiffrant les mêmes combinaisons de la même manière,
conserve la structure du texte dans sa version chiffrée et permet des analyse directement sur le
texte chiffré pour la cryptanalyse.
C'est sur ce point que le chiffrement de César a été et reste attaqué. Il est : possible de
retrouver le décalage via la comparaison entre la fréquence d'apparition des lettres dans le
texte chiffré et dans un corpus de référence.

7
III. Présentation de la substitution poly-alphabétique : Cas du chiffre de
Vigenère.
Par définition, la substitution poly-alphabétique consiste à utiliser une suite de chiffres
mono-alphabétiques réutilisée périodiquement. Elle ne fait pas correspondre à une lettre une
seule et autre unique lettre, comme la substitution mono-alphabétique, mais tout au contraire à
plusieurs lettres. Par exemple, un A du texte clair peut être aussi bien associé à un Q qu'à un Z
ou un V. La sécurité est ainsi renforcée. C’est ainsi qu’intervient le chiffre de Vigenère mis en
place pour contrer les faiblesses du chiffre mono-alphabétique.
1. Chiffre de Vigenère
Le chiffre de Vigenère est un système de chiffrement, élaboré par Blaise de Vigenère
(1523-1596), diplomate français du XVIe siècle. Ce chiffrement introduit la notion de clé (elle
se représente sous la forme d’un mot ou d’une phrase). Il a l’avantage d’être un chiffre poly-
alphabétique, c’est à- dire qu’il utilise plusieurs lettres mono-alphabétique lors du
chiffrement. En l’occurrence, l’idée principale est de « superposer » plusieurs alphabets de
César à l’aide d’un mot-clé, et de les utiliser un à un sur chaque lettre. L’élément de base n’est
plus une lettre mais un bloc, c’est-à-dire un regroupement de lettres.
2. Principe
Le chiffre de Vigenère possède des similitudes au chiffre de César, à la différence près
qu'il utilise une clé plus longue afin de pallier le principal problème du chiffre de César:
l’espace des clés est trop petit : il y a seulement 26 clés possibles, et on peut attaquer un
message chiffré en testant toutes les clés à la main. Sans oublier le fait qu'une lettre est codé
d'une seule façon. Pour cela on utilise un mot clé au lieu d'un simple caractère. Pour crypter,
on choisit une clé (mot ou phrase). A chaque lettre du texte clair on fait correspondre une
lettre de la clé (la clé étant répétée autant de fois que nécessaire). La lettre du texte chiffré sera
prise dans la colonne correspondante à la lettre du texte clair, et dans la ligne correspondante à
la lettre de la clé.
Illustration 1 :
message clair 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
clé G P I V G P I V G P I V G P I V G P I V G P I V G P
décalage 6 15 10 24 10 20 14 2 14 24 18 6 18 2 22 10 22 6 0 4 0 10 4 18 10 14
message chiffré G P K Y K U O C O Y S G S C W K W G A E A K E S K O

a. Implémentation mathématique
Le chiffrement de Vigenère utilise une clé composée de lettres. Pour chiffrer, on prend la
première lettre du message et la première lettre de la clé que l'on combine (les lettres ont une

8
valeur de A=0 à Z=25, on prend la somme modulo 26), on note alors la lettre associée au
résultat. Si la longueur de la clé est inférieure à celle du texte, alors on reprend au début de la
clé. Plus la clé est longue, plus le code sera difficile à décrypter.

En posant c le texte chiffré, k le texte clair et n la clé, on peut traduire ceci par la formule
de chiffrement: c = n + k [mod 26].
Pour déchiffrer le message, il suffit de faire l'opération inverse: On prend la ligne
correspondant à la lettre de la clé, et on la suit jusqu'à rencontrer le caractère chiffré ; la lettre
déchiffrée est alors la première de cette colonne. Ce qui se traduit par la formule :
k = c - n [mod 26].
Illustration 2 :
On associe dans un premier temps à chaque lettre de l’alphabet, un chiffre correspondant.

1 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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Ce chiffre consiste à chiffrer un texte avec un mot en ajoutant à chacune de ses lettres, la
lettre d'un autre mot appelé clé. La clé est ajoutée indéfiniment en vis-à-vis avec le texte à
chiffrer, puis le code ASCII de chacune des lettres de la clé est ajouté au texte à crypter.
Par exemple le texte "RENDEZVOUSMARDI" avec la clé BONJOUR sera chiffré de la
manière suivante:

2 R E N D E Z V O U S M A R D I
17 4 13 3 4 25 21 14 20 18 12 0 17 3 8

B O N J O U R
3
1 14 13 9 14 20 17

R+B E+O N+N D+J E+O Z+U V+R O+B U+O S+N M+J A+O R+U D+R I+B
4
17+1 4+14 13+13 3+9 4+14 25+20 21+17 14+1 20+14 18+13 12+9 0+14 17+20 3+17 8+1

5 S S A M S T M P I F V O L U J
18 18 26≡0[26] 12 18 45≡19[26] 38≡12[26] 15 34≡8[26] 31≡5[26] 21 14 37≡11 [26] 20 9

Le résultat obtenu après utilisation du principe du chiffre de Vigenère est le suivant :


RENDEZVOUSMARDI = SSAMSTMPIFVOLUJ.

1 = Alphabet + code ASCII, 2 = texte clair, 3 = clé, 4 = texte chiffré, 5 = résultat texte chiffré

Le déchiffrement du message crypté, consiste à faire l’opération inverse du cryptage


comme nous allons le voir dans l’illustration ci-dessous.

1 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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24925
2 S S A M S T M P I F V O L U J
18 18 0 12 18 19 12 15 8 5 21 14 11 20 9
B O N J O U R
3 1 14 13 9 14 20 17

S-B S-O A-N M-J S-O T-U M-R P-B I-O F-N V-J O-O L-U U-R J-B
4 18-1 18-14 0-13 12-9 18-14 19-20 12-17 15-1 8-14 5-13 21-9 14-14 11-20 20-17 9-1

R E N D E Z V O U S M A R D I
5 17 4 -13≡13[26] 3 4 -1≡25[26] -5≡21[26] 14 -6≡20[26] -8≡18[26] 12 0 -9≡17[26] 3 8

Le résultat obtenu après chiffrement inverse est le suivant :


SSAMSTMPIFVOLUJ = RENDEZVOUSMARDI.

c. Implémentation Informatique : algorithme

L’implémentation en langage informatique du chiffrement par code de Vigenère à cette


importance qu’elle permet un gain en rapidité, car elle évite ainsi d’utiliser la très longue table
de « Vigenère »; table de 26 alphabets de substitution.
 Algorithme de chiffrement via le chiffre de Vigenère

 Résultat

10
Le résultat de l’algorithme après exécution donne le même résultat que celui vu à
l’illustration 2.

3. Sécurité
Dans un contexte sécuritaire incluant le chiffrement par chiffre de Vigenère, il a été
prouvé mathématiquement que ce chiffre est « solide » sous certaines conditions : la clé doit
être de la taille du message à chiffrer, unique, et elle se doit aussi d’être générée
aléatoirement. Pour des raisons pratiques, on ne l’utilise pas aujourd’hui : la taille de la clé
deviendrait trop importante et, surtout, il est impossible de reproduire un phénomène
purement aléatoire informatiquement (ce genre de phénomène n’existant que dans la nature).

a. Version Asymétrique
La version asymétrique de l'algorithme, utilisant une clé publique et une clé privée
démontre que, le chiffre de Vigenère, s'il est combiné avec une transposition (par exemple par
grille), devient assez difficile pour la cryptanalyse. La méthode du « carré de Vigenère »,
utilisée avec une clé générée aléatoirement, aussi longue que le message et qu'on n'utilisera
qu'une seule fois, est une méthode absolument sûre : il a été démontré par Shannon, en 1949,
que personne ne peut user de la cryptanalyse dans ce sens.
La cryptanalyse consiste donc à relever tous les groupements de lettres identiques dans
le texte chiffré et de compter les intervalles entre ces groupements. Il faut ensuite trouver le
facteur commun à tous ces intervalles et la longueur de la clé est trouvée.
La seconde étape consiste à trouver la nature de cette clé responsable du chiffrement. Pour
cela, on divise le texte chiffré du nombre de lettres que compose la clé (nous appellerons l ce
nombre de lettres pour faciliter l’explication) :
- premier groupe : lettre 1 ; lettre l + 1 ; lettre 2l + 1 ; lettre 3l + 1 …
- deuxième groupe : lettre 2 ; lettre l + 2 ; lettre 2l + 2 …
- … et ainsi de suite pour les l groupes.

11
Il ne reste plus qu’à appliquer une analyse des fréquences à chaque groupe de lettre, de
décaler l’alphabet pour que les diagrammes se superposent, et de prendre la première lettre,
qui sera, en fonction du groupe, la première, la deuxième etc… lettre de la clé recherchée.
Etant en possession de cette clé, il suffit de prendre le tableau de Vigenère « à l’envers » et de
reconstituer le message au préalablement codé.

Cette méthode n’est pas la seule pour venir à bout du chiffre de Vigenère. Il existe
également la méthode de l’indice de coïncidence, élaborée au début du XXème siècle par
William Friedman, certes plus complexe, mais qui n’en est pas moins plus efficace.
Pendant de nombreuses années, le chiffre de Vigenère est demeuré incompréhensible pour la
plupart des casseurs, mais son énigme reste désormais un très lointain souvenir.
b. Version symétrique
Le chiffrement de Vigenère est un crypto-système symétrique à la base, ce qui signifie
qu'il utilise la même clé pour le chiffrement et le déchiffrement. Le chiffrement de Vigenère
ressemble beaucoup au chiffrement de César, à la différence près qu'il utilise une clé plus
longue afin de pallier le principal problème du chiffrement de César: le fait qu'une lettre
puisse être chiffrée d'une seule façon. Pour cela on utilise un mot clé au lieu d'un simple
caractère. On associe dans un premier temps à chaque lettre un chiffre correspondant. Ce type
de chiffrement, dans lequel même celui qui connaît la méthode de chiffrement ne peut pas
décrypter le message secret s'il ignore la clé, est encore utilisé aujourd'hui. C'est ce qu'on
appelle un chiffrement à clé symétrique, car la même clé sert au chiffrement et au
déchiffrement. Le code d'ENIGMA est de ce type, mais le changement de substitution d'une
lettre à l'autre est régi par un système plus complexe. Les codes DES ou AES utilisés par les
banques et pour les échanges commerciaux ou électroniques, sont de même nature : la
méthode peut être connue de tous, la clé doit rester secrète.
Ce crypto-système ne sera « cassé » qu'au XIXe siècle. L'idée de la cryptanalyse est
pourtant relativement simple. Chaque lettre est codée par un décalage différent (analogue au
« code de César »), déterminé par la lettre utilisée dans la clef. Comme la clef possède une
longueur finie, en général assez petite (ici 5), une fois cette longueur dé terminée, (par
exemple par tâtonnement) on est ramené à la cryptanalyse par décalage pour les lettres
placées en position 1, 6, 11, 16, etc. ce qui est facile. De même pour les lettres placées en
position 2, 7, 12, 17, etc.

12
CONCLUSION
Au sortir de cet exposé qui nous a permis de comprendre et d’implémenter les concepts
sur le chiffrement alphabétique via les chiffres de César et de Vigenère, nous pouvons dire
que, les cryptographes n’ont cessé de redoubler d’ingéniosité à travers les âges afin de
trouver des moyens de plus en plus efficaces pour sécuriser le plus surement possible
la transmission d’informations entre les différentes parties. Ce qui avant n’était
considéré que comme un art est aujourd’hui une science primordiale pour de nombreux
domaines notamment l’informatique où la transmission des données se doit d’être
hautement sécurisée. C’est dans ce sens que, la cryptographie ne cesse d’évoluer et des
voies de plus en plus complexes sont explorées. L'utilisation de la cryptographie
encourage à penser vite, à être astucieux. Ce n'est finalement qu'un perpétuel combat entre
cryptographes et cryptanalistes.

13
BIBLIOGRAPHIE et WEBOGRAPHIE
1. Bibliographie
- Analyse statistique de la langue française et déchiffrement des premiers codes secrets -
Elliot Sisteron À l’attention de Mr. Canu EC M8 – 2013
- Principes et Algorithmes de Cryptographie - Univ. Lille 1 - Master Info 2012-2013

2. Webographie
- Chiffrement par substitution – www.wikipédia.com
- Cryptologie et sécurité des systèmes - www.bachosdesign.com/fr/cryptographie2.html.
- Exemples de programmes - http://maths.ac-noumea.nc/spip.php?article295

Vous aimerez peut-être aussi