ECC (Elliptic Curve Cryptography) e RSA são dois algoritmos usados para gerar pares de chaves de certificados SSL. Ambos são seguros, mas o ECC produz chaves menores com segurança equivalente e handshakes TLS mais rápidos. A maioria das implantações modernas deve usar ECC.
Comparação rápida
| ECC (P-256) | RSA 2048 | RSA 4096 | |
|---|---|---|---|
| Tamanho da chave | 256 bits | 2048 bits | 4096 bits |
| Segurança equivalente | ~128-bit | ~112-bit | ~128-bit |
| Velocidade do handshake TLS | Mais rápido | Médio | Mais lento |
| Tamanho do certificado | ~500 bytes | ~1.200 bytes | ~2.400 bytes |
| Geração de chave | Rápida | Média | Lenta |
| Suporte de navegadores | Todos os navegadores modernos | Universal | Universal |
| Padrão Let’s Encrypt | ✅ Recomendado | Suportado | Suportado |
| Padrão GetHTTPS | ✅ P-256 | Disponível | Não oferecido |
Por que ECC é melhor para a maioria dos casos
Chaves menores, mesma segurança
Uma chave ECC de 256 bits fornece segurança equivalente a uma chave RSA de 3072 bits. Chaves menores significam:
- Certificados menores → menos dados transferidos durante o handshake TLS
- Verificação de assinatura mais rápida → menor carga de CPU
- Menor uso de banda → importante para sites de alto tráfego e conexões móveis
Handshakes mais rápidos
As operações de assinatura ECDSA são significativamente mais rápidas que RSA, especialmente no lado do servidor. Para sites de alto tráfego, isso reduz o uso de CPU e o time-to-first-byte.
Forward secrecy
O TLS moderno usa ECDHE (Elliptic Curve Diffie-Hellman Efêmero) para troca de chaves independentemente do tipo de certificado. Mas certificados ECC se combinam naturalmente com ECDHE — todo o handshake usa matemática de curvas elípticas, que é mais eficiente do que misturar RSA e ECDHE.
Quando RSA ainda faz sentido
Compatibilidade com dispositivos legados
Alguns dispositivos mais antigos, sistemas embarcados e hardware IoT não suportam ECC. Se você precisa suportar:
- Windows XP SP2 ou anterior
- Versões muito antigas do Android (< 4.0)
- Certos sistemas embarcados ou balanceadores de carga de hardware
…então RSA 2048 é a escolha mais segura.
Requisitos organizacionais
Alguns frameworks de conformidade ou políticas internas podem especificar RSA. Isso é cada vez mais raro, mas verifique seus requisitos.
Adoção no mundo real
A indústria está migrando de RSA para ECC:
| Organização | Tipo de chave | Notas |
|---|---|---|
| ECDSA P-256 | Todas as propriedades Google | |
| Cloudflare | ECDSA P-256 | Padrão para todos os certificados do plano gratuito |
| Facebook / Meta | ECDSA P-256 | Servidores web de produção |
| Let’s Encrypt | Recomenda ECDSA | Emite ambos, recomenda ECC |
| ZeroSSL | ECDSA crescendo | Emissão ECC cresceu 51,1% (maior crescimento entre todas as CAs) |
Como verificar o que seu site usa
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null \
| openssl x509 -noout -text | grep "Public Key Algorithm"
# ECDSA: "id-ecPublicKey"
# RSA: "rsaEncryption"
Ou verifique no navegador: cadeado → Certificado → Detalhes → Informações da Chave Pública do Assunto.
O que o GetHTTPS usa
O GetHTTPS gera chaves ECDSA P-256 por padrão para certificados, e P-256 para chaves de conta ACME. Você pode selecionar RSA 2048 para a chave do certificado se necessário.
P-256 (também chamado prime256v1 ou secp256r1) é:
- Suportado por todos os navegadores e servidores modernos
- Recomendado pela Let’s Encrypt
- Usado pela maioria dos sites de alto tráfego (Google, Cloudflare, etc.)
- Suportado na Web Crypto API (que o GetHTTPS usa para geração de chaves)
Considerações pós-quânticas
Nem ECC nem RSA é seguro contra computação quântica. Um computador quântico suficientemente poderoso poderia quebrar ambos usando o algoritmo de Shor. A indústria está se preparando desenvolvendo troca de chaves pós-quântica (ML-KEM, anteriormente Kyber) para TLS, que será usada junto com algoritmos existentes em modo híbrido.
Isso não afeta sua escolha de certificado hoje — a migração para pós-quântico acontecerá no nível do protocolo (TLS), não no nível do certificado. Use ECC agora e deixe a pilha TLS lidar com a transição.
Perguntas frequentes
Posso mudar de RSA para ECC (ou vice-versa)?
Sim. Gere um novo certificado com o tipo de chave desejado e substitua os arquivos no seu servidor. O servidor não se importa com qual algoritmo os certificados anteriores usavam.
Meu servidor web precisa de configuração especial para ECC?
Não. Nginx e Apache lidam com certificados ECC da mesma forma que RSA — mesmas diretivas, mesmo formato de arquivo (PEM). O servidor detecta automaticamente o tipo de chave.
P-384 é melhor que P-256?
P-384 oferece ~192 bits de segurança vs ~128 bits do P-256. Na prática, 128 bits de segurança está muito além do que é quebrável hoje (ou num futuro previsível). P-256 é mais rápido e mais amplamente otimizado. A menos que você tenha um requisito específico de conformidade para P-384, use P-256.