Académique Documents
Professionnel Documents
Culture Documents
Cryptographie et Sécurité
Informatique
1 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Contenu
Outils mathématiques
Cryptographie symétrique
Cryptographie asymétrique
Autres primitives
Applications
2 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Introduction
3 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Types d’attaques
4 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Quelques attaques
• Sniffing : utilisation d’un sniffer pour récupérer des mots de passe
• Hijacking : détournement
• Ingénierie sociale
• ...
5 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Terminologie
1. Cryptologie
• Science des communications sécurisées
• Se partage entre la Cryptographie et la Cryptanalyse
6 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Objectifs de la cryptographie
7 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Un peu de vocabulaire
8 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Un peu de vocabulaire
9 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Un peu de vocabulaire
• Texte (message) clair : donnée (texte, voix, vidéo, binaire...)
qu’Astou veut transmettre à Babacar.
• Chiffrement
• Processus de transformation d’un message clair m de façon à le
rendre incompréhensible (sauf aux ayant-droits)
• Basé sur une fonction (algorithme) de chiffrement Ek (comme
encrypt) paramètrée par une clé k et qui renvoie un message
chiffré C = Ek (m)
• Déchiffrement
• Processus par lequel on reconstitue le message clair à partir du
chiffré
• Utilisation d’une fonction de déchiffrement Dk0 , paramétrée par
une clé k0 , telle que Dk0 (Ek (m)) = m
10 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Système cryptographique
11 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Des clés ?
Inconvénients
• Difficile de changer de chiffrement
• ...
12 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Bases de la sécurité
Hypothèse de base
La sécurité d’un système repose fondamentalement sur le secret de la
clé k. Tous les autres paramètres (P, C, K, ainsi que les algo de
(dé)chiffrement) doivent être publiques.
13 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
14 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Systèmes symétriques
15 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
• Chiffrement de Vigenère
• Chiffrement de Hill
• ...
16 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Systèmes asymétriques
Objectifs : garantir
• Confidentialité
• Authentification
• Non-répudiation
• El Gamal
• NTRU
• DSA, ECDSA
• ...
17 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Primitives cryptographiques
1. Primitives sans clé
• Fonctions de hachage
• Fonctions à sens unique
• Générateurs de nombres pseudo-aléatoires
Primitives cryptographiques
19 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Fonctions de hachage
20 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Définition
Définition
Un groupe G est un ensemble muni d’une loi de composition interne ∗
vérifiant les propriétés suivantes :
1. Associativité : ∀a, b, c ∈ G, on a a ∗ (b ∗ c) = (a ∗ b) ∗ c
2. Existence d’un élément neutre : ∃e ∈ G tel que ∀a ∈ G, on a
a∗e=e∗a=a
3. Symétrie : ∀a ∈ G, ∃b ∈ G tel que a ∗ b = b ∗ a = e. On note
b = a−1
21 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Exemples de groupes
22 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Division euclidienne
Division euclidienne
Pour tout entier a ∈ Z et tout n ∈ N∗ , il existe un unique couple (q, r)
dans Z2 tel que
a = qn + r et 0 ≤ r < n.
On note r ≡ a mod n
23 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Zn = {0, 1, 2, . . . , n − 1}
24 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Sous-groupes
Définition
Soit (G, ×) un groupe. On dira qu’un sous-ensemble H de G est un
sous-groupe de (G, ×) si (H, ×) un groupe. Exemples
25 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Générateurs
hgi = {. . . , g −2 , g −1 , g 0 , g 1 , g 2 , . . .}
hgi = {g 0 , g 1 , g 2 , . . . , g n−1 }
26 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Groupes finis
Définition
Soit (G, ·) un groupe de cardinal n. Alors G est dit fini si n l’est, et
dans ce cas, on dira que n est l’ordre de G et on note n = o(G).
Proposition
Soit (G, ·) un groupe et g ∈ G. L’ordre de g est le plus petit entier r
tel que g r = 1
27 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Théorème de Lagrange
Théorème (Lagrange)
Si (G, ·) est un groupe, alors l’ordre de tout élément g ∈ G divise
l’ordre de G
Conséquence
Si l’ordre de G est premier, alors tout élément (excepté 1) est un
générateur de (G, ·).
28 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Exemples
29 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Anneaux
Définition
Un anneau A est un ensemble muni de deux lois de compositions
internes + et · vérifiant :
1. (A, +) est un groupe abélien
2. Associativité : a · (b · c) = (a · b) · c pour tout a, b, c ∈ A
3. Élément neutre : Il existe 1 ∈ A tel que a · 1 = 1 · a pour tout
a∈A
4. Distributivité : a · (b + c) = a · b + a · c et (a + b) · c = a · c + b · c
pour tout a, b, c ∈ A
30 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Exemples
31 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Nombres premiers
Définition
Un entier est dit premier s’il n’a que deux diviseurs : 1 et lui même.
32 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Problème de la factorisation
33 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Arithmétique dans Zn
• multiplication : (a × b) mod n
Théorème
x ∈ Zn est inversible si et seulement pgcd(x, n) = 1
34 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Indicatrice d’Euler
Z×
n = {x ∈ Zn , pgcd(x, n) = 1} groupe des éléments inversibles de Zn
ϕ(n) = #Z×
n
Théorème
Soit n un entier positif. Alors
• Pour tout x ∈ Zn , x ∈ Z×
n ↔ pgcd(x, n) = 1
• Pout tout x ∈ Z×
n , on a x
ϕ(n)
=1
• ϕ(p) = p − 1 si p est premier
35 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
f : Zmn −→ Zm × Zn
x 7−→ f (x) = (x mod m, x mod n)
Exemple
m = 5, n = 7, mn = 35
Corps
Définition
Un corps (K, +, ×) est un anneau commutatif tel que tout élément
non nul admet un inverse : ∀ a ∈ K, a 6= 0, ∃b ∈ K tel que
a × b = b × a = 1 (b = a−1 )
Exemple
• Q, R, C
• Zp pour p premier.
37 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Théorème
Soit p un nombre premier.
• Z∗p = {1, 2, . . . , p − 1}
• ϕ(p) = p − 1
Z∗p = {g 0 , g 1 , g 2 , . . . , g p−2 }
38 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Exemple
Construction de F23
• Considérons l’anneau des polynômes F2 [x]
F23 = {0, 1, x, x + 1, x2 , x2 + 1, x2 + x, x2 + x + 1}
Exemple
• (x + 1)(x2 + 1) = x2 + x
• (x + 1)(x2 + 1) = x3 + x2 + x + 1 = x2
40 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Exemples
• DES (Data Encryption Standard) conçu dans les années 70,
largement étudié et implémenté
• AES (Advanced Encryption Standard), remplaçant du DES
• ...
42 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
• ...
43 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Cryptographie asymétrique
Limites
• Repose sur des problèmes théoriques non démontrés
44 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
• ...
45 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Mise en œuvre
Scénario
1. Babacar se crée une paire de clés
• une clé privée pour
• déchiffrer les messages qu’il reçoit
• signer les messages qu’il envoie
• prouver son idéntitié
• une clé publique
• chiffrer un message pour Babacar
• vérifier une signature de Babacar
• vérifier l’identité de Babacar
46 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
RSA
Acronyme
RSA : Rivest, Shamir et Adleman
Usages
Confidentialité, authentification, contrôle d’intégrité, signature
Fondements
Aucun algorithme polynômial connu à ce jour pour la factorisation
des grands nombres
47 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Babacar
1. choisit deux nombres premiers p et q, avec |p| = |q| assez grand
(environ 1024 bits)
2. calcule n = pq et ϕ(n) = (p − 1)(q − 1)
3. choisit ensuite un entier e tel que 1 < e < ϕ(n) et
pgcd(e, ϕ(n)) = 1, calcule d ≡ e−1 mod ϕ(n)
4. garde secret le triplet (p, q, d), puis publie (n, e)
Clé privée : (p, q, d); clé publique : (n, e)
48 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Chiffrement
Pour chiffrer un message m et l’envoyer à Babacar, Alice
1. télécharge la clé publique (n, e) de Babacar
2. calcule c = me mod n et l’envoie à Babacar sur le canal non
sécurisé
Déchiffrement
A la réception du message chiffré c, Babacar calcule
m ≡ cd mod n
49 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
β = αx
Groupes
• Corps finis : Fq , où q est premier ou q = pn , une puissance d’un
nombre premier
• Groupe des points rationnels d’une courbe elliptique
50 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
51 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
52 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
El Gamal
• Paru en 1985
53 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
54 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Chiffrement
Pour chiffrer un message m, Alice
• choisit un entier k < o(g)
Déchiffrement
A la réception de (c1 , c2 ), Babacar calcule
55 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Signature numérique
• Signature RSA
56 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications
Applications
• SSL/TLS
• PGP, GnuPG
• ...
57 / 57