• Nenhum resultado encontrado

A Hip´ otese de Riemann Estendida

3.2 Testes probabil´ısticos de primalidade

3.2.2 Teste de Miller–Rabin

3.2.2.1 A Hip´ otese de Riemann Estendida

Seja n um inteiro. Um car´acter m´odulo n ´e uma fun¸c˜ao χ : Zn−→ C∗que ´e homomorfismo de grupos multiplicativos entre Z∗n e C∗. Todo o car´acter χ pode ser extendido a uma

fun¸c˜ao χ0 : Z−→ C∗ onde: χ0(m) =      χ (m (mod n)) se (m, n) = 1, 0 se (m, n) 6= 1.

Vamos usar o mesmo s´ımbolo para denotar χ e χ0. Definimos ainda o car´acter principal m´odulo n como sendo:

χ1(m) =      1 se (m, n) = 1, 0 se (m, n) 6= 1.

Para todo o car´acter χ, a L–fun¸c˜ao de Dirichlet para χ ´e a fun¸c˜ao Lχna vari´avel complexa

z, definida pela seguinte s´erie infinita: Lχ(z) = ∞ X n=1 χ(n) nz

Lχ1 pode ser meromorficamente (fun¸c˜ao anal´ıtica exceptuando singularidades isoladas que

sejam polos) estendida a uma fun¸c˜ao anal´ıtica definida na regi˜ao Re(z) > 0, onde z = 1 ´

e o ´unico polo. Se χ 6= χ1, ent˜ao a s´erie Lχ converge para todo o z ∈ C com Re(z) > 0 e

converge absolutamente para Re(z) > 1 (Veja [22]).

Hip´otese 3.2.1 (Riemann Estendida ) Para todo o car´acter χ, os zeros da fun¸c˜ao Lχ

em {z ∈ C : 0 < Re(z) ≤ 1} est˜ao sobre a recta Re(z) = 12.

Vamos enunciar o Teorema de Bach, principal resultado usado para a prova do lema 3.2.5.

Teorema 3.2.4 (Bach) Assumindo a Hip´otese de Riemann Estendida, se G ´e subgrupo multiplicativo pr´oprio de Zn, ent˜ao existe um inteiro a < 2 log2(n) que n˜ao est´a em G, ou seja, a ∈ Z∗n\G.

Lema 3.2.5 Assumindo a Hip´otese de Riemann Estendida, se n ´e um inteiro composto, ent˜ao existe um inteiro a estritamente entre 1 e 2 log2(n) tal que n n˜ao ´e pseudoprimo para a base a.

Demonstra¸c˜ao. Seja n − 1 = 2st, com t ´ımpar.

Caso 1: n ´e divis´ıvel por uma potˆencia de um primo p, p2 | n.

Seja G o conjunto dos elementos de a ∈ Z∗p2 tais que ap−1 ≡ 1 (mod p2). Vamos ver

que G 6= Z∗p2. Como p ´e primo, existe uma raiz primitiva g de Z

p2. As ´unicas solu¸c˜oes

de αp−1 ≡ 1 (mod p2) s˜ao: {gp, g2p, . . . , g(p−1)p}. Ent˜ao existe um inteiro i, estritamente

entre 0 e φ(p2), tal que α = gi ∈ Z

p2 e (gi)p−1 6≡ 1 (mod p2), logo α = gi 6∈ G. Pelo

Teorema 3.2.4 aplicado a G, existe um inteiro a, 1 < a < 2log2(n), tal que ap−1 6≡ 1 (mod p2).

Pretendemos mostrar que an−1 6≡ 1 (mod n). Se an−1 ≡ 1 (mod n), ent˜ao existiria

um inteiro h tal que an−1+ nh = 1. Como p2 | n, ent˜ao an−1+ p2mh = 1 ou, de forma

equivalente, an−1 ≡ 1 (mod p2). Logo ord

p2(a) | (n − 1) e ordp2(a) | φ(p2) = p(p − 1),

e portanto ordp2(a) | (p − 1), porque a alternativa ´e ordp2(a) = p, que n˜ao pode dividir

n − 1. Chegamos a uma contradi¸c˜ao pois ap−1 6≡ 1 (mod p2). Podemos ver facilmente que

se an−1 6≡ 1 (mod n), ent˜ao an−1 = (at)2s

6≡ 1 (mod n) e an−1 = (a2it

)2s−i

6≡ 1 (mod n) para todo i entre 0 e s − 1. As a–sequˆencias s˜ao do Tipo II.

Caso 2: n tem divisores p e q tais que p − 1 = 2spt

p e q − 1 = 2sqtq, com tp e tq

´ımpares.

Seja G o conjunto de todos os elementos de Z∗p que s˜ao res´ıduos quadr´aticos. Pelo

Teorema 3.2.4 aplicado a G, existe um inteiro a, 1 < a < 2 log2(p), que n˜ao ´e res´ıduo quadr´atico.

Como ap−12 ≡ −1 (mod p) e ordp(a) ´e o menor inteiro tal que aordp(a) ≡ 1 (mod p),

ent˜ao 2sp | ord

p(a) e 2sp+1 - ordp(a). Note-se que at 6≡ 1 (mod n). De facto, caso contr´ario,

existe h ∈ Z tal que at+ hn = 1 e, como p | n, temos at+ pmh = 1, ou seja, at ≡ 1 (mod p). Portanto, ordp(a) | t e 2sp | ordp(a), o que ´e uma contradi¸c˜ao, visto que t ´e

´ımpar.

Vamos supor que sq< sp. Suponhamos que a2

it

≡ −1 (mod n) para algum i entre 0 e s−1. Como p | n e q | n, temos a2it

≡ −1 (mod p) e a2it

≡ −1 (mod q). Logo, i ´e o menor inteiro tal que a2i+1t ≡ 1 (mod p) e a2i+1t

≡ 1 (mod q). Conclu´ımos que ordp(a) - 2it e

ordp(a) | 2i+1t logo i + 1 = sp, ordp(a) tem 2i+1 como factor e se sp > i + 1, ent˜ao i

n˜ao poderia ser o menor inteiro nas condi¸c˜oes anteriores. De igual modo ordq(a) - 2it e

ordq(a) | 2i+1t = 2spt. Isto contradiz o facto de ordq(a) | q − 1 = 2sqtq, porque supomos

sq < sp. Ent˜ao n˜ao ´e poss´ıvel termos a–sequˆencias do Tipo I.

Por fim, suponhamos que sp = sq e que G ´e o conjunto dos elementos de Z∗pq tais que



a p



=aq. Vejamos que G 6= Zpq.

Como p ´e primo, existe uma raiz primitiva g de Zp. Pelo Teorema Chinˆes dos Restos, existe α ∈ Z∗pq tal que α ≡ g (mod p) e α ≡ 1 (mod q), ou seja,

 α p  6=α q  . Logo existe um elemento α ∈ Z∗pq tal que α 6∈ G. Pelo Teorema 3.2.4 aplicado a G, existe um inteiro

a, 1 < a < 2 log2(pq), tal que  a p  6=a q  . Se a p  = −1 e a q 

= 1, obtemos, pelo crit´erio de Euler, que ap−12 ≡ −1 (mod p)

e aq−12 ≡ 1 (mod q). Portanto 2sp | ordp(a) e 2sq - ordq(a). Como vimos atr´as, at 6≡ 1

(mod n)

Supondo que a a–sequˆencia ´e do Tipo I, ent˜ao haver´a i ∈ {0, . . . , s − 1} tal que a2it ≡ −1 (mod n), implicando ord

p(a) - 2it e ordp(a) | 2i+1t; e tamb´em sp = i + 1, da

mesma maneira que em par´agrafos anteriores.

Analogamente, ordq(a) - 2it e ordq(a) | 2i+1t. Mas 2sq - ordq(a) e sp = sq = i + 1 leva

Em todos os casos, existe um a < 2 log2(n) tal que n n˜ao ´e pseudoprimo forte para a

base a. 

No Lema 3.2.5, para provar o caso em que se sup˜oe que p2 | n com p primo, podemos

usar o lema 3.2.6 que n˜ao usa a Hip´otese de Riemann Estendida.

Lema 3.2.6 (Lenstra) Para todo o primo p, existe um inteiro a < 4 log2(p) tal que ap−1 6≡ 1 (mod p2)

Demonstra¸c˜ao. Ver [23]. 

Finalmente, com o Lema 3.2.5 obtemos um algoritmo polinomial que decide a primali- dade de um n´umero n. Apesar de o teste 3.2.5 ser polinomial de custo O(log5(n)), existem testes, como o teste de Lenstra–Cohen, n˜ao polinomiais, que para n´umeros com cerca de 100 casas decimais s˜ao muito r´apidos (cerca de 1 minuto num bom computador!).

Defini¸c˜ao 3.2.5 (Teste de Miller–Rabin–HRE) Seja n um inteiro ´ımpar. Se n ´e pseudoprimo para todas bases a < 2 log2(n) e a Hip´otese de Riemann Estendida for ver- dadeira, ent˜ao n ´e primo. Caso contr´ario n ´e composto.

Podemos indagar se haver´a algum contra-exemplo para o Teste de Miller–Rabin–HRE ! Pomerance, Selfridge e Wagstaff [34], efectuaram c´alculos em massa e mostraram que para as bases 2, 3 e 5 o teste de Miller–Rabin identifica todos os primos para inteiros n < 25 · 109, `a excep¸c˜ao de 13 n´umeros. Desses apenas o inteiro 3 215 031 751 = 151 · 751 ·

28 351 ´e pseudoprimo forte para a base 7, e este n´umero n˜ao ´e pseudoprimo forte para a base 11.

Jaeschke [15], mostrou que s´o h´a 101 pseudoprimos fortes menores que 1012 para as bases 2, 3 e 5, h´a 9 se adicionarmos a base 7 e nenhum se adicionarmos a base 11.

A Tabela 3.2 mostra que, na realidade, os resultados s˜ao bem melhores do que se previa no teste de Miller–Rabin–HRE. Podemos ver que o n´umero de bases necess´arias para testar a primalidade de n´umeros n menores que 1014 ´e mais parecida com c log10n do que 2(ln n)2.

Apesar do sucesso das previs˜oes do teste de Miller–Rabin–HRE 3.2.5 para valores de n menores que 1014, ´e prefer´ıvel aplicar somente o teste probabil´ıstico de Miller–Rabin para

ψk b ∈ W(n) n 2(ln n)2 log10n ψ1 3 2 047 117 3.3 ψ2 5 1 373 653 400 6.1 ψ3 7 25 326 001 582 7.4 ψ4 11 3 215 031 751 959 9.5 ψ5 13 2 152 302 898 747 1613 12.3 ψ6 17 3 474 749 660 383 1668 12.5 ψ7 19 341 550 071 728 321 2240 14.5 ψ8 23 341 550 071 728 321 2240 14.5

Tabela 3.2: Lista de valores de ψk (1 ≤ k ≤ 8), ψk´e o menor inteiro que ´e pseudoprimo

forte para os k primeiros n´umeros primos.

n˜ao foi provado, pois o teste de Miller–Rabin–HRE depende da Hip´otese de Riemann Estendida, que se pensa ser verdadeira mas que ainda continua a ser um problema em aberto.

Documentos relacionados