Académique Documents
Professionnel Documents
Culture Documents
Introduction à la cryptographie 1
Dan Boneh
V. Chiffrement Asymétrique.
Introduction à la cryptographie 2
Dan Boneh
V. Chiffrement Asymétrique.
Problème de la Factorisation
Il est facile de calculer Z =X*Y connaissant X et Y.
Alors qu’il est difficile de trouver X et Y à partir de Z.
pour des valeurs de Z très grandes
C'est un problème mathématique difficile !
Introduction à la cryptographie 3
Dan Boneh
V. Chiffrement Asymétrique.
Le RSA
Le problème est résolu !: Cet algorithme a été proposé par Rivest,
Shamir et Adleman en 1977, ce qui a donné naissance au RSA.
Seul Bob, qui connaît la clé privé peut factoriser la clé publique et donc
déchiffrer le message chiffré.
Introduction à la cryptographie 4
Dan Boneh
V. Chiffrement Asymétrique.
Oscar peut avoir substitué sa propre clé publique à celle de Bob afin
de pouvoir lire les messages destinés à Bob.
Il peut même les renvoyer à Bob une fois lu !
Introduction à la cryptographie 5
Dan Boneh
V. Chiffrement Asymétrique.
La notion d'inverse
Ce que fait l'algorithme de chiffrement devra être défait plus tard lors du
déchiffrement.
Introduction à la cryptographie 8
Dan Boneh
V. Chiffrement Asymétrique.
Quelques remarques sur les mathématiques modulaires
Leonhard Euler
Lorsqu'on utilise un module comme étant le produit de deux nombres
premiers on a :
Soit n = p*q, avec p et q premiers, et quelque soit m
m(p – 1)(q – 1) mod n = 1
Exemple : soit p = 11 et q = 5, n = 55 et (p–1)(q–1) = 10*4 = 40
3840 mod 55 = 1...pas besoin de calcul !
Si on manipule le résultat d'Euler en multipliant par m l'équation:
m*m(p – 1)(q–1) mod n = m m(p – 1)(q–1)+1 mod n = m
Cela veut dire que si on élève m à une certaine puissance, on retombe
sur m !
10
Introduction à la cryptographie Dan Boneh
V. Chiffrement Asymétrique.
Idée de chiffrement à clé publique : le RSA
e * d = (p – 1)(q –1) + 1
Possibilité de chiffrement clé publique 𝒆 𝒇𝟏
𝒄 = 𝒇𝟏 (m)= me mod n m c
Et de déchiffrement avec la clé privé 𝒅
𝒇𝟐
𝒇𝟐 (c)= cd mod n = m
Comment faire ?
utiliser l'arithmétique modulaire :
Trouver e * d tel que e * d = 1 mod { e * d – 1}
11
Dan Boneh
V. Chiffrement Asymétrique.
Chiffrement à clé publique : le RSA
Principe du RSA
Utiliser deux modules, l'un pour la génération des clés et
l'autre pour le chiffrement.
pour les clés : (p–1)(q–1) = φ(n)
pour chiffrer : p*q = n
Introduction à la cryptographie 12
Dan Boneh
V. Chiffrement Asymétrique.
Chiffrement/Déchiffrement par le RSA
Soient : — m le message en clair
— c le message encrypté (Cryptogramme)
— (e, n) constitue la clé publique
— (d, n) constitue la clé privée
— n le produit de 2 nombres premiers
— ^ l'opération de mise à la puissance (a^b : a puissance b)
— mod l'opération de modulo (reste de la division entière)
Pour chiffrer un message M, on fait: c = m^e mod n
Pour déchiffrer un cryptogramme C m = c^d mod n
Introduction à la cryptographie 14
Dan Boneh
V. Chiffrement Asymétrique.
Quelques éléments et rappels de mathématique
Le calcul de l'exponentiation (Reduction du nombre d’opérations)
XY * XZ = XY+Z
(X Y) Z = XY*Z
La méthode indienne :
soit le calcul de V = AB :
Initialiser V = 1
Tant que B ≥ 1 faire
- si B est impair, multiplier V par A et retrancher 1 à B
- sinon, élever A au carré et diviser B par 2
Exemple : V = 635 étape 0 : V = 1, B = 35, A = 6
étape 1 : B est impair alors V = 1*6 = 6, B = 34
étape 2 : B est pair A = 6*6 = 36, B = 17, V = 6
étape 3 : B est impair V = 6 * 36 = 216, B = 16, A = 36
étape 4 : B est pair A = 36 * 36 =1296, B = 8, V = 216
étape 5 : B est pair A = 216 * 216 =1679616, B = 4, V = 216
étape 6 : B est pair A = 1679616 2 = 2821109907456, B= 2, V = 216
étape 7: B est pair A = 28211099074562 = 7958661109946400884391936, B=1
étape 8 : B est impair, V = 216Introduction
* A = 171907079974842259102865817
à la cryptographie 15
Dan Boneh