un code secret peut-il permettre une transaction sécurisée? michel waldschmidt 14 novembre 2011...

76
Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 llège Jean-Jaurès, Pantin http://www.math.jussieu.fr/~miw/ SMF Promenade Mathématique

Upload: aubin-prevot

Post on 03-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Un code secret peut-il permettre une transaction sécurisée?

Michel Waldschmidt

14 novembre 2011

Collège Jean-Jaurès, Pantin

http://www.math.jussieu.fr/~miw/ SMF Promenade Mathématique

Page 2: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

2

http://www.math.jussieu.fr/~miw/

Quand vous retirez de l'argent à un distributeur de billets de banque, quand vous faites une transaction sécurisée par internet, plus

généralement quand vous voulez vous identifier à distance en utilisant un réseau public, vous

indiquez un code qui vous est personnel. Quel est le processus qui permet à votre correspondant de

vous identifier, sans que les échanges de messages ne permettent de révéler votre mot de passe ? La

théorie des nombres est l'élément clé de la solution.

Page 3: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

3

Codes correcteurs d’erreurs: Pour faciliter la transmission de données

http://www.math.jussieu.fr/~miw/

Cryptographie:Pour sécuriser la transmission de données

Page 4: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

4

Aspects mathématiques de la théorie des codes en France:

http://www.math.jussieu.fr/~miw/

Les principales équipes de recherche sont regroupées dans le réseau

C2 '’Théorie des codes et cryptographie '' ,qui fait partie du groupe de recherche (GDR)

'’Informatique Mathématique''.http://www.gdr-im.fr/

Page 5: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

5

Principaux centres:

INRIA RocquencourtUniversité de Bordeaux ENST Télécom BretagneUniversité de Limoges Université de MarseilleUniversité de Toulon

Université de Toulouse

Recherche en théorie des codes

http://www.math.jussieu.fr/~miw/

Page 6: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

6

Brest

Bordeaux

MarseilleToulouse

Limoges

INRIA

Toulon

Page 7: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

7

Codes correcteurs d’erreurs et transmission de données

• Transmissions par satellites

• CD’s & DVD’s

• Téléphones cellulaires

Page 8: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

8

Le pôle nord de la planète Mars

Le Mont Olympus sur la planète Mars

Voyager 1 et 2 (1977)

Trajet: Cap Canaveral, Jupiter, Saturn, Uranus, Neptune.

Mariner 2 (1971) et 9 (1972)

Page 9: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

9

Mariner 9 (1979)

Photographies en noir et blanc de Mars

Voyager (1979-81)Jupiter Saturne

Page 10: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

10

• 1998: perte de contrôle du satellite Soho Récupération grâce à une double correction par un turbo code.

Les transmissions par radio sur ces engins spatiaux n’utilisent que quelques watts. Malgré l’importance du bruit qui vient perturber les messages, les transmissions sur des centaines de millions de km se font sans perte d’information.

NASA : mission Pathfinder sur Mars (1997)

Page 11: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

11

Un CD de haute qualité a facilement plus de 500 000

erreurs!

• Le traitement du signal permet de corriger ces erreurs et d’annuler le bruit.

• Sans code correcteur d’erreurs, il n’y aurait ni CD ni DVD.

Page 12: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

12

1 seconde de signal audio = 1 411 200 chiffres 0 ou 1

• 1980 : accord entre Sony et Philips pour une norme concernant les disques CD audio.

• 44 100 fois par seconde, 16 chiffres pour chacun des deux canaux stéréos

Page 13: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

13

Codes et Mathématiques

• Algèbre (mathématiques discrètes,

algèbre linéaire,…)

• Géométrie

• Probabilités et statistiques

Page 14: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

14

Corps finis et théorie des codes

• Résolutions d’équations par radicaux: théorie des corps finis (Galois fields) Evariste Galois (1811-1832)

• Construction de polygones réguliers par la règle et le compas

• Théorie des groupes

Page 15: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

15

Codes et Géométrie

• 1949: Marcel Golay (specialiste des radars): trouve deux codes remarquablement efficaces.

• Eruptions de Io (planète volcanique de Jupiter)• 1963 John Leech utilise les idées de Golay pour étudier

les empilements de sphères en dimension 24 - classification des groupes finis simples.

• 1971: il n’y a pas d’autre code parfait corrigeant plus d’une erreur que les deux trouvés par Golay.

Page 16: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

16

Empilement de sphères

“kissing number” 12

Page 17: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

17

Empilement de sphères

• Problème de Kepler: densité maximale d’un pavage de l’espace par des sphères identiques

  p / Ö 18= 0.740 480 49…

Conjecturé en 1611.

Démontré en 1999 par Thomas Hales.

• Lien avec la cristallographie.

Page 18: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

18

Géométrie projective finie

Deux points déterminent une ligne (« droite »), deux droites se coupent en un point.

Page 19: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

19

Plan de Fano

Trois points sur chaque droite, par chaque point passent trois droites.

1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1

Matrice d’incidence:

L1

L2

L3

L4

L5

L6

L7

p1 p2 p3 p4 p5 p6 p7

Page 20: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

20

Quelques codes utiles

• 1955: Codes de convolution. • 1959: Bose-Chaudhuri-Hocquenghem (codes

BCH).• 1960: Reed-Solomon. • 1970: Goppa.• 1981: Géométrie algébrique

Page 21: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

21

Messages

• Alphabet: lettres ou chiffres• Exemple fondamental: {0,1}• Mots: suites de lettres ou de chiffres

Page 22: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

22

Corriger une erreuren répétant trois fois

• On envoie chaque lettre trois fois

2 mots dans le code

sur 8 possibles

(1 lettre pour les données, 2 lettres de contrôle)

Mots du code

(longueur trois)

0 0 0

1 1 1

Taux: 1/3

Page 23: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

23

• Corriger 0 0 1 en 0 0 0• Corriger 0 1 0 en 0 0 0• Corriger 1 0 0 en 0 0 0

et• Corriger 1 1 0 en 1 1 1• Corriger 1 0 1 en 1 1 1• Corriger 0 1 1 en 1 1 1

Page 24: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

24

Principe des codes corrigeant une erreur

Deux mots distincts dans le code ont au moins trois lettres différentes

Page 25: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

25

Distance de Hamming entre deux mots:

= nombre de lettres où les deux mots

diffèrent

Exemples

(0,0,1) et (0,0,0) sont à distance 1

(1,0,1) et (1,1,0) sont à distance 2

(0,0,1) et (1,1,0) sont à distance 3Richard W. Hamming (1915-1998)

Page 26: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

26

Distance de Hamming égale à 1

Mots obtenus

en changeant une

lettre

Page 27: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

27

La sphère unité de Hamming

• La sphère unité de centre le mot bleu comporte les mots à distance 0 ou 1

La sphère unité autour d’un mot

Page 28: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

28

Au plus une erreur

Mot envoyé

Le canal

Mots qui peuvent être reçus avec au plus une erreur

Page 29: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

29

Mots à distance au moins 3

Les deux sphères unités sont disjointes

Ces mots sont à distance au moins 3

Page 30: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

30

DécoderLe mot erroné reste dans la sphère de Hamming initiale, le centre est le mot du code.

Page 31: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

31

Page 32: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

32

http://www.math.jussieu.fr/~miw/

Cryptographie:Pour sécuriser la transmission de données

Page 33: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Crypter pour la sécurité

33

Page 34: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Mathématiques en cryptographie

• Algèbre• Arithmétique, théorie

des nombres • Géométrie • Topologie, tresses• Probabilités

34

Page 35: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Échange de valises

• Alice a une valise, un cadenas et une clé; elle veut envoyer la valise à Bob sans que Charlie ne puisse savoir ce qu’il y a dedans.

• Bob possède aussi un cadenas et une clé, mais qui ne sont pas compatibles avec ceux d’Alice.

35

Page 36: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Le protocole

• Alice ferme la valise avec son cadenas et sa clé et l’envoie à Bob.

• Bob y met son propre cadenas et renvoie à Alice la valise avec les deux cadenas.

• Alice enlève son cadenas grâce à sa clé et renvoie la valise à Bob.

• Finalement Bob peut ouvrir la valise grâce à sa clé.

• But: en donner une traduction mathématique.

36

Page 37: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Cartes à puce

ATM: AutomatedTeller Machine

37

Page 38: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

• La sécurité des cartes à puces fait intervenir trois processus différents; le code NIP, le protocole RSA et le code DES.

• PIN = Personal Identification Number• NIP = Numéro d’Identification Personnel

La carte à puce a été inventée par deux ingénieurs français,

Roland Moreno (1974) et Michel Ugon (1977)

http://www.cartes-bancaires.com

38

Page 39: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Code secret d’une carte bancaire• Vous devez vous identifier auprès de la banque. Vous

avez deux clés: une publique que tout le monde connaît, une secrète (le code NIP) que personne d’autre que vous ne connaît.

39

Page 40: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

• Les messages que vous envoyez ou que vous recevez ne doivent pas révéler votre code secret.

• Tout le monde (y compris la banque) ayant accès aux messages échangés peut vérifier que vous connaissez ce code secret, mais cela ne leur permet pas de le connaître.

La carte à puce.

• L’ordinateur de la banque envoie un message aléatoire.• Votre réponse dépend de ce message et de votre code secret.

40

Page 41: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Cryptographie: aperçu historique

• Exemples plus sophistiqués: prendre une permutation quelconque (ne respectant pas forcément l’ordre).

Transpositions alphabétiques et substitutions• Jules César: remplacer une lettre par une autre dans

le même ordre (décalage)

• Exemple: (décaler de 3) remplacerA B C D E F G H I J K L M N O P Q R S T U V W X Y Zpar D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

• Exemple: CRYPTOGRAPHIE devient FUBSWRJUDSKLH

41

Page 42: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

• 800-873, Abu Youssouf Ya qub Ishaq Al Kindi

Manuscrit sur le décryptage des messages.Vérification de l’ authenticité des textes sacrés de l’Islam.

• XIIIè siècle, Roger Bacon: sept méthodes pour chiffrer des messages.

42

Page 43: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

• 1850, Charles Babbage (fréquence of des lettres)

Machine de Babbage (ancêtre de l’ordinateur) Ada, comtesse de Lovelace: premier programme

• 1586, Blaise de Vigenère (clé: «table of Vigenère»)Cryptographe, alchimiste, écrivain, diplomate

43

Page 44: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Frequency of letters in english texts

44

Page 45: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

45

Page 46: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Alphabet International de

Morse

Samuel Morse,1791-1872 46

Page 47: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Déchiffrage des hiéroglyphes

• Jean-François Champollion (1790-1832)

• Pierre de Rosette (1799)

47

Page 48: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Transmission des données

• Pigeons voyageurs : première croisade – Siège de Tyr, Sultan de Damas

• Guerre franco-allemande de 1870, siège de Paris

• Centres militaires pour l’étude des pigeons voyageurs : Coëtquidan et Montoire.

48

Page 49: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Transmission des données

• James C. Maxwell

(1831-1879)

• Électromagnétisme

Herz, Bose: radio

49

Page 50: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Toute méthode de chiffrement doit être supposée connue par l'ennemi: la sécurité du système doit dépendre uniquement du choix de clés, qui doivent être changées régulièrement.

Auguste Kerckhoffs

«La  cryptographie militaire»,

Journal des sciences militaires, vol. IX,

pp. 5–38, Janvier 1883,

pp. 161–191, Février 1883 .

50

Page 51: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

1950, Claude Shannon pour garantir la sécurité, il faut une clé secrète au moins aussi longue que le message à envoyer.

1917, Gilbert Vernam (masque jetable)Exemple: le téléphone rouge entre le Kremlin et la

Maison Blanche

Message Original:CléMessage envoyé

0 1 1 0 0 0 1 0 1 … 0 0 1 1 0 1 0 0 1…0 1 0 1 0 1 1 0 0…

+=

=+

51

Page 52: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Alan Turing

Début de l’informatique

Déchiffre les messages de la machine Enigma

52

Page 53: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Colossus

Max Newman, premier ordinateur électronique programmable

(Bletchley Park, avant1945)

53

Page 54: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Théorie de l’information

Claude Shannon

A mathematical theory of communication

Bell System Technical Journal, 1948.

54

Page 55: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Claude E. Shannon " Communication Theory of Secrecy Systems ",

Bell System Technical Journal ,

28-4 (1949), 656 - 715.

55

Page 56: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Sécurité

Sécurité inconditionnelle: le message codé ne révèle aucune information sur le message source, la seule méthode est d’essayer toutes les clés possibles. En pratique, aucun système utilisé dans la réalité ne satisfait cette condition.

Sécurité pratique: le message codé ne donne aucune information sur le message source en un temps raisonnable.

56

Page 57: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

DES: Data Encryption Standard

En 1970, le NBS (National Board of Standards) lance un appel d’offre au Federal Register pour définir un algorithme de cryptage

• ayant un niveau de sécurité élevé qui ne dépend pas de la confidentialité de l’algorithme mais seulement des clés secrètes,

• qui fait intervenir des clés secrètes pas trop grandes,• rapide, robuste, bon marché, • facile à implémenter.

Le DES a été approuvé en 1978 par le NBS 57

Page 58: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

L’algorithme DES:combinaisons, substitutions et permutations entre

le texte et la clé

• Le texte est découpé en blocs de 64 lettres • Les blocs sont permutés• Ils sont coupés en deux: droite et gauche • On effectue 16 fois un cycle de permutations et de

substitutions faisant intervenir la clé secrète• On regroupe les parties gauche et droite puis on

effectue les permutations inverses.

58

Page 59: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Diffie-Hellman:Cryptographie à clé publique

• Whit Diffie and Martin E. Hellman,

New directions in cryptography,

IEEE Transactions on Information Theory,

22 (1976), 644-654

59

Page 60: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

CryptographieSymétrique versus Asymétrique

• Symétrique (clé secrète):

• Alice et Bob ont chacun une clé de la boîte aux lettres. Alice utilise sa clé pour déposer sa lettre dans la boîte. Bob utilise sa clé pour récupérer la lettre.

• Alice et Bob sont les seuls à pouvoir ouvrir la boîte aux lettres.

• Asymétrique (clé publique)

• Alice trouve l’adresse de Bob dans un annuaire public, elle envoie sa lettre à Bob, qui utilise sa clé secrète pour la lire.

• Tout le monde peut envoyer un message à Bob, lui seul peut les lire.

60

Page 61: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

RSA (Rivest, Shamir, Adleman - 1978)

61

Page 62: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

R.L. Rivest, A. Shamir, et L.M. Adleman

A method for obtaining digital signatures and public-key cryptosystems,

Communications of the ACM

(2) 21 (1978), 120-126.

62

Page 63: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Fonction trappe

x y est une fonction trappe – à sens unique si Étant donné x, il est facile de calculer y Étant donné y , il est difficile de trouver x, sauf si on

connaît une clé.

Les exemples font intervenir des problèmes mathématiques connus pour être difficiles.

63

Page 64: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Exemple d’unefonction trappe:

le logarithme discret (version simplifiée)

On part d’un nombre à trois chiffres x. On calcule le cube de x, à savoir : x x x = x3. On ne conserve que les trois derniers chiffres = reste de

la division par 1000: c’est y.• Partant de x, trouver y est facile.• Connaissant y, retrouver x est difficile.

64

Page 65: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Le logarithme discretmodulo 1000

• Exemple: sachant que les trois derniers chiffres de x3 sont 631, ce que l’on écrit x3 631 modulo 1000, trouver x.

• Solution brutale: essayer toutes les valeurs de x=001, 002, …

on trouve ainsi x=111 – c’est la seule solution.• Vérification: 111 111 = 12 321 • On ne garde que les trois derniers chiffres:

1112 321 modulo 1000• Puis 111 321 = 35 631

65

Page 66: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Racine cubique modulo 1000

Résoudre x3 631 modulo 1000. • Autre méthode: utiliser une clé secrète. La clé publique est 3, car on calcule x3. Une clé secrète est 67. • Cela signifie que si on calcule la puissance 67 de 631,

on trouve x:63167 x modulo 1000.

• (x3)67 x modulo 1000

66

Page 67: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Racine 7ème modulo 1000

• Pour une clé publique 3, une clé secrète est 67.• Autre exemple: clé publique 7, clé secrète 43.• Sachant x7 871 modulo 1000• on calcule 87143 111 modulo 1000 • donc x = 111.

67

Page 68: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Protocole de l’échange de valises

• Alice a une valise, un cadenas et une clé; elle veut envoyer la valise à Bob sans que Charlie ne puisse savoir ce qu’il y a dedans.

• Bob possède aussi un cadenas et une clé, mais qui ne sont pas compatibles avec ceux d’Alice.

68

Page 69: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Échange de valises

1111117 871

8713 311

31143 631

63167 111

1117 433 67

69

Page 70: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Cartes à puce

70

Page 71: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

ATM

message aléatoire

631

CodeNIP

67

CléPublique

3

63167 111 1113 631

Connaissant la clé publique 3 et le message 631 envoyé par la banque, on vérifie que la réponse 111 est correcte, mais cela ne permet pas de deviner le code secret 67. 71

Page 72: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Message modulo n

• On choisit un entier n (à la place of 1000): c’est la taille des messages qui seront échangés.

• Tous les calculs seront faits modulo n : on remplace chaque entier par le reste de sa division par n.

• n sera un entier avec environ 300 chiffres.

72

Page 73: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Il est plus facile de vérifier une démonstration que de la trouver

Multiplier deux nombres, même un peu grands, est facile.

Si on sait qu’un nombre donné est le produit de deux nombres, trouver les facteurs peut être difficile.

2047 est-il le produit de deux nombres plus petits?

Réponse: oui 2047=2389 73

Page 74: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Exemple

p=1113954325148827987925490175477024844070922844843

q=1917481702524504439375786268230862180696934189293

pq=2135987035920910082395022704999628797051095341826417406442524165008583957746445088405009430865999

74

Page 75: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Choix de n

On prend pour n le produit de deux nombres premiers de 150 chiffres chacun

Le produit a environ 300 chiffres: les ordinateurs ne peuvent pas actuellement trouver les facteurs.

75

Page 76: Un code secret peut-il permettre une transaction sécurisée? Michel Waldschmidt 14 novembre 2011 Collège Jean-Jaurès, Pantin miw

Un code secret peut-il permettre une transaction sécurisée?

Michel Waldschmidt

14 novembre 2011

Collège Jean-Jaurès, Pantin

http://www.math.jussieu.fr/~miw/