A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Criptografia e Segurança de Redes Capítulo 8 Quarta Edição por William Stallings Tradução: Cesar e Luis Augusto.

Apresentações semelhantes


Apresentação em tema: "Criptografia e Segurança de Redes Capítulo 8 Quarta Edição por William Stallings Tradução: Cesar e Luis Augusto."— Transcrição da apresentação:

1 Criptografia e Segurança de Redes Capítulo 8 Quarta Edição por William Stallings Tradução: Cesar e Luis Augusto

2 Capítulo 8 – Introdução à Teoria dos Números O diabo disse a Daniel Webster: De-me uma tarefa que eu não 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 equação a^n + b^n = c^n não possui solução trivial no conjunto dos inteiros." Eles concordaram com um período de três dias para o trabalho, e o diabo desapareceu. Ao final de três dias, o diabo apresentou-se, fatigado, mordendo o lábio. Daniel Webster lhe disse: "Bem, como você se saiu na minha tarefa? Conseguiu provar o teorema? "Eh? Não... Não,eu não consegui provar." "Então eu posso ter o que eu quiser? Dinheiro? A Presidência? "O quê? Ah, é claro. Mas escute! Se pudéssemos simplesmente provar os dois lemas a seguir... The mathematical Magpie, Clifton Fadiman

3 Números Primos Números primos são divisíveis por 1 e ele mesmo Números primos são divisíveis por 1 e ele mesmo Eles não podem ser escritos como produto de outros números Eles não podem ser escritos como produto de outros números Observe: 1 é primo, mas geralmente não é de interesse Observe: 1 é primo, mas geralmente não é de interesse Ex.: 2,3,5,7 são primos, 4,6,8,9,10 não são Ex.: 2,3,5,7 são primos, 4,6,8,9,10 não são Números primos são o centro da teoria dos números Números primos são o centro da teoria dos números A lista das primos menores que 200 é: A lista das primos menores que 200 é:

4 Fatoração em Primo Fatorar um número n é escrevê-lo como produto de outros números: n=a x b x c Fatorar um número n é escrevê-lo como produto de outros números: n=a x b x c Observe que fatorar é relativamente difícil comparado com multiplicar os fatores juntos para gerar o número Observe que fatorar é relativamente difícil comparado com multiplicar os fatores juntos para gerar o número A fatoração de um primo n é quando ele é um produto de primos A fatoração de um primo n é quando ele é um produto de primos Ex.: 91=7x13 ; 3600=2 4 x3 2 x5 2 Ex.: 91=7x13 ; 3600=2 4 x3 2 x5 2

5 Relatividade de Números Primos & MDC Dois números a, b são relativamente primos se não tem nenhum divisor comum a não ser o 1 Dois números a, b são relativamente primos se não tem nenhum divisor comum a não ser o 1 Ex.: 8 & 15 são 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 Ex.: 8 & 15 são 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 máximo divisor comum comparando suas fatorações de primos e usando a menor potência Inversa pode determinar o máximo divisor comum comparando suas fatorações de primos e usando a menor potência Ex.: 300=2 1 x3 1 x5 2 18=2 1 x3 2 por isso MDC(18,300)=2 1 x3 1 x5 0 =6 Ex.: 300=2 1 x3 1 x5 2 18=2 1 x3 2 por isso MDC(18,300)=2 1 x3 1 x5 0 =6

6 Teorema de Fermat a p-1 = 1 (mod p) a p-1 = 1 (mod p) onde p é primo e mdc(a,p)=1 onde p é primo e mdc(a,p)=1 Também conhecido como Pequeno Teorema de Fermat Também conhecido como Pequeno Teorema de Fermat também a p = a (mod p) também a p = a (mod p) Aplicável em chaves públicas e testes de primalidade Aplicável em chaves públicas e testes de primalidade

7 Função Totiente de Euler ø(n) Quando usamos aritmética módulo n Quando usamos aritmética módulo n Conjunto completo de resíduos é: 0..n-1 Conjunto completo de resíduos é: 0..n-1 Conjunto reduzido de resíduos são aqueles números (resíduos) que são relativamente primos de n Conjunto reduzido de resíduos são aqueles números (resíduos) que são relativamente primos de n Ex.: para n=10, Ex.: para n=10, Conjunto completo de resíduos é: {0,1,2,3,4,5,6,7,8,9} Conjunto completo de resíduos é: {0,1,2,3,4,5,6,7,8,9} Conjunto reduzido é: {1,3,7,9} Conjunto reduzido é: {1,3,7,9} O número de elementos no conjunto reduzido de resíduos é chamado Função Totiente de Euler ø(n) O número de elementos no conjunto reduzido de resíduos é chamado Função Totiente de Euler ø(n)

8 Função Totiente de Euler ø(n) Para computar ø(n) é preciso contar o número de resíduos à ser excluído Para computar ø(n) é preciso contar o número de resíduos à ser excluído Geralmente faz-se a fatoração do primo, mas Geralmente faz-se a fatoração do primo, mas Para p (p primo) ø(p) = p-1 Para p (p primo) ø(p) = p-1 para p.q (p,q primo) ø(pq) =(p-1)x(q-1) para p.q (p,q primo) ø(pq) =(p-1)x(q-1) Ex.: Ex.: ø(37) = 36 ø(21) = (3–1)x(7–1) = 2x6 = 12

9 Teorema de Euler Uma generalização do Teorema de Fermat Uma generalização do Teorema de Fermat a ø(n) = 1 (mod n) a ø(n) = 1 (mod n) para cada a,n onde mdc(a,n)=1 para cada a,n onde mdc(a,n)=1 Ex.: Ex.: a=3;n=10; ø(10)=4; por isso 3 4 = 81 = 1 mod 10 a=2;n=11; ø(11)=10; por isso 2 10 = 1024 = 1 mod 11

10 Teste de primalidade Freqüentemente precisa-se encontrar o maior número primo Freqüentemente precisa-se encontrar o maior número primo Tradicionalmente seleciona utilizando divisão básica Tradicionalmente seleciona utilizando divisão básica Ex.: divide por todos números (primos) menores do que a raiz quadrada do número Ex.: divide por todos números (primos) menores do que a raiz quadrada do número Só funciona para números pequenos Só funciona para números pequenos Uma alternativa é usar o teste de primalidade estatística baseado na propriedade dos primos Uma alternativa é usar o teste de primalidade estatística baseado na propriedade dos primos Para que todos os números primos satisfaçam a propriedade Para que todos os números primos satisfaçam a propriedade Mas alguns números compostos, chamados pseudo-primos, também satisfazem a propriedade Mas alguns números compostos, chamados pseudo-primos, também satisfazem a propriedade Pode usar um teste de primalidade determinística mais devagar Pode usar um teste de primalidade determinística mais devagar

11 Algoritmo de Miller Rabin Um teste baseado no teorema de Fermat Um teste baseado no teorema de Fermat O algoritmo é: O algoritmo é: TEST (n) é: 1. Encontre inteiros k, q, com k > 0, q impar, de modo que (n – 1 = 2 k q); 2. Selecione um inteiro aleatório a, 1 < a < n – 1; 3.Se a q mod n = 1 então return (talvez primo); 4. Para j = 0 até k – 1 faça 5. se ( a 2 j q mod n = n - 1 ) então return(" talvez primo "); então return(" talvez primo "); 6. return (composto");

12 Considerações Probabilísticas Se Miller-Rabin retornar composto o número é definitivamente não-primo Se Miller-Rabin retornar composto o número é definitivamente não-primo De outro modo, é primo ou pseudo-primo De outro modo, é primo ou pseudo-primo As chances de detectar um pseudo-primo é de menos de ¼ 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 são: Por isso se repetir o teste com diferentes aleatoriedades a chance de n primos depois de t testes são: Pr(n primos depois de t testes) = 1-4 -t Pr(n primos depois de t testes) = 1-4 -t Ex.: para t=10 esta probabilidade é > Ex.: para t=10 esta probabilidade é >

13 Distribuição dos Primos Teoria dos números primos afirma que primos ocorrem aproximadamente a toda ( ln n ) Teoria dos números primos afirma que primos ocorrem aproximadamente a toda ( ln n ) Mas pode ignorar os eventos imediatamente Mas pode ignorar os eventos imediatamente Então, na prática precisa testar somente 0.5 ln(n) números de tamanho n para encontrar um primo Então, na prática precisa testar somente 0.5 ln(n) números de tamanho n para encontrar um primo Observe, isto é somente a média Observe, isto é somente a média Algumas vezes os primos estão próximos Algumas vezes os primos estão próximos Outras estão muito distantes Outras estão muito distantes

14 Teorema Resto Chinês Usado par acelerar a computação de módulo Usado par acelerar a computação de módulo Se rodando o módulo de um produto de números Se rodando o módulo de um produto de números Ex.:. mod M = m 1 m 2..m k Ex.:. mod M = m 1 m 2..m k Teorema Resto Chinês nos deixa trabalhar em cada módulo m i separadamente Teorema Resto Chinês nos deixa trabalhar em cada módulo m i separadamente Desde o custo computacional é proporcional ao tamanho, ele é mais rápido do que trabalhar no tamanho total M Desde o custo computacional é proporcional ao tamanho, ele é mais rápido do que trabalhar no tamanho total M

15 Teorema Resto Chinês Pode-se implementar o CRT de várias formas Pode-se implementar o CRT de várias formas Para calcular A(mod M) Para calcular A(mod M) Primeiro calcule todos a i = A mod m i separadamente Primeiro calcule todos a i = A mod m i separadamente Determine constantes c i abaixo, onde M i = M/m i Determine constantes c i abaixo, onde M i = M/m i Então combine os resultados para obter a resposta usando: Então combine os resultados para obter a resposta usando:

16 Raiz Primitiva Do Teorema de Euler temos a ø(n) mod n=1 Do Teorema de Euler temos a ø(n) mod n=1 considere a m =1 (mod n), MDC(a,n)=1 considere a m =1 (mod n), MDC(a,n)=1 Deve existir para m = ø(n) mas deve ser menor Deve existir para m = ø(n) mas deve ser menor Quando potência atingir m, repete o ciclo Quando potência atingir m, repete o ciclo Se o menor for m = ø(n) então a é chamado um raiz primitiva Se o menor for m = ø(n) então a é chamado um raiz primitiva Se p é primo, potências sucessivas de a geram" o grupo mod p Se p é primo, potências sucessivas de a geram" o grupo mod p São úteis, mas difícil de se encontrar São úteis, mas difícil de se encontrar

17 Logaritimos Discretos O problema inverso à exponenciação é encontar o logaritmo discreto de um número módulo p O problema inverso à exponenciação é encontar o logaritmo discreto de um número módulo p Isto é encontrar x desde que y = g x (mod p) Isto é encontrar x desde que y = g x (mod p) É escrito como x = log g y (mod p) É escrito como x = log g y (mod p) Se g for um raiz primitiva então isto sempre existe, senão pode não existir Se g for um raiz primitiva então isto sempre existe, senão pode não existir Ex.: Ex.: x = log 3 4 mod 13 não tem resposta x = log 2 3 mod 13 = 4 mas tentando sucessivas potências Enquanto exponenciação é relativamente fácil, encontrar logaritmo discreto é um grande problema Enquanto exponenciação é relativamente fácil, encontrar logaritmo discreto é um grande problema

18 Sumário Considerações: Considerações: Números primos Números primos Teorema de Fermat e Euler & ø(n) Teorema de Fermat e Euler & ø(n) Teste de primalidade Teste de primalidade Teorema do Resto Chinês Teorema do Resto Chinês Logaritmos Discretos Logaritmos Discretos

19 É um teste rápido, mas siga as etapas com atenção. É um teste rápido, mas siga as etapas com atenção. Não pule etapas. Não pule etapas. Responda as perguntas e leia atentamente até o final. Responda as perguntas e leia atentamente até o final. 1 - Olhe no relógio e marque as horas!!! 1 - Olhe no relógio e marque as horas!!! 2 - Pense em um número inteiro de 1 a Pense em um número inteiro de 1 a Multipique seu valor por Multipique seu valor por some os dois algarismos deste produto! (Ex.: 21, 2+1 3) 4 - some os dois algarismos deste produto! (Ex.: 21, 2+1 3) 5 - Nao pule as etapas!!!! 5 - Nao pule as etapas!!!! 6 - some 7 ao resultado 6 - some 7 ao resultado 7 - divida o resultado por divida o resultado por Faca a conversao do número por uma letra do alfabeto (Ex.: 1 a 2 b 3 c 8 - Faca a conversao do número por uma letra do alfabeto (Ex.: 1 a 2 b 3 c 9 - Pense em um pais com a letra correspondente 9 - Pense em um pais com a letra correspondente 10 - Nao pule as etapas!!!! 10 - Nao pule as etapas!!!! 11 - Ache a 5ª Letra deste pais 11 - Ache a 5ª Letra deste pais 12 - Pense em um animal com esta letra Pense em um animal com esta letra Depois de Tudo isso, veja as horas Depois de Tudo isso, veja as horas.

20 14 - Veja quanto tempo da sua vida você perdeu!!!! 14 - Veja quanto tempo da sua vida você perdeu!!!! E além do mais, na Dinamarca não se pode criar macaco! E além do mais, na Dinamarca não se pode criar macaco!


Carregar ppt "Criptografia e Segurança de Redes Capítulo 8 Quarta Edição por William Stallings Tradução: Cesar e Luis Augusto."

Apresentações semelhantes


Anúncios Google