Fichier PDF

Partage, hébergement, conversion et archivage facile de documents au format PDF

Partager un fichier Mes fichiers Convertir un fichier Boite à outils PDF Recherche PDF Aide Contact



TPE cryptologie .pdf



Nom original: TPE cryptologie.pdf
Titre: Pouvons-nous sécuriser une information à l’aide du chiffre de Vigenère sans perte de bits
Auteur: Region Alsace

Ce document au format PDF 1.5 a été généré par Microsoft® Word 2010, et a été envoyé sur fichier-pdf.fr le 01/08/2012 à 23:23, depuis l'adresse IP 82.242.x.x. La présente page de téléchargement du fichier a été vue 2042 fois.
Taille du document: 1.2 Mo (34 pages).
Confidentialité: fichier public




Télécharger le fichier (PDF)









Aperçu du document


INTRODUCTION :

La cryptologie qu’est-ce que c’est ?
C’est la science du secret : C’est « l’art » de crypter et de décrypter les messages afin de
les rendre inaccessibles à autrui, excepté au destinataire.
Elle est utilisée depuis l’antiquité pour assurer des communications confidentielles.
Les cryptologues, autrefois vus comme des gens louches, espions au mieux, sorciers au
pire, sont aujourd’hui au centre de notre société. Rendu indispensable par la diversification du
transport de l'information (via Internet par exemple), les cryptologues cherchent sans relâche de
nouveaux algorithmes de cryptage pour rendre impossible la cryptanalyse.
De nombreux scientifiques se sont ainsi succédés laissant, derrière eux, des centaines de
principes de chiffrement.
Comment s’en sortir face à tous ces codes de cryptage ? Quels codes choisir pour avoir le niveau
de sécurité le plus élevé ?
La comparaison et l’étude de code de cryptage permettent-elles de mettre en place une
échelle de sécurité ? Si oui quelles en sont les caractéristiques ?
C’est à ces questions que tentera de répondre notre TPE : en étudiant le chiffre de César
et celui de Vigenère

1

Définitions / Rappels
Le mot cryptographie est un terme générique désignant l'ensemble des techniques
permettant de chiffrer des messages, c'est-à-dire permettant de les rendre incompréhensibles sans
une action spécifique. Le verbe crypter est parfois utilisé mais nous retiendrons le verbe chiffrer.
Certains algorithmes utilisent des clés de cryptage ou de décryptage : une clé est une
donnée qui (traitée par un algorithme) permet de chiffrer et de déchiffrer un message.
La cryptanalyse est l’opposé de la cryptographie : elle désigne l’ensemble des techniques
permettant de déchiffrer un message sans pour autant connaître la technique (ou algorithme) de
chiffrement.
La cryptologie est le terme rassemblant la cryptographie et la cryptanalyse.

2

Il existe différents types de chiffrement :
 Chiffrement par transposition : un chiffrement par transposition (ou chiffrement par
permutation) est un chiffre qui consiste à changer l'ordre des lettres, donc à construire des
anagrammes.



Chiffrement par substitution : avec un chiffrement par substitution, les lettres du message
sont remplacées par des symboles déterminés (autres lettres, nombres, signes, etc.).

Durant notre TPE nous nous intéresserons qu’au chiffrement par substitution, la transposition
étant trop faible face à la puissance de l’informatique.

3

SOMMAIRE

1. ETUDE DU CHIFFRE DE CESAR ...................................................... 6

1.1

CHIFFREMENT

: ......................................................................................................... 7

1.2

DECHIFFREMENT

1.3

CRYPTANALYSE

:..................................................................................................... 8

1.3.1 Analyse fréquentielle des lettres :................................................................. 9
1.3.2 L’attaque par force brute ........................................................................... 11
1.4 CONCLUSION DU CHIFFRE DE CESAR ...................................................................... 12

2. ETUDE DU CHIFFRE DE VIGENERE OU CARRE DE VIGENERE ....... 13
2.1 PRESENTATION ....................................................................................................... 13
2.2 CHIFFREMENT : ...................................................................................................... 13
2.3 DECHIFFREMENT : .................................................................................................. 15
2.3.1 Principe Mathématique : ............................................................................... 15
2.4 CRYPTANALYSE : ................................................................................................... 15
2.4.1 La méthode de Kasiski ................................................................................... 15
2.4.2 La méthode de l’indice de coïncidence .......................................................... 18
2.5 CONCLUSION SUR LE CHIFFRE DE VIGENERE

4

3. MISE AU POINT D’UNE ECHELLE DE SECURITE............................ 21
3.1 Récapitulatif et nouveau code
3.2 Caractéristique
3.3 Exemple

4. EXPERIMENTATION………………………………………………...24

5

1. Etude du chiffre de César

Le chiffre de César (ou chiffrement par décalage) est considéré comme étant la méthode de
cryptographie la plus ancienne. Son nom est dû à son probable inventeur et utilisateur, Jules
César.
Ce code de cryptage consiste en une substitution mono-alphabétique où la substitution est
définie par un décalage de lettres.

Définition :
Substitution mono-alphabétique :
Fait de remplacer chaque lettre du message clair par une autre lettre de l’alphabet, qui dans le
message chiffré sera toujours la même.
Si dans un texte une même lettre apparaît plusieurs fois, sa lettre chiffrée ne sera pas modifiée.
Exemple :
Texte clair : JE LEVAI LES YEUX VERS LE SOLEIL IL ETAIT BAS.
Texte chiffré : MH OHYDL OHV BHXA YHUV OH VROHLO LO HWDLW EDV.
Dans notre exemple les « E » sont toujours remplacés par des « H ».

6

1.1

Chiffrement :

Ce système de cryptage consiste à remplacer chaque lettre du texte clair, par une lettre
différente située à n lettres de celle initiale par rapport à l’alphabet : n étant la valeur de la clé.
Si l’on considère que chaque lettre de l’alphabet est numérotée de 0 à 25 (A=0, B=1, Z=25 etc.),
cela revient alors à additionner la valeur de la lettre avec la valeur n de la clé.

y = (x + n) modulo 26
D’après Suétone, César utilisait un décalage de 3. La valeur de la clé n valait donc 3.
Prenons comme César une clé telle que n = 3.
Texte clair : HEUREUX QUI COMME ULYSSE A FAIT UN BEAU VOYAGE
Texte chiffré : KHXUHXA TXL FRPPH XOBVVH D IDLW XQ EHDX YRBDJH
On ajoute 3 unités à la valeur de la lettre H, qui vaut initialement 7. Le résultat de cette addition
correspondra à la valeur de la lettre chiffrée :
Valeur de la lettre chiffré = (7 + 3) = 10. Or la lettre qui a pour valeur 10 est K

Une difficulté se pose lorsque la somme de la valeur de la clé et celle de la lettre « claire » est
supérieure à 25. On utilise pour cela le modulo 26
Pour la lettre « Y » avec une clé de 3 par exemple, la somme vaudra 27 ce qui est supérieur à 25
et qui ne correspond à aucune lettre. Dans ce cas on soustrait la somme au nombre 25 modulo 26
revient à faire 27 - 25 = 2. Or la lettre qui a pour valeur 2 est B (si l’on se place dans la
configuration A=0, B=1 etc.).
Toutefois, on effectue cette soustraction, si, et seulement si la somme obtenue en additionnant la
valeur de la lettre à celle de la clé est supérieur à 25.
Ci-dessous se trouve un tableau représentant les lettres claires et les lettres chiffrées qui leur
correspondent en utilisant une clé de 3, comme le faisait César :

Texte
Clair
Texte
crypté

A B C D E F G H I
D E F G H I

J

J

K L M N O P Q R S T U V W X Y Z

K L M N O P Q R S T U V W X Y Z A B C

7

1.2

Déchiffrement :

Le déchiffrement avec la clé fonctionne sur le même principe que le chiffrement. Il suffit
de prendre la lettre située n lettres avant celle chiffrée.
Dans cet exemple, on note x la valeur de la lettre chiffrée, n la valeur de la clé et y la
valeur de la lettre déchiffrée.
Du point de vue mathématique, on a donc l’expression suivante :

y = (x - n) modulo 26
Exemple :
GHPDLQ, GHV O'DXEH, D O'KHXUH RX EODQFKLW OD FDPSDJQH
DEMAIN, DES L'AUBE, A L'HEURE OU BLANCHIT LA CAMPAGNE
Dans notre cas, on a utilisé une clé de 3. Le déchiffrement peut s’effectuer de la manière
suivante :

y = (x - n)
y = (6 - 3)
y=3

modulo 26
modulo 26

La lettre ayant pour valeur 3 est le D.

8

1.3

Cyptanalyse :

Lorsque l’on résout un algorithme de cryptage, on dit que l’on « casse » le chiffrement. La
cryptanalyse est l’ « art » de déchiffrer un message sans en connaître la clé de chiffrement.
C’est aussi une des deux branches qui constitue la cryptologie, avec la cryptographie.
Pour casser le chiffre de César, il existe plusieurs méthodes différentes. Nous allons à présent
nous intéresser à deux de celles-ci :
-

L’analyse fréquentielle des lettres
L’attaque par force brute, ou recherche exhaustive des clefs

1.3.1 Analyse fréquentielle des lettres :
L’analyse fréquentielle ou analyse des fréquences est une méthode de cryptanalyse découverte au
IXème siècle par Al-Kindi. Elle consiste à examiner la fréquence d’apparition des lettres utilisées
dans un message chiffré, et à les comparer aux statistiques d’apparition des lettres en Français.
Cette méthode est très fréquemment utilisée pour déchiffrer les messages chiffrés par
substitution mono-alphabétique. Celle-ci est basée sur le fait que, dans chaque langue, certaines
lettres ou combinaisons de lettres apparaissent avec une certaine fréquence. Par exemple dans la
langue française, le « e » est la lettre la plus utilisée. A l’inverse la lettre « k » est celle qui est la
moins usitée.
Histogramme de la fréquence d’apparition des lettres par ordre alphabétique :

9

Histogramme de la fréquence d’apparition des lettres par ordre décroissant :

Ci-dessous se trouve le tableau regroupant les fréquences d’apparition des lettres en Français.

Application de l’analyse fréquentielle :

STZX XTRRJX FHYZJQQJRJSY JS YWFNS IJ YJXYJW Q’FSFQDXJ KWJVZJSYNJQQJ.
Dans ce texte la lettre ayant la fréquence d’apparition la plus forte est le « J », en effet elle apparaît
13 fois. On regarde ensuite dans le tableau ci-dessus la lettre apparaissant le plus de fois. On
remarque que c’est la lettre « E ». On suppose donc que les « E » une fois chiffrés deviennent des
« J », ce qui signifierait que la clé utilisée était une clé de 5. Une fois que l’on a découvert une clé
probable il suffit d’effectuer un déchiffrement normal avec une clef de 5, et de tester le résultat
obtenu pour tout le message :
NOUS SOMMES ACTUELLEMENT EN TRAIN DE TESTER L'ANALYSE FREQUENTIELLE.
A noter : Il ne faut pas oublier que l’analyse fréquentielle n’est réellement efficace uniquement avec
des textes assez longs, avec de courts textes, la fréquence d’apparition des lettres n’est pas toujours
respectée.

10

1.3.2.1

L’attaque par force brute

L’attaque par force brute ou recherche exhaustive des clés est également une méthode utilisée en
cryptanalyse afin de « casser » un code de cryptage. Cette méthode consiste à tester, une à une,
toutes les combinaisons possibles.
Si le mot de passe ou la clé contient N caractères, indépendants (la présence d’un caractère ne va
pas influencer un autre) et uniformément distribués (aucun caractère n’est privilégié), le nombre
maximum d’essais nécessaires vaudra alors :
o 26N si la clé ne contient que des lettres de l’alphabet uniquement en minuscules ou en
majuscules ;
o 52N si la clé ne contient que des lettres de l’alphabet, avec un mélange de minuscules et
de majuscules ;
o 62N si la clé mélange majuscules, minuscules et chiffres.
Dans notre cas, avec le chiffre de César c’est beaucoup plus simple. En effet étant donné qu’il
n’y a que 26 lettres dans l’alphabet, il ne peut y avoir que 25 combinaisons possibles, soit 25
décalages (un décalage de 26 redonnerait le message initial). Il suffit donc d’essayer toutes les
valeurs entières de la clé comprises dans l’intervalle [1 ; 25].

11

1.4

Conclusion du chiffre de César

En conclusion nous pouvons dire que le chiffre de César est un algorithme de chiffrement certes
très simple à mettre en place, mais aussi facilement « cassable ». En effet en se basant sur un
principe de chiffrement mono-alphabétique, le chiffre de César peut être déchiffré de manière
aisée, grâce à une simple analyse fréquentielle ou grâce à une recherche exhaustive des clefs.
Bien qu’il ait été déchiffré très rapidement, ce chiffrement a continué à être utilisé pendant de
nombreux siècles du fait de sa simplicité d’utilisation. Il semblerait que peu voire qu’aucun code
de cryptage, aussi simple à mettre en œuvre que l’étais celui de César, n’ait été mis en place
avant au moins le Moyen-Âge.
Le chiffre de César certes très facilement déchiffrable a tout de même permis d’être utilisé afin
de créer une méthode de chiffrement beaucoup plus complexe, le Chiffre de Vigenère, dont
nous allons nous intéresser par la suite.
D’autres algorithmes de chiffrement ont été établis par la suite, ayant presque le même principe
que le chiffre de César, toujours avec des méthodes de décalages. C’est notamment le cas pour la
Carré de Polybe, le chiffre des Templiers, le chiffre de Hill ou même encore la machine Enigma.

12

2. Etude du chiffre de Vigenère ou carré de Vigenère

2.1

Présentation

Entre le chiffre de César et le XVIe siècle, aucun procédé nouveau de cryptographie
(d'une part sûre pour les moyens de l'époque et d'autre part simple d'utilisation) ne fut mis en
place. Jusqu’au jour où un diplomate français de la Renaissance, Blaise de Vigenère imagina de
faire varier le décalage du chiffre de César en fonction d'une clef. Il s'agit du premier chiffre de
substitution polyalphabétique (c’est-à-dire d’un chiffre ou d’une même lettre d’un texte clair sera
différente une fois cryptée ainsi un A se transformera en G puis en C puis Z)

2.2

Chiffrement :

On utilise une table composée de 26 alphabets, écrits dans l'ordre, mais décalés de ligne
en ligne d'un caractère. On écrit ensuite dans la première ligne et dans la première colonne du
tableau un alphabet complet.

13

Pour coder un message, on choisit une clé qui sera un mot de longueur arbitraire. On écrit
ensuite cette clé sous le message à coder, en la répétant aussi souvent que nécessaire pour que
sous chaque lettre du message à coder, se trouve une lettre de la clé. Pour coder, on regarde dans
le tableau l'intersection de la ligne de la lettre de la clé avec la colonne de la lettre claire.

Exemple : On veut coder le texte "Message Crypté" avec la clé "Cryptage". On commence par
écrire la clef sous le texte à coder :
M

E

S

S

A

G

E

C

R

Y

P

T

E

C

R

Y

P

T

A

G

E

C

R

Y

P

T

Pour coder la lettre M, la clé est donnée par la lettre C. On regarde dans le tableau l'intersection
de la ligne donnée par le C, et de la colonne donnée par le M.

On trouve O. Puis on continue. On trouve : OVQHTGKGTPNIX.

14

2.3 Déchiffrement :
Si on veut déchiffrer ce texte, on regarde pour chaque lettre de la clé répétée la ligne
correspondante et on y cherche la lettre chiffrée. La première lettre de la colonne que l'on trouve
ainsi est la lettre déchiffrée.

2.3.1 Principe Mathématique :

Mathématiquement, on identifie les lettres de l'alphabet de 0 à 25 (A=0, B=1 ...). Les
opérations de chiffrement et de déchiffrement sont, pour chaque lettre, celles du chiffre de César.
En désignant la n-ième lettre du texte clair par Texte[n], la n-ième du chiffré par Chiffré[n], et la
nième lettre de la clé, répétée suffisamment de fois, par Clés[n], elle se formalise par :
Chiffré[n] = (Texte[n] + Clés[n]) modulo 26
Texte[n] = (Chiffré[n] - Clés[n]) modulo 26
où x modulo 26 désigne le reste de la division entière de x par 26. Pour le chiffrement il suffit
d'effectuer l'addition des deux lettres puis de soustraire 26 si le résultat dépasse 26. Pour le
déchiffrement il suffit d'effectuer la soustraction et d'additionner 26 si le résultat est négatif.

2.4 Cryptanalyse
La cryptanalyse du chiffre de Vigenère peut se faire selon deux méthodes :
2.4.1 La méthode de Kasiski

On observe dans un texte crypté par Vigenère une répétition de certaines séquences de
lettres.
L'idée de Kasiski fut d'analyser ces séquences de lettres répétées dans le texte codé :
Si une séquence est répétée dans le message codé avec une distance d, il peut s’agir de la
même séquence de lettres du texte initial, codée avec la même séquence de lettres de la
clé. Par conséquent, si m est la longueur de la clé, pour que les 2 séquences soient codées
avec les mêmes lettres de la clé, il faut que m divise d.
On peut donc prendre pour m le PGCD des distances des séquences répétées.

15

Exemple :
Texte chiffré :
KQOWE
SVLPS
FQHTD
APYME
ECFBD
SKFFS
YGOSA
DGMUC
MVLFM
TNYBU
WTVBU

FVJPU
NCMUE
WXIZA
KQHUI
JQCUS
TNUOC
ANYDO
GOCRU
AOYFN
HTCOC
VGFBI

JUUNU
KQCTE
YGFFN
DUXFP
WVBPN
ZGMDO
EOYJL
WGNMA
TQCUA
WFYTN
JG

KGLME
SWREE
SXCSE
GUYTS
LGOYL
EOYEE
WUNHA
AFFVN
FVFJN
MGYTQ

KJINM
KOYSS
YNCTS
MTFFS
SKMTE
KCPJR
MEBFE
SIUDE
XKLNE
MKBBN

WUXFQ
IWCTU
SPNTU
HNUOC
FVJJT
GPMUR
LXYVL
KQHCE
IWCWO
LGFBT

MKJBG
AXYOT
JNYTG
ZGMRU
WWMFM
SKHFR
WNOJN
UCPFC
DCCUL
WOJFT

WRLFN
APXPL
GWZGR
WEYTR
WPNME
SEIUE
SIOFR
MPVSU
WRIFT
WGNTE

FGHUD
WPNTC
WUUNE
GKMEE
MTMHR
VGOYC
WUCCE
DGAVE
WGMUS
JKNEE

WUUMB
GOJBG
JUUQE
DCTVR
SPXFS
WXIZA
SWKVI
MNYMA
WOVMA
DCLDH

Il faut d'abord chercher des séquences de lettres qui apparaissent plus d'une fois dans le texte.
Longueurs de la clef possible
séquence répétée

Espace de répétition

2

WUU

95

EEK

200

x

x

WXIZAYG

190

x

x

NUOCZGM

80

x

DOEOY

45

GMU

90

x

3

5

19

x

x
x

x
x

x

x

x

Les facteurs premiers du nombre de caractères entre deux débuts de séquences figurent dans le
tableau (ex. 95 = 5 x 19). Il apparaît dans le tableau que le PGCD des périodes est 5. Tout se
cale parfaitement sur un mot-clef de 5 lettres.
Il va falloir découvrir les lettres de la clé : L1-L2-L3-L4-L5. L1 représente donc la 1ère lettre de
la clé.
Nous savons que la ligne du carré de Vigenère, définie par L1, commande l'alphabet chiffré pour
la 1ère, la 6ème, la 11ème ... lettre du message. En regardant la 1ère, la 6ème , la 11ème ... lettres du
texte chiffré on peut utiliser l'analyse des fréquences.
On trace un graphique montrant la distribution des lettres qui apparaissent à la 1ère, la 6ème, la
11ème ... places dans le texte chiffré KQOWEFVJPUJUUNUKG ... , soit K, F, J, ...

16

La répétition ci-dessus (en rouge) présente des traits communs avec celle de l'alphabet
courant (en bleu) décalée de 18 crans. Le pic bleu le plus important se trouve sur le E et le pic
rouge sur le W.
En superposant les deux graphiques pour qu'ils aient la même silhouette générale, nous
constatons que la 1ère lettre du mot clef L1 est S.

L1
S

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
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

Clé complète
On recommence la même démarche pour identifier les autres lettres du mot-clef. On trouve pour
chaque lettre L2, L3, L4 et L5 :
L2

A B C D E F G H I

C

C D E F G H I

L3

A B C D E F G H I

U

U V W X Y Z A B C D E F G H I

L4

A B C D E F G H I

J

B

B C D E F G H I

K L M N O P Q R S T U V W X Y Z A

L5

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

A

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

J

J

K L M N O P Q R S T U V W X Y Z

K L M N O P Q R S T U V W X Y Z A B

J

J

K L M N O P Q R S T U V W X Y Z
J

K L M N O P Q R S T

K L M N O P Q R S T U V W X Y Z

Le mot-clef est: S C U B A

17

Texte clair:
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.

2.4.2 La méthode de l’indice de coïncidence
L'indice de Coïncidence (IC) est la probabilité que deux lettres choisies aléatoirement
dans un texte soient identiques. Il fut inventé par William Friedman et publié en 1920, dans
l'article
"The Index of Coïncidence and its Applications in Cryptography", Riverbank Publications
Number 22.
Principe mathématique :


Soit n le nombre total de lettre dans un texte



Soit na, b, c, d,… le nombre de a, b, c, d… dans le même texte

La probabilité de trouver un a est de
La probabilité de trouver un deuxième a est de
La probabilité de trouver une paire de a est de
Il suffit par la suite de faire la même opération pour les autres lettres, ce qui nous donne :

Dans une langue usuelle, les lettres n'apparaissent pas toutes avec la même fréquence.
C'est pourquoi l'indice de coïncidence d'un texte écrit en français (=IF) est très supérieur à
l'indice de coïncidence d'un texte aléatoire (=IA) où les lettres ont une fréquence d'apparition
identiques. Ainsi une analyse statistique sur de nombreux textes a donné IF=0,074, tandis que
IA=0,038 (=1/26)

18

Cryptanalyse :
On suppose donc qu'un texte français de n lettres est codé avec une clé de k lettres, étant très
grand par rapport à k. On cherche à exprimer la valeur théorique de l'indice de coïncidence du
texte codé (=IC). Les paires de 2 lettres du texte peuvent être partagées en 2 groupes :


Soit elles sont codées avec la même lettre de la clé ;



Soit elles sont codées avec une lettre différente.

On cherche dans un premier temps le nombre de paire possible dans un texte :
=
Si elles sont codées avec la même lettre de la clé, il y a :

=
=
=

paires possibles

 Si elles sont codées avec une lettre différente, il y a :
=
=
=
=
=
=

paires possibles

On peut donc espérer que le nombre de paires de 2 lettres identiques du texte sera :

19

Comme il y a

paires de deux lettres dans le texte, l'indice de coïncidence probable du texte

est :

Ce qui donnera une fois inversée :

Une fois la longueur de la clé trouvée, on applique l’analyse des fréquences (voir test de Kasiski)
Remarque :
Ces méthodes ne peuvent être réellement efficaces qu’en présence d’un texte long et lorsque la
longueur de la clé est très inférieure à la longueur du texte.

20

2.4 CONCLUSION SUR LE CHIFFRE DE VIGENERE

Nous avons donc vu que le chiffre de Vigenère était un chiffre complexe et pour cause, il resta
plus de 3 siècles sans que sa cryptanalyse ne soit découverte.

De plus, il existe une amélioration du chiffre de Vigenère, connu sous le nom de Masque
jetable :
Théoriquement incassable, il consiste à combiner le message en clair avec une clé
présentant des caractéristiques très particulières :

-La clé doit être une suite de caractères au moins aussi longue que le message à chiffrer.
-Les caractères composant la clé doivent être choisis de façon totalement aléatoire.
-Chaque clé, ou « masque », ne doit être utilisée qu'une seule fois (d'où le nom de masque
jetable).

Exemple de codage à Masque Jetable

21

3. Mise au point d’une échelle de sécurité

3.1 Récapitulatif et nouveau code
Nous avons donc vue que le chiffre de Vigenère était beaucoup plus complexe à casser que
celui de César et que certaines améliorations (le masque jetable) le rendait incassable, mais la sécurité
d’un chiffre ne s’arrête pas à cette caractéristique. En effet, la transmission de la clé doit elle aussi être
sécurisé (une personne quelconque est en mesure de décrypter un code aussi compliqué soit-il s’il est
en possession de la clé) : c’est ainsi que d’autre principe de chiffrement sont apparue comme les
chiffrements asymétrique:
La cryptographie asymétrique, ou cryptographie à clé publique, est une méthode de chiffrement
qui s'oppose à la cryptographie symétrique. Elle repose sur l'utilisation d'une clé publique (qui est
diffusée) et d'une clé privée (gardée secrète), l'une permettant de coder le message et l'autre de le
décoder. Ainsi, l'expéditeur peut utiliser la clé publique du destinataire pour coder un message que seul
le destinataire (en possession de la clé privée) peut décoder, garantissant la confidentialité du contenu.
Inversement, l'expéditeur peut utiliser sa propre clé privée pour coder un message que le destinataire
peut décoder avec la clé publique ; c'est le mécanisme utilisé par la signature numérique pour
authentifier l'auteur d'un message.
[Le chiffrement RSA :
-Rivest Shamir Adleman (presque toujours abrégé en RSA) est un algorithme de cryptographie
asymétrique, très utilisé dans le commerce électronique, et plus généralement pour échanger des
données confidentielles sur Internet.]

3.2 Caractéristique

22

Pour évaluer un code, il faut donc s’intéresser à 2 grandes caractéristiques :
- Sa cryptanalyse :
* type de chiffrement : transposition < mono-alphabétique<poly-alphabétique (certains chiffre
combinent ces différents types pour rendre la cryptanalyse plus complexe)
* méthode de cryptanalyse : mise au point d’une méthode spécifique ? Méthode de
cryptanalyse complexe ou nécessitant un niveau en mathématiques élevé ?
- La transmission de la clé :
*La transmission de la clé est-elle sécurisée ? (Chiffrement asymétrique ?)

3.3 Exemple
César : c’est un chiffre mono-alphabétique dont la cryptanalyse est simple. La transmission de
la clé n’est pas sécurisée.
Vigenère : c’est un chiffre poly-alphabétique dont la cryptanalyse est complexe. La
transmission de la clé n’est pas sécurisée.
Masque Jetable : c’est un chiffre poly-alphabétique dont la cryptanalyse est impossible, par
contre, la transmission de la clé n’est pas sécurisée.
RSA : c’est un chiffre poly-alphabétique dont la cryptanalyse est très complexe, la transmission
de la clé est quant à elle sécurisé puisqu’il s’agit d’un chiffre asymétrique. Cependant la transmission
de la clé n’est pas parfaitement sécurisée puisqu’il faut qu’à un moment ou un autre se mettre d’accord
sur la clé utilisé et donc s’échanger des informations.

Chiffre
César
Vigenère
Masque jetable
RSA

Cryptanalyse
1
7
10
9

Transmission
clé
1
1
1
8

Note /10
1
4
5.5
8.5

Remarque : Le masque jetable à beau être « incassable », ce n’est pourtant pas le code au
niveau de sécurité le plus élevé. La transmission de la clé possède un rôle majeur dans la sécurité
d’un code.

23

4. EXPERIMENTATION

Nous avons simulé par ordinateur les différentes étapes de la transmission d’un message
crypté :
-un microprocesseur va crypter le message souhaité
-le message va ensuite être envoyé à un second microprocesseur qui va le décrypter
Message crypté

Message décrypté

24

Processeur 1 : Se charge de
crypter et d’afficher chaque lettre

Processeur 2: Se charge de décrypter et
d’afficher chaque lettre du message décrypté

du message crypté

25

C’est ici que l’on entre notre message

C’est ici que l’on entre la clé

26

27

Conclusion

En mettant en place une échelle de sécurité, nous avons réussi à comparer les
différents algorithmes de chiffrement.
Nous pouvons résumer de toutes ces recherches que la sécurité d’un chiffre ne
s’arrête pas qu’à la difficulté de sa cryptanalyse, mais aussi à la manière de
transmettre la clé. Nous avons vu que le déchiffrement était beaucoup plus simple
que la cryptanalyse : une personne quelconque est en mesure de décrypter un code
aussi compliqué soit-il s’il est en possession de la clé. (Le masque jetable ou le
chiffre de Vigenère en est un exemple très explicite.)
Ainsi, les cryptologues mettent au point de nouveau chiffrement (le code RSA)
assurant à la fois la difficulté de la cryptanalyse et la sécurité de la transmission de
la clé.
Cependant, pour mettre en place une relation cryptée, un échange clair au
minimum est requis.
La question se pose donc : Peut-on réellement mettre en place une relation
parfaitement sécurisé ?

28

ANNEXE

Algorithme du chiffre de César (cryptage) :

// Chiffrement de césar Cryptage
void main(){
char text[] = "tpe si";
int NrCar;
int cle = 10; // a choisir entre 97 et 122
char car,MaskBit,car2,car3;
Trisc = 0xB8;
PortC= 0;
TRISB = 0;
// PORTB is output
Lcd_Init(&PORTB);
// Initialize LCD connected to PORTB
Lcd_Cmd(Lcd_CLEAR);
// Clear display
Lcd_Cmd(Lcd_CURSOR_OFF); // Turn cursor off
Usart_Init(2400);
while(1){
for(NrCar=0;NrCar<strlen(text);NrCar++){
car2 = text[NrCar];
if( car2 > 122-cle){
car=car2-122+cle+96;
}else{
car=car2+cle;
}
Usart_Write(car); // On envoie la lettre crypté à l'autre
// processeur
Lcd_Chr(1, 1+NrCar, car); // cryptage
PortC.F0=0;
for(MaskBit=0x01;MaskBit>0;MaskBit*=2){
PortC.F2=1;
PortC.F2=0;
if(car & MaskBit){
PortC.f6=1;

29

}else{
PortC.f6=0;
}
delay_us(50);
}
delay_ms(100);
}
Lcd_Cmd(Lcd_CLEAR);
delay_ms(100);

// Clear display

}
}

Algorithme du chiffre de César (décryptage) :
// Chiffrement de césar Décryptage
void main(){
char text[] = "tpe si";
int NrCar;
int cle = 10; // clé à choisir
char car,MaskBit,car2,car3, lettreCrypte, lettreCrypte2;
Trisc = 0xB8;
PortC= 0;
TRISB = 0;
// PORTB en sortie
Lcd_Init(&PORTB);
// Initialisation du PortB
Lcd_Cmd(Lcd_CLEAR);
// Effacement de l'écran
Lcd_Cmd(Lcd_CURSOR_OFF);
Usart_Init(2400);
while(!Usart_Data_Ready()) // On attends notre message crypté
{
}
while(1){
PortC.F1=1;
PortC.F1=0;
for(NrCar=0;NrCar<strlen(text);NrCar++){
// Usart_Read() = lettreCrypte; On récupère chaque lettre
car2 = text[NrCar];
//lettreCrypte = text[NrCar]; On prends le rang de la lettre

30

/* if( lettreCrypte > 122-cle){
lettreCrypte2=car2-122-cle-96;
}else{
lettreCrypte2=car2-cle;
} */
if( car2 > 122-cle){
car=car2-122+cle+96;
}else{
car=car2+cle;
}
Lcd_Chr(1, 1+NrCar, car2); // decryptage
PortC.F0=0;
for(MaskBit=0x01;MaskBit>0;MaskBit*=2){
PortC.F2=1;
PortC.F2=0;
if(car & MaskBit){
PortC.f6=1;
}else{
PortC.f6=0;
}
delay_us(50);
}
delay_ms(100);
}
Lcd_Cmd(Lcd_CLEAR);
delay_ms(100);

// Clear display

}
}

31

Algorithme du chiffre de Vigenère (cryptage) :

char ChiffrementVigenere(char car, int NrCar){
char cle[] = "ABCDEF";
return car + cle[NrCar] - 65;
}
void main(){
char text[] = "TPE SI";
int NrCar;
char car,MaskBit,car2,cleSuivante,car3;

Trisc = 0xB8;
// Orientation du port
PortC= 0;
TRISB = 0;
// PortB en sortie
Lcd_Init(&PORTB);
// Initialisation de l'écran
Lcd_Cmd(Lcd_CLEAR);
// On efface l'écran
Lcd_Cmd(Lcd_CURSOR_OFF); // On désactive le cuseur
Usart_Init(2400);
while(1){

// Boucle infinie

PortC.F1=1;
PortC.F1=0;
for(NrCar=0;NrCar<strlen(text);NrCar++){
car3 = ChiffrementVigenere(text[NrCar],NrCar);
Usart_Write(car3); // On envoie la lettre cryptée
Lcd_Chr(1, NrCar + 1,car3); // cryptage
PortC.F0=0;
for(MaskBit=0x01;MaskBit>0;MaskBit*=2){
PortC.F2=1;
PortC.F2=0;
if(car & MaskBit){
PortC.f6=1;
}else{

32

PortC.f6=0;
}
delay_us(50);
}
delay_ms(100);
}
Lcd_Cmd(Lcd_CLEAR);
delay_ms(100);

// On efface l'écran

}
}

Algorithme du chiffre de Vigenère (décryptage) :
void main(){
char text[7] = "TPE SI";
int NrCar;
char car,MaskBit,car2,cleSuivante,car3, lettreCryptee;

Trisc = 0xB8;
PortC= 0;
TRISB = 0;
// PORTB is output
Lcd_Init(&PORTB);
// Initialize LCD connected to PORTB
Lcd_Cmd(Lcd_CLEAR);
// Clear display
Lcd_Cmd(Lcd_CURSOR_OFF); // Turn cursor off
//Lcd_Out(2, 3, text); // Print text to LCD, 2nd row, 1st column
Usart_Init(2400);
while(!Usart_Data_Ready()){
}
while(1){

PortC.F1=1;
PortC.F1=0;
for(NrCar=0;NrCar<strlen(text);NrCar++){
car2 = text[NrCar];

33

Usart_Read = LettreCryptee;
Lcd_Chr(1,NrCar + 1,car2); // Decryptage
PortC.F0=0;
for(MaskBit=0x01;MaskBit>0;MaskBit*=2){
PortC.F2=1;
PortC.F2=0;
if(car & MaskBit){
PortC.f6=1;
}else{
PortC.f6=0;
}
delay_us(50);
}
delay_ms(100);
}
Lcd_Cmd(Lcd_CLEAR);
delay_ms(100);

// Clear display

}
}

34


Documents similaires


Fichier PDF tpe cryptologie
Fichier PDF probleme cryptographie chiffrement de cesar maths 374
Fichier PDF ch crypto
Fichier PDF chap 2
Fichier PDF cours tp codage cryptanalyse
Fichier PDF enigma1


Sur le même sujet..