Uma introdução à criptografia com curvas elípticas

Slides:



Advertisements
Apresentações semelhantes
Criptografia Assimétrica
Advertisements

Amintas engenharia.
Capítulo 2 - Derivadas No final do capítulo 1, já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando.
Derivadas Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando ele existia, de derivada de f em.
CONJUNTOS.
MOSTRA DE TRABALHOS DE CONCLUSÃO FACULDADE DE INFORMÁTICA PUCRS
Criptografia e Segurança de Rede Capítulo 4
Criptografia e Segurança de Redes Capítulo 4
1 Criptografia e Segurança em Redes Capítulo 10 Quarta Edição por William Stallings Tradução por Enrico Alvarez.
Criptografia e Segurança em Redes Capítulo 10
SISTEMAS LINEARES I Prof. Marlon.
Polinômios Prof. Marlon.
EQUAÇÕES POLINOMIAIS Prof. Marlon.
SISTEMAS LINEARES II Prof. Marlon.
Dornélio Mori Ney Bermudes
Formulário de Matemática
1 – Matrizes: Operações e Propriedades
TEORIA DOS NÚMEROS Embora existam diversos tipos de números na Matemática (reais, complexos, etc.), o nome "Teoria dos Números" é tradicionalmente reservado.
Aula 4: Matrizes e Operações Matriciais
Carimbo de Tempo ( timestamping )
MATEMÁTICA Prof. Carlos Alexandre.
Produtos Notáveis 8ª ANO Prof.: Sergio Wagner. Os produtos Produtos notáveis são assim chamados por serem tipos fixos, facilmente reconhecidos, de produtos.
CURSO DE MATEMÁTICA BÁSICA
Diffie-Hellman Acordo de Chave Compartilhada. Abril de 2006Criptografia de Chave Pública2 Estabelecendo uma Chave Compartilhada Diffie-Hellman, 1976 Acordo.
Logaritmos Discretos e Grupos
Diffie-Hellman Acordo de Chave Compartilhada 1976, University of Stanford.
Criptografia de Chave Pública
Troca de Chaves Autenticação
Matemática para Economia III
Professora: Ana Cristina G. e Silva Natal-RN
G R U P O S.
Aula 13 Derivação Implícita, derivadas das funções trigonométricas inversas e derivadas de funções logarítmicas.
Matemática I AULA 4 Profª Ms. Karine R. de Souza .
Operações com frações (semana 9).
Polinômios Profª.: Juliana Santos.
Sistema de equações lineares
Matrizes 2009 Colégio Integrado Jaó. Prof. Paulo..
O número n é chamado índice; O número a é chamado radicando;
MATEMÁTICA APLICADA REVISÃO BÁSICA.
7: Segurança de Redes1 Capítulo 7: Segurança de Redes Fundamentos: r o que é segurança? r criptografia r autenticação r integridade de mensagens r distribuição.
Assinaturas digitais.
LUCAS DE ANDRADE VINICIUS BERNARDINO DA SILVA
Matemática para Economia III
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Campus de Caraguatatuba
Exercício 3 Função de hash Assinatura digital
Sistemas Seguros Criptografia Simétrica e Assimétrica
Protocolos Básicos Autenticação. Protocolos Básicos Esquemas de autenticação São métodos através dos quais alguém pode provar sua identidade, sem revelar.
PGP – Pretty Good Privacy Privacidade Bastante Boa
Seminário Criptografia
Matemática Discreta 1 – MD 1
MÚLTIPLOS GRAUS DE LIBERDADE
Exercício 2 Função resumo (hash) Assinatura digital
Algoritmos de Chave Pública
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
CONJUNTO DOS NÚMEROS INTEIROS
Campus de Caraguatatuba
Equações.
3. Criptografia Assimétrica
PROGRESSÃO ARITMÉTICA P.A.
Matemática e suas Tecnologias - Matemática
Gerência e Segurança de Redes Exercício 2 Encriptando uma mensagem com chave assimétrica.
MAC499 – Trabalho de Formatura Supervisionado
Criptografia de Chave Pública
Potenciação an = a . a . a a (a ≠ 0) n fatores onde: a: base
Segurança de Redes de Computadores
©Prof. Lineu MialaretAula 4 - 1/27Matemática Discreta I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba.
Números complexos Professora:Janaína Fernandes Lacerda.
MATEMÁTICA E SUAS TECNOLOGIAS
Matemática Básica Fonte: Prof Msc SANDRO FABIAN FRANCILIO DORNELLES
Transcrição da apresentação:

Uma introdução à criptografia com curvas elípticas Afonso Comba de Araujo Neto

Curvas elípticas Curvas elípticas são equações que definem um conjunto de pontos em um plano bidimensional Elas têm a seguinte forma geral Com coeficientes pertencentes ao conjunto sobre o qual a curva está definida.

Corpos Todas as curvas elípticas são definidas sobre algum corpo Um corpo é um conjunto, mais duas operações com características especiais O corpo dos reais é composto pelo conjunto dos reais mais as operações de adição e multiplicação Essas operações definem como os símbolos + e x são interpretados nas equações Os corpos utilizados na prática são os chamados “corpos finitos”, mas exemplificaremos com o corpo dos reais

Curvas elípticas Utilizando o conjunto dos reais, a equação pode ser simplificada da seguinte forma Com É necessário que a curva possua tangente à todos os seus pontos

Curvas elípticas Exemplo:

Lei de grupo Devido às características destas curvas, podemos tomar o conjunto de pontos de uma curva elíptica e definir uma operação fechada sobre ele. É o que chamamos lei de grupo A lei de grupo deve possuir as seguintes propriedades Comutatividade Existência da identidade Existência do inverso Associatividade

Definição da operação Ao conjunto de pontos da curva, é adicionado um ponto extra chamado ponto no infinito, normalmente denotado por Para satisfazer as propriedades antes mencionadas, algumas definições se fazem necessárias definimos o ponto no infinito como sendo a identidade; dado um ponto P = (x, y), definimos o inverso de P como P = (x, -y). Devido à natureza simétrica das curvas elípticas, o inverso sempre existe, e o inverso da identidade é a própria identidade.

Soma de pontos Para definirmos a operação, que chamaremos de soma de pontos, entre os elementos do conjunto, existem quatro casos a serem considerados. Consideremos dois pontos quaisquer do conjunto, P e Q. Caso 1: é trivialmente dedutível da definição de identidade. Se um dos pontos é a identidade, então o resultado é igual ao outro ponto.

Soma de pontos Caso 2: Dedutível da definição de inverso. Se um dos pontos é o inverso do outro, a operação entre eles resulta na identidade. Exemplo:

Soma de pontos Caso 3: É o caso mais comum. Se P é diferente de Q, então traçamos uma reta que passe por P e Q. Essa reta interceptará a curva em um terceiro ponto R. O resultado da operação é o inverso do ponto R, ou seja, R. Podemos ver que o caso 2 é um caso particular do caso 3 onde a reta intercepta, por definição, o ponto no infinito.

Exemplo

Soma de pontos Caso 4: Caso P e Q sejam iguais, e diferentes da identidade, traça-se uma reta tangente à curva no ponto P. Da mesma forma que no caso anterior, a reta intercepta um terceiro ponto R. O resultado é o inverso desse ponto. É importante notar que esse caso é o mesmo que calcularmos P + P = 2P.

Exemplo

Equações algébricas Naturalmente, a implementação prática desse sistema se dá através de um sistema de equações algébricas. R = P + Q é calculado da seguinte forma:

Campos finitos Entendido o funcionamento da operação de soma de pontos de uma curva elíptica, podemos começar a adaptar o sistema para seu uso em criptografia Na prática, os criptossistemas elípticos são definidos sobre corpos finitos, ou seja, corpos cujo conjunto base tem um número finito de elementos Dois conjuntos são normalmente utilizados GF(p) - número primo de elementos GF(2m) – número de elementos igual a uma potência de 2 Nesses corpos, as operações são tomadas em módulo

Campos finitos Desta forma, deixamos de ter curvas e passamos a ter um conjunto discreto de pontos. Exemplo de curva sobre GF(23)

Produto escalar Ao somar um ponto P com ele mesmo, estamos multiplicando o ponto por 2 Se somarmos novamente o ponto ao resultado, obteremos 3P Podemos definir o produto escalar no sistema elíptico, que seria o produto de um ponto por um valor escalar k.

Otimização do produto escalar A associatividade da soma de pontos permite que façamos otimizações no produto escalar. Por exemplo, podemos calcular 50P da seguinte forma O objetivo disto é minimizar o número de somas elípticas. No exemplo, são necessárias apenas 12 somas ao invés de 50. A fim de generalizar o procedimento, Neal Koblitz, um dos inventores da criptografia com curvas elípticas, desenvolveu um algoritmo conhecido como expansão binária balanceada, que faz com que o número de somas elípticas seja proporcional ao número de bits do valor escalar multiplicado. Essa otimização é fundamental para a criptografia

Ponto gerador O produto escalar permite que pensemos em uma seqüência de pontos Dado um ponto P, podemos nos referir aos outros pontos da curva como 2P, 3P, 4P, etc. Isso significa que podemos pegar um ponto qualquer e utilizá-lo como referência para identificação de todos os outros pontos. Esse ponto é o que chamamos de ponto gerador, ou G Isso agiliza a aritmética, na medida em que podemos somar os coeficientes dos pontos ao invés dos pontos diretamente. Ex.: 7G + 10G = 17G

O criptossistema elíptico O problema do logaritmo discreto e os protocolos criptográficos

Problema do logaritmo discreto elíptico Todas as técnicas de criptografia com chave pública são baseadas em problemas matemáticos intratáveis. RSA: fatoração em componentes primos Dado um número inteiro, descobrir dois números primos que multiplicados resultem neste número El Gamal e Diffie-Hellman: logaritmo discreto Dado o resultado de uma potenciação em módulo e a base da potência, descobrir o expoente Da mesma forma, a criptografia com curvas elípticas é baseada no chamado problema do logaritmo discreto elíptico, ou Elliptic Curve Discrete Logarithm Problem (ECDLP)

Dados os pontos P e G na equação descobrir o valor escalar k. ECDLP O problema do logaritmo discreto elíptico pode ser enunciado da seguinte forma: Dados os pontos P e G na equação P = k x G, descobrir o valor escalar k. Os métodos existentes para resolução deste problema não são muito melhores que a simples força bruta Esse é, atualmente, o problema matemático mais difícil empregado na prática para fins criptográficos

Protocolos criptográficos Os protocolos criptográficos são os procedimentos através dos quais podemos nos utilizar o ECDLP como base para criptografia assimétrica Como o próprio nome sugere, os protocolos que se utilizam do logaritmo discreto convencional (como El Gamal e Diffie-Hellman) são facilmente transpostos para o modelo elíptico

Protocolos criptográficos Todos os protocolos se utilizam de parâmetros públicos e parâmetros privados Em todos os casos, é necessário que as partes concordem nos parâmetros públicos, sendo eles: O corpo utilizado, GF(p) ou GF(2m) A curva utilizada Um ponto gerador sobre esta curva, que chamaremos de G.

Elliptic Curve Diffie-Hellman Protocolo para troca de um segredo através de um canal público. Funcionamento: Alice deseja trocar um segredo Qs com Bob. Alice escolhe um valor escalar ka qualquer e calcula o ponto Qa = ka x G, e envia Qa para Bob Bob calcula Qb = kb x G, da mesma forma, e envia Qb para Alice Cada um deles pega o ponto recebido e multiplica pelo seu próprio valor escalar, obtendo: Qs = ka x Qb = kb x Qa = ka x kb x G O ECDLP garante que ka não é dedutível de Qa e G, assim como kb não é dedutível de Qb e G.

Elliptic Curve AES Protocolo de chave pública baseado no El Gamal A idéia é criar e cifrar um ponto da curva e utilizá-lo como chave para o algoritmo simétrico AES Funcionamento: Alice deseja mandar um documento secreto m para Bob Bob escolhe um valor escalar k e calcula Y = k x G. Y é a sua chave pública, e k a sua chave privada. Alice, de posse de Y, escolhe um valor descartável qualquer s e calcula os pontos N = s x G e C = s x Y. Alice então utiliza o ponto C de alguma forma como chave simétrica para o AES e calcula a mensagem cifrada M = E(C, m). Alice envia M e N para Bob. Bob então calcula C = k x N. Em posse de C, ele utiliza o AES novamente para recuperar m, m = D(C, M)

Elliptic Curve DSA Protocolo para assinatura digital de um hash de documento Dado o hash m, a chave pública Y e a chave privada k, a assinatura é obtida da seguinte forma: Escolhe-se um valor descartável s e calcula-se N = s x G. Sendo r a abscissa do ponto N, calcula-se w = s(m + rk)-1. A assinatura é o par <r, w>. Para verificarmos a assinatura, calculamos V = wm x G + wr x Y. A abscissa de V deve ser igual a r, pois V e N devem ser o mesmo ponto. A demonstração da igualdade V = N está no trabalho escrito

Criptografia com curvas elípticas na prática

ECC versus RSA Tamanhos de chave Maturidade do sistema Reconhecimento comercial

ECC versus RSA Um estudo da Sun, através do SSL, mostrou que a criptografia elíptica realmente é tão mais eficiente que a criptografia com RSA quanto maior for a segurança necessária Tempos (ms) de execução das operações criptográficas básicas, para RSA 1024 bits e ECC 163 bits (acima) e RSA 2048 bits e ECC 193 bits (abaixo)

Conclusões A criptografia com curvas elípticas é uma técnica ainda muito nova É importante existir uma tecnologia de criptografia assimétrica confiável alternativa ao RSA O RSA está bem estabelecido e não deve ser substituído, a não ser nos casos em que a eficiência da criptografia elíptica se mostre muito importante, como nos sistemas wireless e smart cards Desafio ECC