NTRU - NTRU

NTRU é um criptosistema de chave pública de código aberto que usa criptografia baseada em rede para criptografar e descriptografar dados. Ele consiste em dois algoritmos: NTRUEncrypt , que é usado para criptografia, e NTRUSign , que é usado para assinaturas digitais . Ao contrário de outros criptossistemas de chave pública populares, ele é resistente a ataques usando o algoritmo de Shor . NTRUEncrypt foi patenteado, mas foi colocado em domínio público em 2017. NTRUSign é patenteado, mas pode ser usado por software sob a GPL .

História

A primeira versão do sistema, chamada NTRU, foi desenvolvida em 1996 pelos matemáticos Jeffrey Hoffstein , Jill Pipher e Joseph H. Silverman . Naquele mesmo ano, os desenvolvedores do NTRU se juntaram a Daniel Lieman e fundaram a NTRU Cryptosystems, Inc., e obtiveram uma patente do criptossistema. Em 2009, a empresa foi adquirida pela Security Innovation , empresa de segurança de software. Em 2013, Damien Stehle e Ron Steinfeld criaram uma versão comprovadamente segura do NTRU que está sendo estudada por um grupo de criptografia pós-quântica fretado pela Comissão Europeia.

Em maio de 2016, Daniel Bernstein , Chitchanok Chuengsatiansup , Tanja Lange e Christine van Vredendaal lançaram o NTRU Prime, que adiciona defesas contra ataques potenciais ao NTRU ao eliminar a estrutura algébrica que consideravam preocupante. No entanto, após mais de 20 anos de análise, nenhuma abordagem concreta para atacar o NTRU original explorando sua estrutura algébrica foi encontrada até agora.

NTRU tornou-se finalista na 3ª rodada do projeto Post-Quantum Cryptography Standardization , enquanto NTRU Prime tornou-se um candidato alternativo.

atuação

Com força criptográfica equivalente, o NTRU executa operações caras de chave privada com muito mais rapidez do que o RSA. O tempo de execução de uma operação privada RSA aumenta conforme o cubo do tamanho da chave, enquanto o de uma operação NTRU aumenta quadraticamente.

Em 2010, o Departamento de Engenharia Elétrica da Universidade de Leuven observou que "[usando] uma GPU GTX280 moderna, uma taxa de transferência de até 200.000 criptografias por segundo pode ser alcançada com um nível de segurança de 256 bits. Comparando-o com um simétrico cifra (não é uma comparação muito comum), isso é apenas cerca de 20 vezes mais lento do que uma implementação AES recente. "

Resistência a ataques baseados em computadores quânticos

Ao contrário do RSA e da criptografia de curva elíptica , o NTRU não é conhecido por ser vulnerável a ataques quânticos baseados em computador . O Instituto Nacional de Padrões e Tecnologia escreveu em uma pesquisa de 2009 que "[há] alternativas viáveis ​​para criptografia de chave pública e assinaturas que não são vulneráveis ​​ao Algoritmo de Shor" e "[dos] vários esquemas criptográficos baseados em rede que foram desenvolvidos , a família NTRU de algoritmos criptográficos parece ser a mais prática ". O projeto PQCRYPTO da União Europeia ( Horizon 2020 ICT-645622) está avaliando a versão Stehle-Steinfeld comprovadamente segura do NTRU (não o algoritmo NTRU original em si) como um padrão europeu em potencial. No entanto, a versão Stehle-Steinfeld do NTRU é "significativamente menos eficiente do que o esquema original."

estandardização

  • O padrão IEEE Std 1363.1, emitido em 2008, padroniza a criptografia de chave pública baseada em rede, especialmente NTRUEncrypt.
  • O padrão X9.98 padroniza a criptografia de chave pública baseada em rede, especialmente NTRUEncrypt, como parte dos padrões X9 para o setor de serviços financeiros.
  • O projeto PQCRYPTO da Comissão Europeia está considerando a padronização da versão Stehle-Steinfeld comprovadamente segura do NTRU

Implementações

Originalmente, o NTRU estava disponível apenas como uma biblioteca proprietária paga e os autores de código aberto foram ameaçados com uma ação legal. Não foi até 2011 que a primeira implementação de código aberto apareceu e, em 2013, a Security Innovation isentou projetos de código aberto de ter que obter uma licença de patente e lançou uma implementação de referência NTRU sob a GPL v2.

Agora existem cinco implementações de NTRU de código aberto - cada uma está disponível em Java e C:

  • A implementação de referência licenciada pela GPL
  • Uma biblioteca licenciada por BSD
  • Castelo inflável
  • GoldBug Messenger foi o primeiro cliente de bate-papo e e-mail com NTRU Algorithm sob licença de código aberto, que é baseado no Spot-On Encryption Suite Kernels.
  • Além disso, wolfSSL fornece suporte para conjuntos de cifras NTRU em uma implementação C leve.

Referências

links externos