(b) Si b06= 1 montrer qu’il existe un indice itel que bi=−1.
2. Montrer que si nest un entier compos´e impair sup´erieur ou ´egal `a 3 : n=q2p+ 1 avec
pimpair alors le nombre d’entiers a∈(Z/nZ)∗pour lesquels la suite (bi)i∈[[0,p]] v´erifie les
deux conditions pr´ec´edentes est inf´erieur `a (n−1)/2.
3. En d´eduire que Primes ∈ BPP.
Exercice 6. Logarithme discret
Soit Gun groupe cyclique d’ordre nengendr´e par get soit h∈G. Le probl`eme du logarithme
discret dans Gconsiste a trouver l’unique entier xdans {1, . . . , n}tel que h=gn.
1. Proposer un algorithme qui r´esoud le probl`eme du logarithme discret en O(√n) op´erations
dans le groupe G.
2. Montrer que si la factorisation de n=pe1
1···pek
kest connue (o`u les pisont des nombres
premiers deux `a deux distincts), alors il existe un algorithme qui r´esoud le probl`eme du
logarithme discret en OPk
i=1 ei(ln n+√pi)op´erations dans le groupe G.
Exercice 7. Extraction de racine carr´
ee modulo p
Soit pun nombre premier.
1. Nous supposons que p≡3 mod 4. Donner un algorithme de complexit´e 0((log p)3) qui
´etant donn´e α∈ {1, . . . , p −1}tel que (α|p) = 1 retourne β∈ {1, . . . , p −1}tel que
β2≡αmod p.
2. Nous supposons d´esormais que p≡1 mod 4. Posons p= 2hm+ 1.
(a) Donner un algorithme probabiliste qui ´etant donn´e pretourne un ´el´ement γde
{1, . . . , p −1}tel que (γ|p) = −1 en temps esp´er´e O((log p)2). Montrer qu’un tel
γengendre l’unique sous-groupe d’ordre 2hde (Z/pZ)∗.
(b) Soit α∈ {1, . . . , p −1}tel que (α|p) = 1. Montrer que αmappartient au sous-groupe
engendr´e par γet en utilisant un algorithme de logarithme discret, en d´eduire un
calculer une racine carr´e de αmmodulo p.
(c) Conclure en donnant un algorithme permettant de calculer les racines carr´es de αen
temps O((log p)3+hlog(h) log(p)2).
2