Emparelhamentos Bilineares Sobre Curvas

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

Sistemas criptográficos baseados em identidades pessoais

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

Uma Curva Elíptica sobre F 23

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

Avaliação de Segurança em Curvas Eĺıpticas Usando o Corpo dos Números p-ádicos

Complexidade de Algoritmos

Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular

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

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

Implementação para Multiplicação por Escalar. 2 Curvas Elípticas Sobre Z p

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

confiar desconfiando

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

Proposta de Esquemas de Criptografia e de Assinatura sob Modelo de Criptografia de Chave Pública sem Certificado

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

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

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

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

Aula 8. Ivan Sendin. 11 de setembro de FACOM - Universidade Federal de Uberlândia SEG.

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

Criptografia com Maple

Introdução à Algebra para Criptografia de Curvas Elipticas

Aula 6. Ivan Sendin. 12 de setembro de FACOM - Universidade Federal de Uberlândia SEG-6.

Números primos e Criptografia

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

Tópicos de Ambiente Web Segurança

Implementação de protocolos de acordo de chave em dispositivos de poder computacional restrito

D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR 1

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

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

Área e Teorema Fundamental do Cálculo

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA. Douglas Marcelino Beppler Martins ALGORITMOS DE HASH CAMALEÃO

Linguagens de Programação Programação Funcional (Haskell)

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

Algoritmos probabilísticos

Reynaldo C. Villena. Abril de 2013

Criptografia Aplicada LESI / LMCC

Carlos Rodrigo Tofoli Fernandes. CriptoCore: Um acelerador de exponenciação modular para aplicações criptográficas

Criptografia simétrica e assimétrica

CRIPTOGRAFIA RSA APLICADA A ÁUDIO

Capítulo 8. Segurança de redes

3ª Klaudemir Santiago

Teste à Primalidade. (Método de Monte Carlo) Geração de Números Primos (Grandes)

Acordo de chaves criptográficas hierárquico e sem certificado. Vilc Queupe Rufino

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

CIC 111 Análise e Projeto de Algoritmos II

Criptografia e Segurança de Rede Capítulo 4. Quarta Edição por William Stallings

Notas de Aula de Cálculo Numérico

Corpos Finitos Parte I

Aritmética. Somas de Quadrados

Matemática Discreta. SLIDE 3 Professor Júlio Cesar da Silva. site:

NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ

Criptografia com Maple

Introdução aos Protocolos de Estabelecimento de Chave

FACULDADE PITÁGORAS. Curso Superior em Tecnologia Redes de Computadores e Banco de dados

Integridade. Segurança Engenharia de Software Ricardo Couto A. da Rocha

Instituto de Matemática e Estatística, UFF Março de 2011

Números Primos e Criptografia RSA

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

Linear para o Problema de Escalonamento de Workflows em Múltiplos Provedores de Nuvem

Divisibilidade e Números primos. George Darmiton da Cunha Cavalcanti CIn - UFPE

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

LISTA DE EXERCÍCIOS 2017

Teoria da Computação Aula 8 Noções de Complexidade

ARQUITETURA DE COMPUTADORES

Aula 1: Introdução ao curso

Criptografia. Thiago de Paiva Campos

CRIPTOSSISTEMAS BASEADOS EM NÚMEROS PRIMOS

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

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Segurança da Informação Aula 5 Criptografia. Objetivos e Tipos. Cifras de Bloco e Fluxo

COMUNICAÇÃO DIGITAL 1. INTRODUÇÃO PROF. MARCIO EISENCRAFT

PK - Public Key RSA. Segurança RSA

Estruturas Discretas INF 1631

Matemática Discreta Aritmética

CENTRO EDUCACIONAL GIRASSOL TD de Matemática Prof.: Tiago Rodrigues

2) Construir um triângulo ABC dados o lado a=4cm, h a =3cm e b/c=3/5.

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO

Segurança da Informação

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

AES - Noções Fortes de Segurança - InfoSec. 4 de Outubro de 2016

MA12 - Unidade 6 Progressões Geométricas

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

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

Campos de Vetores sem Curvas Algébricas Tangentes

Estruturas Discretas INF 1631

Existem infinitos números de Carmichael, mas não provaremos isso neste curso.

Segurança Informática em Redes e Sistemas

Algoritmos criptográficos de chave pública

Reconstrução da Chave Privada RSA Multi-primo

Estudo de Desempenho Sobre a Biblioteca Int-Haar

Coordenadoria do Curso Ciência da Computação Universidade Estadual do Mato Grosso do Sul

Lista 1. 9 Se 0 < x < y e n N então 0 < x n < y n.

Transcrição:

Emparelhamentos Bilineares Sobre Curvas Eĺıpticas Leandro Aparecido Sangalli sangalli@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP FEEC - Faculdade de Engenharia Elétrica e de Computação DCA - Departamento de Engenharia de Computação e Automação Industrial 5 de abril de 2015 1 / 21

Roteiro Estaca Zero; Motivação; Emparelhamentos Bilineares; Introdução; Implementação de Protocolos Baseados em Emparelhamentos; Meu Mestrado; Novas Análises; Resultados Esperados; 2 / 21

Estaca Zero O que são curvas eĺıpticas? A grosso modo: são curvas geradas por equações do tipo E : y 2 = x 3 + ax + b, onde a, b R e b 0. Figura: Representação sobre R Figura: Aritmética sobre E 3 / 21

Estaca Zero (Cont.) Estas curvas podem ser definidas sobre um corpo finito F p. Representação gráfica discreta. Figura: Adição e duplicação de pontos de E sobre F p Uma curva eĺıptica E definida sobre o corpo finito F p é dada pela equação y 2 = x 3 + ax + b (mod p). Onde, a, b F p e 4a 3 + 27b 2 0 (mod p). 4 / 21

Estaca Zero (Cont.) Existe um ponto especial pertencente a E chamado ponto no infinito, que é representado tradicionalmente por. Um ponto P = (x P, y P ) E se, e somente se, yp 2 = x P 3 + ax P + b (mod p) E(F p ) = {os pontos pertencentes a E} { } Calcular R = m P é equivalente a calcular R = P } + P + {{ P + P }. m vezes (Problema do Logaritmo discreto - PLD) é simples calcular R, dado P e m. Porém, é de complexidade exponencial calcular m a partir de P e R escolhidos corretamente. Um ponto P E tem ordem n se n P =. 5 / 21

Estaca Zero (Cont.) Acordo de chaves de Diffie-Hellman: Alice e Bob desejam compartilhar uma chave k. Então Alice e Bob escolhem em comum: F p ; E sobre F p e P E(F p ); Alice, escolhe a F p secreto, calcula Q A = a P e envia Q A a Bob; Bob, escolhe b F p secreto, calcula Q B = b P e envia Q B a Alice; Alice calcula Segredo Alice = a Q B ; Bob calcula Segredo Bob = b Q A ; Ambos utilizam este segredo comum como entrada para uma função KDF que retorna uma chave k comum a eles. 6 / 21

Estaca Zero (Cont.) Figura: Criptografia Baseada em Identidade (Shamir, 1985) 7 / 21

Motivação Possibilidade de efetuar trocas de chaves entre três usuários utilizando uma única execução do acordo de chaves de Diffie-Hellman (Antoine Joux); Um sistema de criptografia de chave pública onde não há necessidade da presença de infraestruturas de chaves públicas (Boneh & Frankli); Entre outros benefícios; Esquemas com estas características já existem e são conhecidos como Protocolos Criptográficos Baseados em Emparelhamentos. 8 / 21

Emparelhamentos Bilineares Sejam dois grupos aditivos G 1, G 2 e um grupo multiplicativo G T, todos de ordem prima p. Um emparelhamento bilinear, e, é um mapeamento, e: G 1 G 2 G T que satisfaz as seguintes propriedades: (i) Bilinearidade: (P, Q) G 1 G 2, a, b Z n, e(ap, bq) = e(p, bq) a = e(p, Q) ab = e(bp, Q) a = e(bp, aq) = e(abp, Q) = e(p, abq) = e( ap, bq) (ii) Não-degenerado: e(p, Q) u, onde u é o elemento identidade de G T, P G 1 e Q G 2 (iii) Computabilidade: O emparelhamento e(p, Q), pode ser eficientemente computado. 9 / 21

Emparelhamentos Bilineares (Cont.) Algumas aplicações da propriedade de bilinearidade em esquemas criptográficos. Acordo triplo de chaves de Diffie-Hellman; Efetua uma troca de chaves entre três usuários com uma única execução do acordo de chaves de Diffie-Hellman. Criptografia baseada em identidades; Utiliza a identidade de um usuário como sua chave pública para cifragem de dados. Criptografia Sem Certificado; Esquema de cifragem, muito semelhante a criptografia baseada em identidade. Porém, neste esquema a chave pública de um usuário não é simplesmente a sua identidade. Entre outros. 10 / 21

Introdução Pergunta: tendo tantos benefícios, por que não utilizar protocolos criptográficos baseados em emparelhamentos? Resposta: baixa efeciência no cálculo dos emparelhamentos. Otimizações propostas Diferentes tipos de curvas eĺıpticas sobre as quais os emparelhamentos são definidos; Estas curvas que tornam o cálculo do emparelhamento mais eficiente são denominadas Curvas Amigáveis a Emparelhamentos. 11 / 21

Introdução (Cont.) Diferentes formas de calcular emparelhamentos Algoritmos derivados do algoritmo de Miller, este o algoritmo tradicionalmente utilizado para o cálculo de emparelhamentos. A ideia básica do algoritmo de Miller é intercalar operações de soma e duplicação de pontos de uma curva eĺıptica sobre a qual o emparelhamento esta definido, dependendo de certo parâmetro de entrada que varia a cada tipo de emparelhamento (laço de Miller). Diferentes tipos de emparelhamentos Weil, Tate, Eta, Ate, R-Ate, χ-ate, Optimal Ate, entre outros. Estes tipos se diferenciam principalmente pelo número de iteração do laço de Miller necessário para seu cálculo. 12 / 21

Implementação de Protocolos Baseados em Emparelhamentos 13 / 21

Implementação de Protocolos Baseados em Emparelhamentos (Cont.) Nível 5: Acordo triplo de chaves; Criptografia Baseada em Identidade; Criptografia Sem Certificado, etc. Nível 4: Tipos de emparelhamentos. Por exemplo, Weil, Tate, Ate, etc. Nível 3: Como efetuar as operações aritméticas sobre curvas eĺıpticas amigáveis a emparelhamentos (Somar/Duplicar). Nível 2: Como efetuar as operações aritméticas envolvendo extenções de corpos finitos (F p 12). Nível 1: As bibliotecas que dão suporte para operações em F p envolvendo inteiros grandes. Nível 0: Instruções do processador (lógicas ou aritméticas). 14 / 21

Meu mestrado Dentre os diversos tipos de emparelhamentos e diferentes tipos de curvas eĺıpticas, minha contribuição no mestrado foi uma análise dos emparelhamentos Ate, R-Ate e Optimal Ate sobre curvas amigáveis do tipo Barreto-Naehrig definidas sobre um corpo finito de 254 bits. Esta análise foi puramente teórica. Porém, foi possível estimar o custo destes emparelhamentos em diferentes tipos de processadores, sendo este custo dado em função do número de operações básicas no Nível 0 (figura Slide 12). 15 / 21

Meu mestrado (Cont.) Em outras palavras: Foi suposto um conjunto de instruções fixo e com este foi implementado as operações aritméticas básicas sobre F p de forma genérica. Adição; Adição com redução; Subtração; Subtração com redução; Multiplicação; Quadrado; Inverso multiplicativo e Redução modular (Operações do Nível 1, Slide 12). Com isso, foi possível estimar o custo destes emparelhaementos para processadores com tamanho de palavra de 8, 16, 32, 64, 128 e 256-bits. 16 / 21

Exemplo: Adição em Blocos: Meu mestrado (Cont.) Os blocos Z 0, Z 1, Z 2 e Z 3 são obtidos da seguinte forma: Z 0 = X 0 + Y 0 Z 1 = X 1 + Y 1 + C Z0 Z 2 = X 2 + Y 2 + C Z1 Z 3 = X 3 + Y 3 + C Z2 17 / 21

Novas Análises Problemas das análises apresentadas: São consideradas características de processadores muito distantes da realidade; Foi suposto que todos os tipos de processadores (genéricos) avaliados possuiam o mesmo conjunto de instruções (implementações inocentes) Contra-exemplo: Processadores Intel Haswell Possui instruções em hardware como: Multiplicação de inteiros de 256 bits (em hardware); Redução de inteiros de 512 bits (em hardware); 18 / 21

Novas Análises (Cont.) Alterações para novas análises: Construir um conjunto de hipóteses que possam validar resultados mais próximos dos alcançados em simulações reais. Instruções do processador; Exemplo: processadores Intel Haswell, entre outros. Estudar formas mais elegantes e menos inocentes para implementar operações básicas sobre F p. Estas devem se adaptar da melhor forma possível a cada arquitetura. 19 / 21

Novas Análises (Cont.) Outras Alterações Inversões em tempo constante sobre F p ; Teorema de Fermat: Seja a F p, com p primo. então a p 1 1 (mod p) para todo a. Consequência do Teorema de Fermat: Seja a Fp, com p primo. então a p 2 a 1 (mod p) para todo a. Considerar a adoção da técnica de Lazy Reduction (postergar reduções) para processadores com restrição de memória. 20 / 21

Resultados Esperados Uma análise similar a que foi apresentada na dissertação, porém, mais próxima de cenários reais. Principal Meta Poder listar quais as características que processadores futuros possam ter para acelerar o cálculo dos emparelhamentos, minimizando o impacto (custo computacional) da utilização dos mesmos em protocolos criptográficos. 21 / 21