• Nenhum resultado encontrado

8 Indu¸ c˜ ao e Fermat

No documento Teoria de números e criptografia RSA (páginas 24-29)

8.1 Indu¸ c˜ ao finita

Seja P(n) uma proposi¸c˜ao que afirma que uma determinada propriedade vale para cada n´umero naturaln. Por exemplo:

• Sep´e um n´umero primo, ent˜aonp−n´e divis´ıvel porppara todo natural n.

• A soma de 1 at´en´e n(n+1)2

Para provarP(n), em geral usamos o princ´ıpio da indu¸c˜ao finita : Princ´ıpio da indu¸c˜ao finita Para que uma proposi¸c˜aoP(n) seja verdadeira para todonnatural, basta que:

1. P(1) seja verdadeira.

2. Se P(k) for verdadeira para algum n´umero natural k, ent˜ao P(k+ 1) tamb´em ´e verdadeira.

8.2 Pequeno teorema de Fermat

Lema 10 Seja pum n´umero primo ea, binteiros. Ent˜ao, (a+b)p≡ap+bp (mod p) Prova Veja livro texto, pag 94.

Teorema 11 (Teorema de Fermat) Sejapum n´umero primo eaum n´umero inteiro. Ent˜ao

ap≡a (modp).

Prova

• Sen= 1, ent˜ao 1p≡1 (modp) trivialmente.

• Suponhamos quenp≡n (modp) para algumninteiro positivo. Usando o lema anterior,

(n+ 1)p≡np+ 1p≡np+ 1 (modp) Como pela hip´otese de indu¸c˜ao temosnp≡n (modp),

(n+ 1)p≡np+ 1≡n+ 1 (modp) Como quer´ıamos demonstrar.

Caso geral: veja pag 95 do livro texto.

Teorema 12 (Teorema de Fermat II) Seja pum n´umero primo eaum in-teiro que n˜ao ´e divis´ıvel porp. Ent˜ao,

ap1≡1 (modp).

Prova Comomdc(a, p) = 1, existe a tal que aa≡1 (mod p)

Multiplicando ambos os membros deap≡a (modp).por a, obtemos:

a.a.ap1≡a.a (modp).

Logo,

ap1≡1 (modp).

Podemos simplificar algumas contas usando o Teorema de Fermat. De fato, sejamp primo, a inteiro tal quemdc(a, p) = 1 e k um n´umero inteiro tal que k≥p−1. Dividindokporp−1,

k= (p−1).q+r 0≤r <(p−1) Logo,

ak ≡a(p1).q+r≡(ap1)q.ar (mod p).

Mas (ap1)≡1 (modp) e portanto

ak≡ar (mod p).

8.3 Exerc´ıcios propostos

1,3,46,7,8,12

9 Pseudoprimos

Nesta se¸c˜ao, veremos com usar o pequeno teorema de Fermat para identificar que um n´umero ´e composto sem fator´a-lo .

9.1 Pseudoprimos

De acordo com o teorema de Fermat, sep´e primo e a´e um inteiro qualquer, ent˜aoap≡a (mod p). Desta forma, ´e claro que, sen´e um n´umero composto, ent˜ao existe um inteirobtal quebn\ ≡b (mod n) (usaremos o s´ımbolo\ ≡para significar n˜ao equivalente). Observe que, na pr´atica, s´o precisamos considerar os inteirosbno intervalo 1< b < n−1 (por que?).

Desta forma, temos um m´etodo para determinar se um n´umero ´e composto sem termos que fator´a-lo:

TesteSen, bs˜ao n´umeros inteiros,n >0 e 1 < b < n−1, tais quebn1\ ≡1 (modn), ent˜aon´e composto.

A pergunta que surge ent˜ao ´e: o teste acima ´e um procedimento de decis˜ao?

Isto ´e, o fato de n˜ao encontrarmos talbsignifica que n´e primo?

Resposta: Observe que, sen´e composto, ent˜ao existepprimo, 1< p < n−1 tal quep|n. Logo,mdc(p, n) =p6= 1 e portanto pn˜ao ´e invers´ıvel m´odulon.

Desta forma,pn1\ ≡1 (modn).

E claro que esse n˜´ ao ´e um m´etodo eficiente para testar primalidade uma vez que

´e um m´etodo de exaust˜ao.

Outra pergunta interessante que surge ´e a seguinte: ser´a que, se um n´umero

´ımparnque satisfa¸ca:

bn1≡1 (mod n)

paraalgum1< b < n−1 ´e primo? Infelizmente, a resposta ´en˜ao. Por exemplo, 2340 ≡1 (mod 341) mas 341 = 11.31 n˜ao ´e primo! Esses “falsos primos” s˜ao conhecidos comopseudoprimos. Ou seja, um pseudoprimo npara a baseb

´e um n´umero inteiro positivo´ımpar e compostotal que bn1≡1 (mod n)

Apesar de `as vezes dar errado, esse teste (chamado de teste de Leibniz) ´e muito

´

util. Tambe´em ´e poss´ıvel melhorar o resultado do teste se testarmos para duas bases.

Exemplo 6 Existem 50.847.534 primos entre 1 e 109; existem apenas 5597 pseudoprimos na base 2 e 1272 pseudoprimos para as bases 2 e 3.

9.2 N´ umeros de Carmichael

Como vimos anteriormente, n˜ao existem n´umeros que sejam pseudoprimos para todas as bases. Entretanto, pode ocorrer que um n´umero composto n seja pseudoprimo para todas as basesbtais quemdc(b, n) = 1.

Dizemos que um n´umero composto ´ımpar ´e um n´umero de Carmichael se bn≡b (mod n).

Os n´umeros de Carmichael possuem duas propriedades muito interessantes, dadas pelo teorema baixo:

Teorema 13 (Teorema de Korselt:) Um inteiro positivo ´ımparn´e um n´umero de Carmichael se, e somente se, cada fator primop den satisfaz as seguintes condi¸c˜oes:

1. p2 n˜ao dividen;

2. p−1 dividen−1.

Prova (=⇒) Sejapum fator primo den. Ent˜ao, bn≡b (modp)

De fato, se b ´e divis´ıvel por p ent˜ao ambos os membros da equivalˆencia s˜ao congruentes a zero. Se n˜ao, pelo teorema de Fermat temos:

bp1≡1 (modp)

Pela condi¸c˜ao (2) do teorema,n−1 = (p−1).qpara algumq. Logo, bn≡(bp1)q.b≡b (modp)

Por (1), temos quen=p1. . . pk comp1< p2< . . . < pk. Como os primos s˜ao distintos,bn−b´e divis´ıvel pelo produtop1.p2. . . . .pk=n. Em outras palavras,

bn≡b (mod n) e portanton´e um n´umero de Carmichael.

(⇐=) Seja n um n´umero de Carmichael e suponhamos que exista pprimo tal quep2|n. Escolhab=p. Ent˜ao:

pn−p=p(pn1−1)

Masp n˜ao divide pn1−1, logo p2 n˜ao pode dividirpn−p. Portanto,n n˜ao pode dividirpn−p. Em outras palavras, p≡p (modn). Absurdo.

O restante da demonstra¸c˜ao depende doteorema da raiz primitiva, que s´o ser´a vista no cap´ıtulo 10...

Observa¸c˜oes:

• Para verificar que um n´umero ´e de Carmichael usando o teorema acima necessitamos fator´a-lo...

• Muitos n´umeros de Carmichael possuem fatores primos pequenos!

• Existem infinitos n´umeros de Carmichael.

• Entre 1 e 109 existem 50.847.534 primos e 646 n´umeros de Carmichael.

9.3 Teste de Miller

Teorema de Fermat: detecta n´umeros compostos com uma certa eficiˆencia, mas n˜ao ´e um bom teste de primalidade.

Teste de Miller: Calcula-se a sequˆencia de potˆencias m´odulon:

bq, b2q, . . . , b2kq

onden−1 = 2kq.

O fato ´e que, sen´e primo, ent˜ao:

b2kq ≡bn1≡1 (modn)

Digamos que j ´e o menor expoente tal que b2jq ≡ 1 (mod n). Se j ≥ 1 podemos escrever

b2jq−1 = (b2j−1q−1)(b2j−1q+ 1)

Sen´e primo e divideb2jq−1, ent˜aondeve dividir (b2j−1q+1) pela minimalidade dej. Logo,

b2j−1q−1≡ −1 (modn) Ou seja, uma das potˆencias

bq, b2q, . . . , b2kq

deve ser congruente a−1 m´odulon. Sej = 0, ent˜ao temos apenas que bq ≡1 (modn). Se nada disso acontecer, ent˜aondeve ser composto.

Teste de Miller.

Etapa 1 Dividan−1 por 2 at´e encontrarq´ımpar ek tais quen−1 = 2kq.

Etapa 2 Fa¸cai= 0 er= resto debq porn.

Etapa 3 Sei= 0 er= 1 oui≥0 er=n−1: teste inconclusivo.

Etapa 4 Fa¸cai=i+ 1 er=r2 onder2´e o resto da divis˜ao der2 porn.

Etapa 5 Sei < kvolte `a etapa 3; sen˜ao: n´e composto.

Exemplo 7 Tome o n´umero de Carmichael 561. Temos que 560 = 24.35.

Calculando as sequˆencias de restos m´odulo561 das potˆencias de 2:

expoentes 35 2.35 22.35 23.35

restos 263 166 67 1

Logo561 tem que ser composto.

Se um n´umero composto n tem resultado inconclusivo para o teste de Miller com respeito a uma baseb, dizemos quen´e um pseudoprimo forte para a baseb. Observe que pseudoprimo forte−→pseudoprimo.

Existem 1282 pseudoprimos fortes entre 1 e 109.

9.4 Primalidade e computa¸ c˜ ao alg´ ebrica

E importante ressaltar que o teste de Miller ´e muito usado na pr´atica. O que´ se faz para ter maior garantia do resultado ´e fazer o teste para diversas bases.

E assim com o´ Maple,ScratchPad- IBM,Axiom 1.1- IBM.

Vale a observa¸c˜ao: dado um n´umero finito qualquer de bases, existem infinitos n´umeros de Carmichael que s˜ao pseudoprimos fortes paratodasessas bases.

9.5 Exerc´ıcios propostos

2,5,7,8,10

No documento Teoria de números e criptografia RSA (páginas 24-29)

Documentos relacionados