Criptografia de curva elíptica (CEC) usa as propriedades matemáticas de curvas elípticas para produzir sistemas criptográficos de chave pública. Como toda criptografia de chave pública, a ECC é baseada em funções matemáticas que são simples de calcular em uma direção, mas muito difíceis de reverter. No caso de ECC, esta dificuldade reside na inviabilidade de calcular o logaritmo discreto de um elemento de curva elíptica aleatório em relação a um ponto de base conhecido publicamente, ou o "problema de logaritmo discreto de curva elíptica" (ECDLP)1. O Algoritmo de assinatura digital de curva elíptica (ECDSA) é um algoritmo de assinatura amplamente usado para criptografia de chave pública que usa ECC.
Performance
Para a maioria dos usuários, o ponto importante a lembrar é que, em comparação com o algoritmo RSA mais maduro e amplamente usado, o ECDSA oferece força criptográfica equivalente com tamanhos de chave muito menores. Embora a criptografia simétrica seja o esquema de melhor desempenho usado hoje, alguma forma de criptografia assimétrica é necessária para um SSL /TLS aperto de mão. Os algoritmos ECC oferecem o equivalente assimétrico mais próximo à criptografia simétrica em termos de desempenho. Conforme mostrado na tabela abaixo, os tamanhos de chave ECDSA aumentam linearmente com chaves de criptografia simétricas de força equivalente (como 2 × o tamanho da chave simétrica), enquanto as chaves RSA rapidamente se tornam muito maiores:
Tamanho da chave equivalente (bits) | ||
---|---|---|
Simétrico | ECDSA | RSA |
80 | 160 | 1024 |
112 | 224 | 2048 |
128 | 256 | 3072 |
192 | 384 | 7680 |
256 | 512 | 15360 |
Os tamanhos de chave menores do ECDSA significam que uma criptografia mais forte pode ser obtida com menos capacidade de computação e largura de banda de rede do que o RSA; isso é especialmente vantajoso para dispositivos móveis de baixa potência e Internet das coisas (IoT), que estão se tornando cada vez mais onipresentes.
A ECDSA foi endossada pelo Instituto Nacional de Padrões e Tecnologia dos EUA (NIST) e atualmente é aprovada pela Agência Nacional de Segurança dos EUA (NSA) para proteção de informações ultra-secretas com um tamanho de chave de 384 bits (equivalente a um 7680- chave RSA de bit).