Vous êtes sur la page 1sur 16

08/01/2012

Plan du cours

Principes Arithmtique pour la cryptographie RSA RSA

08/01/2012

Cryptographie cl publique: Principe


La cryptographie cl publique ou asymtrique est base sur un concept trs diffrent. Chaque intervenant possde une cl publique. q p p q
Cette cl peut tre connue de tous. Par exemple, disponible dans un rpertoire accessible publiquement. Toute personne connaissant cette cl peut envoyer un message chiffr au propritaire de cette cl.

Chaque intervenant possde une cl prive.


Cette cl doit demeurer confidentielle. Cette cl est lie (mathmatiquement) la cl publique correspondante. Cette cl permet de dchiffrer tout message chiffr avec la cl publique correspondante.

Cryptographie cl publique: Principe

08/01/2012

Plan du cours

Principes Arithmtique pour la cryptographie RSA RSA

Arithmtique pour la cryptographie


Les nombres premiers Dfinition: Un entier naturel p est dit premier si il nadmet comme diviseur que 1 et lui-mme. Les autres nombres sont dits composs. (0 et 1 sont exclus) Thorme: Tout nombre entier suprieur 1 p peut se dcomposer comme un produit unique p p q de nombres premiers

08/01/2012

Arithmtique pour la cryptographie


Comment trouver cette dcomposition ? 2009 est- il premier ? Il faut tester 2009/n pour p p
Algo 1: pour tout n entier entre 2 et 2009-1 Algo 2: pour tout n entier entre 2 et Algo 3: (Crible d'Eratostene) pour tout n premier entre 2 et

Algo le l Al 3 : l plus performant f Il y a 37 607 912 018 nb premiers inferieurs 1012: Peuvent se stocker astucieusement sur 20 Go Mais au-del ?...
7

Arithmtique pour la cryptographie


Les nombres premiers
Algo 2: tout entier compos, n, possde un diviseur premier infrieur ou gal racine de carr de n. utilisable pour des nombres de 12 chiffres ou un peu plus impossible de dcomposer des nombres de 100 chiffres.

08/01/2012

Arithmtique pour la cryptographie


Test de Fermat: n1 Si n est premier alors an-1 = 1 mod n premier, pour tout a Z tel que PGCD (a, n)=1 Exemple: n = 341 = 11 * 31 Nous avons 2340 = 1 mod 341 3340 = 56 mod 341 Donc, le test de Fermat, avec n=341 et a=3, prouver que n est compos.
9

Arithmtique pour la cryptographie


Autres algorithmes:
Nombres de Carmichael Test de Miller-Rabin Critre de Lucas .

10

08/01/2012

Arithmtique pour la cryptographie


La multiplication est donc une fonction sens unique (sous certaines conditions) q ( ) Si n=pq (p et q grand), connaissant p et q il est facile de calculer n mais, connaissant n il est difficile de trouver p et q

11

Arithmtique pour la cryptographie


Test (concours) Trouver les deux facteurs premiers des produits suivants: 35
57

221
13 17

4453
61 73

503807
521 967

50123093
7297 6869
12

08/01/2012

Arithmtique pour la cryptographie:


Concours RSA-640 RSATrouver les deux facteurs premiers du produit suivant:
31074182404900437213507500358885679300373460228427275457201619488 23206440518081504556346829671723286782437916272838033415471073108 501919548529007337724822783525742386454014691736602477652346609 =163473364580925384844313388386509085984178367003309231218111085 2389333100104508151212118167511579 190087128166482211312685157393541397547189678996851549366663853 9088027103802104498957191261465571

En 2005, le plus grand nombre factoris par les mthodes gnrales et l'tat de l'art en matire de calculs distribus, tait long de 663 bits. bits Les cls RSA sont habituellement d'une longueur comprise d une entre 1024 et 2048 bits. Cl de 1024 bits sre jusqu'en ~2030 en force brute (On dit inchallah) Problme si quelqu'un trouve un jour le moyen de simplifier leurs rsolutions
13

Arithmtique pour la cryptographie:


Exemples Rivest : 1978 Le meilleur algorithme connu pour factoriser un nombre de 129 digits requiert:
40 000 trillions dannes soit 40*1015 annes En supposant lutilisation dun superordinateur capable deffectuer
1 multiplication de nombres 129 digits en 1 ns

14

08/01/2012

Indiv.Proc

RSA Cryptsystem

15

Plan du cours

Principes Arithmtique pour la cryptographie RSA (Rivest Shamir, RSA (Rivest, Shamir Adleman)

16

08/01/2012

RSA: Utilisation
Invente en1977 par Serveurs Web, Internet (SSL/TLS), PGP, Cartes de crdit, Paiement lectronique, Tlphones portables, Microsoft, Microsoft Apple Computer Computer, Cisco Systems, Intel, Nokia, Sonny Ericson.

17

RSA: Gnration des cls


Module RSA: p et q sont deux nombres premiers secrets de mme taille. N = p.q est le module RSA.
Moyenne scurit: N de 1024 bits( 309chiffres) Haute scurit: N de 2048 bits( 617chiffres)

Lindicateur dEuler: (N) = (p - 1)(q - 1). Les cls: e est premier, 1 e (N) , ( ( )) 1 t i 1 (e, (n))=1 la l l cl publique est (n, e) e). d, 1 d (N), e.d 1 (mod (N)), la cl prive est (n, d) d).
18

08/01/2012

Exemple
P = 5 et q= 7 N= p*q = 35 (35)= (5-1)*(7-1) = 24 On cherche e et d tels que: e est premier et e.d 1 (mod 24) Soit e=5 (par exemple, et on a bien (e, (n))=1) On dtermine que d=33 (inverse modulaire de e sur Z(n))
=> Cl publique (35,5) et la cl prive (35,33)
19

RSA: Chiffrement & Dchiffrement


B veut envoyer un message A: 1) A choisit deux nombres premiers p et q de mme ) p taille. 2) A calcule N = p.q et (N) = (p - 1)(q - 1). 3) A choisit e N,1 e (N) . 4) A calcule d N, 1 d (N), e.d 1 (mod (N)). 5) A publie n, e et garde p, q, d secrets. 6) B transforme son message en entier m avec 1<m< N. 7) B calcule c me (mod N) et envoi c A. 8) A calcule cd m (mod N) et retrouve le message m de B.
20

10

08/01/2012

Exemple: envoi un message


Soient p=31,q=53 , n=1643. (n) =1560 e = 11 et d= 851 Alors Kpub (11,1643) et Kpriv (851, 1643) ANEMONE = 01 14 05 13 15 14 05 On procde selon deux conditions:
Dcoupage en morceaux de mme longueur, ce qui empche la simple substitution: 011 405 131 514 05_ on ajoute un padding i i i l si ncessaire. 001 140 513 151 j ddi initial i i

405
Dcoupage en morceaux de valeur infrieure n, car opration modulo n.

21

Exemple: envoi un message


Lors du chiffrement on a:

22

11

08/01/2012

Exemple: dchiffrement dun message


Pour le dchiffrement on a:

Lors du dchiffrement, sachant quil faut obtenir des blocs d 2 l bl de lments ( au codage particulier de (grce d i li d lexemple), on a bien:

23

Exercice
Montrer que Dk(Ek(m)) = m avec le crypto-systme RSA.

?
24

12

08/01/2012

Conseils dutilisation du RSA


Pour garantir une bonne scurit, il faut respecter certains rgles telles que: Ne jamais utiliser de valeur n trop petite, Nutiliser que des cls fortes (p-1etq-1ont un grand facteur premier), Ne pas chiffrer de blocs trop courts, p p , Ne pas utiliser de n communs plusieurs cls,
25

RSA: Cryptanalyse
3 approches attaquer RSA :
1. recherche par force brute de la cl (impossible tant donn la taille des donnes) 2. attaques mathmatiques (bases sur la difficult de calculer (n), la factorisation du module N) 3. attaques de synchronisation (sur le fonctionnement du dchiffrage)

L'approche mathmatique prend 3 formes :


factoriser n=p*q et par consquent trouver (n) et puis d dterminer (n) directement et trouver d trouver d directement
26

13

08/01/2012

Comparaison
Symtrique Asymtrique
Rapidit (Jusqu 1000 fois Distribution des cls plus rapide) facilites. Facilit dimplantation sur Permet de signer des hardware messages facilement Taille de cl: 128 bits ( 16 caractres: mmorisable) Taille des cls Vitesse de chiffrement (pas adapt au temps rel) Authentification de la cl publique
27

Avantages

Nombre de cls grer Distribution des cls Inconvnients Certaines proprits (ex. signature) sont difficiles raliser

Autres Algorithmes
EL Gamal, invent en 1984
La scurit de ce crypto-systme est base crypto systme sur le problme du logarithme discret Expos

ECC (Elliptic Curve Cryptography), invent en 1985.


La scurit de ce crypto-systme est base yp y sur le problme du logarithme discret elliptique. Expos
28

14

08/01/2012

Encrypt/Decrypt

Asymmetric

RSA Demonstration

29

RSA: Rsum
Choisir 2 grands nombres p et q premiers (en gnral de 1024 bits)

Calculer n=p*q, et (N) =(p-1)*(q-1)

C os Choisir e tel que e et (N) soient premiers entre eux te ( ) so e t p e e s e t e eu ((n,e) est la cl publique)

Trouver d tel que e*d=1 mod (N) ((n,d) est la cl prive)


30

15

08/01/2012

RSA: Rsum
Message en clair P
Message chiffr

C=me (mod n)
Message g en clair

Chiffrer avec la cl Publique (n,e)

m=Cd (mod n)

Dchiffrer avec la cl Prive (n,d)

31

16