• Aucun résultat trouvé

LE PROTOCOLE RSALE PROTOCOLE RSA UN EXEMPLE DE CODAGE UN EXEMPLE DE CODAGEOn choisit

N/A
N/A
Protected

Academic year: 2022

Partager "LE PROTOCOLE RSALE PROTOCOLE RSA UN EXEMPLE DE CODAGE UN EXEMPLE DE CODAGEOn choisit"

Copied!
2
0
0

Texte intégral

(1)

UN CHIFFREMENT ASYMÉTRIQUE

UN CHIFFREMENT ASYMÉTRIQUE  : LE PROTOCOLE RSA (1976): LE PROTOCOLE RSA (1976)

[CORRECTION]

[CORRECTION]

E X E R C I C E P R É L I M I N A I R E E X E R C I C E P R É L I M I N A I R E

On note n=pqp et q sont deux nombres premiers distincts.

On pose m=(p−1)(q−1) et on note c un nombre premier avec m. On note x un entier naturel.

1. c et m sont premiers entre eux, donc d’après le théorème de Bézout : il existe deux entiers relatifs d ' et k tels que c d '+m k=1.

• Si d '>0, il suffit de poser d=d ' et on a c d ≡ 1 [m].

• Si d '<0, alors on trouve le premier entier  tel que d 'mλ >0 (ie λ <d '

m ) et on pose d=d '−mλ : c d+m(cλ+k)=c(d 'mλ )+m(cλ+k)=c d '+m k=1.

Donc il existe un entier naturel d tel que c d ≡ 1 [m].

2. a) Supposons x divisible par p.

x=p k donc xcd=(p k)cd=pcdkcd0[p] b) Supposons x non divisible par p.

D’après le théorème de Fermat : xp−1≡1[p]

donc x(p−1)(q−1)1[p] ie xm1[p] donc (xm)k≡1[p] donc xm k1[p] donc xm k+1≡ x[p] ie xcd≡ x[p].

3. q | xcdx et p | xcdx. Or q et p sont premiers donc ils sont premiers entre eux, donc d’après le corollaire du théorème de Gauss : pq | xcdx ie n | xcd−x ie xcd ≡ x [n].

L E P R O T O C O L E R S A L E P R O T O C O L E R S A

U N E X E M P L E D E C O D A G E U N E X E M P L E D E C O D A G E

On choisit p=42139 et q=47837, que l’on admet premiers.

1. a) n=p q=2 015803 343 ; m=(p−1)(q−1)=42 138×47836=2 015 713 368. On peut prendre c=12 111985 car c est premier avec m d’après l’algorithme d’Euclide :

2015713368=12111985×166+5123858 12111985=5123858×2+1864269 5123858=1864269×2+1395320 1864269=1395320×1+468949 1395320=468949×2+457422 468949=457422×1+11527 457422=11527×39+7869 11527=7869×1+3658 7869=3658×2+553

3658=553×6+340 553=340×1+213 340=213×1+127 213=127×1+86 127=86×1+41 86=41×2+4 41=4×10+1 4=1×4+0

Les clés publiques sont donc n=2015803343 et c=12111985. b) Pour trouver d, on utilise les coefficients de Bézout (à faire) :

1=2015713368×(−2956808)+12111985×492080977 donc d=492 080 977 convient.

2. Correction disponible sur demande (mail).

TOME – Protocole RSA - Correction – www.mathemathieu.fr – Johan Mathieu Page 1 sur 2

Tle option ME

(2)

S É C U R I T É

S É C U R I T É : A T T A Q U E P A R F O R C E B R U T E P O S S I B L E: A T T A Q U E P A R F O R C E B R U T E P O S S I B L E ?? 1. Une clé de 256 bits comprend env. 77 chiffres décimaux car :

2256=210×25+6=(210)25×26=102425×64 ≈ 1075×64 ≈ 1077 autre méthode : 2256=10kk=256 log(2) soit k ≈ 77,06.

2. a) 0,1 %=10−3 et 10−3×1039=1036 donc nous devrions procéder à 1036 divisions.

b) 1036÷1020=1016 donc 1016 secondes, soit ≈ 300 millions d’années, soit un million de fois l’âge estimé de l’univers… !

TOME – Protocole RSA - Correction – www.mathemathieu.fr – Johan Mathieu Page 2 sur 2

Références

Documents relatifs

Le client et le serveur hachent K, K_T, et les divers paramètres d'échange de clé pour générer le hachage de l'échange, H, qui est utilisé pour générer les clés de chiffrement

solution de sulfate de cuivre (II) à la concentration molaire de 1,0 mol.L -1 dans le bécher 250 mL les électrodes plongent jusqu’à mi hauteur ;.. agitateur

Récupération du caillé lavé sur une coupelle et séchage à l’étuve (20 min environ si on a le temps) Dans un erlenmeyer : pour 5 g de caillé (sec) additionner 1,5 g d’hydroxyde

Dans un tel environnement, les pinsons à petit bec qui se nourrissent uniquement de petites graines sont favorisés, ils se nourrissent plus facilement et ont donc plus de chance

On compare les valeurs obtenues avec celle fournies dans le document pour procéder à l’identification de chacune des solutions. Les résultats expérimentaux et les

[r]

Le chiffrement demande de pouvoir vérifier que de « très grands » nombres sont des nombres premiers, pour pouvoir trouver p et q, mais aussi que le produit de ces deux très

Nous allons voir comment ´ecrire une application Java permettant d’´etablir une connection TCP/IP de notre ordinateur (qui sera un client) ` a un serveur, d’envoyer une requˆete `a