Curvas Elípticas. Marcel A. B. Carvalho, Luis C. S. Lima e Rogério B. Santos. Universidade de Brasília. Setembro 09, 2009. Resumo



Documentos relacionados
UNIVERSIDADE SALVADOR UNIFACS NÚCLEO DE PESQUISA INTERDEPARTAMENTAL EM REDES DE COMPUTADORES (NUPERC) MESTRADO EM REDES DE COMPUTADORES

Capítulo 5: Aplicações da Derivada

Programa Olímpico de Treinamento. Aula 9. Curso de Combinatória - Nível 2. Tabuleiros. Prof. Bruno Holanda

Matemática. Euclides Roxo. David Hilbert. George F. B. Riemann. George Boole. Niels Henrik Abel. Karl Friedrich Gauss.

ITA º DIA MATEMÁTICA BERNOULLI COLÉGIO E PRÉ-VESTIBULAR

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

Construção dos números racionais, Números fracionários e operações com frações

Algoritmos criptográficos de chave pública

Resolução de sistemas lineares

Lista 1 para a P2. Operações com subespaços

QUESTÕES COMENTADAS E RESOLVIDAS

Potenciação no Conjunto dos Números Inteiros - Z

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Unidade II - Sistemas de Equações Lineares

Universidade Federal de São João Del Rei - UFSJ

Introdução à Programação. João Manuel R. S. Tavares

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Faculdade de Computação

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Processos Estocásticos

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

CAPÍTULO 2. Grafos e Redes

Cálculo em Computadores trajectórias 1. Trajectórias Planas. 1 Trajectórias. 4.3 exercícios Coordenadas polares 5

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Faculdade Sagrada Família

3 - CONJUNTO DOS NÚMEROS RACIONAIS

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA

3º Ano do Ensino Médio. Aula nº10 Prof. Daniel Szente

Falso: F = Low voltage: L = 0

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

MD Sequências e Indução Matemática 1

Conceitos Básicos de Desenho Técnico

36 a Olimpíada Brasileira de Matemática Nível Universitário Primeira Fase

Exercícios Teóricos Resolvidos

Curvas de nível homotópicas a um ponto

Problemas de Valor Inicial para Equações Diferenciais Ordinárias

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Exercícios Adicionais

Estatística II Antonio Roque Aula 9. Testes de Hipóteses

FUNÇÃO DE 1º GRAU. = mx + n, sendo m e n números reais. Questão 01 Dadas as funções f de IR em IR, identifique com um X, aquelas que são do 1º grau.

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Um estudo sobre funções contínuas que não são diferenciáveis em nenhum ponto

3 Estratégia para o enriquecimento de informações

Casos de uso Objetivo:

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Análise de Arredondamento em Ponto Flutuante

PROJETO DE REDES

Bacharelado em Ciência da Computação Matemática Discreta

MÓDULO DE MATRICULA UNASUS

Material Teórico - Módulo de Métodos sofisticados de contagem. Princípio das Casas dos Pombos. Segundo Ano do Ensino Médio

Estruturas de Repetição

UNIDADE 6 - PROGRAMAÇÃO MODULAR

Resolução dos Exercícios sobre Derivadas

Prof. Daniela Barreiro Claro

UTILIZAÇÃO DE SOFTWARES NA RESOLUÇÃO DE UM PROBLEMA DE PROGRAMAÇÃO LINEAR. Cintia da Silva Araújo, Tiago de Souza Marçal, Magda Aparecida Nogueira

PROJETO DE REDES

Material Teórico - Aplicações das Técnicas Desenvolvidas. Exercícios e Tópicos Relacionados a Combinatória. Segundo Ano do Ensino Médio

Instituto Superior Técnico Departamento de Matemática Última actualização: 11/Dez/2003 ÁLGEBRA LINEAR A

PARADOXO DA REALIZAÇÃO DE TRABALHO PELA FORÇA MAGNÉTICA

Sumário Algoritmos e Estrutura de Dados Repetição

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

matemática álgebra 2 potenciação, radiciação, produtos notáveis, fatoração, equações de 1 o e 2 o graus Exercícios de potenciação

Discussão de Sistemas Teorema de Rouché Capelli

COTAÇÃO DE COMPRAS COM COTAÇÃO WEB

Rede de Computadores II

Software Livre e Engenharia Elétrica

Curvas em coordenadas polares

36ª Olimpíada Brasileira de Matemática GABARITO Segunda Fase

EE531 - Turma S. Diodos. Laboratório de Eletrônica Básica I - Segundo Semestre de 2010

MATEMÁTICA TIPO A GABARITO: VFFVF. Solução: é a parábola com foco no ponto (0, 3) e reta diretriz y = -3.

TECNOLOGIA MECÂNICA. Aula 04. Carregamento Axial Tensão Normal

Programação Funcional. Aula 5. Funções Recursivas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Notas de Cálculo Numérico

Guia de utilização da notação BPMN

Aula 2 - Cálculo Numérico

Aula 17 GRANDEZAS ESCALARES E VETORIAIS. META Apresentar as grandezas vetoriais e seu signifi cado

Somatórias e produtórias

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

SOFTWARE DE SORTEIOS ELETRÔNICOS DE PRÊMIOS DA NOTA FISCAL PARANÁ

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

4. Tangentes e normais; orientabilidade

Fanor - Faculdade Nordeste

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Matemática Básica Função Logarítmica

Transcrição:

Curvas Elípticas Marcel A. B. Carvalho, Luis C. S. Lima e Rogério B. Santos Especialização em Gestão da Segurança da Informação Universidade de Brasília Setembro 09, 2009 Resumo A Criptografia de Curvas Elípticas (ECC) surgiu como uma forma alternativa ao criptossistema RSA. Os procedimentos de geração de chaves e de assinatura são mais rápidos e requerem parâmetros menores para prover o mesmo grau de segurança quando comparado ao RSA. Este artigo aborda um histórico sobre curvas elípticas, mostrando o que são e o que representam para a criptografia nos dias de hoje. 1 Introdução Suponha uma coleção de bolas de canhão empilhadas como uma pirâmide quadrada 1, com uma bola na camada superior, quatro na segunda camada, nove na terceira camada, e assim por diante, conforme figura (1). Se esta pilha desabar, seria possível rearranjar estas bolas como um quadrado? (WASHING- TON, 2008) Figura 1: Pirâmide de Bolas de Canhão Se esta pirâmide possui altura x então o número de bolas empilhadas é definido pela equação (1). 1 2 + 2 2 + 3 2 +... + x 2 = x(x + 1)(2x + 1) (1) Como o que se busca é que esse número seja uma quadrado perfeito, significa que o resultado da equação (2), para os números inteiros positivos x e y representa a solução do problema supracitado. 1 Pirâmide com uma base quadrada 1

y 2 x(x + 1)(2x + 1) = (2) Uma equação desse tipo representa uma curva elíptica. Cabe ressaltar que curvas elípticas não são elipses, como pode ser verificado no gráfico desta equação dado na figura (2), elas têm esse nome pois são definidas como um objeto matemático (uma curva) descrito por uma equação cúbica, as mesmas que são usadas para calcular o comprimento de arco de uma elipse. Figura 2: Gráfico de y 2 = x(x+1)(2x+1) Curvas elípticas são estudas e usadas em diversas áreas há mais de um século, um exemplo foi sua utilização na prova do Último Teorema de Fermat, que formulava o seguinte, dada a equação xn + y n = z n, esta não possui solução inteira diferente de zero para (x, y, z) quando o inteiro n é maior que 2. Existem ainda aplicações em fatoração de números inteiros (LENSTRA, 1987) e testes de primalidade (GOLDWASSER; KILIAN, 1999; MORAIN; ATKIN, 1993). Em 1985, Neal Koblitz (KOBLITZ, 1987) e Victor Miller (MILLER, 198) independentemente propuseram o uso de curvas elípticas no projeto de sistema criptográfico de chaves públicas, tendo como base um grupo de curvas elípticas sobre um campo finito. Desde então várias pesquisas são publicadas sobre a segurança e uma eficiente implementação de criptografia usando curvas elípticas. No final da década de 90, sistemas de curvas elípticas começaram a ser aceitos comercialmente, quando esta tecnologia recebeu crédito pelas organizações responsáveis por padrões internacionais e as companhias privadas incluíram estes protocolos nos seus produtos de segurança. Podem ser citadas outras iniciativas que reforçaram o uso da criptografia com curvas elípticas, como por exemplo, a decisão do governo americano de empregar ECC em comunicações classificadas e sensíveis, mas não classificadas e o seu uso pela Microsoft no esquema de proteção de direitos digitais. Este trabalho apresenta o uso das curvas elípticas em criptografia. Sua segurança está baseada no problema do logaritmo discreto. Este problema aparentemente é significativamente mais difícil de resolver, comparado com o problema do logaritmo discreto usado por outros sistemas de criptografia. O melhor algoritmo conhecido para resolução deste problema tem complexidade exponencial, o que confere um alto grau de segurança ao sistema. 2

2 Protocolos Criptográficos Os principais algoritmos baseados em curvas elípticas são ECDSA e EC-KCDSA para assinatura digital, STS e ECMQV para estabelecimento de chaves e ECIES para cifração. Segue relação dos protocolos com os padrões que os contemplam: ECDSA : Elliptic Curve Digital Signature Algorithm. Descrito nos seguintes documentos ANSI X9.2, FIPS 18-2, IEEE 133-2000 e ISO/IEC 1594-2. EC-KCDSA : Elliptic Curve - Korean Certificate-based Digital Signature Algorithm. Descrito no seguinte documento ISO/IEC 1594-2. STS : Station-To-Station. Descrito no seguinte documento ANSI X9.3. ECMQV : Elliptic Curve Menezes-Qu-Vanstone. Descrito nos seguintes documentos ANSI X9.3, IEEE 133-2000, e ISO/IEC 1594-3. ECIES : Elliptic Curve Digital Integrated Encryption Scheme. Descrito nos seguintes documentos ANSI X9.3 e ISO/IEC 1594-3. 3 Definição de Curva Elíptica Seja K um campo. Por exemplo, K pode ser o campo finito F q, ou o campo de primos Z p, onde p é um número primo grande, o campo R de números reais, o campo Q de números racionais ou o campo C de números complexos. Uma curva elíptica sobre o campo K é definida pela equação de Weierstrass: onde a 1, a 3, a 2, a 4, a K y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a (3) A equação de Weierstrass pode ser transformada e simplificada para diferentes formas por uma troca linear de variáveis. Para um campo de característica diferente de 2 e de 3, ou seja, para um campo Z p, para p > 2, a curva elíptica E sobre este campo Z p é definida por uma equação da forma: y 2 = x 3 + ax + b (4) onde a, b Z p e 4a 3 + 27b 2 (mod p) 0, de modo que o polinômio não tenha raízes múltiplas, e ainda um elemento φ chamado ponto no infinito. O conjunto E(Z p ) consiste em todos os pontos que satisfazem a equação (x, y) x, y Z p, juntamente com o ponto φ. 3.1 Aritmética sobre curvas elípticas Existe uma regra para somar dois pontos pertencentes a uma curva elíptica, de tal forma que esta soma seja um terceiro ponto sobre a mesma curva. O conjunto de pontos E(Z p ), juntamente com a operação de soma, formam um grupo abeliano 2, onde o ponto no infinito φ é o elemento neutro. Sejam, P = (x 1, y 1 ) e Q = (x 2, y 2 ) dois pontos distintos tomados em uma curva elíptica E. A soma de P e Q, denotada por R = (x 3, y 3 ) é definida através do traçado de uma linha que atravesse P e Q. Esta linha intercepta a curva elíptica E em um terceiro ponto, onde R é a reflexão deste ponto sobre o 2 Os grupos abelianos receberam esse nome em homenagem à Niels Henrik Abel. Em matemática, um grupo abeliano, chamado também de grupo comutativo, é um grupo (G, ) tais que a b = b a para todo a,b G. Ou seja, a ordem em que a operação binária é executada não importa 3

eixo x. Este ponto R é portanto o resultado da operação de soma P + Q. Se P = (x 1, y 1 ), então o dobro de P, denotado por R = (x 3, y 3 ) define-se pelo traçado de uma reta tangente à curva elíptica no ponto P. Esta reta intercepta a curva em um segundo ponto, cuja reflexão sobre o eixo x é o ponto R. Figura 3: Adição de dois ponto diferentes P e Q e adição do ponto H com ele mesmo, resultando em 2H (RAUSCHER; BOHNSACK, 1999) 4 O Problema do Logaritmo Discreto Sendo uma curva elíptica E transformada em um grupo abeliano por uma operação de adição (e não por uma operação de multiplicação), a exponenciação de um ponto em E refere-se a uma adição repetida. Assim sendo, a enésima potência de α E é o enésimo múltiplo de α, ou seja, β = α n = nα. O logaritmo de β na base α é o número n, o inverso da exponenciação. Para um grupo qualquer G, suponha-se que α, β G. Num problema de logaritmo discreto, tenta-se resolver para um inteiro x tal que α x = β. Analogamente, no problema do logaritmo discreto em curvas elípticas, tenta-se resolver para um inteiro x tal que xα = β, para α, β E. Para que este problema numa curva sobre E(F q ) seja computacionalmente intratável, é importante selecionar uma curva com E e q apropriados. O problema do logaritmo discreto pode ser expresso de outra maneira: dados P e Q, pontos pertencentes ao grupo, encontrar um número k tal que kp = Q; k é denominado o logaritmo discreto de Q na base P. 5 Comparando força Segundo NIST (2007) seguem a tabela (1) mostrando uma comparação do nível de segurança provido pelos algoritmos aprovados por este instituto e a tabela (2) com a relação entre o nível de segurança e sua validade. 4

Tabela 1: Comparativo de nível de segurança Bits de Algoritmo Criptografia em Criptografia baseada Criptografia baseada Segurança simétrico campo finito em fatoração de inteiros em Curvas Elípticas (DSA, D-H) (RSA) (ECDSA) 80 2TDEA 3 L = 1024 k = 1024 f = 10-223 N = 10 112 3TDEA L = 2048 k = 2048 f = 224-255 N = 224 128 AES-128 L = 3072 k = 3072 f = 25-383 N = 25 192 AES-192 L = 780 k = 780 f = 384-511 N = 384 25 AES-25 L = 1530 k = 1530 f = 512+ N = 512 Tabela 2: Relação do nível de segurança com sua validade Validade do Algoritmo Criptografia em Criptografia baseada Criptografia Nível de simétrico campo finito em fatoração de baseada em Segurança (cifração (DSA, D-H) inteiros Curvas Elípticas e MAC) (RSA) (ECDSA) Até 2010 2TDEA Min. Min. Min. (min. 80 bits 3TDEA L = 1024 k = 1024 f = 10 de segurança) AES-128 N = 10 AES-192 AES-25 Até 2030 3TDEA Min. Min. Min. (min. 112 bits AES-128 L = 2048 k = 2048 f = 224 de segurança) AES-192 N = 224 AES-25 Além de 2030 AES-128 Min. Min. Min. (min. 128 bits AES-192 L = 3072 k = 3072 f = 25 de segurança) AES-25 N = 25 Segue uma explicação sobre a tabela (1) e tabela (2): Coluna 1: os bits de segurança não são o mesmo que o tamanho da chave para os algoritmos, devido aos ataques a estes algoritmos que fornecem uma vantagem computacional; Coluna 2: fornece o algoritmo de criptografia simétrica que fornece o referido nível de segurança; Coluna 3: tamanho mínimo dos parâmetros dos algoritmos desta categoria, sendo L o tamanho da chave pública e N o tamanho da chave privada; Coluna 4: o valor k representa o tamanho do modulus n, comumente designado o tamanho da chave; Coluna 5: indica a faixa para f, que representa o tamanho de n, ou a ordem do ponto base G, comumente designado o tamanho da chave; 3 Algoritmo TDEA (também conhecido como Triple DES) com duas chaves diferentes 5

Bibliotecas Criptográficas Com o crescente uso da ECC no mercado, verifica-se o surgimento de um conjunto de ferramentas que suportem o uso desta criptografia em aplicações distintas. Em Uto (2005) são elencadas (seis) bibliotecas em C e C++ que dão suporte à criptografia usando curvas elípticas e traz uma análise de desempenho entre elas. Na página da empresa Certicom (2009) existem soluções implementadas em hardware e software que suportam ECC. 7 Desafio ECC Em 1997 Certicom (2009) propôs uma série de desafios relativos ao problema do logaritmo discreto sobre curvas elípticas (ECDLP). O desafio pedia a solução em três tipos de curvas: Curvas geradas aleatoriamente sobre campos primos: ECCp-79, ECCp-89, ECCp-97, ECCp-109, ECCp-131, ECCp-13, ECCp-191, ECCp-239, e ECCp-359 Curvas geradas aleatoriamente sobre campos finitos com característica 2: ECC2-79, ECC2-89, ECC2-97, ECC2-109, ECC2-131, ECC2-13, ECC2-191, ECC2-238, e ECC2-353. Curvas de Koblitz sobre F 2 : ECC2K-95, ECC2K-108, ECC2K-130, ECC2K-13, ECC2K-238, e ECC2K-358. O desafio foi resolvido usando uma variante do algoritmo ρ de Pollard em outubro de 2002. A computação deste algoritmo usou 10.000 estações de trabalho distribuídas pela Internet trabalhando durante 540 dias. Os desafios mais complexos resolvidos nesta ocasião foram o ECCp-109 e o ECC2-109. Estima-se que a chave de comprimento mínimo recomendado para ECC, de 13 bits, exigirá recursos 10 8 vezes maiores do que aqueles usados para resolver o problema da chave de 109 bits.(certicom, 2009) Em Bos et al. (2009) foi relatada a quebra do ECCp-112, usando um cluster de 200 consoles PlayStation 3 (PS3), veja figura 4, durante três meses e meio. A curva quebrada não se refere ao desafio original descrito acima e sim a uma das curvas descritas nas recomendações de parâmetros ditas pela Certicom (2000). Figura 4: Cluster de 200 PS3 usados na quebra do ECCp-112

8 Conclusão Este artigo descreve brevemente a aplicação das curvas elípticas para um sistema de criptografia de chaves assimétricas. As curvas elípticas provêm uma dificuldade maior para o problema do logaritmo discreto, se comparadas às técnicas comumente usadas de fatoração de números grandes ou o sistema Diffie-Hellman. Isso significa que, para chaves de tamanhos menores, um sistema baseado em curvas elípticas mostra ter um nível de segurança comparável ao sistema RSA com chaves substancialmente maiores. Apesar da matemática envolvida no conceito de curvas elípticas ser de razoável complexidade, o artigo pretendeu introduzir os conhecimentos mínimos para assimilação do mecanismo de funcionamento do sistema e disponibilizar, no levantamento bibliográfico, referências úteis para maior aprofundamento. Referências BOS, J. W. et al. 112-bit prime ECDLP solved. [S.l.], 2009. Disponível em: <http://lacal.epfl.ch- /page81774.html>. Acesso em: 09 setembro 2009. CERTICOM. SEC 2 - Recommended Elliptic Curve Domain Parameters. [S.l.], 2000. Disponível em: <http://www.secg.org/collateral/sec2%5ffinal.pdf>. Acesso em: 09 setembro 2009. CERTICOM. Elliptic Curve Cryptography (ECC). [S.l.], 2009. Disponível em: <http://www.certicom-.com/>. Acesso em: 09 setembro 2009. GOLDWASSER, S.; KILIAN, J. Primality testing using elliptic curves. J. ACM, v. 4, n. 4, 1999. KOBLITZ, N. Elliptic curve cryptosystems. Mathematics of Computation, v. 43, n. 177, p. 203 209, 1987. LENSTRA, H. Factoring integers with elliptic curves. Ann. of Math.(2), v. 12, p. 49 73, 1987. MILLER, V. Use of elliptic curves in cryptography. Advances in Criptology - CRYPTO 85, v. 48, p. 417 42, 198. MORAIN, F.; ATKIN, A. O. L. Elliptic curves and primality proving. Math. Comp., v. 1, n. 203, 1993. NIST. Recommendation for Key Management Part 1: General (Revised). [S.l.], 2007. Disponível em: <http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-part1-revised2%5fmar08-2007.pdf>. Acesso em: 09 setembro 2009. RAUSCHER, R.; BOHNSACK, F. Results of an elliptic-curve-approach for use in cryptosystems. 25th EUROMICRO CONFERENCE, v. 2, p. 415 422, 1999. UTO, N. A survey of cryptographic libraries supporting elliptic curve cryptography. 3er Congreso Iberoamericano de Seguridad Informática, Valparaíso - Chile, p. 159 17, 2005. WASHINGTON, L. C. Elliptic Curves - Number Theory and Cryptography. 2 o. ed. [S.l.]: CRC Press, 2008. 1-2 p. 7