« Le pédant tient plus à nous instruire de ce
qu'il sait que de ce que nous ignorons. »
JOHN PETIT-SENN
DOIT-ON FAIRE
CONFIANCE AU
CRYPTAGE ?
Introduction
Cryptage RSA

• Rivest Shamir Adleman 1977, 1983, 2000
• A la base des communications sécurisées
• Système de...
Fiable, vraiment ?
Si personne ne connaît votre clé à part vous,
vos informations sont-elles à l’abri ?

• NSA : poursuite...
Comment est-ce possible ?
L’échange sécurisé
Emetteur

Destinataire

Transport
avec espions

?
L’échange sécurisé symétrique
Emetteur

Destinataire
L’échange sécurisé symétrique
Emetteur
E

E

Destinataire
L’échange sécurisé symétrique
Emetteur

Destinataire

E
E

E
L’échange sécurisé symétrique
Emetteur

Destinataire

E
E

E
D

D
L’échange sécurisé symétrique
Emetteur

Destinataire

E
E

E
E
D

D

D
L’échange sécurisé symétrique
Emetteur

Destinataire

E
E

E
D
D

D
L’échange sécurisé symétrique
Emetteur

Destinataire

E
E

E
D

D

D
D
L’échange sécurisé symétrique
Emetteur

Destinataire

E
E

E
D
D

D
L’échange sécurisé asymétrique
Emetteur

Destinataire

D
L’échange sécurisé asymétrique
Emetteur

Destinataire

D

D
L’échange sécurisé asymétrique
Emetteur

D

Destinataire

D

D
L’échange sécurisé asymétrique
Emetteur

Destinataire

D

D

D

D
L’échange sécurisé asymétrique
Emetteur

Destinataire

D

D

D

D

D
L’échange sécurisé asymétrique
Emetteur

Destinataire

D

D

D

D
La cryptographie
Message à crypter
Encodage en nombre

Stopper tous les réacteurs !
192015161605180020...

Message M
Objec...
Quelle opération ?
Message à crypter
Encodage en nombre

Stopper tous les réacteurs !
192015161605180020...

M x 13

24961...
Quelle opération ?
Message secret M

192015161605180020...

M x 13

24961957665925534150...

M / 13

192015161605180020......
Puissance modulo
Une nouvelle opération mathématique simple.
Puissance :

M5 = M x M x M x M x M
Puissance modulo
Une nouvelle opération mathématique simple.
Puissance :

M5 = M x M x M x M x M
32 chiffres
Puissance modulo
Une nouvelle opération mathématique simple.
Puissance :
Problème :

M5 = M x M x M x M x M
32 chiffres

1...
Puissance modulo
Une nouvelle opération mathématique simple.
Puissance :

M5 = M x M x M x M x M

Les nombres classiques s...
Puissance modulo
Une nouvelle opération mathématique simple.
Puissance :

M5 = M x M x M x M x M

Les nombres modulo 35 :
...
Exemple
Une nouvelle opération mathématique simple.
Un exemple :

85 [35] = 32768 [35] = 29

0

...
29 34
Crypter le message
M =12871

Calcul des puissances
du message modulo N

M2

Très rapide sur un PC
M3

Prenons N=89077 par
...
Retomber sur ses pieds
M =12871

Calcul des puissances
du message modulo N
Il existe des puissances
particulières,
complém...
Retomber sur ses pieds
M =12871

Message original
Message crypté

M17 = C

Message décrypté
Paramètres fixes (clés)

C193
....
Retomber sur ses pieds
M =12871

Sur les paramètres :

• Nécessaire pour
crypter

M17 = C

• Nécessaire pour
décrypter

• ...
Contraintes mathématiques
M =12871

Cela marche bien avec
les paramètres
17, 193, 89077.

M17 = C

Mais pas avec
n’importe...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Cela marche bien avec
les paramètres
17, 193, 89077.
Il y a des liens entre
ces valeurs.

89077 ...
Contraintes mathématiques
Rappel :

89077 = 41 x 83

• Nécessaire pour

On enlève 1 :

crypter

• Nécessaire pour

décrypt...
Point fondamental
Si on est capable
d’écrire ce nombre
sous la forme d’un
produit, alors on peut
en déduire la clé privée....
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
99 =
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
99 =
11 x 9
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
99 =
11 x 9
247 =
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
99 =
11 x 9
247 =
13 x...
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
99 =
11 x 9
247 =
13 x...
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5
99 =
11 x 9
247 =
13 x...
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5

89077 =
41 x 83

99 =...
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?

35 =
7x5

89077 =
41 x 83

99 =...
Point fondamental
Est-ce facile d’écrire un
nombre comme produit
de deux autres
nombres ?
On peut le faire par
« force bru...
Point fondamental
Point fondamental
1230186684530117755130494958384962720772853
56959533479219732245215172640050726
365751874520219978646938...
Point fondamental
1230186684530117755130494958384962720772853
56959533479219732245215172640050726
365751874520219978646938...
Point fondamental
1230186684530117755130494958384962720772853
56959533479219732245215172640050726
365751874520219978646938...
Point fondamental
1230186684530117755130494958384962720772853
56959533479219732245215172640050726
365751874520219978646938...
Point fondamental
• Cette clé de 768 bits (232 chiffres) a été
cassée en 2010 [Kleinjung & al.]

• En pratique les clés ac...
Conclusion
Conclusion
La sécurité du web repose sur une incapacité
mathématique humaine (et une incapacité machine).
Conclusion
La sécurité du web repose sur une incapacité
mathématique humaine (et une incapacité machine).
Ou plutôt, sur l...
Conclusion
La sécurité du web repose sur une incapacité
mathématique humaine (et une incapacité machine).
Ou plutôt, sur l...
Points additionnels
Points additionnels
Un autre problème est lié à l’implémentation de
l’algorithme : les bugs ou les insuffisances des logici...
Points additionnels
Un autre problème est lié à l’implémentation de
l’algorithme : les bugs ou les insuffisances des logici...
Points additionnels
Un autre problème est lié à l’implémentation de
l’algorithme : les bugs ou les insuffisances des logici...
En savoir plus
Sur l’histoire de la cryptographie :
http://fr.wikipedia.org/wiki/Histoire_de_la_cryptographie
Sur RSA :
ht...
Avez-vous compris ?
Feedback apprécié :

•
•

Kristen Le Liboux sur SlideShare
@novlangue sur Twitter

MERCI :-)
Prochain SlideShare
Chargement dans…5
×

Principe de fonctionnement du cryptage RSA

1 977 vues

Publié le

Le cryptage RSA est-il intrinsèquement inviolable ? Pour le savoir, nous essayons de comprendre comment il fonctionne et sur quelles mathématiques il s'appuie.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 977
Sur SlideShare
0
Issues des intégrations
0
Intégrations
20
Actions
Partages
0
Téléchargements
90
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Principe de fonctionnement du cryptage RSA

  1. 1. « Le pédant tient plus à nous instruire de ce qu'il sait que de ce que nous ignorons. » JOHN PETIT-SENN
  2. 2. DOIT-ON FAIRE CONFIANCE AU CRYPTAGE ?
  3. 3. Introduction Cryptage RSA • Rivest Shamir Adleman 1977, 1983, 2000 • A la base des communications sécurisées • Système de « clés » (nombres secrets) • Logiciel PGP (Zimmermann, 1991) (Pretty Good Privacy)
  4. 4. Fiable, vraiment ? Si personne ne connaît votre clé à part vous, vos informations sont-elles à l’abri ? • NSA : poursuites abandonnées contre PGP (1996), sans donner de raison ! • Algorithme de Shor (1994) : RSA cassé sur ordinateur quantique !
  5. 5. Comment est-ce possible ?
  6. 6. L’échange sécurisé Emetteur Destinataire Transport avec espions ?
  7. 7. L’échange sécurisé symétrique Emetteur Destinataire
  8. 8. L’échange sécurisé symétrique Emetteur E E Destinataire
  9. 9. L’échange sécurisé symétrique Emetteur Destinataire E E E
  10. 10. L’échange sécurisé symétrique Emetteur Destinataire E E E D D
  11. 11. L’échange sécurisé symétrique Emetteur Destinataire E E E E D D D
  12. 12. L’échange sécurisé symétrique Emetteur Destinataire E E E D D D
  13. 13. L’échange sécurisé symétrique Emetteur Destinataire E E E D D D D
  14. 14. L’échange sécurisé symétrique Emetteur Destinataire E E E D D D
  15. 15. L’échange sécurisé asymétrique Emetteur Destinataire D
  16. 16. L’échange sécurisé asymétrique Emetteur Destinataire D D
  17. 17. L’échange sécurisé asymétrique Emetteur D Destinataire D D
  18. 18. L’échange sécurisé asymétrique Emetteur Destinataire D D D D
  19. 19. L’échange sécurisé asymétrique Emetteur Destinataire D D D D D
  20. 20. L’échange sécurisé asymétrique Emetteur Destinataire D D D D
  21. 21. La cryptographie Message à crypter Encodage en nombre Stopper tous les réacteurs ! 192015161605180020... Message M Objectif : transformer M, et pouvoir revenir à M par deux opérations mathématiques
  22. 22. Quelle opération ? Message à crypter Encodage en nombre Stopper tous les réacteurs ! 192015161605180020... M x 13 24961957665925534150... M / 13 192015161605180020...
  23. 23. Quelle opération ? Message secret M 192015161605180020... M x 13 24961957665925534150... M / 13 192015161605180020... Problème : clé identique pour cryptage et décryptage la clé doit voyager avec le message...
  24. 24. Puissance modulo Une nouvelle opération mathématique simple. Puissance : M5 = M x M x M x M x M
  25. 25. Puissance modulo Une nouvelle opération mathématique simple. Puissance : M5 = M x M x M x M x M 32 chiffres
  26. 26. Puissance modulo Une nouvelle opération mathématique simple. Puissance : Problème : M5 = M x M x M x M x M 32 chiffres 160 chiffres La multiplication est une opération qui provoque des débordements
  27. 27. Puissance modulo Une nouvelle opération mathématique simple. Puissance : M5 = M x M x M x M x M Les nombres classiques se représentent sur une ligne : 0 35 70 82 105 140 ... infini Les nombres modulo 35 (par exemple) se représentent sur une « échelle » : ... 0 12 34
  28. 28. Puissance modulo Une nouvelle opération mathématique simple. Puissance : M5 = M x M x M x M x M Les nombres modulo 35 : ... 0 12 Puissance modulo 35 : 34 M5 [35] = la réduction de M5 modulo 35
  29. 29. Exemple Une nouvelle opération mathématique simple. Un exemple : 85 [35] = 32768 [35] = 29 0 ... 29 34
  30. 30. Crypter le message M =12871 Calcul des puissances du message modulo N M2 Très rapide sur un PC M3 Prenons N=89077 par exemple, et M=12871 (le message secret), et calculons les puissances de M modulo N. M4 0 ... 89077
  31. 31. Retomber sur ses pieds M =12871 Calcul des puissances du message modulo N Il existe des puissances particulières, complémentaires, qui permettent de retomber sur ses pieds M17 = C C193 ... 0 12871 68018 89077
  32. 32. Retomber sur ses pieds M =12871 Message original Message crypté M17 = C Message décrypté Paramètres fixes (clés) C193 ... 0 12871 68018 89077
  33. 33. Retomber sur ses pieds M =12871 Sur les paramètres : • Nécessaire pour crypter M17 = C • Nécessaire pour décrypter • Nécessaire pour les deux C193 ... 0 12871 68018 89077
  34. 34. Contraintes mathématiques M =12871 Cela marche bien avec les paramètres 17, 193, 89077. M17 = C Mais pas avec n’importe quels autres. Comment trouver des paramètres qui marchent ? C193 ... 0 12871 68018 89077
  35. 35. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs.
  36. 36. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83
  37. 37. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers.
  38. 38. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers. On enlève 1 :
  39. 39. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers. On enlève 1 : 40 x 82 = 3280
  40. 40. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers. On enlève 1 : 40 x 82 = 3280 Or :
  41. 41. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers. On enlève 1 : 40 x 82 = 3280 Or : 17 x 193 = 3281
  42. 42. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers. On enlève 1 : 40 x 82 = 3280 Or : 17 x 193 = 3281 Différence de 1 => OK
  43. 43. Contraintes mathématiques Cela marche bien avec les paramètres 17, 193, 89077. Il y a des liens entre ces valeurs. 89077 = 41 x 83 41 et 83 sont des nombres premiers. On enlève 1 : 40 x 82 = 3280 Or : La démonstration repose sur le petit théorème de Fermat (1640) et le théorème d’Euler (1761) 17 x 193 = 3281 Différence de 1 => OK
  44. 44. Contraintes mathématiques Rappel : 89077 = 41 x 83 • Nécessaire pour On enlève 1 : crypter • Nécessaire pour décrypter : SECRET! • Nécessaire pour les deux 40 x 82 = 3280 Or : 17 x 193 = 3281 Différence de 1 => OK
  45. 45. Point fondamental Si on est capable d’écrire ce nombre sous la forme d’un produit, alors on peut en déduire la clé privée. 89077 = 41 x 83
  46. 46. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ?
  47. 47. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 =
  48. 48. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5
  49. 49. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 99 =
  50. 50. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 99 = 11 x 9
  51. 51. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 99 = 11 x 9 247 =
  52. 52. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 99 = 11 x 9 247 = 13 x 19
  53. 53. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 99 = 11 x 9 247 = 13 x 19 89077 =
  54. 54. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 99 = 11 x 9 247 = 13 x 19 89077 = 41 x 83
  55. 55. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 89077 = 41 x 83 99 = 11 x 9 437669 = 247 = 13 x 19
  56. 56. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? 35 = 7x5 89077 = 41 x 83 99 = 11 x 9 437669 = 541 x 809 247 = 13 x 19
  57. 57. Point fondamental Est-ce facile d’écrire un nombre comme produit de deux autres nombres ? On peut le faire par « force brute », mais on ne connait quasiment pas d’autre méthode 35 = 7x5 89077 = 41 x 83 99 = 11 x 9 437669 = 541 x 809 247 = 13 x 19
  58. 58. Point fondamental
  59. 59. Point fondamental 1230186684530117755130494958384962720772853 56959533479219732245215172640050726 3657518745202199786469389956474942774063845 92519255732630345373154826850791702 6122142913461670429214311602221240479274737 794080665351419597459856902143413
  60. 60. Point fondamental 1230186684530117755130494958384962720772853 56959533479219732245215172640050726 3657518745202199786469389956474942774063845 92519255732630345373154826850791702 6122142913461670429214311602221240479274737 794080665351419597459856902143413 =
  61. 61. Point fondamental 1230186684530117755130494958384962720772853 56959533479219732245215172640050726 3657518745202199786469389956474942774063845 92519255732630345373154826850791702 6122142913461670429214311602221240479274737 794080665351419597459856902143413 = ?
  62. 62. Point fondamental 1230186684530117755130494958384962720772853 56959533479219732245215172640050726 3657518745202199786469389956474942774063845 92519255732630345373154826850791702 6122142913461670429214311602221240479274737 794080665351419597459856902143413 = ? Une clé de 232 chiffres cassée en 2010 [Kleinjung & al.] après 2 ans et demi de travail
  63. 63. Point fondamental • Cette clé de 768 bits (232 chiffres) a été cassée en 2010 [Kleinjung & al.] • En pratique les clés actuelles font 1024 bits (308 chiffres) • Aucun algorithme connu efficace sur des clés aussi longues, temps de calcul estimé à plusieurs décennies
  64. 64. Conclusion
  65. 65. Conclusion La sécurité du web repose sur une incapacité mathématique humaine (et une incapacité machine).
  66. 66. Conclusion La sécurité du web repose sur une incapacité mathématique humaine (et une incapacité machine). Ou plutôt, sur la croyance en cette incapacité.
  67. 67. Conclusion La sécurité du web repose sur une incapacité mathématique humaine (et une incapacité machine). Ou plutôt, sur la croyance en cette incapacité. On sait ainsi pourquoi elle n’est pas intrinsèquement inviolable.
  68. 68. Points additionnels
  69. 69. Points additionnels Un autre problème est lié à l’implémentation de l’algorithme : les bugs ou les insuffisances des logiciels qui utilisent cet algorithme peuvent être aisément exploitées.
  70. 70. Points additionnels Un autre problème est lié à l’implémentation de l’algorithme : les bugs ou les insuffisances des logiciels qui utilisent cet algorithme peuvent être aisément exploitées. Un exemple : en mesurant le temps de calcul pris par un ordinateur pour chiffrer un message, on peut en déduire les clés de chiffrement !
  71. 71. Points additionnels Un autre problème est lié à l’implémentation de l’algorithme : les bugs ou les insuffisances des logiciels qui utilisent cet algorithme peuvent être aisément exploitées. Un exemple : en mesurant le temps de calcul pris par un ordinateur pour chiffrer un message, on peut en déduire les clés de chiffrement ! Beaucoup d’autres attaques possibles...
  72. 72. En savoir plus Sur l’histoire de la cryptographie : http://fr.wikipedia.org/wiki/Histoire_de_la_cryptographie Sur RSA : http://fr.wikipedia.org/wiki/Chiffrement_RSA Sur Adi Shamir et l’avenir de RSA Adi Shamir, sa majesté des codes (les Echos, 15/10/2012)
  73. 73. Avez-vous compris ? Feedback apprécié : • • Kristen Le Liboux sur SlideShare @novlangue sur Twitter MERCI :-)

×