Académique Documents
Professionnel Documents
Culture Documents
Évaluation Références
Cryptographie Cryptanalyse
Chapitre 1 : Introduction et terminologie
Cryptographie Cryptographie
symétrique asymétrique
- Cryptographie : est l’art et la science de garder le secret du - Expéditeur et destinataire : Supposons que l’expéditeur veut
message en clair pratiquée par les cryptographes; Ce qui utilise
envoyer un message de manière sûr. Il veut s’assurer qu’aucune
deux aspects de cryptographie : symétrique et asymétrique.
Pour assurer la confidentialité, l’authentification et l’intégrité. oreille indiscrète (adversaire, intercepteur, intrus, attaquant, ..)
ne puisse s’informer du message. Aussi, on veut stocker des
informations de manière sécurisée;
– Cryptanalyse : est l’art de décrypter des messages chiffrés
pratiquée par les cryptanalyses. Une cryptanalyse réussie peut
fournir soit le texte en clair, soit la clé. Une tentative de – Chiffrement et déchiffrement : Le message original va subir une
cryptanalyse est appelée attaque. transformation en utilisant des techniques mathématiques pour
le rendre incompréhensible. Cette manière est appelée
– Cryptologie : est la branche mathématique qui traite les deux chiffrement et le résultat s’appelle texte chiffré. Le processus de
notions ci-dessus : la cryptographie et la cryptanalyse. reconstruction du texte original à partit de celui chiffré est appelé
le déchiffrement.
• Objectif principal d’un cryptosystème est de chiffrer un – Un algorithme de chiffrement paramétré par une clé K dans
message en clair en un message chiffré appelé cryptogramme. l’espace des clés, K. Il est définit comme suit:
Ce message ne doit pas être déchiffré par les cryptanalystes,
décrypteurs, hackeurs, …
Introduction et terminologie:
Introduction et terminologie: définition
Cryptosystèmes à clé symétrique
Cryptosystème :
Les cryptosystèmes modernes sont conçus en tenant compte des conditions
précédentes. Ils forment deux classes de cryptosystèmes : Symétrique et
– Message en clair (M) + algorithme de chiffrement (E) avec la clé
K; Asymétrique.
ou bien
– Algorithme de déchiffrement (D) + Message chiffré (C) + toutes – Les cryptosystèmes symétriques sont synonymes de systèmes
les clés possibles K et K’. cryptographiques à clés secrètes ou privées. Une même clé K est utilisée
pour le chiffrement et déchiffrement c’est-à-dire K = K’.
Un cryptosystème moderne doit satisfaire les conditions suivantes :
1. Les algorithmes de chiffrements (E) / déchiffrement (D) doivent – Généralement un seul algorithme est utilisé pour le chiffrement et le
être opérationnels pour tout clé K, stables ils sont publiquement déchiffrement (D = E).
connus (grand public, …);
– Le secret de la clé de chiffrement / déchiffrement est donc partagé entre
2. La sécurité de système doit reposer uniquement sur le secret émetteur A et récepteur B.
des clés K et K’.
Le chiffrement consiste alors à effectuer une opération entre la clé privée et les
données à chiffrer. Le déchiffrement se fait à l'aide de cette même clé secrète. Pour que deux canaux de communications soient indépendants l'un de l'autre, c-à-
d. qu'une personne accède à l'un mais pas à l'autre, il faut que ces deux canaux
Remarques utilisent des clés différentes.
La qualité d'un crypto système symétrique se mesure par rapport :
— à des propriétés statistiques des textes chiffrés ; Exemple : l'utilisateur D possède une clé pour chaque lien (avec J, I, H, G, F et E).
— à la résistance aux classes d'attaques connues.
Problème : comment échanger toutes ces clés ?
16/11/2011 KH. Ibrahimi 17 16/11/2011 KH. Ibrahimi 18
• Inconvénients
Alice, Bob et Cédric partage le même lien de communication et donc ils partagent – Si la clé est compromise (volée, piratée, …) le système n’est plus fiable
la même clé de chiffrement symétrique. et donc plus de confidentialité,
– Dans un réseau de N correspondants, il faut distribuer N (N-1)/2 clés
Chacun peut intercepter et modifier les messages qui s'échangent. par des canaux sûr et donc problème de distributions des clés par des
voies sécurisées.
16/11/2011 KH. Ibrahimi 19 16/11/2011 KH. Ibrahimi 20
Introduction et terminologie: Introduction et terminologie:
Cryptosystèmes à clé symétrique Cryptosystèmes à clé asymétrique
• Outils • Le concept de cryptosystèmes asymétriques a été introduit, en
– Substitution, 1976, par Delfie Hellman. L’idée de base repose essentiellement sur
– Transposition, deux algorithmes : Ek différent de Dk’ pour K différent de K’. Cette
– Ou Exlusif, idée considère une paire de clé et que voir impossible de générer
– Décalage logique, une clé à partir de l’autre.
– Combinaison des fonctions ci-dessus. • Ce cryptosystème met en jeu deux clés, une pour le chiffrement (K)
et une autre pour le déchiffrement (K’). De ce fait, chaque utilisateur
• Exemples de réalisation (algorithmes) doit posséder une paire de clé (K, K’). La clé k est appelée publique
– DES, Kp : elle peut être rendue publique dans un annuaire, une base de
– AES, donnée. L’autre clé K’ est appelée privée Kpr doit être garder
secrète et n’est connue que de son propriétaire.
– IDEA,
– MARS, • La clé Kp est utilisée pour le chiffrement du message en clair M.
– 3DES, …
– L’inconvénient majeur est que l’auteur du message n’est pas M = DkpA(C) = DkpA[EkprA(M)],
forcément identifié et peut être anonyme (que les clés publique
• Le chiffrement / déchiffrement s’effectue en utilisant uniquement la
pair de clé de A (kpA, kprA).
qui sont connus).
• B identifie A en utilisant la clé publique de A pour déchiffrer le – B déchiffre le message C’ avec sa clé privée (kprB), puis le résultat
message C ce qui donne l’authentification de A. sera ensuite déchiffré par la clé publique de A (kprA):
1. DkprB (C’) = C
• Pas de confidentialité puisque la clé publique de A est connue et
publique (n’importe qui peut déchiffrer le message C). 2. EkpA(C) = EkpA[ DkprB (C’)
= EkpA[ DkprB (EkpB[ EkprA (M) ]) ] = M
3. Intégrité : Il s’agit de garantir la confidentialité et l’authenticité, donc pour y
arriver on fait comme suit: • Hypothèse fondamentale :
On ne doit pas pouvoir trouver la clé privée à partir de la clé publique
– A chiffre le message avec sa clé privée (kprA), C = EkprA (M), puis le (connue par tous le monde (les hackeurs, les espions, les ennemis,… )
résultat sera ensuite chiffré par la clé publique de B (kprB).
et circule sur des canaux non sécurisés dans le réseau).
Message en
Canal de communication non
clair M C = EKs (M) M = DKs(C)
sécurisé
Chapitre 2 : Cryptographie symétrique
Message en
clair M
Remarque:
un texte trop court ne reflète pas obligatoirement la répartition générale
des fréquences des lettres.
De plus, si la clé est de la même longueur que le message, il ne pourra y
avoir des répétitions de lettres et l’analyse fréquentielle sera impossible.
16/11/2011 KH. Ibrahimi 37 16/11/2011 KH. Ibrahimi 38
Blaise de Vigenère (1523 - 1596) est l'auteur du premier système de La matrice propose 26 alphabets de substitution est la suivante:
substitution polyalphabétique. La matrice de l’alphabet est obtenue en
choisissant la valeur de Ki égale à la kiéme position du caractère dans
l’alphabet A. Cette matrice propose 26 alphabets de substitution .
II- Construction de la matrice carré Pour éviter les attaques statistiques, cette technique consiste à utiliser une clé,
Le mot clé, choisi, est inscrit horizontalement sans répéter aucun caractère appelé masque, constituée de K caractères tries au hasard et de même longueur
que le message en clair. Le chiffrement est effectué par :
puis les caractères restants de l’alphabet sont écrits en respectant leur
Ci = f(mi) = (mi + Ki) mod n
ordre alphabétique et en traitant I et J comme IJ.
Où
III- Règle à suivre pour chiffrer le bigramme mi mj d’un message M mi : le caractère à chiffrer
1- Si mi et mj occupent la même ligne ci et cj sont les caractères de Ki : caractère de la clé (masque) généré aléatoirement pour chiffrer mi
substitution situés respectivement à droite de mi et mj. n : dimension de l’ensemble de l’alphabets A.
2- Si mi et mj sont dans la même colonne ci et cj sont les caractères
de substitution situés respectivement en dessous de mi et mj. Cette fonction est identique au système de Vigénere avec une génération aléatoire
3- Si mi et mj, se trouvent dans des lignes et colonnes différentes ci des caractères de la clé dont la taille est celle du message en clair.
(ou cj) sera le caractère qui se trouve à l’intersection de la ligne mi Exemple :
(ou mj) et de la colonne de mj (ou mi). n = 26
K = TBFRGFARFMIKL
IV-Exemple : M = MASQUEJETABLE
Calculer le message chiffré C = Ek(M)?
Avec la clé K = SPART, trouvez le message chiffré C du message en clair
M = INFORMATIQUE
16/11/2011 KH. Ibrahimi 45 16/11/2011 KH. Ibrahimi 46
R M A T G A T S
I Q U E I N F O
S X X X R M A T
D’où le message chiffré est I Q U E
C = NMQXOTEXIRISFAUX S X X X
Questions : déchiffrer le message (cryptogramme C)?
Table de vérité
Le message déchiffré est
La fonction canonique (sortie) est
Message Bloc M1 Bloc M2 Bloc Mi-1 Message Bloc C1 Bloc C2 Bloc Ci-1
en clair M chiffré C
Vecteur Dk Dk Dk
d’initialisation
VI Vecteur
d’initialisation
Message Ek Ek Ek VI
chiffré C
Bloc T
Indices des bits 1 2 3 4 5 6 7 8
d’un bloc T de 8 9 10 11 12 13 14 15 16
octets du 17 18 19 20 12 22 23 24
message en clair 25 26 27 28 29 30 31 32
M. 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
– Le bit n°14 se retrouve en position 1, alors que les bi ts n°9, 18, 22, 25, 35, 38, 49 50 51 52 53 54 55 56
43, 54 ne sont pas utilisés. 57 58 59 60 61 62 63 64
58 50 42 34 26 18 10 2 57 49 41 33 25 17 9 1
60 52 44 36 28 20 12 4 59 51 43 35 27 19 11 3
62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5
64 56 48 40 32 24 16 8 63 55 47 39 31 23 15 7
b1
b2 b’5
b3 Table de Mécanisme:
substitution b’6
b4 b’7 Substitution pour le bloc b1b2b3b4b5b6. Les deux bits faible et fort
b5 S2
b’8 sélectionnent le numéro de la ligne b6b1 =X, les 4 bits intermédiaires le
b6
numéro de la colonne b2b3b4b5 =Y. La position (X,Y) permet de substituer le
bloc b6b5b4b3b2b1 par un autre bloc de 4 bits comme intersection de la ligne
X et colonne Y.
b43
Exemple : G = 101110. Les premiers et derniers bits donnent 10, c'est-ŕ-dire
b44 b’29
b45 Table de 2 en binaire. Les bits 2,3,4 et 5 donnent 0111, soit 7 en binaire. Le résultat
substitution b’30
b46 de la fonction de sélection est donc la valeur situé ŕ la ligne n°2=X, dans la
S8 b’31
b47 b’32 colonne n°7=Y. Il s'agit de la valeur 11=(X,Y), soit e n binaire 1011.
b48
16/11/2011 KH. Ibrahimi 77 16/11/2011 KH. Ibrahimi 78
Etape 5:
Dans cette étape l’opération suivante est effectuée :
P(B) XOR L(i-1) et elle va constituer la nouvelle partie droite de l’itération
suivante Ri. Et la nouvelle partie gauche de l’itération suivante sera la
partie droite avant le chiffrement du bloc Li = Ri-1.
M
K
Etage 1
BYTE_SUB
SHIFT_ROW
MIX_COL
k1
Etage 2
Chapitre 3 : Cryptographie asymétrique
Etage 9
Etage 10
BYTE_SUB
SHIFT_ROW
C k10