Chiffrement par substitution - E-Learn

publicité
Cryptographie
Université Kasdi Merbah Ouargla
Département Mathématique et informatique
Crypto I : Cryptosystèmes et science de la
cryptologie
Mai 2013
Cours de cryptographie
1
Cryptosystèmes et science de la cryptologie
1.
Définitions et terminologie
– Historique
– Cryptosystème
– Principe de la cryptographie, cryptanalyse
2. Cryptographie classique
– Chiffrements mono-alphabétiques
– Chiffrements poly-alphabétiques
3. cryptanalyse de la cryptographie classique
– Confusion et diffusion
– Méthode de cryptanalyse de base
– Cryptanalyse et analyse des fréquences
– Sûreté d'un chiffrement
4. Résumé : cryptographie classique
– Algorithme de chiffrement – Concepts généraux
– Algorithmes "classiques" mono-alphabétiques
– Algorithme de Vigenère et OTP (poly-alphabétique)
Cours de cryptographie
2
2
1- Définitions et terminologie I
 Un peu de grec classique…
Kryptos = "caché", "secret"
Graphos = écriture
=> Cryptographie
=> Cryptanalyse
Logos = "savoir"
=> Cryptologie
Stéganos = "couvert",
"étanche"
=> Stéganographie
Cours de cryptographie
 Un peu d'américain…
 Alice
 Bob
 Eve
 (Charlie)
 Encrypt and Decrypt
 Un peu de français !!!
 Chiffrer et déchiffrer
 Coder et décoder
 Crypter et décrypter (!)
 Irène !!! (l'ingénieure)
 Un peu de math…
3
1- Définitions et terminologie II
 Vocabulaire :
 Cryptosystème : des mécanismes assurant des services
requis
 Cryptographie : Art de concevoir des cryptosystèmes
 Cryptanalyse : Art de casser les cryptosystèmes
 Cryptologie : Science qui étudie les deux arts
précédents
Cryptologie : science du secret
Cours de cryptographie
4
Historique
Les trois ères de la cryptographie
 « Classique »
• Jusqu’au masque jetable (one-time pad)
 « Moderne »
• Crypto électro-mécanique (voir applet Enigma)
• Guerre froide …
• Crypto électronique et informatique - DES
 « Âge d’or »
• Chiffrement à clé publique et gestion de certificats
• Cryptologie et autres tâches cryptographiques
• Internet et enjeux commerciaux
Cours de cryptographie
5
Cryptosystème I
Eve
Cours de cryptographie
6
Cryptosystème II
Cours de cryptographie
7
Cryptosystème III
Cours de cryptographie
8
Principe de la cryptographie, cryptanalyse
• Considérations pratiques
 les fonctions ek et dk doivent pouvoir se calculer
efficacement
 un opposant observant les messages chiffrés ne peut
déterminer k ou x
 cryptanalyse : rechercher k à partir de y. Donnera aussi x
• Algorithme public, clé cachée : principe de Kerckhoffs (1883)
 la sécurité d'un cryptosystème ne repose que sur le secret
de la clé.
 exprimé aussi par Shannon : l'adversaire connaît le
système
 chiffres civils suivent le principe de Kerckhoffs. Militaires
utilisent des systèmes secrets.
• Le nombre de clés possibles doit être grand.
Cours de cryptographie
9
2- Cryptographie classique : Chiffrements monoalphabétiques I
• Quelques grands noms : Al-Kindi (801-873), Alberti
(1404-1472), Vigenère (1523-1596), Porta (15351615), Babbage (1792-1872), Kerckhoffs (18351903), Turing (1912-1954)
• Chiffre de substitution : remplacer les lettres ou les
mots par d'autres symboles
• On appelle chiffrement mono-alphabétique ou
substitution simple, un chiffre où chaque lettre est
remplacée par une autre lettre ou symbole.
Cours de cryptographie
10
Chiffrements mono-alphabétiques II
• Chiffre de César : Si on code A − Z dans
x + 3 mod 26 et x = y − 3 mod 26.
, alors y =
Nombre de clés possibles (espace de clés):
Vérifier (1) ?
Cours de cryptographie
11
Chiffrements mono-alphabétiques III
• Chiffrement par substitution
Algorithme de substitution
 On prend un texte en clair et, pour chacune des lettres
du texte, on utilise la lettre comme index dans une table
de substitution () pour trouver l’équivalent chiffré
 La table de substitution  représente la clé
Cours de cryptographie
12
Chiffrements mono-alphabétiques IV
• Exemple :
– « HELLOWORLD » devient :
A B C D E F G H I
h e v a m t s

J K L M N O P Q R S T U V W X Y Z
i c f n u o r b g q w j y d l x k z p
« imuubxbwua »
Exercice
Quelle est l'espace des clés de ce chiffrement ?
Est-ce qu'une recherche exhaustive est envisageable ?
on a 26 ! possibilités de permutations des lettres, soit
environ 288 (hors de portée manuelle).
Cours de cryptographie
13
Chiffrements mono-alphabétiques V
 Algorithme de substitution
 Un exemple de texte chiffré en utilisant  :
I L E T A I T U N E F O I S L H I S T O I RE D U N P E T I T C H A P E R O N R O U G E
c u m y h c y d r m t b c j u i c j y b c wm a d r g m y c y v i h g m w b r w b d s m
 Il est difficile de faire la correspondance entre le texte
original et le texte chiffré sans connaître la table de
substitution  (la clé)
 Sans le texte en clair, il serait aussi difficile d’inférer  à partir
du texte chiffré, il faut avoir un « grand » (au moins une
occurrence de 25 lettres sur 26) nombre de texte en clair
pour reconstruire la clé
 L’algorithme classique de substitution possède donc des
propriétés raisonnables de confusion
Cours de cryptographie
14
Chiffrements mono-alphabétiques V
Le chiffrement affine : soient
Nous avons :
12 choix possibles pour a et b=26, au total |K|=12 x 26 = 312 clés
possibles.
Cours de cryptographie
15
Chiffrements poly-alphabétiques I
 Un chiffrement polyalphabétique peut remplacer une lettre
par une autre lettre qui n'est pas toujours la même.
 Cryptanalyse plus difficile.
Le message clair est découpé en bloc de m lettres. Les clés comme
les messages sont traduits de l'alphabet a-z vers les nombres 0-25.
Vérifier (1) ?
Espace de clés :
Cours de cryptographie
16
Chiffrements poly-alphabétiques II
• chiffrement par permutation (mélange de m lettres
consécutives par une permutation/clé) :
Transposition
• chiffrement de Hill (multiplication par une matrice
m × m inversible dans
)
• Masque jetable (One Time Pad)
Cours de cryptographie
17
Chiffrements poly-alphabétiques III : Algorithme de
transposition (bit shifting)
• On prend un texte en clair et on permute la position
des lettres (ou des bits dans le cas moderne) entre elles
en fonction d’une « clé »
• Dans l’antiquité on utilisait un bâton autour duquel on
enroulait une lanière de cuir (déguisée en ceinture) où
était écrit le texte
• Exemple :
– Avec un « bâton » qui a une épaisseur de deux lettres,
« HELLOWORLD » devient
h
e
l
l
o
w
o
r
l
d
« hloolelwrd »
Cours de cryptographie
18
Chiffrements poly-alphabétiques IV : Algorithme de
transposition (bit shifting)
 Chiffrons ce texte avec un « bâton » de taille 6
e
t
a
i
t
u
n
e
f
o
i
s
l
h
i
s
t
o
i
r
e
d
u
n
p
e
t
i
t
c
h
a
p
e
r
o
n
r
o
u
g
e
i
l
I L E T A I T U N E F O I S L H I S T O I R E D U N P E T I T C H A P E R O N R O U G E
e n l i p h n i t e h r e a r l a f i e t p o i o s d i e u t i t u t r g u s o n c o e
 Ici, il est « facile » d’inférer le texte original à partir du texte
chiffré
 On peut « facilement » retrouver la clé à partir du texte
chiffré
 La confusion est donc mauvaise
 Par contre, la disparition d’une lettre entraîne la modification
de tout le texte chiffré qui suit
Cours de cryptographie
19
Chiffrements poly-alphabétiques V : Algorithme One-TimePad (OTP) (ou masque jetable)
• Proposé par Gilbert Vernam durant la 1 ère Guerre mondiale
• Plus simple dans le monde de la cryptographie, considéré
comme incassable par certains spécialistes.
• Utilisé actuellement pour sécuriser des applications mobiles
e-commerce et l’accès à des serveurs Internet (pas de calcul
intensif).
• Il consiste à une opération ou exclusive (XOR : ) entre le
message et l’OTP.
• La clé OTP a les caractéristiques suivantes :
– Elle doit être aléatoire (c’est le grand défi : Utiliser un PRNG –
Pseudo Random Number Generator)
– La clé utilisée pour réaliser un chiffre ne sera plus disponible
pour les autres chiffres.
– La clé doit être une séquence de bits de longueur égale à la
longueur du message à chiffrer.
Cours de cryptographie
20
Chiffrements poly-alphabétiques VI : Algorithme One-TimePad (OTP)
Emetteur
Message
Message
crypté
transmis
XOR
OTP
Récepteur
Message
crypté
transmis
XOR
Message
original
OTP
Cours de cryptographie
21
3 - Cryptanalyse de la cryptographie classique
• Confusion et diffusion
– Même dans les algorithmes modernes, la confusion et la
diffusion sont les deux propriétés recherchées
– Au sens strict :
• Confusion : propriété de rendre la relation entre la clé de
chiffrement et le texte chiffré la plus complexe possible
• Diffusion : propriété où la redondance statistique dans un texte en
clair est dissipée dans les statistiques du texte chiffré
• On remarque que les algorithmes classiques ne respectent pas tout à
fait cette propriété
– Objectif
• Empêcher de retrouver la clé à partir de paires : texte chiffré et texte
clair (exemple : attaque à texte choisi)
• Rendre plus difficile l’analyse fréquentielle
Cours de cryptographie
22
Méthodes de cryptanalyse de base
Force brute
 Taille de l’espace de clés (recherche exhaustive)
Analyse fréquentielle




Établir le tableau des fréquences
Connaître les fréquences de la source
Codage connu
Rétro-ingénierie de l'algorithme de chiffrement:
• Marche pour les algorithmes de substitution monoalphabétiques
• Peut marcher pour les poly-alphabétiques, si fréquences
connues
Cours de cryptographie
23
Cryptanalyse et analyse des fréquences I
• Cryptanalyse : déterminer la clé k connaissant l'algorithme
– texte chiffré connu (y) : écoute
– texte clair connu (x,y) : écoute + message connu (ex : protocole
de communication)
– texte clair choisi (accès à la machine chiffrante émettrice)
– texte chiffré choisi (accès à la machine déchiffrante réceptrice)
• Cryptanalyse par analyse des fréquences (Al Kindi)
Fig.: Fréquences des lettres en français (non accentué)
Cours de cryptographie
24
Cryptanalyse et analyse des fréquences II
La cryptanalyse (ou analyse) fréquentielle consiste à
comparer les fréquences d’occurrence des symboles de la
source avec les fréquences d’occurrence des symboles dans
le texte chiffré.
S'applique aux chiffrements mono-alphabétiques
Chiffre par décalage en deux trois essais
Chiffre affine en quelques essais aussi.
Chiffre par substitution si texte suffisamment long. On
utilise aussi les bigrammes (2 lettres), trigrammes (3
lettres) pour orienter la recherche.
Cours de cryptographie
25
Sûreté d'un chiffrement
• Sécurité sémantique : un attaquant ne récupère aucune
information sur le texte clair à partir du texte chiffré.
(attaque passive)
• Sécurité calculatoire : système sûr au sens de la théorie de
la complexité si le meilleur algorithme pour le casser
nécessite N opérations, où N est un nombre trop grand.
• Sécurité prouvée : la sécurité se réduit à un problème
difficile à résoudre.
Exemple : le système X est sûr si un entier n donné ne peut être
factorisé.
Cours de cryptographie
26
4- Résumé : Algorithme de chiffrement – Concepts généraux
 Alphabet
– Entrée : Un texte clair (plaintext)
– Sortie : Un texte clair
 Fonction de chiffrement
– Clé de chiffrement = ke
– y = e(ke , x) =ek1(x), y est le texte chiffré (ciphertext)
 Fonction de déchiffrement
– Clé de déchiffrement = kd
– x = d(kd , y) = dk2(y)
Cours de cryptographie
27
Algorithmes "classiques" mono-alphabétiques
 Algorithme de César
– Source
• texte en caractères latin
– Codage
• lettres  chiffres de 0 à 25
– Chiffrement
• x  x+3 mod 26
– Clés
• k =3
 Algorithme de décalage
– Source et codage
• idem
– Chiffrement
–
• x  x + k mod 26
Clés
• k  {0,…,25}
Cours de cryptographie
 Algorithme de substitution
– Source
• Idem
– Codage
• aucun
– Chiffrement
• x  (x)
– Clés
•  (une table de substitution)
 Algorithme affine
– Source et codage
• lettres en chiffres
– Chiffrement
• x  a x + b mod 26
– Clé
• (a,b) où a, b  {0,…,25} et pgcd(a,26)=1
28
Algorithmes poly-alphabétiques
 Algorithme de Vigenère
 Algorithme OTP
– Chiffrement :
– Source
• Texte en caractères latin
•
– Codage
•
•
– Clé
• k = k1 k2 … km , mot/phrase de longueur m
•
• xi  (xi + k i mod m ) mod 26
Y
T
P
H
T
W
O
E
G
B
R
M
A
A
P
T
OTP = Taille du message
OTP aléatoire , utilisée une
seule fois.
– Déchiffrement :
– Chiffrement
R
A
OTP
– Clé
• lettres  chiffres de 0 à 25 ( ou code ASCII)
C
M
C= P
H
H
I
W
E
E
D
B
E
M
V
A
P=C
I
T
G
H
OTP
E
W
N
E
E
B
R
M
E
A
On trouve :
ORRWPSHDAIOEI EQ VBNARFDE
Cours de cryptographie
29
Téléchargement