Vous êtes sur la page 1sur 31

Cours : Cryptographie et Sécurité Informatique

Chapitre 3. Cryptographie Classique

I. Akharraz
Université Sidi Mohamed Ben Abdellah

ismail.akharraz@usmba.ac.ma
1/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


Sommaire

1. Introduction.

2. Codes à répertoire.

3. Chiffrement par transposition (permutation)

4. Chiffrement par substitution.

5. Chiffre affine.

6. Chiffre polyalphabétique.

7. Conclusion

2/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


1. Introduction.

• Il y avait historiquement deux grandes familles de


codes classiques avec des hybrides :
(1) Les codes à répertoire
(2) Les codes à clefs secrètes qui se subdivisent
en deux familles :
• Les codes de transposition ou de permutation
qui sont des codes par blocs.
• les codes de substitution qui peuvent être
des codes par blocs ou par flots.

• Exemples historiques :
• Scytale à Sparte vers -450, (codes de
permutation).
• Code de Jules César vers -50, (codes de
substitution).
3/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


2. Codes à répertoire.
• Utilisés jusqu'au début du 20ème siècle.

• Consiste à réaliser un dictionaire binaire qui fait


correspondre à chaque mot de la langue utilisée un
autre mot ou symbole.
• Le dictionaire (= code) doit rester secret.

• Nécessite l'envoi de documents volumineux.


Langue utilisée Code Langue utilisée Code
guerre oiseaux tombe du
la 30 sidi abed mois
commence sur dans premier
à 17 la jours
minuit arbres trésor le
30 oiseaux sur 17 arbres −→ la guerre commence à minuit.
le premier jours du mois −→ trésor dans la tombe sidi abed.
4/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


3. Chirement par transposition (permutation)

• Chiffre qui consiste à changer l'ordre des lettres.

• On découpe le texte clair en blocs de taille


identique : on garde le même alphabet et on change la
place des lettres dans un bloc (on les permute).

• Même permutation utilisée sur chacun des blocs.

• Le texte doit être complété (si nécessaire) pour


permettre ce découpage.

• La clef de chiffrement est la permutation elle-même.

5/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


3. Chirement par transposition (permutation)

• Nombre de permutations possibles est le factorielle


de la taille du bloc.

• Avec des blocs de grande taille il est trés


difficile de retrouver le texte original sans
connaître la permutation, et sans aucune connaissance
sur le texte clair.

• Blocs de 20 caractères : 20! = 2 432 902 008 176 640 000


combinaisons.

6/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


3. Chirement par transposition (permutation)
Exemple : Transposition rectangulaire On écrit le
message dans une grille rectangulaire et on arrange
les colonnes de cette grille selon un ordre défini par
un mot secret(clé).
• Principe utilisé dans la scytale des spartiates et
aussi dans les célèbres DES et AES actuelles.
• On veut envoyer le message suivant : la guerre
commence à minuit.
• L'expéditeur (A) et le destinataire (B) du message
se mettent d'accord sur une grille de largeur fixée à
l'avance. l a  g u e
r r e  c o
• Grille de largeur 6 : m m e n c e
 à  m i n
u i t   
7/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


3. Chirement par transposition (permutation).

• A lit le texte par colonne et envoi à B le message:

lrmuarmàieetgnmuccieoen

• Pour décrypter il suffit de diviser le texte en 6


blocs et de le transposer en matrice : un bloc = une
colonne.

• On peut augmenter le secret de ce code en ajoutant


une clé secrète : l'ordre de lecture des colonnes.

Exemple : A et B choisissent VOYAGE pour clé secrète.


On numérote les colonnes en fonction du rang des
lettres du mot VOYAGE dans l'alphabet.

8/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


3. Chirement par transposition (permutation).

Fonction mathématique du chiffre par transposition :

Pour un message X de longueur n dont les lettres sont


x1 , x2 , ..., xn ; on a :
C (X ) = (xπ(1) , xπ(2) , ..., xπ(n) )
C (Y ) = (yπ− (1) , yπ− (2) , ..., yπ− (n) )
1 1 1

Cryptanalyse du chiffre par transposition :

• Un chiffrement par transposition ne résiste pas à


une attaque à texte clair connu (un couple
clair-chiffré de la taille de la permutation utilisée
donne immédiatement celle-ci).

9/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.

Dénition
Chaque lettre du langage utilisé est remplacée par un ou plusieurs
symboles d'un nouvel alphabet suivant un algorithme précis.
• Si le symbole de substitution est xe : Chire mono-alphabétique.
• Si le symbole de substitution change : Chire poly-alphabétique.

Chiffre mono-alphabétique :

• Chaque lettre est remplacée par une autre lettre ou


symbole. Parmi les plus connus :
• Le chiffre de César,
• Le chiffre affine,
• Les chiffres désordonnés.

10/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.
Chiffre de Jules César :

• Pour coder on remplace chaque lettre par son rang


dans l'alphabet.
A=0, B=1, C=2,D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, ,M=12,
N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V= 21, W=22, X=23, Y=24,
Z=25

• D'après Suetone, Vie des douze Césars, Jules César


pendant la guerre des Gaules avait utilisé le code de
substitution par flot suivant :
lettre codée = lettre claire + 3 modulo 26
Exemple : Le message en clair : RENDEZ VOUS DEMAIN
MIDI VILLETANEUSE devient

UHQGHC YRXV GHPDLQ PLGL YLOOHWDQHXVH


11/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.

Chiffre de Jules César :

• le chiffre de césar se généralise par :


lettre codée = lettre claire + N modulo 26
où N est un entier entre 0 et 25 appelé la clef du
code.
Exemple : Avec la clef N = 7 le texte codé du message
précédent devient :
YLUKLG CVBZ KLTHPU TPKP CPSSLAHULBZLBZL
• Le déchiffrage se fait en utlisant la relation :
lettre claire = lettre codée - N mod 26
• Si on connait l'algorithme utilisé (ici César), la
cryptanalyse par force brute est très facile. En
effet, dans le cas du chiffre de César, seules 25 clés
sont possibles.
12/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.
Cryptanalyse du chiffre de César :
• Une autre démarche de cryptanalyse trés connu du
code de César : Analyse des fréquences des lettres.
• Cette technique est du à al-Kindi (801-873).

• Inventeur de la cryptanalyse dans son ouvrage sur le


déchiffrement des messages cryptographiques où de
nombreux détails concernant les statistiques, la
phonétique, la syntaxe sont rapportés.
13/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.

Cryptanalyse du chiffre de César :

• Al Kindi avait remarqué que les lettres a et l


étaient les plus courantes dans les textes arabes, à
cause notamment de l'article al alors que le j
apparaît dix fois moins souvent.

Exemple : langue Française.


On considère un message codé avec une substitution
monoalphabétique:

JTVMNKKTVLDEVVTLWTWITKTXUTLWJERUTVTWTHDXATLIUNEWV.
JTVIEVWELOWENLVVNOEDJJTVLTPTXYTLWTWUT
SNLITTVQXTVXUJXWEJEWTONKKXLT.

14/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.
Cryptanalyse du chiffre de César :
• Décodage par analyse de fréquence :

• T=E, V=S et A, I, O, U correspondent à D,E, N, X, On


a :

15/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


4. Chirement par substitution.
Cryptanalyse du chiffre de César :
• Sans la découverte d'Al Kindi, la recherche de clés
de manière brutale, aurait pris des milliards
d'années.

• Cette technique ne fonctionne bien que si le message


chiffré est suffisamment long.
• Cette analyse ne fonctionne pas dans des cas le
suivant :
De Zanzibar à la Zambie et au Zaïre, des zones dozone font courir
les zèbres en zigzags zinzins
16/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


5. Chire ane.

• Fonction est affine : x −→ a.x + b (un polynôme de


degré 1).
• Une fonction linéaire est une fonction affine
particulière.
• Idée : utiliser comme fonction de chiffrement une
fonction affine du type :
y = (a.x + b) mod 26,
où a et b sont des constantes, et où x et y sont des
nombres correspondant aux lettres de l'alphabet (A=0,
B=1,...).
• Si a = 1, chiffre de César où b est le décalage (le
k du chiffre de César).

17/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


5. Chire ane.
Chiffre affine.
• Clé du chiffre affine : (k1 , k2 ) où k1 , k2 ∈ [0, 25],
telle que gcd(k1 , 26) = 1.
• Le chiffrement affine donné par :
ci = f (mi ) = k1 ∗ mi + k2 mod 26.

• Le déchiffrement : mi = f −1 (ci ) = k1−1 (ci − k2 )mod 26.


• 312 clés possibles.(12 choix possibles pour k1 et 26
pour k2 ).
Exemple : Soient la clé = (k1 , k2 ) = (3, 11)
Chiffrement : ci = f (mi ) = 3 ∗ mi + 11mod 26.
Déchiffrement :
k1−1 = 3−1 mod 26 = 9, mi = f −1 (ci ) = 9 ∗ (ci − 11)mod 26
'NSA' −→ 13 18 0 −→ 24 13 11 −→ 'YNL'.
18/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


5. Chire ane.
Cryptanalyse du chiffre affine.
• La cryptanalyse du chiffre affine se fait en deux
étapes :
(1) Analyse des fréquences des lettres.
(2) Recherche et résolution des équations.
Exemple.
Soit HGAHY RAEFT GAGRH DGAGM OEHIY RAAOT ZGAGJ GKFDG
AZGSB INNTG KGRHE NNIRG le chiffré d'un texte en
français.
(1) G −→ 12 fois, A −→ 8 fois.
On suppose que le bigramme ES est plus fréquent que
EA:
(2) E −→ G =⇒ f(E) = G et S −→ A =⇒ f(S) = A
Il en découle que : 4 −→ 6 =⇒ f(4) = 6 et 18 −→ 0
=⇒ f(18) = 0.
19/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


5. Chire ane.

• On résout les équations pour que retrouver k1 et k2 .

f (4) = 6, f (18) = 0

4 * k1 + k2 ≡ 6(mod 26)
18 * k1 + k2 ≡ 0(mod 26)

14k1 ≡ −6mod 26

k1 = 7 =⇒ k2 = 4.
• La fct de déchiffrement est : mi = 15 ∗ (ci − 4)mod 26.

HGAHYRAEFTGAGRHDGAGMOEHIYRAAOTZGAGJGKFDGAZGSBINNTGKGRHENNIRG
devient
TESTONSAPRESENTLESEQUATIONSSURDESEXEMPLESDECHIFFREMENTAFFINE

20/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.

• Les chiffres : par permutation, césar et affine


sont monoalphabétique.

• La faiblesse de ces chiffre est qu'une lettre est


remplacée par une même lettre le long du cryptage.
Ceci permet une cryptanalyse facile par analyse de
fréquences.

• Pour améliorer la sécurité on peut faire un code de


monoalphabétique par blocs dans lequel on change de
substitution pour chaque lettre d'un bloc à l'autre.

21/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.

Chiffre de Vigenère (1568)


• Amélioration décisive du chiffre de César.
• Ce chiffre utilise une clef qui définit le décalage
pour chaque lettre du message (A : décalage de 0 cran,
B : 1 cran, C : 2 crans, ..., Z : 25 crans).
Exemple :
• Texte claire : "CHIFFRE DE VIGENERE"
• Clef : "BACHELIER", la clef est répétée plusieurs fois pour
être aussi longue que le texte clair.
Clair C H I F F R E D E V I G E N |E R E
Clé B A C H E L I E R B A C H E |L I E
Décalage 1 0 2 7 4 11 8 4 17 1 0 2 7 4 |118 4
Chiffré D H K M J C M H V W I I L R |P Z I

22/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.

• Le code de Vigenère est dit code par blocs.


• En général :
• On se fixe une longueur de bloc m.
• On découpe le message en blocs de m lettres.
• On chiffre par blocs de m lettres :
la première lettre d'un bloc de m est codée avec un
César de clef n1 , la deuxième avec un César de clef n2
et la meme par un César de clef nm .
Dénition
Soit m > 0 et P = C = K = (ZZ26 )m . Pour la clé
K = (k1 , k2 , ..., km ). Le chirement de Vigenère se dénit par
eK (x1 , x2 , ..., xm ) = (x1 + k1 , x2 + k2 , ..., xm + km )
dK (y1 , y2 , ..., ym ) = (y1 − k1 , y2 − k2 , ..., ym − km )

23/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.

Exemple.
jadoree couterl aradiot outelaj ournee
+ MUSIQUE MUSIQUE MUSIQUE MUSIQUE MUSIQU
= VUVWHYI OIMBULP MLSLYIX AOLMBUN AOJVUY

• Force du chiffre de Vigenère : la même lettre


chiffrée de différentes manières = perte de la
fréquence des lettres.

• Très sûr pendant 4 siècles. Ils ont été


cryptanalysés officieellement par Charles Babbage et
Friedrich Wilhelm Kasiski au 19me siècle.

24/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.
Chiffrement de Hill.

• Ce cryptosystème généralise celui de Vigénère. Il a


été publié par L. S. Hill en 1929.
• On choisit un alphabet de n lettres (n = 26, dans
nos exemples ) et une taille m pour les blocs, par
exemple m = 2. Alors P = E = (ZZ /26ZZ )2 .
• La clef de codage est une matrice inversible
K2 ∈ GLm (ZZ /26ZZ ), si m = 2
 
a b
K= ∈ GL2 (ZZ /26ZZ )
c d
• Si (x1 , x2 ) ∈ (ZZ /26ZZ )2 est le message clair alors le
codé sera:
25/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.

 
a b
(y1 , y2 ) = eK ((x1 , x2 )) = (x1 , x2 ) = (ax1 +cx2 , bx1 +dx2 )
c d

• La clé de déchiffrage est la matrice inverse de K


dans GLm (Z /26Z ).
• Par exemple avec m = 2 et

11 8 7 18
   
−1
K= ona K =
3 7 23 11
• Le cryptosystème de Hill succombe facilement aux
attaques à texte clair choisi.

26/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.
• La théorie de l'information due à Claude Shannon
permet de définir un code à confidentialité parfaite.
Dénition
Un système cryptographique probabilisé (P, C, K, E, D) assure une
condentialité parfaite si Pr[x|y] = Pr[x] pour tout x 2 P et tout y 2
C, c'est à dire si la probabilité à posteriori que le texte clair soit x
sachant que le texte chiré est y est égale à la probabilité à priori
que le texte clair soit x.

• Il s'agit de codes tels qu'un message chiffré ne


permet de retrouver ni la clé secrète ni le message
clair en un temps humainement raisonnable
• De tels codes existent, ce sont les codes de Vernam
ou codes à masques jetables, (1917).

27/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.

• Les codes de Vernam reposent sur la fabrication de


clefs 'au hasard' aussi longues que le texte à coder
et qui ne servent qu'une fois.
• La mise en oeuvre de ces codes est lourde et
délicate.
• La fabrication de clefs 'au hasard' est un problème
très difficile et mal résolu.
• Le stockage et la transmission de ces clés posent un
problème de sécurité.
• Ils sont rarement utilisés.

28/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.
Principe du code de Vernam
• On tranforme le texte en une suite de chires en base b (souvent
b = 2).
• On fabrique ensuite une suite aléatoire de chires de même
longueur (la clé)
• On ajoute les deux suites ainsi obtenues sans retenue, c.à.d. que
l'on fait le calcul chire à chire modulo b.
Exemple
On transforme les lettres de l'alphabet en nombres de
1 à 26 (b = 26).
lettre codée =lettre claire + lettre de la clé mod 26
• On code le message CHIENS qui comporte 6 lettres
avec la clef KZUTEG :
CHIENS + KZUTEG = NHDYSZ

29/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


6. Chire polyalphabétique.
• On constate que si l'on avait envoyé le message
CERISE avec la clé KCNPZC on aurait obtenu :
CERISE + KCNPZC = NHDYSZ
• Il est donc impossible de remonter au texte clair si
on change de clé aléatoirement à chaque fois.
Théorème - shannon, 1949
Le chirement de Vernam est un chirement de Vingenère
inconditionnelement sûr si et seulement si, la clef :
• est aussi longue que le message.
• n'est utilisée qu'une seule fois.
• est purement aléatoire.
• Problème : communiquer les clefs et trouver un
algorithme de génération de clef commun aux deux
partenaires.
30/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique


7. Conclusion.
• Le système mis au point par Vernam, bien
qu'apportant une sécurité optimale, est très peu
d'usage dans le monde civil, et est surtout réservé à
des organismes possédant des moyens importants.

• En effet, générer des clés gigantesques (puisqu'au


moins de la taille de l'ensemble des messages à
envoyer) nécessite une grande puissance de calcul.

• Transporter de telles clés, dont le secret doit être


maintenu à tout prix, n'est pas chose aisée : tout le
monde ne dispose pas de la valise diplomatique...

• Il a donc fallu trouver une alternative plus


pratique et moins coûteuse, qui sera décrite dans le
chapitre suivant, les schémas de Feistel.
31/31

I. Akharraz Université Sidi Mohamed Ben Abdellah Chapitre 3. Cryptographie Classique

Vous aimerez peut-être aussi