1 / 20

Criptografia e Segurança de Redes Capítulo 8

Criptografia e Segurança de Redes Capítulo 8. Quarta Edição por William Stallings Tradução : Cesar e Luis Augusto. Capítulo 8 – Introdução à Teoria dos Números.

dysis
Download Presentation

Criptografia e Segurança de Redes Capítulo 8

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Criptografia e Segurança de RedesCapítulo 8 QuartaEdiçã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...“ ThemathematicalMagpie, CliftonFadiman

  3. Números Primos • Números primos são divisíveis por 1 e ele mesmo • Eles não podem ser escritos como produto de outros números • 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 • Números primos são o centro da teoria dos números • 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

  4. Fatoração em Primo • 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 • A fatoração de um primo n é quando ele é um produto de primos • Ex.: 91=7x13 ; 3600=24x32x52

  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 • 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 • Ex.: 300=21x31x52 18=21x32por isso MDC(18,300)=21x31x50=6

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

  7. FunçãoTotientede Euler ø(n) • Quando usamos aritmética módulo n • 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 • Ex.: para n=10, • Conjunto completo de resíduos é: {0,1,2,3,4,5,6,7,8,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)

  8. FunçãoTotientede Euler ø(n) • Para computar ø(n) é preciso contar o número de resíduos à ser excluído • Geralmente faz-se a fatoração 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) = (3–1)x(7–1) = 2x6 = 12

  9. Teorema de Euler • Uma generalização 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

  10. Teste de primalidade • Freqüentemente precisa-se encontrar o maior número primo • Tradicionalmente seleciona utilizando divisão básica • Ex.: divide por todos números (primos) menores do que a raiz quadrada do número • Só funciona para números pequenos • 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 • Mas alguns números compostos, chamados pseudo-primos, também satisfazem a propriedade • Pode usar um teste de primalidade determinística mais devagar

  11. 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 aleatório a, 1 < a < n – 1; 3.Se aqmodn = 1então return (“talvez primo”); 4. Para j = 0 até k – 1 faça 5. se (a2jqmodn = n - 1) 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 • 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 são: • Pr(n primos depois de t testes) = 1-4-t • Ex.: para t=10 esta probabilidade é > 0.99999

  13. Distribuição dos Primos • Teoria dos números primos afirma que primos ocorrem aproximadamente a toda (ln n) • 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 • Observe, isto é somente a “média” • Algumas vezes os primos estão próximos • Outras estão muito distantes

  14. Teorema Resto Chinês • Usado par acelerar a computação de módulo • Se rodando o módulo de um produto de números • Ex.:. mod M = m1m2..mk • Teorema Resto Chinês nos deixa trabalhar em cada módulo mi separadamente • 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 • Para calcular A(mod M) • Primeiro calcule todos ai = A mod mi separadamente • Determine constantes ci abaixo, onde Mi = M/mi • Então combine os resultados para obter a resposta usando:

  16. 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 potência atingir m, repete o ciclo • 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 • 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 • Isto é encontrar x desde que y = gx (mod p) • É escrito como x = logg y (mod p) • Se g for um raiz primitiva então isto sempre existe, senão pode não existir • Ex.: x = log3 4 mod 13 não tem resposta x = log2 3 mod 13 = 4 mas tentando sucessivas potências • Enquanto exponenciação é relativamente fácil, encontrar logaritmo discreto é um grande problema

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

  19. É um teste rápido, mas siga as etapas com atenção. • Não pule etapas. • Responda as perguntas e leia atentamente até o final. • 1 - Olhe no relógio e marque as horas!!! • 2 - Pense em um número 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 número por uma letra do alfabeto (Ex.: 1 a 2 b 3 c • 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.

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

More Related