sécurité
Iset’Com 2019-2020
CHAPITRE III:
INTRODUCTION À LA CRYPTOGRAPHIE
Terminologie
Cryptologie:
Science (branche des mathématiques) des communications secrètes
réunissant la cryptographie et la cryptanalyse.
Cryptographie :
Conception d'algorithmes/protocoles
Cryptanalyse :
Casser des algorithmes/protocoles
3
Terminologie
4
Terminologie
Cryptanalyse (cryptanalysis)
Art de révéler les messages qui ont fait l'objet d’un chiffrement
Lorsqu'on réussie, au moins une fois, à décrypter un cryptogramme, on dit
que l'algorithme qui a servi à le chiffrer a été cassé.
5
Terminologie
Un crypto-système:
Ensemble composé par cinq uplets (P,C,K,E,D):
« P » est un ensemble fini de textes clairs (plain text)
« C » est un ensemble fini de textes chiffrés (cipher text)
« K » est l’espace de clés (key space), représente un ensemble fini de clés
possibles.
Pour ∈ ∈
chaque k K, il existe une fonction de chiffrement ek E, et une fonction de
déchiffrement correspondante dk D ∈
Les fonctions ek : PC et dk : CP doivent satisfaire:
6
Crypto-système: principaux objectifs
Le texte clair ne doit pas être facilement obtenu à partir d’un texte
chiffré.
Les clés ne doivent pas être facilement obtenues à partir d’un texte
chiffré.
L’espace des clés doit être assez large pour résister aux attaques
brute-force.
Confusion: L’effet d’un petit changement sur le texte clair ne doit pas
être prévisible.
La relation entre, d’une part (1) le texte clair et la clé de chiffrement, et
d’autre part (2) le texte chiffré doit être aussi difficile que possible
Diffusion: Un petit changement dans le texte clair doit avoir un effet sur
une large partie du texte chiffré.
7
Chiffrement classique : transpositions,
substitutions
Substitution
Remplacement de chaque élément (bit, lettre, groupe de bits ou de lettres)
dans le texte clair par un autre élément.
Principe de confusion présenté souvent comme réalisé par les substitutions
Transposition
Réarrangement des éléments du texte clair
Principe de diffusion présenté souvent comme réalisé par les transpositions
La plupart des systèmes utilisent plusieurs étapes de transposition et de
substitution.
8
Chiffrement par substitution mono alphabétique
9
Chiffrement par substitution mono alphabétique
Exemple: texte chiffré
10
Chiffrement par substitution mono alphabétique
Cryptanalyse
Résultat:
12
Chiffrement de Viginère
Tableau de viginère
13
Exemple de chiffrement par transposition: Rail fence
technique
Principe: Le texte clair est réécrit comme une séquence de lignes, puis
réordonnée comme une séquence de colonnes
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ
14
Cryptographie symétrique: principe
Clé = K
15
Cryptographie symétrique: modes opérationnels
16
Cryptographie symétrique: exemples
17
Cryptographie symétrique
18
Cryptographie asymétrique
Appelée aussi:
Cryptographie à clé publique / à paire de clés / asymétrique
Représente une révolution dans l’histoire de la cryptographie
Chaque personne dispose d’une paire de clés :
Clé privée sk : connue uniquement par son propriétaire
Clé publique pk: clé disponible pour tout le monde
publiée dans des annuaires publiques
Il n’est pas possible de calculer sk en connaissant pk
sk déchiffre ce qui a été chiffré avec pk et vice versa
Exemples d'algorithmes: RSA, ElGamel, Rabin
19
Cryptographie asymétrique: premier mode
Texte chiffré
Emetteur Récepteur
Texte chiffré
Emetteur Récepteur
21
Cryptographie asymétrique: exemples
RSA
Développé par Rivest, Shamir & Adleman à MIT en 1977, publié en
1978.
Le plus connu et le plus utilisé comme algorithme : utilisé pour le
chiffrement et la signature électronique.
Utilise des entiers très larges 1024+ bits
La sécurité repose sur le coût de factorisation des entiers larges.
Diffie-Hellman
Algorithme utilisé pour l’échange et la distribution des clés symétriques.
22
Cryptographie asymétrique
Avantages:
Assure la confidentialité, l’authentification et la non répudiation
N’est pas limitée par la distribution des clés
Critiques:
Système lent
Problème d’implémentation sur les équipements disposants de faible
puissance de calcul (ex: cartes bancaire, stations mobiles, etc.)
Clés longues
Complexité algorithmique de la méthode (ex: réalisation des opérations
modulo n)
Solution:
Utilisationde la cryptographie asymétrique pour l’échange des clés
secrètes de session d'un algorithme symétrique à clés secrètes.
23
Échange de clés secrètes
24
Transport de clés de session avec clé publique
Clé publique du Clé privée du
destinataire xxxx xxxx destinataire
chiffrement xxxx xxxx Déchiffrement
xxx xxx
Clé Clé secrète Clé secrète Clé secrète
secrète chiffrée chiffré
Réseau
25
Diffie-Hellman key agreement protocol
(logarithmique)
26
Diffie-Hellman key agreement protocol
(logarithmique)
27
Exercice 1
28
Exercice 2
n
29
Fonction de hachage
But: assurer l'integrité
Génère à partir d'un message de longueur quelconque un résumé de
taille fixe
H (M) = C, M est de taille quelconque
C est de taille fixe appelé condensât, ou empreinte, ou fingerprint, ou message digest
Propriétés:
Facile à calculer
Unique (pas de collision):
deux messages différents ne donnent pas la même empreinte
Si H (x1) = C1 , il est très difficile de trouver : x2 différent de x1 tel que H (x2) = C1
Irréversible (one way):
étant donner H(x), il est pratiquement impossible de déterminer x.
Internet
Hachage =? Hachage
32
Signature électronique
Théoriquement
Consiste à chiffrer le message en question avec une clé privée
À la réception du message et de son cryptogramme, le destinataire
disposant de la clé publique peut vérifier la signature
Dans la pratique, cette méthode est peu utilisée à cause de sa lenteur
Méthode pratique
Pour signer un message, la source calcule l’empreinte du message à
signer et ne chiffre avec la clé privée que cette empreinte.
Calcul de l’empreinte rapide et quantité de données à chiffrer réduite
33
Signature électronique
Permet l’authentification, l’intégrité et la non répudiation
Fonction de
Condensât Condensât xxx
------ hachage
chiffré +
------
------ Clé publique
----- Message
Message ------ de l’émetteur
original
original -----
Clé privé de Fonction de
l’émetteur hachage
Réseau
Condensât Condensât
Condensât xxx calculé par le reçu
chiffré + récepteur
------
Message
------ Sont ils identiques
original
----- oui non
Message
authentique La signature ou le
message ont été
modifiés
L’échange par mail signé et chiffré:
Problématique
Notes.xls
Centre
Tunis de calcul
35
Problématique
Notes.xls
Notes’.xls
Nom Fondements Serveur
Nom Fondements
Ali 18
Ali 10
Centre
Tunis de calcul
36
Signature des mails
Tunis Centre
de calcul
37
Signature des mails
Notes.xls
Notes.xls Nom Fondements
Nom Fondements Serveur Ali 18
Ali 18
Vérification et
Validation
Tunis
Centre
Notes.xls
de calcul
Nom Fondements
Ali 18
Fondements Ali 18
38
Signature et chiffrement des mails
Notes.xls Centre
Nom Fondements Serveur de calcul
Ali 18
dezMg ku7y5rt
t5dfhdhrhbfeEE
efze6d9jeff21fgr
Ali 18
dezMg ku7y5rt
t5dfhdhrhbfeEE
efze6d9jeff21fgr
Aucune information
39
MAC: Message Authentication Code
Un mécanisme cryptographique permettant de vérifier l'authentification de
l'origine des données et leur intégrité en même temps.
Ne fournit pas la non-répudiation.
Une famille de fonctions hk paramétrée par une clé secrète k avec les propriétés
suivantes :
Étant donné une clé k et un message m, hk(m) est facile à calculer,
Étant donné zéro ou plusieurs paires (mj, hk(mj)), il est très difficile de calculer n'importe
quelle paire (m, hk(m)) pour n'importe quel message m.
Principe:
Utilisée par le récepteur pour calculer le MAC de nouveau sur le message reçus et le comparer au
MAC accompagnant le message.
41
Exemple d’algorithme cryptographique symétrique :
DES
42
DES
Les grandes lignes de l'algorithme sont les
suivantes :
43
DES
1. Permutation initiale
Dans un premier temps, chaque bit d'un bloc est soumis à la permutation initiale,
pouvant être représentée par la matrice de permutation initiale (notée PI) suivante :
44
DES
2. Scindement en blocs de 32 bits
Une fois la permutation initiale réalisée, le bloc de 64 bits est scindé en deux blocs
de 32 bits, notés respectivement G et D (pour gauche et droite, la notation anglo-
saxonne étant L et R pour Left and Right). On note G0 et D0 l'état initial de
Il est intéressant de remarquer que G0 contient tous les bits possédant une position
paire dans le message initial, tandis que D0 contient les bits de position impaire.
45
DES
3. Rondes
Les blocs Gn et Dn sont soumis à un ensemble de transformation itératives
appelées rondes, explicitées dans ce schéma, et dont les détails sont donnés plus
bas :
46
DES
A- Fonction d'expansion
Les 32 bits du bloc D0 sont étendus à 48 bits grâce à
une table (matrice) appelé table d'expansion(notée E),
dans laquelle les 48 bits sont mélangés et 16 d'entre
eux sont dupliqués :
Ainsi, le dernier bit de D0 (c'est-à-dire le 7ème bit du
bloc d'origine) devient le premier, le premier devient le
second,…
De plus, les bits 1,4,5,8,9,12,13,16,17,20,21,24,25,28
et 29 de D0 (respectivement 57, 33, 25, l, 59, 35, 27,
3, 6l, 37, 29, 5, 63, 39, 31 et 7 du bloc d'origine) sont
dupliqués et disséminés dans la matrice.
47
DES
B- OU exclusif avec la clé
La matrice résultante de 48 bits est appelée D'0 ou bien E[D0]. L'algorithme DES procède
ensuite à un OU exclusif entre la première clé K1 et E[D0]. Le résultat de ce OU exclusif est une
matrice de 48 bits que nous appelerons D0 par commodité (il ne s'agit pas du D0 de départ!).
C- Fonction de substitution
D0 est ensuite scindé en 8 blocs de 6 bits, noté D0i. Chacun de ces blocs passe par
des fonctions de sélection (appelées parfois boîtes de substitution ou fonctions de
compression), notées généralement Si.
Les premiers et derniers bits de chaque D0i détermine (en binaire) la ligne de la fonction de
sélection, les autres bits (respectivement 2, 3, 4 et 5) déterminent la colonne. La sélection de la
ligne se faisant sur deux bits, il y a 4 possibilités (0,1,2,3).
La sélection de la colonne se faisant sur 4 bits, il y a 16 possibilités (0 à 15). Grâce à
cette information, la fonction de sélection "sélectionne" une valeur codée sur 4 bits.
48
DES
Soit D01 égal à 101110. Les premiers et derniers bits donnent 10, c'est-à-dire
2 en binaire. Les bits 2,3,4 et 5 donnent 0111, soit 7 en binaire. Le résultat
de la fonction de sélection est donc la valeur situé à la ligne n°2, dans la
colonne n°7. Il s'agit de la valeur 11, soit en binaire 0111.
Chacun des 8 blocs de 6 bits est passé dans la fonction de sélection
correspondante, ce qui donne en sortie 8 valeurs de 4 bits chacune.
49
DES
Voici les autres fonctions de sélection :
50
DES
51
DES
Chaque bloc de 6 bits est ainsi substitué en un bloc de 4 bits. Ces bits sont
regroupés pour former un bloc de 32 bits.
52
DES
D- Permutation
Le bloc de 32 bits obtenu est enfin soumis à une permutation P dont voici la
table
E- OU Exclusif
L'ensemble de ces résultats en sortie de P est soumis à un OU Exclusif avec
le G0 de départ (comme indiqué sur le premier schéma) pour donner D1,
tandis que le D0 initial donne G1.
L'ensemble des étapes précédentes (rondes) est réitéré 16 fois.
53
DES
4- Permutation initiale inverse
A la fin des itérations, les deux blocs G16 et D16 sont "recollés, puis soumis à
la permutation initiale inverse :
54
DES simplifié
Les additions se font terme à terme en modulo 10
[1 2 3 4 ] ⊕[7 8 9 0]= [8 0 2 4]
Message M=[1 2 3 4 5 6 7 8]
Clé C=[3 1 3 2]
55
DES simplifié
M0=[G0||D0]=[1 2 3 4||5 6 7 8]
M1=[D0 ||C ⊕ σ(G0)]
On échange la partie droite et la partie gauche de M0
M0[5 6 7 8||1 2 3 4]
Sur la nouvelle partie droite, on permute circulairement les nombres
[5 6 7 8||2 3 4 1]
Puis on ajoute la clé secrète C à droite (ici C=[3 1 3 2])
M1= [5 6 7 8||5 4 7 3]
56
DES simplifié
Tours suivants
Si Mi=[Gi||Di] alors Mi+1=[Di ||C ⊕ σ(Gi)]
Etape 2: Deuxième tour
M1= [5 6 7 8||5 4 7 3]
On échange la partie droite et la partie gauche de M1
M1 [5 4 7 3||5 6 7 8]
Sur la nouvelle partie droite, on applique σ
[5 4 7 3||6 7 8 5]
Puis on ajoute la clé secrète C à droite
[5 4 7 3||9 8 1 7]
M2= [5 4 7 3 9 8 1 7]
57
Exemple d’algorithme cryptographique asymétrique:
RSA
Etapes
1. Sélectionner deux entiers premiers entre eux « p » et « q »
2. Calculer n = p x q
3. Calculer φ(n)=(p-1)(q-1)
4. Sélectionner « e » tel que: pgcd(φ(n),e)=1 ; 1<e<φ(n)
En général « e » est un entier de petite taille.
5. Calculer d=e-1 mod φ(n) En d’autre terme: d.e = 1 mod (φ(n))
6. Clé publique: Kpu={e,n}
7. Clé privée Kpr = {d,n}
Pour chiffrer un message M < n, l’émetteur:
Obtient une clé publique du récepteur et calcule « C= Me mod n »
Pour déchiffrer un message chiffré C le récepteur
Utilise sa clé privée et calcule « M = Cd mod n »
58
Algorithme RSA
Exemple
59
Certificats : pourquoi ?
60
Certificats : pourquoi ?
Scénario :
Ali et Mohamed veulent s’envoyer des messages, Anis = Intrus
Anis
Modifie l’annuaire ou le serveur web qui héberge les clés publiques en
remplaçant la clé publique d’Ali par la sienne.
Il peut maintenant lire les courriers destinés à Ali et signer des message en se
faisant passer pour Ali
Si Mohamed envoie message « M » chiffré à Ali
Il va chiffrer M avec clé publique da Anis (croyant que c’est la clé d’Ali).
Anis pourra déchiffrer les messages destinés à Ali avec sa clé privée, et
lire ainsi son courrier confidentiel
--> Attaque de l’homme au milieu (Man In The Middle)
Solution : Certificats électroniques
61
Certificat électronique
Permet l’authentification: garantit l’appartenance d’une clé publique à une entité
Signé par une tierce partie de confiance: Autorité de Certification
Exemples: ANCE, Verisign, Digicert...
Géré tout au long de son cycle de vie (création, renouvellement et révocation) par
l’autorité de Certification au moyen d’une infrastructure à clés publiques
Principal format: certificats X.509
62
Certificat électronique
Serial number :
Signature Algorithm ID :
Issuer Name :
Subject Name :
64
Certificat électronique
65
Vérification d’un certificat
Certificat
Certificat
Version: ---------- invalide
Empreinte1
SN : --------------- Fonction de
hashage non
---------------------
---------------------- Égalité?
oui
Signature:1b:2b:c0:3e: Déchiffrement Empreinte2
52:4d:14:43:… Certificat
valide
Clé publique de l'autorité de
certification
66
PKI
67
PKI
Traitement des
demande de: Publication des
- Création Autorité certificats émis ou
- Révocation d’Enregistrement
révoqués
- Renouvellement
de certificats
Annuaire
- Création Autorité de
- Révocation Certification
- Renouvellement validation
de certificats
Service de
Archiver les clés séquestre Vérifier la validité
privées/publiques des certificats
68
Modèle de confiance dans X.509
Infrastructure hiérarchique
Possibilité de certification entres deux Autorités de certifications (AC
appartenant à des arbres différents
c’est la co-certification
69
Validation de certificat
70
Exercice 3
La figure suivante présente l'échange de messages entre 3 entités A, B et C (un intrus)
utilisant un système de chiffrement asymétrique. Nous utilisons le format des messages
suivant: (source, destination, message).
72