Vous êtes sur la page 1sur 57

Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Cryptographie et Sécurité
Informatique

Abdoul Aziz Ciss

École Polytechnique de Thiès, Sénégal


Département de Génie Informatique et Télécommunications

April 10, 2016

1 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Contenu

Introduction & Motivations

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

• Menaces : adversaires déterminés capables de monter une


attaque exploitant une vulnérabilité
• Vulnérabilités : failles de sécurité dans un ou plusieurs systèmes.
Tout système vu dans sa globalité présente des vulnérabilités, qui
peuvent être exploitables ou non.
• Attaques :
• représentent les moyens d’exploiter une vulnérabilité.
• Il peut y avoir plusieurs attaques pour une même vulnérabilité
mais toutes les vulnérabilités ne sont pas exploitables.

• Contremesures : procédures ou techniques permettant de


résoudre une vulnérabilité ou de contrer une attaque spécifique

3 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Types d’attaques

• Attaques passives : écouter sans modifier les données ou le


fonctionnement du réseau. Elles sont généralement indétectables
mais une prévention est possible.
• Attaques actives
• Modifier des données ou des messages, à s’introduire dans des
équipements réseau ou à perturber le bon fonctionnement de ce
réseau.
• Peut être exécutée sans la capacité d’écoute.
• Généralement pas de prévention possible pour ces attaques, bien
qu’elles soient détectables

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

• Cheval de Troie ou Trojan : porte dérobée, contrôle à distance

• Craquage de mot de passe : password cracker

• Virus et Vers : modification des données

• Déni de service ou DoS : attaques par saturation

• IP Spoofing : usurpation d’adresse IP

• DNS Spoofing : se faire passer pour un hote

• SQL Injection : inclure des codes SQL dans les applications

• 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

2. Cryptographie : étude des techniques de chiffrement,


authentification, intégrité et non répudiation
3. Crytanalyse : étude des vulnérabilités des systèmes
cryptographiques

6 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Objectifs de la cryptographie

• Confidentialité : empêcher toute personne non autorisée d’avoir


accès à des données réputées secrètes.
• Intégrité : garantir que les données n’ont pas été modifiées
(intentionnellement ou pas) durant leur transmission ou leur
stockage
• Authentification : s’assurer que les messages proviennent bien de
celui qui prétend en être l’expéditeur.
• Identification : s’assurer que l’interlocuteur est bien celui qu’il
prétend être.
• non-répudiation : une partie ayant participer à une
communication ne doit pas pouvoir le renier dans l’avenir.

7 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Un peu de vocabulaire

Une communication implique traditionnellement trois protagonistes:


• Astou et Babacar : ils désirent s’échanger des données de façon
confidentielle. Ils constituent les parties légitimes
• Modou : Un adversaire qui a pour objectif d’espionner la
communication entre Astou et Babacar

8 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Un peu de vocabulaire

L’objectif de la Cryptographie est d’assurer une communication sécurisée


entre Astou et Babacar à travers un canal ouvert (public comme le
réseau téléphonique, Internet, l’atmosphère), de sorte qu’une tierce par-
tie (Modou), qui intercepte la communication, ne puisse en comprendre
le sens ou modifier les données qui sont envoyées de part et d’autre.

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

Un système cryptographique ou cryptosystème est la donnée


1. d’un espace P (plain texts) des textes clairs
2. d’un espace C (cipher texts) des texts chiffrés
3. d’un espace K des clés
4. de fonctions de chiffrement et de déchiffrement

11 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Des clés ?

Alternatives aux clés


Algorithmes (ou fonctions) secrets E et D...

Inconvénients
• Difficile de changer de chiffrement

• Si tout ou une partie de E et/ou D est compromis, tout le


système s’effondre
• Plus facile de cacher une clé que dissimuler un algorithme

• ...

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

Deux grandes approches

1. Cryptosystèmes à clés secrètes (ou symétriques) : La clé de


chiffrement est identique à la clé de déchiffrement. k = k 0 est
gardée secrète par Astou et Babacar. k = k 0 est appelée clé
secrète.
2. Cryptosystèmes à clés publiques (ou asymétriques) : k 6= k 0 . La
clé k est diffusée publiquement : elle est appelée clé publique. Par
contre, seule Babacar détient la clé k 0 , appelée clé privée.

14 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Systèmes symétriques

• Objectif : garantir la confidentialité

• Chiffrement et déchiffrement avec la même clé

• Chiffrement et déchiffrement avec des fonctions mathématiques


difficiles à inverser
• Rapide, donc chiffrer des quantités importantes de données

• Exemple : DES, 3DES, AES, IDEA, RC4


• Les plus utilisés
• DES : Data Encryption Standard
• 3DES : Triple DES
• AES : Advanced Encryption Standard

15 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Systèmes symétriques : approche classique

• Chiffrement par substitution

• Chiffrement par permutation

• Chiffrement de Vigenère

• Chiffrement de Verman (One-time pad)

• 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

Mise en œuvre avec les certificat numérique et les fonctions de hachage


pour la mise en place de canal sécurisé
• RSA

• 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

2. Primitives à clé symétrique


• Chiffrement par bloc, flux
• Fonctions de hachage (MAC)
• Signatures
• Générateurs pseudo-aléatoires
• Identification

3. Primitives à clé publique


• Chiffrement
• Signatures numériques
• Identification (zero-knowledge)
18 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Primitives cryptographiques

• Fonctions à sens unique : Fonction que l’on peut calculer


facilement mais difficile à inverser. En d’autres termes, une
fonction f est dite à sens unique si f (x) se calcule de façon
efficace ∀x, par contre calculer f −1 (y) est presque impossible
• Fonctions à trappe : fonction à sens unique que l’on peut inverser
facilement lorsque l’on détient une information supplémentaire.
• Fonction de hachage : fontions qui transforme une donnée
(binaire) de taille quelconque en une chaine de bits uniforme
(difficile à déviner) de longueur fixe.
• Générateurs de nombres pseudo-aléatoires : fonctions qui
produisent des chaines de bits aléatoires

19 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Fonctions de hachage

• Une fonction de hachage (hash function) h est une fonction à sens


unique qui convertit une chaine de bits de longueur quelconques
en une chaine de bits de longueur fixe appelée empreinte ou
digest. En d’autres termes, si y appartient à l’espace des
empreintes, il est difficile de trouver x tel que h(x) = y.
• Elle respecte les propriétés suivantes :
1. Résistance aux collisions : pour tout x, il est difficile de trouver
x0 6= x tel que h(x) = h(x0 )
2. Forte résistance aux collisions : Il est difficile de trouver x et x0
tels que h(x) = h(x0 )

• Exemples de fonctions de hachage : SHA-1, SHA-3, MD5, MD2,


...

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

Si de plus, a ∗ b = b ∗ a, ∀a, b ∈ G, on dira que le groupe (G, ∗) est


commutatif ou abélien.

21 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Exemples de groupes

1. Z muni de l’addition est un groupe abélien, de même que Q, R, C.


2. (R, ×), (C, ×) sont des groupes abéliens
3. N n’est pas un groupe

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

Le groupe des restes modulo n

Zn = {0, 1, 2, . . . , n − 1}

1. Zn est stable par addition modulo n


2. l’addition modulo n est associative
3. 0 est l’élément neutre pour l’addition
4. pour tout élément non nul a ∈ Zn admet n − a ∈ Zn comme
opposé (symétrique)
5. l’addition modulo n est commutative
Zn est un groupe abélien de cardinal n

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

• (Z, +), (Q, +) sont des sous-groupes de (R, +)

• 5Z = {. . . , −15, −10, −5, 0, 5, 10, 15, . . .} muni de l’addition est un


sous-groupe de Z
• {0, 5, 10} muni de l’addition modulo 15 est un sous-groupe de Z15

25 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Générateurs

• Étant donné un groupe (G, ·), tout élément g de G engendre un


sous-groupe

hgi = {. . . , g −2 , g −1 , g 0 , g 1 , g 2 , . . .}

• Si hgi est un groupe fini, de cardinal n, alors g n = 1 et

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

Z15 est d’ordre 15.


• h5i = {0, 5, 10} est un sous-groupe d’ordre 3
o(5) = 3
• h2i = {0, 2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13}
o(2) = 15, donc 2 est un générateur
• h1i = Z15 est un générateur

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

On dira que l’anneau A est commutatif si a · b = b · a pour tout a, b ∈ A

30 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Exemples

• (Z, +, ·) est un anneau. De même que Q, R, C.

• (Zn , +, ·) est un anneau

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.

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, . . .

32 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Problème de la factorisation

• on sait générer efficacement de très grands nombres premiers

• on sait comment multiplier efficacement des nombres premiers

• on ne sait pas comment les factoriser

• factorisation possible avec les machines quantiques, mais on ne


sait pas construire de telles machines.

33 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Arithmétique dans Zn

Opérations efficaces sur Zn


• addition : (a + b) mod n

• multiplication : (a × b) mod n

• inverse : a−1 mod n lorsque pgcd(a, n) = 1

• puissance : ae mod n, e étant un entier



Problème : extraction de racine eeme modulo n, ie e
a 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


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

• ϕ(mn) = ϕ(m) × ϕ(n)

• ϕ(pa ) = pa−1 (p − 1) pour p premier

35 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Théorème des restes chinois (CRT)


Théorème (CRT)
Soit m et n deux entiers copremiers. Alors,
• l’application

f : Zmn −→ Zm × Zn
x 7−→ f (x) = (x mod m, x mod n)

est une bijection


• f −1 (a, b) = (an(n−1 mod m) + bm(m−1 mod n)) mod mn

Exemple
m = 5, n = 7, mn = 35

f −1 (3, 4) = (3 · 7 · (7−1 mod 5) + 4 · 5 · (5−1 mod 7)) mod 35 = 18


36 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

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

Propriétés du corps fini Fp = Zp

Théorème
Soit p un nombre premier.
• Z∗p = {1, 2, . . . , p − 1}

• ϕ(p) = p − 1

• Petit théorème de Fermat : Pour tout x ∈ Z∗p , on a


xp−1 ≡ 1 mod p
• Z∗p est un groupe cyclique ayant ϕ(p − 1) générateurs : Il existe
ϕ(p − 1) éléments g tels que

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

Corps de Galois GF (pk ) = Fpk


Soit p un nombre premier et k un entier > 1.
• Division euclidienne dans Fp [x] : Pour tout polynôme A(x) et
P (x) 6= 0, il existe des polynômes Q(x) et R(x) tels que
A(x) = Q(x)P (x) + R(x), avec deg(R) < deg(P ). On note que
R(x) = A(x) mod P (x).
• Choisir P (x), un polynôme unitaire (coefficient dominant = 1)
irréductible (que l’on ne peut pas décomposer en polynômes non
triviaux) de degré k dans Fp [x].
• Soit GF (pk ) = Fpk l’ensemble des polynômes dans Fp [x] de degré
k − 1 au plus.
• Addition : addition régulière sur Fp [x] modulo p

• Multiplication : multiplication sur Fp [x] modulo P (x)

Ces opérations munissent l’ensemble Fpk d’une structure de corps.


39 / 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]

• Le polynôme P (x) = x3 + x + 1 est irréductible de degré 3

• F23 peut être construit de la manière suivante :

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

Chiffrement par flux


Le chiffrement par flux (ou flot) (stream cipher) traite des données de
longueur quelconque et n’a pas besoin de les découper. Le chiffrement
par flot se présente souvent sous la forme d’un générateur de nombre
pseudo-aléatoire avec lequel on opère un XOR entre un bit à la sortie
du générateur et un bit provenant des données. L’addition dans un
groupe est également envisageable (cas du chiffrement de Vernam)

Quelques algorithmes de chiffrement par flux


• A5 : utilisé dans les téléphones mobiles de type GSM pour
chiffrer la communication par radio entre le mobile et
l’antenne-relais la plus proche.
• RC4 : le plus répandu, conçu par R. Rivest, utilisé par le
protocole WEP du Wifi
• E0 utilisé par le protocole Bluetooth
41 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Chiffrement par bloc

Les données sont d’abord découpées en blocs de taille généralement fixe


(souvent une puissance de 2 entre 32 et 512 bits). Les blocs sont ensuite
chiffrés les un après les autres. Un chiffrement par bloc peut aussi être
transformé en un chiffrement par flux ou une fonction de hachage.

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

• BlowFish et TwoFish, des alternatives à l’AES

• ...

42 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Limites de la cyptographique symétrique

• Problème du partage de la clé secrète à travers un canal ouvert


n(n−1)
• Dans un ensemble de n entités, il faut 2 clés pour sécuriser
tous les canaux (une clé par canal)
• Difficile à gérer quand n = 45

• Ne garantit pas la signature

• N’assure pas l’identification zero-knowledge

• ...

43 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Cryptographie asymétrique

• Apparue en 1976 (Whitefield Diffie & Martin Hellman)

• Repose essentiellement sur des problèmes mathématiques


supposés difficciles
• Règle le problème du partage de clés secrètes

• Assure tous les services de la cryptographie

Limites
• Repose sur des problèmes théoriques non démontrés

• Moins performante que la cryptographie symétrique

44 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Quelques cryptosystèmes à clé publique

• RSA : Factorisation des grands entiers, problème RSA

• El Gamal : Logarithme discret, problème de Diffie-Hellman

• Rabin : Factorisation, racine carrée modulo un entier composite

• NTRU : Plus court vecteur dans un réseau arithmétique

• ...

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

2. Babacar garde confidentielle la clé privée


3. Il diffuse sa clé publique

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

RSA : Génération des clés

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

RSA : Chiffrement et déchiffrement

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

pour retrouver le message d’origine

49 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Problème du logarithme discret

Soit G un groupe, α, β deux éléments de G. Le problème du logarithme


discret (DLP) consiste à résoudre l’équation

β = α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

Échange de clés Diffie-Hellman (1976)

• Protocole d’échange de clés via un canal ouvert entre Astou et


Babacar
• Basé sur le DLP

51 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Échange de clés Diffie-Hellman (1976)


Scénario
Astou et Babacar désirent s’échanger une valeur secrète (une clé
symétrique par exemple)
1. Ils s’accordent sur un groupe fini G, un générateur g de G
2. Astou choisit aléatoirement une entier a < o(g) qu’il garde secret,
calcule kA = g a puis l’envoie à Babacar
3. Babacar choisit aléatoirement une entier b < o(g) qu’il garde
secret, calcule kB = g b puis l’envoie à Astou
4. Astou récupère kB puis calcule k = (kB )a
5. Babacar récupère kA puis calcule k 0 = (kA )b = k
6. Ils trouvent un moyen de dériver une clé symétrique de k(une
fonction de hachage ou un extracteur d’entropie)

52 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

El Gamal

• Paru en 1985

• Basé sur le problème du logarithme discret et le problème de


Diffie-Hellman

53 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

El Gamal : Génération des clés

Babacar crée une paire de clés (publique, privée) de la façon suivante :

• Il choisit un grand nombre p, un générateur g de Fp ,

• Il choisit aléatoirement un entier b tel que b < o(g), puis calcule


B = g b mod p.
• Il garde la valeur de b secrète et publie (p, g, B).

54 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

El Gamal : Chiffrement, déchiffrement

Chiffrement
Pour chiffrer un message m, Alice
• choisit un entier k < o(g)

• calcule c1 = g k mod p, puis c2 = mB k mod p

• envoie (c1 , c2 ) à Babacar

Déchiffrement
A la réception de (c1 , c2 ), Babacar calcule

c2 (c1 )−b ≡ m mod p

pour retrouver le message d’origne

55 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Signature numérique

• Signature RSA

• Signature El Gamal ou DSA (Digital Signature Standard),


ECDSA

56 / 57
Introduction & Motivations Outils mathématiques Cryptographie symétrique Cryptographie asymétrique Autres primitives Applications

Applications

• SSL/TLS

• Secure HTTP ou HTTPS

• Secure TCP/IP ou IPSec, IPv6

• SSH : Secure Shell

• SFTP : Secure FTP

• SET : Secure Electronic Transactions

• PGP, GnuPG

• ...

57 / 57

Vous aimerez peut-être aussi