• Aucun résultat trouvé

Feuille 3 : RSA

N/A
N/A
Protected

Academic year: 2022

Partager "Feuille 3 : RSA"

Copied!
4
0
0

Texte intégral

(1)

Licence 3 N1MA6W31 Université Bordeaux 1 2012/2013

Feuille 3 : RSA

Exercice 1. Complexité de l'algorithme d'Euclide

Si x est un entier, on note L(x) = E(log2(x)) + 1 le nombre de bits de x. Soient a et b deux entiers tels que a > b > 0. On note r0 = a et r1 = b. On applique l'algorithme d'Euclide à a etb de la manière suivante :

a=r0 =r1q1+r2 r1 =r2q2+r3

...

rn−2 =rn−1qn−1 +rn

rn−1 =rnqn

oùrn = pgcd(a, b).

1. La suite des nombres de Fibonacci est dénie par F0 = 0, F1 = 1, Fi = Fi−1 +Fi−2

pour i ≥ 2. Calculer pgcd(Fn+2, Fn+1). Combien fait on d'étapes, que valent les quotients ?

2. Montrer que si le calcul de pgcd(a, b) utilise n divisions euclidiennes alors b ≥Fn+1 (indication : remonter l'algorithme).

3. Vérier que pour tout n ≥ 2, Fn ≥ Φn−2 où Φ = 1+

5

2 est le nombre d'or. En déduire que l'algorithme d'Euclide appliqué àa et b s'arrête après O(L(b))divisions euclidienne (Théorème de Lamé).

4. Montrer que dans l'algorithme d'Euclide le produit des quotients est majoré par a, c'est à dire q1q2. . . qn≤a.

5. La division euclidienne de x par y peut se faire en O(L(y)L(q)) opérations où q est le quotient. Montrer que la complexité de l'algorithme d'Euclide est O(L(a)L(b))

Exercice 2. Chirement RSA

1. Soit n = pq où p et q sont des nombres premiers distincts. Le système RSA chire m ∈ (Z/nZ)× en me ∈ (Z/nZ)×. Puis on déchire c∈ (Z/nZ)× par cd ∈ (Z/nZ)× pourd∈Z tel que ed≡1 (mod ϕ(n))

1

(2)

(a) Quelle est la clé publique ? la clé privée ?

(b) Pourquoi se restreint on à des éléments de (Z/nZ)×? Soitxpris au hasard avec probabilité uniforme dansZ/nZ. Quelle est la probabilité que x∈(Z/nZ)×? (c) Montrer que le système est correct, c'est à dire que sicest un chiré de malors

le déchirement dec redonne bien m.

(d) La composée de deux chirements RSA est-elle un chirement RSA ?

(e) Dans cette question on xe p et q deux nombres premiers distincts. Combien a-t-on de choix de clé ?

2. Dans cette question on souhaite implémenter un système RSA avec n= 221. (a) Calculer ϕ(n).

(b) Vérier que l'on peut choisir 7 comme exposant de chirement.

(c) Chirer le message m = 3 pour cet exposant.

(d) Calculer la clef privée.

(e) Déchirer le message c= 198.

Exercice 3. Déchirement de RSA

Dans cette exercice, on montre comment on peut accélérer le déchirement du système RSA en utilisant le théorème des restes chinois. Soit n = pq produit de deux nombres premiers distincts et d ∈ N premier avec ϕ(n). On s'intéresse au calcul du déchirement cd (mod n).

1. On posemp ≡cd (mod p),mq ≡cd (mod q),dp =d mod (p−1)etdq =d mod (q−

1). Montrer quemp ≡cdp (mod p) etmq ≡cdq (mod q). 2. Soit le système dans Z/nZ :

(m≡mp (mod p), m≡mq (mod q).

Justier que si m est solution du système ci dessus alors m≡cd (mod n).

3. Comparer la complexité de cet algorithme de déchirement avec celle de l'algorithme usuel.

4. En utilisant cette méthode déchirer le message c= 198 pour n= 221 et d= 55.

Exercice 4. Dans RSA, connaître ϕ(n) est équivalent à connaître p et q Soit n =pq produit de deux nombres premiers distincts.

1. Exprimer pq etp+q en fonction denetϕ(n). En déduire une méthode pour obtenir p etq lorsque l'on connait n et ϕ(n).

2. Si n = 17063et ϕ(n) = 16800, calculer p etq.

2

(3)

Exercice 5. Une attaque sur RSA : petit exposant public commun

On suppose que k personnes B1, . . . , Bk ont pour exposant public RSA e= 3avec des modules respectifs ni,1≤i≤k.

1. Pourquoi est-il raisonnable de supposer que les ni, 1 ≤ i ≤ k sont deux à deux premiers entre eux ?

2. Alice envoie les chirés d'un même messagemà tous lesBi. Montrer qu'un attaquant peut déterminerm3moduloP :=Qk

i=1ni; en déduire qu'il peut calculermsiP > m3. 3. Quel est la valeur minimale de k qui permet de toujours faire cette attaque ?

Exercice 6. Une attaque sur RSA : module commun

Bob et Catherine ont choisi le même module RSA n. Leurs exposants publics eB et eC sont distincts.

1. Expliquez pourquoi Bob peut déchirer les messages reçus par Catherine et récipro- quement.

2. On suppose que eB eteC sont premiers entre eux et qu'Alice envoie les chirés d'un même message m à Bob et à Catherine. Expliquez comment l'attaquant Oscar peut obtenirm.

3. Application : Bob a la clef publique(221,11)et Catherine la clef(221,7). Oscar inter- cepte les chirés210 et58à destinations respectives de Bob et Catherine. Retrouver le message m.

Exercice 7. Module RSA avec deux facteurs proches

Supposons que n soit un entier produit de deux nombres premiers p et q, p > q. On suppose que p et q sont proches, c'est à dire que := p−q est petit. On pose t = p+q2 et s= p−q2 .

1. Montrer que n=t2−s2.

2. Quel est la taille de s? Comparer t et √ n.

3. Montrer comment utiliser cela pour écrire un algorithme (de Fermat) factorisant n. 4. Application : factoriser 11598781.

5. Déterminer le nombre d'itérations de l'algorithme en fonction de p et de n. Que se passe t'il si p−√

n <√4 4n?

Exercice 8. Dans RSA, connaître d est équivalent à connaître p et q

Supposons que n soit un entier produit de deux nombres premiers distincts pet q. On notee, premier avecϕ(n), l'exposant public d'un système RSA de modulon. Connaissantp etq, l'exposant privé dse calcule en temps polynomial. Le but de l'exercice est de montrer que si un attaquant connaît d alors il peut factoriser n en temps polynomial.

3

(4)

1. Montrer comment à partir de e,d et n on peut construire un multiple B de ϕ(n). 2. On noteλ= ppcm(p−1, q−1).Montrer que pour touta∈(Z/nZ)×, aλ = 1. Montrer

que aλ/2 peut prendre 4 valeurs et que 2 de ces valeurs permettent de factoriser n. 3. On pose H = {a ∈ (Z/nZ)×, aλ/2 ≡ ±1}. Montrer que H est un sous-groupe de

(Z/nZ)×.

4. Montrer qu'il existe b ∈ (Z/nZ)× tel que b soit d'ordre p−1 modulo p et d'ordre (q−1)/2 modulo q.

5. On pose p−1 = 2vpp0 et q−1 = 2vqq0 avec p0, q0 impairs et on suppose, sans perte de généralité que vp ≥ vq. Exprimer λ/2 en fonction de vp et du ppcm de p0, q0. En déduire queb n'appartient pas àH. Si on prendxau hasard dans (Z/nZ)×, montrer que la probabilité quex n'appartienne pas à H est supérieure ou égale à 1/2.

6. Montrer que λ divise B et en déduire que si x ∈ (Z/nZ)×, il existe un entier k tel que xλ/2 =xB/2k+1.

7. Conclure : donner un algorithme probabiliste polynomial qui factorise n étant donné n, e et d et donner sa probabilité de succés.

8. Application : n= 77, e= 7,d= 43.

4

Références

Documents relatifs

Dans la pratique, il sers le plus souvent ` a transmettre une clef servant ` a d´ echiffrer un message cod´ e selon une autre m´ ethode plus rapide, typiquement une m´ ethode

Dans un fichier nomm´e minimal standard.txt mettre les 60 premiers entiers g´en´er´es par middle standard `a partir de la valeur initiale 1..

• un algorithme probabiliste REM.Encode(M, L, ELen) dont l’entrée est constituée d’un texte clair M (suite d’octets), d’une étiquette L (suite d’octets) d’un

Dans le cas présent, la part du cuisinier serait de trois pièces, mais les pirates se querellent et six d’entre eux sont tués, ce qui porte la part du cuisinier à quatre pièces..

Dans le cas présent, la part du cuisinier serait de trois pièces, mais les pirates se querellent et six d’entre eux sont tués, ce qui porte la part du cuisinier à quatre pièces..

2) a) Utilisez les fonctions pr´ ec´ edentes pour certifier un message publique : On transmet cette fois un message en clair plus un certificat. Grˆ ace ` a ce certificat, votre

En effet, les algorithmes de factorisation sont très lents (de l’ordre de milliers d’années pour des entiers aussi grands), jusqu’au jour où on en trouvera de plus rapides…

- Coefficient numérique général de discrimination de classes d'objets par des variables de types quelconques.. Application à des données