Segurança a em Redes. Aula 5. Sistema de Criptografia Assimétrica. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

Documentos relacionados
OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC

TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC

Autenticação por par de. chaves assimétricas. Bruno Follmann

D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR 1

Complexidade de Algoritmos

Troca de chaves Diffie-Hellman Grupos finitos Grupos cíclicos

Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)

Números Primos e Criptografia RSA

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Criptografia com Maple

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

Desvendando os mistérios do criptossistema RSA. Grasiele Cristiane Jorge. Pós-Doc - IMECC - UNICAMP

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 03/03/2016 PROF. FABIANO TAGUCHI

Aula 15. Ivan Sendin. 11 de outubro de FACOM - Universidade Federal de Uberlandia TSeg.

quem utiliza esse processo para envio de s, por exemplo, está bem protegido de fraudes.

PTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia

Criptografia Assimétrica. Jiyan Yari

Números primos e Criptografia

Tópicos de Ambiente Web Segurança

Aula 23. Ivan Sendin. 31 de outubro de FACOM - Universidade Federal de Uberlandia TSeg.

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

Teoria dos Números e Criptografia

CRIPTOGRAFIA RSA APLICADA A ÁUDIO

Notas sobre teoria dos números (3)

TSeg. Ivan Sendin. Aula 10. Ivan Sendin. FACOM - Universidade Federal de Uberlândia 27 de setembro de 2017

algoritmos de primalidade na criptografia rsa

O USO DA CRIPTOGRAFIA EM ÁUDIO

Codificação de Informação 2010/2011

INTRODUÇÃO AO ESTUDO DE CRIPTOGRAFIA

Capítulo 8. Segurança de redes

Criptografia em redes de computadores. Gabriel Stefen e Thiago Stefen

O que é Segurança da Informação

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

Já sabemos como determinar todas as soluções de uma equação diofantina linear, caso esta seja resolúvel. Para conguências temos:

TESTES DE PRIMALIDADE

Números Primos: onde estão? Por que encontrá-los? Ana Cristina Vieira MAT/UFMG. Primos

Segurança da Informação Aula 7 Assinaturas Digitais e HASH.

Mantendo Segredos com a ajuda da Matemática

Informática. Segurança da Informação

Implementação para Multiplicação por Escalar em Curvas Elípticas sobre Z p

RSA: ALGORITMOS DE CHAVE PÚBLICA PRIMEIRA PUBLICAÇÃO: ABRIL/1998 QUARTA REVISÃO: DEZEMBRO/2004

PK - Public Key RSA. Segurança RSA

Criptografia: códigos sem segredos

MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco

CRIPTOSSISTEMAS BASEADOS EM NÚMEROS PRIMOS

4 ÍNDICE Exemplo de redundância e distância de unicidade... 41

NOÇÕES DE INFORMÁTICA. Segurança da Informação Certificação Digital Parte 1

Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Entendendo a criptografia e como ela pode ser usada na prática. Italo Valcy Universidade Federal da Bahia CERT.

INE5680 SEGURANÇA DA INFORMAÇÃO E DE REDES Prova 1 04/10/2013 Turmas A e B Prova A NOME : MATRÍCULA :

Campos de estudo Algoritmos Aplicações e praticas de privacidade

MAB 715 Segurança em Redes

NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Criptografia Assimétrica e Funções de Síntese

Análise da segurança de esteganocriptografia em seqüências de imagens p.1/33

MA14 - Aritmética Unidade 20 Resumo. Teoremas de Euler e de Wilson

Criptografia Aplicada LESI / LMCC

Criptografia Quântica. Gustavo Thebit Pfeiffer Rodrigo Rodrigues Paim Vinicius Neves Motta

TEOREMA FUNDAMENTAL DA ARITMÉTICA: APLICAÇÕES

Criptografia e Segurança das Comunicações

05/02/2016 CRIPTOGRAFIA CRIPTOGRAFIA EXERCÍCIO. A cifra de César já apresentado em sala, faz uso da aritmética modular(congruência), vejamos:

6 Inserção Seletiva de Nulos

Falando um segredo em público a um estranho e mantendo o segredo

SISTEMA CRIPTOGRÁFICO RSA. Chave pública: (n, a) onde a N <(p 1)(q 1) e mdc(a, (p 1)(q 1)) = 1. Chave privada: (n, b)

Criptograa e Segurança

AKS: um algoritmo para identificar números primos

Algoritmos. OBMEP Teoria dos números - Parte I. Algoritmo da divisão:

Bibliografia e referências. Teoria de números e criptografia RSA. Criptografia

Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital

Note-se que pelo Teorema de Euler. a φ(n) 1 (mod n) logo existe k nas condições da definição acima e. Raízes Primitivas. Ordem de um elemento

1 Potências e raízes em Aritmética Modular. Seja p primo e a um inteiro primo com p; a aplicação

P R O F. ª E L I S Â N G E L A X AV I E R

Álgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos

Algoritmos criptográficos de chave pública

AULA 5: Criptografia e Esteganografia

Uma análise da complexidade do algoritmo RSA implementado com o teste probabilístico de Miller-Rabin

Segurança conceitos básicos. Sistemas Distribuídos

Agenda. Criptografia e Segurança Certificado Digital Assinatura Digital

Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos

O SISTEMA CRIPTOGRÁFICO D.E.S. - DATA ENCRYPTION STANDARD

ANDRÉ VINÍCIUS SPINA NÚMEROS PRIMOS E CRIPTOGRAFIA

Teoria de números e criptografia RSA

(Ciência de Computadores) 2005/ Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação

Faculdade de Engenharia da Computação

IMPLEMENTAÇÃO DO ALGORITMO RSA

Criptografia no MSX Fulswrjudild qr PVZ

Segurança Informática em Redes e Sistemas

Esteganografia em Vídeos Digitais Comprimidos Tópicos em Hipermídia

Polos Olímpicos de Treinamento. Aula 9. Curso de Teoria dos Números - Nível 2. O Teorema de Euler. Prof. Samuel Feitosa

Apresentação de Senhas em Máquinas Hostis

Como Alice e Beto podem se comunicar sigilosamente pela. Uma carta pelo sistema de chave publica: um exemplo de criptrograa

Transcrição:

Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Segurança a em Redes Aula 5 Luiz Fernando Rust e-mail: INMETRO Tel. (021) 2679-9072 rust@nce.ufrj.br lfrust@inmetro.gov.br 11 Sistema de Criptografia Assimétrica Introdução Princípios Básicos Requisitos RSA Laboratório RSA Diffie Hellman Curvas Elípticas Criptografia Simétrica x Assimétrica 2

Introdução Também denominado de Sistema de chave pública A Maior, e talvez única, revolução na criptografia Pela primeira vez um sistema não é baseado em ferramentas elementares de substituição e permutação Conceito criado por Diffie e Hellman em 1976 Utilizam duas chaves, relacionadas matematicamente Uma é usada para cifrar e a outra para decifrar Conhecimento de uma chave não permite deduzir a outra Baseiam-se na dificuldade de solução de alguns problemas matemáticos Fatoração de inteiros: (RSA, Rabin-Williams) Logaritmo discreto (DSA, Diffie-Hellman, ElGamal) Logaritmo discreto em curvas elípticas (idem anterior) 3 Mal-entendidos sobre sistemas de chave-pública Mais seguro que a criptografia convencial A segurança é basicamente função do do tamanho da chave e do trabalho computacional necessário para quebrar um codificador [GARD77] Têm uso genérico e portanto tornou a criptografia convencional obsoleta Pelo contrário, dado ao overhead computacional do sistemas atuais, não existe nenhuma previsão que a criptogrfia convencional será abandonada De acordo com Diffie [DIFF88], o uso restrito de chaves públicas em aplicações de gerência de chaves e assinatura é majoritariamente aceito Tornou a tarefa de distribuição de chaves trivial Também necessita de um agente central e protocolos Procedimentos envolvidos não são mais simples ou mais eficientes 4

Princípios O uso de duas chaves têm consequência na Confidencialidade Autenticação Distribuição de chaves O esquema possui seis ingredientes Texto pleno Algoritmo de codificação Chaves pública e privada Texto codificado Algoritmo de decodificação 5 Codicificação usando Chave Pública 6

Autenticação usando Chave Pública 7 Applicações para sistemas assimétricos Três categorias Criptografia O emissor codidifica a mensagem com a chave publica do receptor Assinatura digital O emissor assina uma mensagem com sua chave privada Troca de cahve Dois sites cooperam para a troca de chave de uma sessão 8

Requisitos para criptografia de Chave Pública 1. Computacionalmente fácil para uma parte B gerar um par (chave pública KUb, chave privada KR b ) 2. Fácil para o emissor gerar um texto codificado 3. Fácil para o receptor decodificar o texto cifrado usando a chave privada 4. Computacionalmente inviável descobrir a chave privada (KR b ) dado a chave pública (KU b ) 5. Computacionalmente inviável recuperar a mensagem M, dado KU b e o texto codificado C 6. Qualquer uma da chaves pode ser usada na codificação, sendo a outra usada na decodificação 9 Função trapdoor Outra forma de definir Criptografia de chave pública baseada no conceito de uma função trapdoor f é um-para-um f é fácil de computar f é pública f -1 é difícil de computar f -1 torna-se fácil de computar se o trapdoor é conhecido 10

Conceitos Básicos Número Primo Número divisível somente por ele mesmo e pela unidade Exemplos 2, 3, 5, 7, 11, 13, 17,..., 41, 43, 47,... 2 13466917-1 tem 4.053.946 algarismos É fácil multiplicar dois números primos para obter um terceiro número, mas muito difícil recuperar os dois primos a partir do terceiro número Isto é conhecido como fatoração Exemplo, os fatores primos de 3.337 são 47 e 71 11 Conceitos Básicos Inteiros módulo η Dois inteiros cuja a diferença é um múltiplo de η são equivalentes Conjunto de elementos inversíveis de Zn u ( η) = { a Ζη : mdc( a, η) = 1} Função Φ(n) de Euler ou função totiente Expressa a ordem de u(η): número de inteiros positivos menores e primos a n Φ(p) = p 1 Φ(mn) = Φ(m) Φ(n) 10 0( mod 5) 14 24( mod 5) 12

Algoritmo RSA Algoritmo criado em 1977 por Ron Rives, Adi Shamir elen Adleman (MIT) Segurança do RSA baseia-se na dificuldade da fatoração de grandes números Patente n 4.405.829 (válida somente nos EUA) venceu e m 20/09/2000 Algoritmo de chave pública mais utilizado: RSADSI já vendeu mais de 400 milhões de licenças em todo o mundo. Codificador em bloco 13 RSA Escolhendo as Chaves 1. Escolher n p q primos, n = p * q 2. Escolher e relativamente primo à Número inteiro positivo e que seja inversível módulo Φ(n), ou seja, mdc (e, Φ(n)) = 1 Φ(n) = (p 1)(q 1) 3. Calcular d inverso de e em Φ(n) ed = 1 (mod Φ(n) ) Chave pública : (n, e) (chave de codificação) Chave secreta : (n, d) (chave de decodificação) 14

RSA Codificação e Decodificação Codificação Seja m a mensagem Calcular a potência m e Calcular o resto da divisão de m e por n c = m e (mod n) Decodificação Calcular c d Calcular o resto da divisão de c d por n (resíduo módulo n) m = c d (mod n) 15 Exemplo p=7, q = 17 n= pq = 119 Φ(n) = (p 1)(q 1) = 96 e (primo de 96 e menor que Φ(n)) = 5 d (de = 1 mod 96 e d < 96) = 77 77 x 5 = 385 = 4 x 96 + 1 16

Por que o RSA funciona? Resultado da codificação + decodificação (m e ) d = m ed = m (mod n) Como ed = 1 mod Φ(n) -> ed = kφ(n) + 1 m ed = m kφ(n)+1 = (m Φ(n) ) k m (mod n) Usando Teorema de Euler m Φ(n) = 1 (mod n) Logo m = m ed (mod n) 17 RSA - pré-codificação Converter a mensagem em uma sequência de números Espaço = 99 A vantagem de fazer corresponder cada letra a um número de dois algarismos é evitar a ambiguidade Por exemplo, se fizéssemos a = 1 e b=2... a sequência 12 pode ser AB ou L... Quebrar o longo número obtido em blocos 18

Por que o RSA é seguro? Chave pública : (n, e) Chave secreta : (n, d) RSA Public Key: (1024 bit) Modulus (1024 bit): 00:f6:9c:64:49:18:7f:c7:47:db:07:b6:a3:43:2e: ef:6c:7a:56:dd:8a:87:18:37:cb:af:70:ea:5b:33: 96:d8:fa:4c:46:c3:be:f4:0a:6f:e4:d0:31:82:17: f9:c2:3d:d9:6d:c7:57:79:fe:98:d7:64:12:80:84: 44:89:cd:f9:66:43:d4:ea:d2:54:5b:89:85:23:ff: 18:70:87:7d:f5:37:33:0c:3d:30:53:45:51:e9:4d: cf:b7:31:5a:c8:a1:a9:3b:80:92:58:8b:a6:0e:a9: 83:16:83:91:3a:3f:99:72:23:5f:8a:dc:a1:1e:34: 73:5f:10:a9:fa:f0:d9:d4:ad Exponent: 65537 (0x10001) O RSA só será seguro se for difícil calcular d quando apenas (n,e) são conhecidos Só sabemos calcular d aplicando o algoritmo euclidiano estendido a (Φ(n),e) Para calcular Φ(n) precisamos fatorar n, obtendo p, q 19 Por que o RSA é seguro? Se n for muito grande, fatorá-lo será difícil, já que não existem algoritmos rápidos de fatoração Fatorar tem alto custo! Se n = pq e p, q ~ 10 50 Começo de 2 e avanço até ~ 10 50 Computador executa 10 10 divisões/s Logo preciso esperar 10 40 s ~ 10 31 anos Portanto Achar p e q conhecendo apenas n = pq é muito difícil Isto dá a segurança do método, uma vez que p e q são números muito grandes 20

Criptoanálise do RSA Ataques de força-bruta Todas as possíveis chaves privadas são testadas Ataques matemáticos Envolvem fatoração de grandes números (produto de dois primos) Outros ataques Timing Attack (Kocher, 1996) Power Analysis (Kocher et. al., 1996) 21 Exemplo: RSA-129 Mensagem codificada em 1976 usando uma chave pública n com 129 algarismos Com os recursos da época (computado-res e algoritmos) deveriam ser necessários quadrilhões de anos para decodificá-la. Decodificada em 1994 Como foi feito 600 computadores de voluntários Em 25 países Dados reunidos usando um supercomputador Tempo total: oito meses! 22

Criptoanálise do RSA Número Data MIPS.ano Algoritmo RSA-100 abr/91 7 MPQS Chave RSA-155 (512bits), utilizada por 95% dos sites de e-commerce, e foi quebrada em ago /99. INP da Holanda + cientistas de 6 países, 300 estações, 7 meses. RSA-110 abr/92 75 MPQS RSA-120 jun/93 830 MPQS RSA-129 abr/94 5.000 MPQS RSA-130 abr/96 1.000 GNFS RSA-140 fev/99 2.000 GNFS RSA-155 Ago/99 - GNFS 23 Questão Se é difícil fatorar números grandes... E se um número primo é o que não tem fatores... Então como obter dois primos grandes para construir a chave pública n do RSA? Primalidade Não é preciso fatorar para descobrir se um número é primo ou composto! Exemplo: Algoritmo AKS Método eficiente (tempo polinomial) para determinar se um número é primo sem fatorá-lo Descoberto em agosto de 2002 por M. Agrawal, N. Kayal e N. Saxena 24

Anexo RSA: Algoritmo Euclidiano Calcular o máximo divisor entre a e b r1 = resto(a / b) Se r1 0, r2 = resto(b/r1) Se r2 0, r2 = resto(r1/r2) Assim por diante O último resto diferente de zero é o mdc(a,b) Exemplo Calcular o mdc entre 1234 e 54 1234 54 46 8 6 2 46 8 6 2 0 mdc(1234,54) = 2 25 Anexo RSA: Algoritmo Euclidiano estendido Modificação do algoritmo euclidiano proposta por Knuth para calcular simultaneamente d,α e β Sejam a e b inteiros positivos e d o máximo divisor comum (mdc) entre eles. É possível achar α e β tais que α a + βb = d x j = x j-2 q j *x j-1 y j = y j-2 q j *y j-1 d = r n-1 α = x n-1 β = y n-1 Inicialização : x -1 = 1, y -1 = 0 e x 0 = 0, y 0 = 1 26

Anexo RSA: Algoritmo Euclidiano Exemplo 1 Tomando a = 1234 e b = 54 Em vermelho: inicialização Restos Quocientes x y 1234 * 1 0 54 * 0 1 46 22 X 1 =1-22*0 = 1 Y 1 =0-22*1 = -22 8 1 X 2 = 0-1*1 = -1 Y 2 = 1-1*(-22) =23 6 5 X 3 = 1-5*(-1) = 6 Y 3 = -22-5*23 = -137 r n-1 = 2 1 X 4 = -1-1*6 = -7 Y 4 =23 1*(-137 = 160 0 3 * * Portanto, α = -7 e β = 160 e (-7)*1234 +160*54 = 2 27 Anexo RSA: Algoritmo Euclidiano Exemplo 2 Calcular o inverso de 50 módulo 21 mdc(50,21) = 1 α 50 + β21 = 1 8(50) 19(21) = 1 Restos Quocientes x y 50 * 1 0 21 * 0 1 8 2 1-2 5 2-2 5 3 1 3-7 2 1-5 12 1 1 8-19 28

Anexo RSA: Algortimo de Fermat Entrada um número inteiro ímpar n Saída um fator de n ou uma mensagem indicando que n é primo Etapa 1 Comece com x = [sqrt(n)] se n = x 2 então x é fator de n, e pode-se parar Etapa 2 Caso contrário, incremente x de uma unidade calcule y = sqrt(x 2 n) Etapa 3 Repita a etapa 2 até encontrar uma valor inteiro para y, ou até que x seja igual a (n + 1)/2; no primeiro caso n tem fatores x + y e x y no segundo n é primo 29 Anexo RSA: Algortimo de Fermat - Exemplo Ache dois fatores de 4819589 pelo algortimo de fatoração de Fermat Calculando a raiz quadrada de n = 4819589, obtemos 2195,35 que não é um inteiro Portanto, o número dado não é um quadrado e precisamos calcular a tabela do algoritmo x Sqrt(x 2 n) Inteiro? 2196 53,169 não 2197 84,970 não 2198 107,772 não 2199 126.538 não 2200 142,867 não 2101 157,518 não 2202 170,923 não 2203 183,357 não 2204 195,005 não 2205 206 sim 30

Anexo RSA: Algortimo de Fermat - Exemplo (cont.) Deste modo temos que x = 2205 e y = 206 Logo, os fatores são X + y = 2205 + 206 = 2411 X y = 2205 206 = 1999 Conferindo 2411 * 1999 = 4819589 31 Um exemplo prático- RSA (codificação) Vamos codificar a seguinte mensagem usando RSA : Segurança Convertendo em número 281416302710231210 Escolhendo os parâmetros do RSA p=11 q =13 n = p*q = 143 32

Um exemplo prático- RSA (codificação) Quebrar o longo número produzido anteriormente em blocos 28-14-16-30-27-10-23-12-10 C(m) = resto da divisão de m e por n Φ(n) = 10*12=120, precisamos escolher e Neste caso, o menor valor possível para e é 7, que é o menor primo que não divide 120 Calcula-se as potências mod n (n = 143) 33 Um exemplo prático- RSA (codificação) 28 7 = 63 14 7 = 53 16 7 = 3 30 7 = 134 27 7 =14 10 7 = 10 23 7 = 23 12 7 = 12 Obtém-se a seguinte sequência de blocos 63-53-3-134-14-10-23-12 34

Um exemplo prático- RSA (quebra) A mensagem abaixo foi codificada com RSA usando como chave pública n = 6077 e e = 4733 5441 Vamos decodificá-la 35 Um exemplo prático - RSA (quebra) Aplicando o algoritmo de fatoração de Fermat descobrimos em dois passos que n=6077 = 59*103 Portanto, Φ(6077)= (59 1)*(103 1) = 5916 Aplicando o algoritmo euclidiano estendido a 5916 e a e=4733, obtemos o inverso de e módulo Φ(n), que é 5 Decodificando a mensagem, temos as seguintes congruências 36

Um exemplo prático- RSA (quebra) 5441 5 2130 (Módulo 6077) Assim, a mensagem decodificada é 2130 que transliterada é LU 37 Diffie-Hellman Primeiro algoritmo de Chave Pública Limitado para a troca de chaves Eficiência baseia-se na dificuldade da computar logaritmos discretos Conceito de logaritmo discreto se a é um raiz primitiva de p, então os números a mod p, a 2 mod p,..., a p-1 mod p são inteiros variando de 1 a p-1 Para qq inteiro b e uma raiz primitiva a de um número primo p, pode-se achar um expoente i tal que b = a i mod p i é denominado logaritmo discreto (ou índice) de b para a base a, mod p Ind a,p (b) 38

Passo 1 Dois numeros públicos 39 Passo 2 Geração de chaves 40

Passo 3 Cálculo da chave secreta Oponente só tem os seguinte ingredientes: Q, α, Y A, Y B Para descobrir a chave secreta de B, o oponente têm que calcular X B = Ind α,p (b) Exponencial é relativa\mente fácil, agora o logaritmo... 41 Exemplo 1 Elementos públicos Número primo q = 97 Raiz primitiva α = 5 A seleciona X A = 36 B seleciona X B = 58 Cada um calcula Y A = 5 36 = 50 mod 97 Y B = 5 58 = 44 mod 97 Depois da troca de chaves públicas K = (Y B ) XA mod 97 = 44 36 = 75 mod 97 K = (Y A ) XB mod 97 = 50 58 = 75 mod 97 42

Exemplo 2 Na prática A pode gerar os valores de q e α e envia-los na primeira msg para B 43 ECC (Sistemas Critográficos de Curva Elíptica) Consistem em modificações de outros sistemas Potencial de gerar sistemas criptográficos de chave pública mais seguros, com chaves de menor tamanho Os algoritmos de curvas elípticas atuais, embora possuam o potencial de serem rápidos, são em geral mais demorados do que o RSA 44

Curva elíptica Definição Seja p>3 primo. A curva elíptica y 2 = x 3 + ax + b em Z p é o conjunto de soluções (x,y) Z p x Z p para a congruência y 2 x 3 + ax + b (mod p) Uma curva elíptica pode-se tornar um grupo (Abeliano) pela definição de um conjunto de operações sobre seus pontos As operações são escritas aditivamente 1 2 3 4 45 ECC Operações Dado P = (x 1, y 1 ) e Q = (x 2, y 2 ) Se x 2 = x 1 e y 2 = -y 1 (graficos 3, 4) Então P + Q = 0 Senão P + Q = (x 3, y 3 ), onde X 3 = λ 2 x 1 x 2 Y 3 = λ (x 1 - x 3 ) y 1 y2 y1, x2 x1 λ = 2 3x2 + a, 2y1 se se P Q P = Q (gráfico 1) (gráfico 2) 46

ECC Exemplo y 2 = x 3 + x + 6 x X 3 +x+6 mod11 QR(11)? 0 6 não 1 8 não 2 5 sim 4, 7 3 3 sim 5, 6 4 8 não 5 4 sim 2, 9 6 8 não 7 4 sim 2, 9 8 9 sim 3, 8 9 7 não 10 4 Sim 2, 9 y 47 Potências de α Para α = (2, 7) 2α = (2, 7) + (2, 7) λ = (3 x 2 2 + 1) (2 x 7) -1 mod 11 = 2 x 3-1 mod 11 = 2 x 4 mod 11 = 8 X 3 = 8 2 2 2 mod 11 = 5 y 3 = 8(2 5) 7 mod 11 = 2 y2 y1, x2 x1 λ = 2 3x2 + a, 2y1 se se P Q P = Q 3α = (2, 7) + (2, 7) λ = (7 2) (2 5) -1 mod 11 = 5 x 8-1 mod 11 = 5 x 7 mod 11 = 2 X 3 = 2 2 5 2 mod 11 = 8 y 3 = 2(5 8) 2 mod 11 = 3 α = (2,7) 2α = (5,2) 3α = (8,3) 4α = (10,2) 5α = (3,6) 6α = (7,9) 7α = (7,2) 8α = (3,5) 9α = (10,9) 10α = (8,8) 11α = (5,9) 12α = (2,4) 48

Codificação e Decodificação Algoritmo Fixe uma curva E e P E Chave secreta: Inteiro positivo k Chave pública: Q = kp Codificando Alice conhece a curva E, o ponto P E e a chave pública Q Para codificar M E escolha r aleatoriamente e calcule (rp, rq+m) Decodificando Bob conhece a curva E, o ponto P E e a chave privada k Decodifica (rp, rq+m) calculando (rq+m) - k(rp) = r(kp) + M - k(rp) = M 49 Exemplo P = (2, 7) Chave secreta de Bob k = 7 M = (10,9) e r = 3 Codificação Q = 7P = (7,2) (ver tabela potências de α ) Er(M,r) = (rp, rq+m) =(3(2,7), 3(7,2) + (10,9)) 3(2,7) = (8,3) 3(7,2) + (10,9) = (3,5) + (10,9) = (10,2) Er = ((8,3),(10,2)) Decodificação D = (rq+m) - k(rp) = (10,2) 7(8,3) = (10,2) (3,5) = (10,9) 50

Vantagens e Desvantagens de ECC s Vantagens Útil em smart cards devido aos baixos requisitos de armazenagem Desvantagens Novo, detalhes ainda estão sendo resolvidos Várias técnicas de ECC são ainda muitos novas para confiar Quase nada usa ou suporta ECC Não é mais eficiente que algoritmos padrões como RSA ECCs possuem uma conjunto enorme de patentes (pendentes) Recomendação Não use, ao menos você realmente precise de chaves de tamanho reduzido 51 Tamanho de chave e Algoritmos Convencional Chave Pública ECC (40 bits) 56 bits (400 bits) 64 bits 512 bits 80 bits 768 bits 90 bits 1024 bits 160 bits 112 bits 1792 bits 195 bits 120 bits 2048 bits 210 bits 128 bits 2304 bits 256 bits 52

Chave mínima Recomendada Algorítimo Simétrico Algorítimo Assimétrico Bits Digitos Bits Digitos 56 7 384 48 64 8 512 64 80 10 768 96 112 14 1792 224 128 16 2304 288 Tamanho Mínimo Recomendado 53 Criptografia Simétrica x Assimétrica Algorítmos Simétricos Vantagens Apresentam processamento rápido Desvantagens Exigem canal separado para distribuição de chaves Algorítmos Assimétricos Permite autenticação via assinatura digital Facilitando o gerenciamento de chaves Apresentam processamento lento 54

Sistemas Híbridos sistemas simétricos + sistemas assimétricos codificação assinatura digital, gerenciamento de chaves (S/MIME, OpenPGP, PGP/MIME, IPSec, SET, SSL) 55 Codificação de Mensagem com Sistema Híbrido IDEA DES mensagem cifrada Alice quer enviar uma mensagem sigilosa para Bob RSA chave de sessão chave pública de Bob 56

Decodificação com Sistema Híbrido mensagem cifrada RSA chave privada de Bob IDEA DES chave de sessão mensagem original Bob Bob recebeu uma mensagem sigilosa (de Alice) 57 One time PAD Único algoritmo incondicionalmente seguro conhecido Garante sigilo perfeito Chave tão longa quanto texto, e nunca repete Utilizado no famoso telefone vermelho Washington Moscou Emprego Alto custo de gerência Uso na diplomacia e Inteligência. Exige chave aleatória (que deverá ser descartada após o uso) com a mesma extensão da mensagem 10111001010010010... mensagem (n bits) CHV 00110110111000101... chave (n bits) 10001111101010111... mensagem cifrada (n bits) 58

Esteganografia É um técnica de se esconder um arquivo dentro de outro, de forma criptografada Exemplo Pode-se esconder um arquivo dentro de uma figura, colocando os bits do arquivo no local dos bits menos significativos de cada byte da figura A segurança pode ser incrementada através de uma senha de abertura, localizada dentro do próprio arquivo codificado Ambos os lados devem possuir o mesmo codec, além de conhecer a senha para a leitura do arquivo oculto aplicativos de esteganografia utilizam áreas de dados vazias ou insignificantes do arquivo 59 Esteganografia Considere um figura descrita pelos seguintes bytes (representam a intensidade da cor) 200-53- 2-195- 54-69 -191-56 Em binário: 11001000 00110101 00000010 11000011 00110110 01000101 10111111 00111000 Para esconder o caracter 109 (01101101), O bit menos significante seria reposto por um bit do caracter 109 11001000 00110101 00000011 11000010 00110111 01000101 10111110 00111001 Que corresponde a: 200-53 -3-194-55-69 -190-57 60

Softwares de Esteganografia Steganos Security Suite 4 Suite de aplicativos para esteganografia e segurança, incluindo criptografia de drive, Internet Trace Destructor, fragmentador de arquivos, criptografia de e- mail, gerenciador de senhas e travamento do computador (Shareware) http://www.steganos.com/ MP3Stego Permite o usuário ocultar informações dentro de um arquivo em formato MP3, preservando a qualidade próxima de um CD (freeware) http://www.cl.cam.ac.uk/~fapp2/steganography/mp3stego/ Sam's Big Play Maker Esconde informações em um divertido jogo (freeware) http://www.scramdisk.clara.net/play/playmaker.html 61 Exemplo - HIP http://www.dl4all.com/security_spyware/encryption_software/15008-hip-hide-inpicture-2.1.html Codificação Clique no botão Open Picture (ou escolha o menu File? Open Picture) Selecione o arquivo BMP no qual será ocultado o arquivo de informações Crie um novo documento no Excel, digite o texto Testando a esteganografia, e o salve como Planilha de Custos.xls Para inserir o arquivo, clique no botão Hide File In Picture (ou entre no menu Image e escolha a opção Hide File) Digite a senha e Salve o arquivo para que as informações sejam codificadas Recuperação Clique no botão Retrieve File From Picture ou, através do menu Image escolha a opção Retrieve File... Digite a senha utilizada na codificação e pressione o botão OK Escolha o local onde deseja salvar o arquivo. 62