cryptographie et nombres premiers limours, 19 novembre 2003 michel waldschmidt lycée jules verne

74
Cryptographie et nombres premiers Limours, 19 Novembre 2003 Michel Waldschmidt Lycée Jules Verne

Upload: claudia-martineau

Post on 04-Apr-2015

114 views

Category:

Documents


1 download

TRANSCRIPT

Cryptographie et

nombres premiers

Limours, 19 Novembre 2003Michel Waldschmidt

Lycée Jules Verne

La sécurité des cartes bancaires

Applications de la cryptographie

• Les cartes bancaires

• Sécurisation du Web

• Images numériques

• La télévision cryptée

• Les télécommunications

• …

Historique

chiffrement par transpositions et substitutions alphabétiques (Jules César).

1586, Blaise de Vigenère (clef: «table de Vigenère»)

1850, Charles Babbage (fréquence de répétition des lettres)

Toute méthode de chiffrement est connue de l'ennemi La sécurité du système ne dépend que du choix des clés.

Auguste Kerckhoffs «La  cryptographie militaire», Journal des sciences militaires, vol. IX, pp. 5–38, Janvier 1883, pp. 161–191, Février 1883 .

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

1940, Claude Shannon démontre que pour être totalement sûrs, les systèmes à clefs privées doivent utiliser des clefs d'une longueur au moins égale à celle du message à chiffrer.

Enigma

Alan Turing

Déchiffrage des messages codés par Enigma

Informatique théorique

Interprétation des hiéroglyphes

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

• La Pierre de Rosette (1799)

Colossus

Max Newman, le premier ordinateur électronique

programmable créé a Bletchley Park avant 1945

Théorie de l’Information

Claude Shannon

A mathematical theory of communication

Bell System Technical Journal, 1948.

• Claude E. Shannon, " Communication Theory of Secrecy Systems ", Bell System Technical Journal , vol.28-4, page 656--715, 1949. .

DES: Data Encryption

Standard • 1970, le NBS (National Bureau of Standards)

lance un appel dans le Federal Register pour la création d'un algorithme de cryptage

• ayant un haut niveau de sécurité lié à une • clé secrète compréhensible ne devant pas

dépendre de la confidentialité de l'algorithme

• adaptable et économique • efficace et exportable Le DES a été approuvé en 1978 par le NBS

Algorithme DES:combinaisons, substitutions et permutations

entre le texte à chiffrer et la clé

• fractionnement du texte en blocs de 64 bits

• permutation des blocs • découpage des blocs en deux parties:

gauche et droite • étapes de permutations et de

substitutions répétées 16 fois • recollement des parties gauche et droite

puis permutation initiale inverse

Diffie-Hellman:cryptographie à clef

publique• W. Diffie and

M.E. Hellman, New directions in

cryptography, IEEE Transactions

on Information Theory,

22 (1976), 644-654

RSA (Rivest, Shamir, Adleman - 1978)

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

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

Communications of the ACM

(2) 21 (1978), 120-126

Mathématiques de la cryptographie

• Algèbre

• Arithmétique = théorie des nombres

• Géométrie

Transmission de données

Transmission

Source But

Théorie du langage

• Alphabet - par exemple {0,1}

• Lettres (ou bits): 0 et 1

• Mots (octets - exemple 0 1 0 1 0 1 0 0)

ASCII

American Standard Code for Information Interchange

Lettre octet

A: 01000001

B: 01000010

… …

Transmission d’un message codé

transmission

Source Texte codé

Texte codé

But

Clef publique

Multiplier deux grands nombres est facile.

Décomposer un grand nombre en produit de deux facteurs est plus difficile.

Exemple

p=1113954325148827987925490175477024844070922844843

q=1917481702524504439375786268230862180696934189293

pq=2135987035920910082395022704999628797051095341826417406442524165008583957746445088405009430865999

• Quizz du malfaiteur Apprenez les maths

pour devenir chef du Gang

http://www.parodie.com/monetique/hacking.htm

http://news.voila.fr/news/fr.misc.cryptologie

Test de primalité

• Étant donné un entier, donner un algorithme permettant de décider s’il est premier ou composé.

• 8051 est composé

8051=83 97, 83 et 97 sont premiers.

Limite actuelle : plus de 1000 chiffres

Nombres premiers industriels

• Tests probabilistes. Ce ne sont pas des tests de primalité au sens strict: ils ne permettent pas de s'assurer de façon certaine qu'un nombre est premier. Ils sont pourtant très utilisés dans les cas où un faible taux d'erreur est acceptable: on les appelle des nombres premiers industriels .

Agrawal-Kayal-Saxena

• Manindra Agrawal, Neeraj Kayal and Nitin Saxena, PRIMES is in P

(Juillet 2002)http://www.cse.iitk.ac.in/news/primality.html

Le plus grand nombre premier connu

2 13 466 917 -1

4 053 946 chiffres

http://primes.utm.edu/largest.html14 novembre 2001

• Les quatre plus grands nombres premiers connus sont des nombres premiers de la forme 2a-1

• On connaît 9 nombres premiers ayant plus de 500 000 chiffres et 76 ayant plus de

200 000 chiffres

Nombres de Mersenne (1588-1648)

• Les nombres de Mersenne sont les nombres de la forme Mp=2p -1 avec p premier.

• 22 944 999 -1 est divisible par 314584703073057080643101377

Nombres parfaits

• Un nombre entier n est parfait s’il est égal à la somme de ses diviseurs autres que lui-même.

• Les diviseurs de 28 autres que 28 sont 1,2,4,7,14 et 28=1+2+4+7+14.

• Noter que 28=4 7 et 7=M3.

Nombres parfaits

• Les entiers pairs parfaits sont ceux de la forme 2 p -1 Mp avec Mp =2p -1 nombre premier de Mersenne (donc p premier).

• On ne sait pas s’il existe des nombres parfait impairs!

Algorithmes de factorisation

• Étant donné un entier, le décomposer en facteurs premiers

• Limite actuelle: nombres de 150 chiffres.

http://www.rsasecurity.com/rsalabs/challenges/

Challenge Number Prize $US

• RSA-576 $10,000 Not Factored   • RSA-640 $20,000 Not Factored   • RSA-704 $30,000 Not Factored   • RSA-768 $50,000 Not Factored   • RSA-896 $75,000 Not Factored   • RSA-1024 $100,000 Not Factored   • RSA-1536 $150,000 Not Factored   • RSA-2048 $200,000 Not Factored   

RSA-576 Prize: $10,000 Status: Not Factored Decimal Digits: 174

• 188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059

• Digit Sum: 785   

21024 + 1=45592577 6487031809 4659775785220018543264560743076778192897 p252 http://discus.anu.edu.au/~rpb/F10.html

Nombres de Fermat(1601-1665)

• Les nombres de Fermat sont les

nombres Fn=2 2 n+1.

• F1=5, F2=17, F3=257, F4=65537 sont premiers.

• Constructions à la règle et au compas.

Euler(1707-1783)

• F5 = 232+1 est divisible par 641

4 294 967 297= 641 6 700 417

John Cosgrave (1946- )Février 2003:

Le nombre de Fermat 222 145 352 + 1

est divisible par 322 145 353 + 1 qui est un nombre premier ayant 645 817 chiffres

12 octobre 2003Le nombre de Fermat 2 22 478 782

+ 1est divisible par 3 22 478 785 + 1 qui est un nombre premier ayant 746 190 chiffres

www.spd.dcu.ie/johnbcos

Calculs modulo n

• On fixe un entier n : c’est la taille des messages que l’on va envoyer.

• On effectue tous les calculs modulo n : on remplace chaque entier par le reste de la division par n.

• Exemple: n=1000 on garde seulement les 3 derniers chiffres.

Division par n

• Soit n un entier positif.

• Tout entier positif x s’écrit x=q n+r, avec q et r entiers positifs et r<n.

• Le nombre q est le quotient tandis que r est le reste dans la division de x par n.

• Exemple: 123456789=1234561000+789

• Si x est inférieur à n, le reste est x lui même.

Division par 2

• Le reste de la division d’un entier x par 2 est

0 si x est pair

1 si x est impair.

Somme et produit modulo n

• Quand x et y sont deux entiers qui ont le même reste dans la division par n, on écrit

x y mod n.• En particulier si le reste de x modulo n est a

alors x a mod n.• Si xa mod n et yb mod n alors x+y a +b mod n et xy ab mod n.

Calculs modulo 2

• Prenons n=2. • Si x est pair on a x 0 mod 2 tandis que

si x est impair on a x 1 mod 2.• Quand x et y sont deux entiers on a x y mod 2 si et seulement si x et y sont de même parité

(tous deux pairs ou tous deux impairs).

Somme modulo 2

Les règles pour l’addition sont les suivantes pair + pair = pair 0+0=0 pair + impair = impair 0+1=1 impair + pair = impair 1+0=1 impair + impair = pair 1+1=0

Produit modulo 2

Les règles pour la multiplication sont les suivantes pair pair = pair 0 0=0 pair impair = pair 0 1=0 impair pair = pair 1 0=0 impair impair = impair 1 1=1

Calculs modulo n pour le codage

Pour coder des messages on utilise pour n le produit de deux nombres premiers ayant environ 150 chiffres chacun.

Cryptographie à clef publique

• Clef publique: (e,n)

e et n entiers

n donne la taille des messages

e sert à crypter.

• Clef privée: r entier, sert à décrypter, connue du destinataire.

Choix de e, r et n

• On choisit d’abord deux nombres premiers p et q assez grand, puis on choisit e et r tels que er-1 soit divisible par le produit

(p-1)(q-1):

er 1 mod (p-1)(q-1)

• On prend n=pq.

• On fait tous les calculs modulo n.

Exemple

Prenons p=3 et q=11, on a donc n=p.q=33 et (p-1).(q-1)=2.10=20

On choisit e=3, qui n'a pas de facteur commun avec 20. On cherche r tel que

er1 mod 20, on trouve r=7. On publie e et n, on

garde r secret.

Cryptage avec la clef publique

• Message à envoyer: entier x avec x <n

• L’expéditeur envoie y xe mod n

• Le destinataire calcule z yr mod n

Comme er 1 mod (p-1)(q-1), on a

z x mod n.

Exemple: x=14

Dans l’exemple avec n=33, e=3, r=7, si x=14 on a

xe =143 = 2744 5 mod 33

y=5

yr = 57 = 78125 14 mod 33 z=14=x

Explication de z x mod n

• Si p est un nombre premier, alors pour tout entier positif x on a (petit théorème de Fermat)

xp x mod pExemples: 25=32=65+2 2 mod 5

35=243=485+3 3 mod 5

• On en déduit que pour a 1 mod p-1

xa x mod p (exemple: a=p)

• Public: n, e, y

• Secret: x, r

• Tout le monde connaît y et e et sait que y xe mod n

• Pour retrouver x, si on connaît r, il suffit de calculer x yr mod n.

Sécurité de la transmission

• Pour décoder le message y, c’est-à-dire pour trouver x, il suffit de connaître r.

• Connaissant e et n, peut-on trouver r tel que er 1 mod (p-1)(q-1) ?

• C’est facile si on connaît p et q.

• Tout le monde connaît le produit n=pq, mais les facteurs p et q ne sont pas publics!

Fonction trappe

• Connaissant n, x et e, il est facile de calculer y=xe mod n

• Connaissant n, y et e, il n’est pas facile de calculer x tel que y=xe mod n …

sauf si on connaît r:x=yr mod n

Questions subsidiaires

• Transmettre la clef

• Identification de l’expéditeur : authentification des signatures

• Signature électronique, certification,…

Signature RSA

• Alice envoie un message m à Bob et veut le signer pour s’identifier

• Elle dispose d’une clef publique e et d’une clef secrète r avec

er 1 mod (p-1)(q-1)

• Elle calcule s mr mod n et envoie m et s.

• Bob vérifie m se mod n.

Exemple: x=14

Dans l’exemple avec n=33, e=3, r=7, si m=14 on a

mr =147 = 105 413 504 20 mod 33

s=20

se = 203 = 8000 14 m mod 33

La sécurité des cartes bancaires

•    La carte à puce a été créée par deux ingénieurs français, Roland Moreno et Michel Ugon, à la fin des années 1970

Cryptographie moderne

• Courbes elliptiques (logarithme discret)

• Jacobiennes de courbes algébriques

• Cryptographie quantique (Peter Shor) - utilisation de la résonance magnétique nucléaire.

Le dernier théorème de Fermat

• Énoncé de Pierre de Fermat: si n est un entier supérieur ou égal à 3, il n’existe pas d’entiers positifs x, y, z satisfaisant:

 xn + yn = zn

Démontré par Andrew Wiles en 1994

Andrew Wiles

• « Monsieur Fourier avait l’opinion que le but principal des mathématiques était l’utilité publique et l’explication des phénomènes naturels. »

Gustav Jacobi

« Un philosophe tel que lui aurait dû savoir que le but unique de la Science, c’est l’honneur de l’esprit humain et que, sous ce titre, une question de nombres vaut bien une question du système du monde »

G.H. Hardy

• «Je n’ai jamais rien accompli d’ «utile». Aucune de mes découvertes n’a rien ajouté, ni vraisemblablement n’ajoutera, directement ou non, en bien ou en mal, aux agréments de ce bas monde»

Henri Poincaré

• « Les mathématiques méritent d’être cultivées pour elles-mêmes, les théories qui ne peuvent être appliquées à la physique doivent l’être comme les autres. »

« La science a eu de merveilleuses applications, mais la science qui n’aurait en vue que des applications ne serait plus de la science, elle ne serait que de la cuisine. »

Henri Poincaré

http://smf.emath.fr/Publication/

ExplosionDesMathematiques/

Presentation.html

F5=232 +1 = 4 294 967 297 est divisible par 641

• 641= 625 + 16 = 54 + 24 • 641=5128 + 1= 5 27 + 1• 641 divise 54 228 + 232 • 641 divise 54 228 - 1

x4-1=(x+1)(x3-x2+x-1)• Donc 641 divise 232 + 1.

Le quotient 6 700 417 est un nombre premier.