Ecole Supérieure des Sciences et de Technologie
Hammam Sousse
Cours de Sécurité Informatique
Sonia GAIED
sonia_f_g@yahoo.fr
3ème année SI 2019/2020
Transposition
2
Transposition
• „Consiste à changer l'ordre des lettres „
• Pour de très brefs messages : méthode est peu sûre car il y
a peu de variantes „
– Exp : COL 3! = 6
• Lorsque le nombre de lettres croît : impossible de
retrouver le texte original sans connaître le procédé de
brouillage. „
• Par exemple, une phrase de 35 lettres peut être disposée
de 35! = 1040 manières „
• Nécessite un procédé rigoureux convenu auparavant entre
les parties. „ 3
Transposition
exemple „:
• Une transposition rectangulaire consiste à écrire le message
dans une grille rectangulaire, puis à arranger les colonnes de
cette grille selon un mot de passe donné (le rang des lettres
dans l'alphabet donne l'agencement des colonnes). Dans
l'exemple ci- dessous, on a choisi comme clé GRAIN pour
chiffrer le message SALUT LES PETITS POTS. En remplissant la
grille, on constate qu'il reste deux cases vides, que l'on peut
remplir avec des nulles ou pas.
• Texte chiffré : LSTSSLTOUPSTEPAEII 4
Transposition
Exemple „: chiffrer "Je suis en Italie avec Maria", en
utilisant comme mot-clé : BIBMATH
ILMJNAISTEEEREIVAUACSIA
5
Transposition
• déchiffrer, avec la clé CHAT le message suivant:
BUNNAEDRMERDEQENMIAETON
=> Déchiffrement: il faut reconstituer pour chaque
colonne le nombre de lignes que le tableau
comprenait.
6
Transposition
• On note:
– n le nombre de lettres du message
– c le nombre de lettres de la clé, qui est aussi le nombre de
colonnes du tableau de chiffrement.
– Si n est un multiple de c, alors on a affaire à un tableau où
toutes les colonnes ont la même hauteur, qui vaut n/c.
– Sinon, on note q le quotient dans la division euclidienne
de n par c, et r le reste. Il y aura alors r colonnes (les
premières) qui auront pour hauteur q+1, et c−r colonnes
(les dernières), qui auront pour hauteur q.
• Ensuite, on remplit le tableau …
• Le message clair se lit alors directement sur le tableau.
7
Transposition 4caractères
• exemple : déchiffrer, avec la clé CHAT le message
suivant :BUNNAEDRMERDEQENMIAETON 23 caractères
• 23 : 4 = 5 + 3
=> on va réaliser un tableau comprenant 4 colonnes tel que les 3
premières colonnes ont une hauteur de 6 (5+1), et la dernière
une hauteur de 5, comme le suivant :
Le message initial était donc
:DEBARQUEMENT EN NORMANDIE
8
Transposition
Le cryptogramme suivant :
PVSNO UPNOR AYREA VDNLQ SNDEE AUEUC AEUEI
TOLDG EEENU EAEMS ALLAA UNFDE LNUCL ETGED
UITLN LIEMC QEERE IE
a été construit suivant ce procédé avec le mot–clé "QUENEAU".
Retrouvez le texte clair.
Sur la place du village s'élève un mat de cocagne
auquel ne pend qu'une fusée ordinaire et de
taille moyenne.
9
Histoire : Grèce antique
Transposition
Le bâton de Lacédémone
• 500 avant J.-C., à Sparte, les généraux Grecs utilisaient une scytale
(bâton).
• L’opération de chiffrement est « enrouler le ruban contenant le
message en clair sur une scytale ».
• La clé de chiffrement est le diamètre de la scytale.
• L’opération de déchiffrement est identique à l’opération de
chiffrement.
• La clé de déchiffrement est identique à la convention secrète de
chiffrement.
Histoire : Grèce antique
Transposition
Le bâton de Lacédémone
Le premier dispositif de cryptographie militaire connu, la
scytale spartiate, remontant au Ve siècle avant J.-C. La
scytale consiste en un bâton de bois autour duquel est
entourée une bande de cuir ou de parchemin, comme le
montre la figure ci-dessous. :
Après avoir enroulé la ceinture sur la scytale, le message
était écrit en plaçant une lettre sur chaque
circonvolution (axe). Question : comment le destinataire
déchiffrerait le message sur le scytale ?
Histoire : Grèce antique
Transposition matricielle
Le bâton de Lacédémone
Exemple de transposition à base matricielle : Le message en
clair est écrit dans une matrice.
- La clé est la matrice. - La technique de transposition de
base consiste à lire la matrice en colonne.
- Exemple (6,5):
- Le message crypté est donc: MEERSE TAESS NRSEAS AC P
GRTO
Histoire : Grèce antique
Transposition par
Le bâton de LacédémoneBloc
- Le texte à crypter est découpé en blocs
(de 8 caractères par exemple)
- Le chiffrement s’applique sur des blocs selon une clé k
Soit K = 71265843 ce qui signifie que
le 1er caractère du bloc va en position 7 du bloc encrypté
le 2ème caractère du bloc va en position 1 du bloc encrypté
le 3ème caractère du bloc va en position 2 du bloc encrypté
…
Histoire : Grèce antique
Transposition par
Le bâton de LacédémoneBloc
- chiffrer « VIVE L'INFORMATIQUE » La clé de décryptage est
K = 23875416.
=>VIVE L'INFORMATIQUE devient IVI' EVLFOITMRNAUE Q
Histoire : Grèce antique
Transposition par
Le bâton de LacédémoneBloc
-Soit C un message chiffré C = AEUFQ RUTRI QSUTX MEANE
YNNAU DEESX OAUTX NUTAX
-1. Trouvez le message en clair M avec la clé K = 5x8,
lecture des colonnes 2-1-8-4-3-7-5-6
LA CRYPTOGRAPHIE
INFORMATIQUE
Du CRYPTAGE MANUEL vers LA CRYPTOGRAPHIE
INFORMATIQUE
le statut du crypteur humain a changé. Le cryptage (et le
décryptage) manuel n'est plus qu'un mauvais souvenir. Capable de
traiter des milliers d'informations par secondes, l'ordinateur se
montre infiniment plus performant que son "ancêtre cryptologue".
Avec la popularisation des ordinateurs dans les années 60 et la
vulgarisation du chiffrement , il devenait urgeant d'établir une
norme . En effet la grande diversité des algorithmes de codages
devenait nuisible aux échanges : une société pouvait utiliser un
cryptosystème particulier pour protéger ses communication
internes, mais ne pouvait pas l'utiliser pour un message destiné à un
organisme extérieur, à moins que le récepteur n'utilisât le même
système, sans quoi le message ne pouvait être décrypté.
Le DES , conçu par Feistel au début des années 70 , fut adopté en
tant que méthode de chiffrement standard officielle pour
permettre aux milieux d'affaires de s'entretenir en toute
confidentialité.
Chiffrement symétrique
• Un algorithme de chiffrement symétrique transforme un
message en clair P avec une clé secrète K. Le résultat est
un message chiffré C
• La fonction de chiffrement doit être inversible
18
Chiffrement symétrique
Chiffrement par bloc Chiffrement par flot
• P est traité par blocs de • P est traité bit par bit
données (ex: 64 bits ou
128 bits) • Algorithmes :RC4,
• Algorithmes : DES, AES, Bluetooth E0/1, GSM
IDEA, RC6, BLOWFISH, A5/1,
…
Les méthodes les plus connues sont le DES, le Triple DES et
l'AES pour le chiffrement symétrique, et le RSA pour
le chiffrement asymétrique, aussi appelé chiffrement à clé
publique. L'utilisation d'un système symétrique ou
asymétrique dépend des tâches à accomplir 19
Chiffrement par bloc
L’idée générale du chiffrement par blocs est la suivante :
1. Remplacer les caractères par un code binaire
2. Découper cette chaîne en blocs de longueur donnée
3. Chiffrer un bloc en l’additionnant bit par bit à une clé.
4. Déplacer certains bits du bloc.
5. Recommencer éventuellement un certain nombre de
fois l’opération 3.
6. Passer au bloc suivant et retourner au point 3 jusqu’à
ce que tout le message soit chiffré.
20
Chiffrement par bloc
21
Chiffrement par bloc
Méthode de Feistel : décrite en 1973 (par Feistel, employé chez IBM).
• La plupart des chiffrements de la fin du XXè siècle sont basés sur
cette structure.
22
Chiffrement par bloc
Exemple :A partir d’une table de correspondance, on peut déterminer le résultat du
chiffrement d’un bloc après passage dans une structure de Feistel.
23
Chiffrement par bloc
Exemple: DES utilise 16rondes
(ou cycles) du réseau Feistel
L’avantage est que la fonction de chiffrement et la fonction de
déchiffrement sont identiques. Ainsi la fonction n’a pas à être inversible,
24
c’est la structure qui l’est.
Chiffrement par bloc
• Dans un système par blocs, chaque texte clair est découpé en
blocs de même longueur et chiffré bloc par bloc.
• La longueur l des clés doit être suffisante pour que l’attaque
exhaustive consistant à déchiffrer le chiffré avec toutes les clés
possibles jusqu’à l’obtention du clair, soit irréaliste (l ≥ 128).
• Le principe général d’un chiffrement itératif par blocs est le
suivant : pour chaque bloc, on itère r fois une fonction interne
F ; à chacun des r tours, la fonction F est paramétrée par une
clé Ki (1 ≤i ≤r ), et la fonction du tour i peut être notée FKi.
Comme on veut que le chiffrement soit inversible (pour
pouvoir déchiffrer), il faut que les fonctions FKi soient
bijectives.
25
Chiffrement par bloc
26
Chiffrement par bloc
DES : Data Encryption Standard
• 1970 : Chiffrement par bloc développé par IBM : k=128 et
m=128
• 1973: DES Adopté comme standard US par le Bureau
National des Standards Américains NBS (FIPS 46-2) pour le
chiffrement par blocs
• 1976: Le DES, un variant de Lucifer, est adopté comme ce
standard : Taille de bloc = 64 bits, k = 56 bits, m = 64
• 1997: DES cassé par la recherche exhaustive (AES en
2000.) 27
Chiffrement par bloc
28
Chiffrement par bloc
L’algorithme repose principalement sur 3 étapes, en plus
de la gestion spécifique de la clé :
1. Permutation initiale
2. Calcul médian (16 fois) : application d’un
algorithme complexe appliqué en fonction de la clé
3. Permutation finale
29
Chiffrement par bloc
30
Chiffrement par bloc
1 La permutation initiale
Les 64 bits du bloc d’entrée subissent la permutation
suivante :
Cette "matrice" permet d’effectuer des changements internes au bloc
(i.e. il n’y a pas d’apport de données extérieures). le 58ème bit du bloc
de texte de 64 bits se retrouve en première position, le 50ème en
31
seconde position et ainsi de suite.
Chiffrement par bloc
32
Chiffrement par bloc
2 Le calcul médian
Les 64 bits initiaux de données sont divisés en 2 blocs
(L et R).
Itérations :
– Ln = Rn−1
– Rn = Ln−1 ⊗ F(Rn−1,Kn)
– Kn = G(K, n)
avec
– T n = LnR n
– Ln = t1...t32
– Rn = t33...t64
33
Chiffrement par bloc
34
Chiffrement par bloc
35
Chiffrement par bloc
Expansion : Les 32 bits sont étendus à
48 bits grâce à une table d’expansion.
On retrouve ici un effet d’avalanche.
36
Chiffrement par bloc
37
Chiffrement par bloc
38
Chiffrement par bloc
39
Chiffrement par bloc
40
Chiffrement par bloc
L’opération de permutation est réalisée sur le
résultat de la substitution des S-box et est basée
sur la table de permutation suivante:
41
Chiffrement par bloc
3 Permutation finale
Une fois le calcul médian terminé, on pratique la permutation
inverse de la permutation initiale.
Attention toutefois : il s’agit de l’inverse de la permutation
initiale, en d’autres termes, cette table permet de retrouver la
position de départ. Ce n’est pas l’inverse de la "matrice" de
départ!
42