Defesa de Doutorado de Ana Karina Dourado Salina de Oliveira

Data: 
07/04/2017 - 09:00
Local: 
Auditório do IC 2 - Sala 85

Título: Implementação Eficiente em Software do Esquema de Assinatura de Merkle e suas Variantes

 

Banca Examinadora
Titulares (Professores Doutores) Unidade / Instituição
Julio César López Hernández IC/UNICAMP
Ricardo Felipe Custódio LabSEC/UFSC
Marcos Antonio Simplicio Junior LARC/USP
Ricardo Dahab IC/UNICAMP
Marco Aurélio Amaral Henriques FEEC/UNICAMP
Suplentes (Professores Doutores) Unidade / Instituição
Diego de Freitas Aranha IC/UNICAMP
Paulo Lício de Geus IC/UNICAMP
Conrado Porto Lopes Gouvêa Kryptus


Resumo

Um esquema de assinatura digital é uma importante ferramenta para a criptografia de chave pública e uma tecnologia essencial para prover autenticidade, integridade e não-repúdio de dados.

Assinaturas digitais são importantes para muitas aplicações práticas, tais como: eCommerce, eGovernment, distribuição de software, dentre outras aplicações.

Esquemas de assinaturas digitais muito utilizados como o RSA, o DSA, o ECDSA e o EdDSA, não são imunes aos computadores quânticos, pois sua segurança depende da dificuldade de fatorar grandes números inteiros ou calcular logaritmos discretos.

O esquema de assinatura digital de Merkle e suas variantes são baseados em funções de resumo e são considerados resistentes aos computadores quânticos.

Estes esquemas são promissores candidatos a esquemas de assinatura digitais com segurança quântica e tem sido objeto de esforços para padronização.

Neste trabalho, apresenta-se uma otimizada implementação em software das duas propostas de padrão para o esquema digital de Merkle e suas variantes usando um conjunto de instruções AVX2 nos processadores Haswell e Skylake.

A implementação usa a abordagem “multi-buffer” para acelerar a função de resumo subjacente e, consequentemente, os algoritmos de geração de chaves, assinatura e verificação. Os parâmetros foram alinhados com os parâmetros definidos nas propostas do LMS e XMSS. A performance dos resultados da implementação é medida em um moderno processador Haswell (Intel Core i7 de 3,4 GHz) e Skylake (Intel Core i7 de 4.20 GHz).

Em particular, a operação de assinatura do esquema XMSS, usando SHA2-256 no processador Skylake, pode ser calculada em 3.841.199 ciclos (1.043 assinaturas por segundo) para o nível de segurança de 128 bits (contra ataques quânticos), usando uma árvore de altura 60 com 12 camadas. Para o LMS, a mesma operação requer 1.307.376 ciclos (3.065 assinaturas por segundo).

Os resultados indicam que ambas as propostas LMS e XMSS, para esquemas de assinaturas baseadas em funções de resumo, têm alto desempenho usando uma implementação vetorial nos modernos processadores da Intel.