Université Bordeaux M1 CSI, Cryptologie
Mathématiques, Informatique Année 2017 – 2018
FEUILLE D’EXERCICES no5 Clé publique (1)
Exercice 1 – Oscar intercepte le chiffré C = Me modn d’un système RSA de clé publique(n, e). Supposons qu’il a le droit de demander à déchiffrer unC0 6=C de son choix. Il calcule C0 = 2eC modn.
1) Montrer que si C0 =C, il peut retrouver M. 2) Montrer que si C0 6=C, il peut aussi retrouver M.
Exercice 2 – Bob utilise RSA. Sa clé publique est(n, e)oùn=pq. Bob possède deux machines à déchiffrer : elles sont censées recevoir en entrée C et calculer Cdmodp, Cdmodq, puis M =Cdmodn à l’aide du théorème chinois. La ma- chineAcalcule correctement, la machineB commet à chaque fois une erreur : elle calcule correctement Cdmodp, applique sans erreur le théorème chinois, mais se trompe lors du calcul de Cdmodq. Comment un adversaire peut-il utiliser ces machines pour retrouver p et q?
Exercice 3 – En 1973 Clifford Cocks, membre du GCHQ (services secrets bri- tanniques), proposait dans un rapport resté confidentiel jusqu’en 1997, le système à clé publique suivant, précurseur du chiffrement RSA (1977).
La clé secrète du destinataire consiste en deux nombres premiers distincts p etq vérifiant
p-q−1 et q-p−1.
Sa clé publique est l’entier n=pq.
Le chiffrement du message M ∈ {0,1, . . . , n−1}est le cryptogramme C=Mnmodn.
1) Déterminer l’algorithme de déchiffrement. Indication : penser au théorème chinois et au petit théorème de Fermat.
2) Application numérique : soient p = 23, q = 31, n = 713 et soit le message chiffré C = 149. DéchiffrerC.
Exercice 4– Alice et Bob utilisent RSA. La clé publique de Bob est(n, e)oùn= pq. On noteE la fonction de chiffrement et sik >0on noteEk =E◦E◦· · ·◦E la composée dekchiffrements. Alice envoie à Bob le chiffréC =E(M) =Me modn et Oscar intercepte C.
1) Montrer qu’il existe k >0 tel que Ek(C) =C.
2) En déduire comment Oscar peut retrouver M. 3) Que donne cette attaque si n = 35?
Exercice 5 – Alice et Bob utilisent RSA. La clé publique d’Alice est (n, e) où n =pq. On s’intéresse aux messages que Bob peut lui envoyer et qui seront chiffrés en eux-mêmes, i.e. lesM ∈ M={0,1, . . . , n−1}tels queMe =M modn. Notons En leur ensemble.
1) On veut d’abord dénombrer les x ∈ Fp qui vérifient xe = x. Notons leur ensemble Ep.
a) Soit x∈Fp×
. Soient g un élément primitif de Fp etk ∈ {0,1, . . . , p−2} tel que x=gk. Montrer que
x∈Ep ⇐⇒(p−1)|k(e−1).
b) On pose d = pgcd(p−1, e−1). Montrer que le cardinal de Ep estd+ 1.
2) Prouver que le cardinal deEn est
pgcd(p−1, e−1) + 1
pgcd(q−1, e−1) + 1 . 3) Application numérique. Alice a choisi p= 163, q= 571 ete= 371.
a) Vérifier que le choix de e est pertinent.
b) Quelle est la probabilité pour qu’un M tiré au hasard dans M soit un élément de En?
Exercice 6– On se propose d’étudier le système “RSA pour paranoïaques” pro- posé par Shamir en 1995. Il s’agit aussi d’un système à clé publique. Soit p un premier impair qui s’écrit avec s bits : 2s−1 6 p 6 2s−1. Soit q un entier, non nécessairement premier et dont on ne connaît pas a priori la décomposition en produit de premiers, mais auquel on impose d’être plus grand que p : q s’écrit avec ts bits (par exemple t ≈ 10). On pose n = pq et on choisit un entier e.
La clé publique est (n, e), la clé secrète est p. L’espace des messages clairs est M={0,1, . . . ,2s−1−1}, i.e. les entiers qui sécrivent avec (strictement) moins de s bits. Le chiffé d’un message M estC =E(M) =Me modn.
1) Montrer que si pgcd(e, p−1) = 1, la fonction E est injective. On se place désormais sous cette hypothèse.
2) Décrire l’algorithme de déchiffrement.
3)Montrer que sie < ton peut déchiffrer facilement sans autre connaissance que celle de la clé publique.
4) Montrer que si l’on a accès à l’algorithme de déchiffrement, alors en lui sou- mettant une entrée bien choisie on peut découvrir la clé secrète.