UN ALGORITHME DE FACTORISATION DES ENTIERS On sait que

UN ALGORITHME DE FACTORISATION DES ENTIERS
On sait que tout nombre entier naturel s’´
ecrit de fac¸on unique comme produit de nombres
premiers. Ce th´
eor`
eme est effectif. On connaˆ
ıt de nombreux algorithmes, plus ou moins efficaces,
pour factoriser un entier naturel en produit de facteurs premiers. Aucun n’est polynomial. La
difficult´
e de factoriser des entiers garantit la s´
ecurit´
e de plusieurs protocoles cryptographiques.
Il est donc utile de connaˆ
ıtre les algorithmes les plus performants pour factoriser des entiers.
1. LE PARADOXE DES ANNIVERSAIRES
On suppose qu’il y a 40 ´
etudiants dans un groupe de TD. La probabilit´
e que deux d’entre eux
fˆ
etent leur anniversaire le mˆ
eme jour de l’ann´
ee est (on suppose que personne n’est n´
e un 29
f´
evrier)
1(1 1
365)(1 2
365)···(1 39
365)0.89
Il y a donc une forte probabilit´
e que deux ´
etudiants fˆ
etent leur anniversaire le mˆ
eme jour. Et
pourtant 40 est tr`
es ´
eloign´
e de 365 ...
On va donner une explication.
Supposons que l’on dispose d’une urne contenant pboules num´
erot´
ees de 1`
ap. On proc`
ede
`
an2tirages avec remise. On estime la probabilit´
eP(p, n)d’avoir tir´
enboules deux `
a deux
distinctes :
P(p, n) = Y
1in11i
pY
1in1
exp(i
p) = exp(n(n1)
2p)exp((n1)2
2p)
Donc si nest plus grand que 1+pla probabilit´
e de tirer deux fois la mˆ
eme boule est minor´
ee
par la constante 1exp(1/2) >0.39.
Il suffit donc que le nombre de tirages soit proportionnel `
a la racine carr´
ee du nombre de boules
pour avoir une probabilit´
e significative de tirer deux fois la mˆ
eme boule.
2. APPLICATION AL ´
EATOIRE DUN ENSEMBLE FINI DANS LUI M ˆ
EME
Soit Fun ensemble fini `
ap´
el´
ements. Soit A(F)l’ensemble des applications de Fdans F. On
munit A(F)de la mesure uniforme. On fixe un ´
el´
ement Ode F.
`
A toute application f:FFon associe la suite x0=O,xi+1 =f(xi)obtenue par it´
eration
de f. Cette suite est ultimement p´
eriodique. Cela signifie qu’elle est p´
eriodique `
a partir d’un
certain rang. On note πfla p´
eriode et µfla pr´
ep´
eriode. Donc πfest le plus petit entier positif
tel que pour tout iassez grand on ait xi+πf=xi. Et µfest le plus petit entier tel que pour tout
iµfon ait xi+πf=xi.
La somme ρf=µf+πfest une variable al´
eatoire sur A(F). La probabilit´
e de l’´
ev´
enement
ρfnest P(p, n). L’esp´
erance (c’est-`
a-dire la moyenne) E(ρf)v´
erifie
1
2 UN ALGORITHME DE FACTORISATION DES ENTIERS
E(ρf) = 1 + X
n2
P(p, n)X
n0
exp(n2
2p)1 + Z
0
ex2
2pdx
= 1 + p2pZ
0
ex2dx = 1 + r
2
car R
−∞ ex2dx =π.
3. DEUX ALGORITHMES SIMPLES POUR FACTORISER
Observons que la v´
erification de la primalit´
e d’un nombre entier est chose facile. Il suffit donc,
pour factoriser, de savoir trouver, pour tout N, un facteur non trivial Mde N(et son cofacteur
R=N/M). On dit qu’on a cass´
eN. Si les facteurs trouv´
es Met Rne sont pas premiers, on
peut leur appliquer `
a nouveau l’algorithme de cassage.
Une premi`
ere m´
ethode consiste `
a calculer la division euclidienne de l’entier N`
a factoriser par
les entiers r= 2,3,5,7,9,11,13,15 etc.
Si on parvient `
arNsans trouver de facteur, alors le nombre Nest premier et l’algorithme
s’arrˆ
ete.
La complexit´
e de cette m´
ethode est en O(N1
2+o(1))ce qui n’est pas tr`
es bon.
Une m´
ethode ´
el´
egante et beaucoup plus efficace (mais heuristique) est due `
a Pollard.
On suppose pour simplifier que N=pq avec pet qpremiers distincts. On fixe un polynˆ
ome
f`
a coefficients entiers (souvent f(X) = X2+ 1) et on consid`
ere la suite it´
er´
ee `
a valeur dans
Z/NZd´
efinie par x=x0quelconque et xk+1 =f(xk) mod N.
Comme f(X)est un polynˆ
ome, l’application induite
fN:Z/NZ//Z/NZ
xmod N//f(x) mod N
est application produit des deux applications
fp:Z/pZ//Z/pZ
xmod p//f(x) mod p
et
fq:Z/qZ//Z/qZ
xmod q//f(x) mod q
Plus pr´
ecis´
ement, on note γl’isomorphisme Chinois
UN ALGORITHME DE FACTORISATION DES ENTIERS 3
γ:Z/NZZ/pZ×Z/qZ
et on v´
erifie que γfN= (fp×fq)γ.
On suppose que les applications fpet fqse comportent comme des applications al´
eatoires
ind´
ependantes. Plus pr´
ecis´
ement, on suppose que fpsuit la loi uniforme dans l’ensemble A(Z/pZ)
des applications de Z/pZdans lui mˆ
eme. On suppose aussi que fqsuit la loi uniforme dans
A(Z/qZ), et que fpet fqsont ind´
ependantes.
C’est une hypoth`
ese un peu folle puisque f=x2+ 1 est d´
etermin´
e donc choisi al´
eatoirement
dans un ensemble `
a un seul ´
el´
ement...
On note yk=xkmod pla classe de xkmodulo p. On note zk=xkmod qla classe de xk
modulo q.
On v´
erifie que yk+1 =fp(yk)et zk+1 =fq(zk). L’isomorphisme Chinois γenvoie xksur
(yk, zk).
On note πpet µpla p´
eriode et la pr´
ep´
eriode de fp. On note πqet µqla p´
eriode et la pr´
ep´
eriode
de fq.
On a de bonnes raisons de penser que πpet µp(qui d´
ependent de fet de p) sont O(p). De
mˆ
eme on a de bonnes raisons de penser que πqet µqsont O(q).
Ainsi on dispose d’une suite it´
er´
ee dans Z/NZdont la composante en p(resp. q)ap´
eriode et
pr´
ep´
eriode O(p)(resp. O(q)).
Si kest assez grand on aura tr`
es vraisemblablement
pgcd (xkxk+πp, N) = p
ce qui donne un facteur non trivial de N. Bien sˆ
ur, cette formule n’est d’aucun secours puisqu’on
ne connaˆ
ıt pas πp. Mais elle implique que pour kassez grand et multiple de πpmais non de πq
on a
pgcd (xkx2k, N) = p.
L’algorithme de Pollard consiste `
a calculer it´
erativement xk=f(xk1)et Xk=x2k=
f(f(Xk1)) et le pgcd ci-dessus pour k= 0,1,2, ..., jusqu’`
a trouver un facteur de N.
Heuristiquement cette m´
ethode trouve un facteur pen temps O(p1
2+o(1))soit O(N1
4+o(1)).
4. QUESTIONS
(1) On pourra citer un protocole cryptographique qui repose sur la difficult´
e de factoriser et
voir dans quelle mesure la s´
ecurit´
e de ce protocole est affect´
ee par l’algorithme pr´
esent´
e
dans le sujet.
(2) On pourra justifier le calcul de l’esp´
erance de ρf.
(3) On pourra ´
etudier l’int´
egrale R
−∞ ex2dx, soit en calculant une valeur approch´
ee, soit en
d´
emontrant qu’elle est ´
egale `
aπ.
Dans ce dernier cas, on pourra montrer que R
−∞ ex2dx2=πen ´
ecrivant
4 UN ALGORITHME DE FACTORISATION DES ENTIERS
Z
−∞
ex2dx2
=Z
−∞
ex2dx Z
−∞
ey2dy =Z
−∞ Z
−∞
ex2y2dxdy
et en introduisant les coordonn´
ees polaires r=px2+y2et l’angle θ.
(4) On pourra voir que certains choix pour le polynˆ
ome f(X)sont plus pertinents que
d’autres. Par exemple on pourra se demander si f(X) = X2est meilleur ou pire que
f(X) = X2+ 1. Sachant que (x+ 1/x)2=x2+ 1/x2+ 2 que peut-on dire du choix
f(X) = X22?
(5) On pourra essayer d’estimer la p´
eriode πNet la pr´
ep´
eriode µNde fN:Z/NZZ/NZ
en fonction de πp,µp,πq,µq.
(6) On pourra expliquer pourquoi l’algorithme de Pollard est particuli`
erement efficace pour
trouver les petits facteurs premiers de grands entiers et illustrer cette m´
ethode par une
impl´
ementation.
1 / 4 100%

UN ALGORITHME DE FACTORISATION DES ENTIERS On sait que

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !