You are on page 1of 20

Criptografia e Segurana de Redes Captulo 8

Quarta Edio por William Stallings Traduo: Cesar e Luis Augusto

Captulo 8 Introduo Teoria dos Nmeros


O diabo disse a Daniel Webster: De-me uma tarefa que eu no possa realizar, e eu vou lhe dar qualquer coisa no mundo que voc pedir." Daniel Webster: " justo. Prove que para n maior que 2, a equao a^n + b^n = c^n no possui soluo trivial no conjunto dos inteiros." Eles concordaram com um perodo de trs dias para o trabalho, e o diabo desapareceu. Ao final de trs dias, o diabo apresentou-se, fatigado, mordendo o lbio. Daniel Webster lhe disse: "Bem, como voc se saiu na minha tarefa? Conseguiu provar o teorema? "Eh? No... No,eu no consegui provar." "Ento eu posso ter o que eu quiser? Dinheiro? A Presidncia? "O qu? Ah, claro. Mas escute! Se pudssemos simplesmente provar os dois lemas a seguir... The mathematical Magpie, Clifton Fadiman

Nmeros Primos

Nmeros primos so divisveis por 1 e ele mesmo

Eles no podem ser escritos como produto de outros nmeros Observe: 1 primo, mas geralmente no de interesse

Ex.: 2,3,5,7 so primos, 4,6,8,9,10 no so Nmeros primos so o centro da teoria dos nmeros A lista das primos menores que 200 :
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

Fatorao em Primo
Fatorar

um nmero n escrev-lo como produto de outros nmeros: n=a x b x c

Observe

que fatorar relativamente difcil comparado com multiplicar os fatores juntos para gerar o nmero A fatorao de um primo n quando ele um produto de primos

Ex.: 91=7x13 ; 3600=24x32x52

Relatividade de Nmeros Primos & MDC

Dois nmeros a, b so relativamente primos se no tem nenhum divisor comum a no ser o 1

Ex.: 8 & 15 so relativamente primos desde que os fatores de 8 sejam 1,2,4,8 e do 15 sejam 1,3,5,15 e 1 o nico fator comum

Inversa pode determinar o mximo divisor comum comparando suas fatoraes de primos e usando a menor potncia

Ex.: 300=21x31x52 18=21x32 por isso MDC(18,300)=21x31x50=6

Teorema de Fermat
ap-1

= 1 (mod p)

onde p primo e mdc(a,p)=1

Tambm

conhecido como Pequeno Teorema de Fermat tambm ap = a (mod p)


Aplicvel

em chaves pblicas e testes de primalidade

Funo Totiente de Euler (n)

Quando usamos aritmtica mdulo n Conjunto completo de resduos : 0..n-1

Conjunto reduzido de resduos so aqueles nmeros (resduos) que so relativamente primos de n


Ex.: para n=10, Conjunto completo de resduos : {0,1,2,3,4,5,6,7,8,9} Conjunto reduzido : {1,3,7,9}

O nmero de elementos no conjunto reduzido de resduos chamado Funo Totiente de Euler (n)

Funo Totiente de Euler (n)


Para

computar (n) preciso contar o nmero de resduos ser excludo Geralmente faz-se a fatorao do primo, mas

Para p (p primo) (p) = p-1 para p.q (p,q primo) (pq) =(p-1)x(q-1)

Ex.:

(37) = 36 (21) = (31)x(71) = 2x6 = 12

Teorema de Euler

Uma generalizao do Teorema de Fermat a(n) = 1 (mod n)

para cada a,n onde mdc(a,n)=1

Ex.:

a=3;n=10; (10)=4; por isso 34 = 81 = 1 mod 10 a=2;n=11; (11)=10; por isso 210 = 1024 = 1 mod 11

Teste de primalidade

Freqentemente precisa-se encontrar o maior nmero primo Tradicionalmente seleciona utilizando diviso bsica

Ex.: divide por todos nmeros (primos) menores do que a raiz quadrada do nmero S funciona para nmeros pequenos

Uma alternativa usar o teste de primalidade estatstica baseado na propriedade dos primos

Para que todos os nmeros primos satisfaam a propriedade Mas alguns nmeros compostos, chamados pseudo-primos, tambm satisfazem a propriedade Pode usar um teste de primalidade determinstica mais devagar

Algoritmo de Miller Rabin

Um teste baseado no teorema de Fermat O algoritmo :


TEST (n) : 1. Encontre inteiros k, q, com k > 0, q impar, de modo que (n 1 = 2kq); 2. Selecione um inteiro aleatrio a, 1 < a < n 1; 3.Se aq mod n = 1 ento return (talvez primo); 4. Para j = 0 at k 1 faa jq 2 5. se (a mod n = n - 1) ento return(" talvez primo "); 6. return (composto");

Consideraes Probabilsticas
Miller-Rabin retornar composto o nmero definitivamente no-primo De outro modo, primo ou pseudo-primo As chances de detectar um pseudo-primo de menos de Por isso se repetir o teste com diferentes aleatoriedades a chance de n primos depois de t testes so:
Se

Pr(n primos depois de t testes) = 1-4-t Ex.: para t=10 esta probabilidade > 0.99999

Distribuio dos Primos


Teoria Mas

dos nmeros primos afirma que primos ocorrem aproximadamente a toda (ln n)

pode ignorar os eventos imediatamente Ento, na prtica precisa testar somente 0.5 ln(n) nmeros de tamanho n para encontrar um primo

Observe, isto somente a mdia Algumas vezes os primos esto prximos Outras esto muito distantes

Teorema Resto Chins


Usado

par acelerar a computao de mdulo Se rodando o mdulo de um produto de nmeros

Ex.:. mod M = m1m2..mk

Teorema

Resto Chins nos deixa trabalhar em cada mdulo mi separadamente Desde o custo computacional proporcional ao tamanho, ele mais rpido do que trabalhar no tamanho total M

Teorema Resto Chins

Pode-se implementar o CRT de vrias formas Para calcular A(mod M)


Primeiro calcule todos ai = A mod mi separadamente Determine constantes ci abaixo, onde Mi = M/mi Ento combine os resultados para obter a resposta usando:

Raiz Primitiva
Do Teorema de Euler temos a(n)mod n=1 considere am=1 (mod n), MDC(a,n)=1

Deve existir para m = (n) mas deve ser menor


Quando potncia atingir m, repete o ciclo

Se o menor for m = (n) ento a chamado um raiz primitiva Se p primo, potncias sucessivas de a geram" o grupo mod p

So teis, mas difcil de se encontrar

Logaritimos Discretos

O problema inverso exponenciao encontar o logaritmo discreto de um nmero mdulo p Isto encontrar x desde que y = gx (mod p) escrito como x = logg y (mod p) Se g for um raiz primitiva ento isto sempre existe, seno pode no existir Ex.:

x = log3 4 mod 13 no tem resposta x = log2 3 mod 13 = 4 mas tentando sucessivas potncias

Enquanto exponenciao relativamente fcil, encontrar logaritmo discreto um grande problema

Sumrio
Consideraes:

Nmeros primos Teorema de Fermat e Euler & (n) Teste de primalidade Teorema do Resto Chins Logaritmos Discretos

um teste rpido, mas siga as etapas com ateno. No pule etapas. Responda as perguntas e leia atentamente at o final. 1 - Olhe no relgio e marque as horas!!! 2 - Pense em um nmero inteiro de 1 a 9 3 - Multipique seu valor por 9 4 - some os dois algarismos deste produto! (Ex.: 21, 2+1 3) 5 - Nao pule as etapas!!!! 6 - some 7 ao resultado 7 - divida o resultado por 4 8 - Faca a conversao do nmero por uma letra do alfabeto (Ex.: 1 a 2 b3c 9 - Pense em um pais com a letra correspondente 10 - Nao pule as etapas!!!! 11 - Ache a 5 Letra deste pais 12 - Pense em um animal com esta letra. 13 - Depois de Tudo isso, veja as horas.

14 - Veja quanto tempo da sua vida voc perdeu!!!! E alm do mais, na Dinamarca no se pode criar macaco!

You might also like