Chamseddine Talhi, ÉTS

publicité
Cryptographie symétrique
Introduction
Chamseddine Talhi
École de technologie supérieure (ÉTS)
Dép. Génie logiciel et des TI
Automne 2012
1
Plan
• Motivation & contexte
• Cryptographie classique:
– Mono-alphabétique, Poly-alphabétique
• Cryptographie moderne:
– DES, AES
• Problème des clés secrètes
• Remarques & conclusions
2
Chamseddine Talhi, ÉTS
Motivation & contexte
Un peu d’histoire
•
Tatouage sur la tête rasée d'un esclave. Secret
caché par les cheveux repoussés!
•
Scytale de Sparte (vers 500 av. J.-C.)
3
Chamseddine Talhi, ÉTS
Motivation & contexte
Cryptographie – définitions de base (1/2)
Texte en clair
•
Chiffrement
Cryptogramme
Déchiffrement
Texte en clair
Texte en clair (Plaintext):
–
–
–
•
Données à protéger: message, information, plan de
bataille, décision, programme, …
Différents langages: langues naturelles, langage de
programmation, code binaire, …
immédiatement intelligible
Chiffrement (Encryption):
–
–
Transformation: Processus, opération, ou algorithme
générant un cryptogramme à partir du texte en clair
Complexe et basé sur une clé secrète
4
Chamseddine Talhi, ÉTS
Motivation & contexte
Cryptographie – définitions de base (2/2)
Texte en clair
•
Chiffrement
Cryptogramme
Déchiffrement
Texte en clair
Cryptogramme (Ciphertext):
–
–
•
Inintelligible pour une personne ne possédant pas la
clé de déchiffrement
Assure la confidentialité des données
Déchiffrement (Decryption):
–
–
Transformation: Processus, opération, ou algorithme
générant un texte en clair à partir du cryptogramme
Complexe et basé sur une clé secrète
5
Chamseddine Talhi, ÉTS
Motivation & contexte
Cryptologie
•
Cryptographie:
–
–
•
Principes, méthodes et outils permettant le chiffrement
et le déchiffrement des données
Objectifs : assurer la confidentialité et l’intégrité
Cryptanalyse:
–
–
Principes, méthodes et outils permettant de découvrir
le maximum d’informations secrètes appartenant
au domaine de la cryptographie
Clés, textes en clair, langues utilisées, algorithmes de
chiffrement, …
6
Chamseddine Talhi, ÉTS
Motivation & contexte
Cryptanalyse
•
Mode passif:
–
–
•
Écoute des communications (messages échangés).
Bases de données cumulées avec le temps
Traitement « hors ligne »: artillerie lourde
d’algorithmes + vaste armée de pirates
Mode actif:
–
Participation aux échanges: suppression, insertion,
usurpation, … protocoles cryptographiques.
7
Chamseddine Talhi, ÉTS
Motivation & contexte
Cryptographie symétrique (à clé secrète)
•
Chiffrement et déchiffrement de données en se basant
sur une clé secrète
Clé secrète: un secret partagé entre les parties
impliquées dans l’échange de données
Cryptanalyse:
•
•
–
–
–
Sans connaissance préalable de la clé, le cryptogramme est
« indéchiffrable »
MAIS si le nombre de clés possibles est modeste! …
L’algorithme de chiffrement doit être « robuste »
8
Chamseddine Talhi, ÉTS
Crypto classique
Algorithme de Jules César (1/3)
• Code(A) = 0, Code(B) = 1, .., Code(Z) = 25
• Chiffrement basé décalage
• Exemple: Clé= 3 (D) => décalage de 3 positions
•
Voir la démo sur Cryptool
Chamseddine Talhi, ÉTS
9
Crypto classique
Algorithme de César (2/3)
• Clé= 3 (D) => décalage de 3 positions
Texte en clair
Cryptogramme
This is a secret
information!
Wklv
Vjku
Uijt ku
lv
jt bdctfdsfu
vhfuhw
ugetgv
kphqtocvkqp!
jogpsnbujpo!
lqirupdwlrq!
Adapté de: Introductory example: Caesar cipher. CrypTool Team, novembre 2010
Chamseddine Talhi, ÉTS
10
Crypto classique
Algorithme de César (3/3)
Cryptanalyse
• Nombre de clés possibles: 26
• Très facile de retrouver le texte en clair à partir du
cryptogramme!
• Exemple d’un cryptogramme:
GERF SNPVYR QR ERGEBHIRE YR GRKGR RA PYNVE
N CNEGVE QH PELCGBTENZZR
– Quel est le texte en clair correspondant au cryptogramme?
– Quelle est la clé utilisée pour le chiffrement?
11
Chamseddine Talhi, ÉTS
Crypto classique
Substitution monoalphabétique (1/4)
• Clé: permutation des 26 lettres de l’alphabet
• Exemple d’une clé:
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
l f g i w y d x e b s n t c q u h z v r m k j a o p
• Nombre de clés possibles: 26! -1 =
403291461126605635583999999
• Et si l’alphabet de la clé n’est pas limité aux 26 lettres?
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
t ? g ! w y d & e [ s ) l c / u h ] $ z m * < = o >
• Le nombre de clés possibles? Cryptanalyse?
Chamseddine Talhi, ÉTS
12
Crypto classique
Substitution monoalphabétique (2/4)
• Cryptanalyse
– L’algorithme de chiffrement associe à toutes les
occurrences d’une lettre donnée, `A’ par exemple, la
même lettre, `M’ par exemple:
• "A PARTIR DE LA" => "M *M***** ** *M"
– L’analyse des fréquences des lettres dans le
cryptogramme peut révéler le texte en clair!
– Les statistiques sont toujours utiles
13
Chamseddine Talhi, ÉTS
Crypto classique
Substitution monoalphabétique (3/4)
• Cryptanalyse: Langue Française
E
17.76
O
5.34
B
0.80
S
8.23
D
3.60
H
0.64
A
7.68
C
3.32
X
0.54
N
7.61
P
3.24
Y
0.21
T
7.30
M
2.72
J
0.19
I
7.23
Q
1.34
Z
0.07
R
6.81
V
1.27
K
0.00
U
6.05
G
1.10
W
0.00
L
5.89
F
1.06
Fréquences des lettres
Chamseddine Talhi, ÉTS
14
Crypto classique
Substitution monoalphabétique (4/4)
• Cryptanalyse: Langue Française
ES
305
TE
163
OU
118
EC
100
EU
89
EP
82
LE
246
SE
155
AI
117
TI
98
UR
88
ND
80
EN
242
ET
143
EM
113
CE
98
CO
87
NS
79
DE
215
EL
141
IT
112
ED
96
AR
86
PA
78
RE
209
QU
134
ME
104
IE
94
TR
86
US
76
NT
197
AN
30
IS
103
RA
92
UE
85
SA
75
ON
164
NE
124
LA
101
IN
90
TA
85
SS
73
ER
163
SS
73
M
M
20
AA
3
EE
66
RR
17
UU
3
LL
66
PP
16
II
2
TT
29
FF
10
GG
1
NN
24
CC
8
Fréquences des bigrammes sur 10 000 bigrammes
Chamseddine Talhi, ÉTS
15
Crypto classique
Substitution polyalphabétique-Vigenère 1/4
• Additionner à une lettre du texte en clair une lettre de la clé
• Matrice de chiffrement
16
Chamseddine Talhi, ÉTS
Crypto classique
Substitution polyalphabétique-Vigenère 2/4
• Clé secrète
• Algorithme de chiffrement
• Voir la démo sur Cryptool
Chamseddine Talhi, ÉTS
17
Crypto classique
Substitution polyalphabétique-Vigenère 3/4
• Cryptanalyse
– L’algorithme de chiffrement N’associe PAS à toutes les
occurrences d’une lettre donnée, `A’ par exemple, la même
lettre:
• "A PARTIR DE LA" => "M *K***** ** *S"
– L’analyse des fréquences des lettres dans le
cryptogramme n’est plus utile? 
– Cependant, les statistiques sont toujours utiles 
• Comment?
18
Chamseddine Talhi, ÉTS
Crypto classique
Substitution polyalphabétique-Vigenère 4/4
• Cryptanalyse
– Pour une clé de taille 3:
• les lettres du texte en clair qui sont aux positions: 0, 3, 6, .. Sont
chiffrées de la même façon: même décalage.
• les lettres du texte en clair qui sont aux positions: 1, 4, 7, .. Sont
chiffrées de la même façon: même décalage.
• les lettres du texte en clair qui sont aux positions: 2, 5, 8, .. Sont
chiffrées de la même façon: même décalage.
– Les statistiques peuvent être utilisées sur les
lettres qui sont chiffrées de la même façon
19
Chamseddine Talhi, ÉTS
Crypto classique
Algorithme de Nihilist 1/4
• 1ère clé secrète: EXEMPLE
• Matrice de chiffrement: 5 X 5
• Construction de la matrice
20
Chamseddine Talhi, ÉTS
Crypto classique
Algorithme de Nihilist 2/4
• Construction de la matrice (suite)
21
Chamseddine Talhi, ÉTS
Crypto classique
Algorithme de Nihilist 3/4
• Construction de la matrice (suite)
• Cas particulier: I & J ont le même code!
22
Chamseddine Talhi, ÉTS
Crypto classique
Algorithme de Nihilist 4/4
• 2ème clé secrète: NEXT
• Texte en clair:
• Chiffrement: addition
• Voir la démo sur Cryptool
• Cryptanalyse? À méditer
23
Chamseddine Talhi, ÉTS
Crypto classique
Permutations
• Chaque sous-chaine du texte en clair est permutée
selon une clé donnée:
– Exemple : 1234 => 3142
• Cryptanalyse possible:
– Analyse des fréquences de lettres => langue utilisée
– Test des permutations possibles
24
Chamseddine Talhi, ÉTS
Crypto classique
Masque jetable
• Faiblesses des systèmes classiques:
– Taille de la clé
– Réutilisation de la clé
• Principes de la solution:
– Ne laisser aucune chance à la cryptanalyse
– Une nouvelle clé pour chaque message à chiffrer
– La taille de la clé est égale à la taille du message
C  M K
• MAIS comment échanger les clés?
• Confidentialité des messages vs confidentialité des clés25
Chamseddine Talhi, ÉTS
Crypto modèrne
Principes de Kerckhoffs (1/2) 1883
•
Séparation algorithme / clé:
–
•
Chiffrement de César:
•
Algorithme: "Décalage d’une lettre de X positions"
•
Clé: "La valeur de X"
Principe de Kerckhoff: "Le secret réside dans la
clé et non pas dans l'algorithme"
–
La sécurité par obscurité n’est plus une solution viable!
26
Chamseddine Talhi, ÉTS
Crypto modèrne
Principes de Kerckhoffs (2/2) 1883
1. Le système doit être matériellement, sinon mathématiquement,
indéchiffrable ;
2. Il faut qu’il n’exige pas le secret, et qu’il puisse sans
inconvénient tomber entre les mains de l’ennemi ;
3. La clef doit pouvoir en être communiquée et retenue sans le secours
de notes écrites, et être changée ou modifiée au gré des
correspondants ;
4. Il faut qu’il soit applicable à la correspondance télégraphique ;
5. Il faut qu’il soit portatif, et que son maniement ou son fonctionnement
n’exige pas le concours de plusieurs personnes ;
6. Enfin, il est nécessaire, vu les circonstances qui en commandent
l’application, que le système soit d’un usage facile, ne demandant ni
tension d’esprit, ni la connaissance d’une longue série de règles à
observer.
Auguste Kerckhoffs, « La cryptographie militaire », Journal des sciences militaires, vol. IX, Janvier 1883.
27
Chamseddine Talhi, ÉTS
Crypto modèrne
Principe de Shannon / Vernam (1945)
• Masque jetable:
– Théoriquement-complètement incassable,
– Très peu pratique : téléphone rouge
• Clés transportées par valise diplomatique
• Nouvelle clé pour chaque nouvelle communication
28
Chamseddine Talhi, ÉTS
Crypto modèrne
Principes de Shannon (1945)
• Confusion et diffusion
• Relation aussi complexe que possible entre M, C,
K
– M : message
– C : cryptogramme
– K : clé
• Chaque lettre du cryptogramme doit dépendre
d’un maximum de lettres du texte en clair et d’un
maximum de lettres de la clé.
• Effet avalanche: petite modification, grand
impact
Chamseddine Talhi, ÉTS
29
Crypto modèrne
Fonction à porte dérobée (à sens unique)
• Obtient rapidement l’image d’une valeur en entrée
• Ne permet pas d’obtenir de la valeur en entrée
correspondant à une image donnée
• SAUF si elle utilise un secret partagé (porte
dérobée)
• Voir fonctions de hachage et cryptographie à clé
publique!
30
Chamseddine Talhi, ÉTS
Crypto modèrne
Algorithme DES
•
•
•
•
Clé secrète
Algorithme de chiffrement/authentification
1976 : agence de normalisation américaine
DES : Data Encryption Standard
31
Chamseddine Talhi, ÉTS
Crypto modèrne
Algorithme DES – Chiffrement
Texte - 64 bits
Clé - 56 bits
Algorithme DES
Cryptogramme - 64 bits
• Voir démo sur Cryptool
Chamseddine Talhi, ÉTS
32
Crypto modèrne
Chiffrement par bloc
• ECB : Electronic Code Book
– Chiffrement
– Déchiffrement
33
Chamseddine Talhi, ÉTS
Crypto modèrne
Chiffrement par bloc
• CBC : Cipher Block Chaining
– Chiffrement
– Déchiffrement
34
Chamseddine Talhi, ÉTS
Crypto modèrne
Algorithme DES – Authentification
Texte – sans restriction
Clé - 56 bits
Algorithme DES
Code d’authentification – 32 bits
35
Chamseddine Talhi, ÉTS
Crypto modèrne
Triple DES!
Pour chaque bloc de 64 bits de message, trois
itérations:
• 112 bits de clé (K1K2) :
1) Chiffrer avec K1,
2) Déchiffrer avec K2,
3) Chiffrer avec K1
• 168 bits de clé (K1K2K3) :
1) Chiffrer avec K1,
2) Déchiffrer avec K2,
3) Chiffrer avec K3
36
Chamseddine Talhi, ÉTS
Crypto modèrne
Triple DES!
64 bits
64 bits
K1
E
K1
E
K2
D
K2
D
K1
E
K3
E
64 bits
64 bits
37
Chamseddine Talhi, ÉTS
Crypto modèrne
AES – Advanced Encryption Standard
• Candidat retenu en 2002: Rijndael:
• Trois versions:
– Chiffrement de blocs de 128 bits avec une clé de 128 bits
• 10 itérations
– Chiffrement de blocs de 192 bits avec une clé de 192 bits
• 12 itérations
– Chiffrement de blocs de 256 bits avec une clé de 256 bits
• 14 itérations
• Voir démo sur CrypTool
38
Chamseddine Talhi, ÉTS
Problème des clés secrètes
•
•
•
•
•
2 personnes => 1 clé
N personnes => n * (n-1)/2 clés
100 personnes => 4,950 clés
1,000personnes => 499,500 clés
Pour chaque 10 personnes en
plus on a besoin de 100 clés en
plus!
Adapté de: http://www.cryptool-online.org/
Chamseddine Talhi, ÉTS
39
Remarques & conclusions
Complexité n’est pas toujours synonyme
de sécurité!
• Caesar:
– C + D = G (3 + 4 = 7)
• Vigenère:
– CAT + DOG = FOZ
[(2,0,19)+(3,14,6)=(5,14,25)]
Adapté de: http://www.cryptool-online.org/
Chamseddine Talhi, ÉTS
40
Remarques & conclusions
•
•
•
•
•
La cryptographie est essentielle pour assurer la
confidentialité et l’intégrité des données
Complexité n’est pas toujours synonyme de
robustesse
La confidentialité des clés est la maillon faible de
la cryptographie symétrique
L’algorithme adopté est déjà entre les mains de
l’ennemi.
Problèmes:
–
–
Une nouvelle clé pour chaque paire de personnes
Échange des clés
41
Chamseddine Talhi, ÉTS
Téléchargement