Skip to content

Criptografia Simétrica vs Assimétrica - Comparativo Completo

Depois de explorarmos individualmente a criptografia simétrica e a criptografia assimétrica, chegou o momento de colocá-las lado a lado. Entender as diferenças, pontos fortes e limitações de cada abordagem é essencial para fazer boas escolhas de projeto, interpretar logs e configurações de serviços, e identificar quando uma pode substituir a outra ou quando devem trabalhar juntas.

Neste post comparamos os dois paradigmas em oito dimensões (chaves, operação, desempenho, tamanhos, segurança, resiliência, usos e papel na infraestrutura), culminando no modelo híbrido que é hoje o padrão em praticamente toda comunicação segura.

Antes de entrar nos detalhes, vale fixar o retrato de cada abordagem:

DimensãoSimétricaAssimétrica
ChavesUma única chave compartilhadaPar de chaves (pública e privada)
OperaçãoMesma chave cifra e decifraChaves diferentes para cifrar e decifrar
VelocidadeMuito rápidaMuito mais lenta
Tamanho da chave128 a 256 bits256 a 4096 bits (ou mais)
Função principalCifragem de dados em volumeTroca de chaves e autenticação
Problema que resolveConfidencialidadeDistribuição + identidade
Exemplo modernoAES, ChaCha20RSA, ECC, Ed25519, X25519
Papel em TLS 1.3Cifra o tráfego realAutentica servidor e troca chaves

Vamos agora detalhar cada uma dessas dimensões.

Uma única chave secreta, compartilhada entre as partes. Ela cifra e também decifra. Em uma rede com N participantes se comunicando dois a dois, são necessárias cerca de N × (N − 1) / 2 chaves distintas.

Cada participante possui um par matematicamente relacionado: uma chave pública (livremente distribuída) e uma chave privada (mantida em segredo). Em uma rede de N participantes, bastam N pares de chaves no total.

ParticipantesChaves simétricas necessáriasPares assimétricos necessários
104510
1004.950100
1.000499.5001.000
10.00049.995.00010.000

A diferença se torna gritante conforme a rede cresce. É um dos motivos pelos quais a criptografia assimétrica foi essencial para a existência da internet moderna.

A mesma função matemática é usada em ambas as direções, parametrizada pela chave:

Cifragem: C = E(K, M)
Decifragem: M = D(K, C)

A reversibilidade é garantida pela natureza da operação (XOR, substituições, permutações). O que uma rodada faz, a rodada inversa desfaz.

Duas operações distintas, cada uma usando uma chave diferente do par:

Cifragem com chave pública: C = E(K_pub, M)
Decifragem com chave privada: M = D(K_priv, C)
Assinatura com chave privada: S = Sign(K_priv, M)
Verificação com chave pública: Verify(K_pub, M, S) → verdadeiro ou falso

Baseia-se em funções unidirecionais com alçapão (trapdoor one-way functions): fáceis em uma direção, difíceis em outra, exceto para quem conhece o segredo.

A diferença de velocidade entre as duas abordagens é uma das mais marcantes:

OperaçãoAES-256-GCM (simétrica)RSA 3072 (assimétrica)
Taxa de processamento (CPU moderno com AES-NI)~5 a 10 GB/s~0,1 a 1 MB/s
Latência típica por operaçãoMicrossegundosMilissegundos
Operações por segundoMilhõesCentenas a milhares

Resultado prático: a criptografia assimétrica é entre 100 e 10.000 vezes mais lenta que a simétrica. Essa é a razão pela qual os protocolos modernos usam assimétrica apenas para o handshake inicial (que acontece uma vez por sessão) e simétrica para o volume de dados em trânsito.

Esse comparativo pode ser verificado localmente:

Terminal window
openssl speed -evp aes-256-gcm
openssl speed rsa3072

Significado dos comandos:

  • openssl speed: subcomando que executa benchmarks dos algoritmos
  • -evp aes-256-gcm: usa a API EVP para medir AES-256 no modo GCM (otimizado via AES-NI quando disponível)
  • rsa3072: executa benchmark de assinatura e verificação RSA com chave de 3072 bits

A saída permite comparar diretamente quantas operações por segundo cada algoritmo consegue.

Chaves pequenas e eficientes: 128 bits já oferecem segurança excelente, 256 bits são o padrão de alta segurança. Não existem atalhos matemáticos conhecidos que reduzam significativamente o espaço de busca; a única ameaça prática é a força bruta.

Chaves muito maiores para o mesmo nível de segurança, porque algoritmos como o RSA são atacáveis por métodos específicos (GNFS para fatoração, por exemplo).

Equivalência prática (recomendações NIST):

Nível de segurançaChave simétricaRSA / DHECC
112 bits1122048224
128 bits128 (AES)3072256
192 bits192 (AES)7680384
256 bits256 (AES)15360521

Note como a ECC reduz drasticamente o tamanho da chave em relação ao RSA, mantendo a mesma segurança. É por isso que a ECC vem substituindo o RSA em novos projetos.

  • Ataques principais: força bruta (busca exaustiva no espaço de chaves)
  • Vulnerabilidades históricas: DES (chave 56 bits), 3DES (bloco 64 bits via Sweet32), RC4 (vieses estatísticos)
  • Erros comuns: reuso de nonce em GCM/CTR, uso de ECB para dados estruturados, ausência de autenticação em CBC
  • Ataques principais: resolver o problema matemático subjacente (fatoração, logaritmo discreto)
  • Vulnerabilidades históricas: RSA 1024 (fatorável com esforço significativo), DSA com nonces previsíveis, chaves com parâmetros maliciosos
  • Erros comuns: padding incorreto (Bleichenbacher no RSA PKCS#1 v1.5), reuso de nonce em ECDSA, chaves geradas com entropia insuficiente

Esse é um ponto em que a diferença entre as duas abordagens é crucial:

  • Simétrica: o algoritmo de Grover reduz a força efetiva pela metade. AES-128 passaria a oferecer 64 bits efetivos, AES-256 continuaria com 128 bits (ainda seguro)
  • Assimétrica: o algoritmo de Shor quebra totalmente RSA, DSA, DH e ECC. Chaves de qualquer tamanho ficam comprometidas

Por isso, a transição para algoritmos pós-quânticos (como ML-KEM e ML-DSA) é prioritária para a parte assimétrica dos protocolos, enquanto a simétrica apenas migra para AES-256.

ServiçoSimétricaAssimétrica
ConfidencialidadeNativa, com qualquer modoPossível, mas lenta e com restrições
IntegridadeCom HMAC ou modos AEADNatural via hash + assinatura
AutenticidadeCom HMAC ou MACNatural via assinatura digital
Não-repúdioNão ofereceOferece (chave privada única)
Identidade de parteNão oferece diretamenteBase de certificados e PKI
Acordo seguro de chavesNão resolveResolve (Diffie-Hellman, KEM)

Essa é a diferença conceitual mais importante: a assimétrica permite provar identidade, pois a chave privada é individual. A simétrica, por natureza, não distingue quem está dos dois lados da chave compartilhada.

  • Grande volume de dados precisa ser cifrado (vídeo, arquivos, discos inteiros)
  • Baixa latência é essencial (streaming, comunicação em tempo real)
  • Recursos computacionais limitados (IoT, sensores, smartphones)
  • As duas partes já têm algum modo de compartilhar a chave
  • Não há relacionamento prévio entre as partes
  • Precisa-se de autenticação de identidade
  • É necessário não-repúdio (assinatura legal, contratos)
  • A escala é muito grande (milhões de usuários)
  • Dados pequenos (chaves de sessão, hashes, tokens)

Cada abordagem resolve problemas que a outra não consegue tratar bem.

  • A chave precisa ser transportada por canal seguro antes do uso
  • Perda da chave compromete todas as comunicações passadas cifradas com ela (sem forward secrecy)
  • Rotação exige redistribuição a todas as partes
  • A chave pública pode ser distribuída livremente, inclusive por canais inseguros
  • A chave privada precisa de proteção extrema (HSMs, smart cards, TPM)
  • Perda da chave privada permite impersonação futura mas não decifra sessões passadas quando usada com forward secrecy
  • A autenticidade da chave pública é garantida por certificados e cadeias de confiança (PKI)

O modelo híbrido: por que combinar as duas

Section titled “O modelo híbrido: por que combinar as duas”

Dadas as limitações individuais, protocolos modernos combinam o melhor dos dois mundos:

  1. Handshake assimétrico:
    • Cliente obtém o certificado do servidor (chave pública assinada por uma CA)
    • Cliente valida a assinatura da CA
    • Cliente e servidor realizam acordo de chaves via ECDHE (X25519)
    • Servidor assina parâmetros com sua chave privada (RSA ou ECDSA) para autenticação
  2. Comunicação simétrica:
    • A partir desse ponto, toda a comunicação usa AES-GCM ou ChaCha20-Poly1305
    • A chave simétrica é derivada do segredo acordado via HKDF
  • A assimétrica resolve a autenticação do servidor e a troca segura de chaves (handshake acontece uma vez por sessão)
  • A simétrica cifra o volume de dados reais com desempenho elevado (muitos megabytes ou gigabytes por sessão)

Resultado: o custo assimétrico é diluído em uma operação única, enquanto o custo simétrico (muito baixo) escala com o volume de dados.

  • TLS / HTTPS: ECDHE + ECDSA/RSA (handshake) + AES-GCM ou ChaCha20-Poly1305 (dados)
  • SSH: Curve25519 (handshake) + ChaCha20-Poly1305 ou AES-GCM (sessão)
  • PGP / GPG: RSA ou ECC (chave de sessão) + AES (dados)
  • S/MIME: RSA ou ECC (chave de sessão) + AES (conteúdo do e-mail)
  • WireGuard: Noise Protocol com X25519 + ChaCha20-Poly1305
  • Signal Protocol: X3DH + Double Ratchet (chaves efêmeras simétricas rotacionadas)

Para fixar as diferenças em uma única referência:

AspectoSimétricaAssimétrica
Número de chaves1 (compartilhada)2 (pública + privada)
Chave de cifragem = decifragem?SimNão (chaves diferentes)
Problema matemático baseForça bruta sobre o espaçoFatoração, logaritmo discreto, ECDLP
VelocidadeMuito altaBaixa
Tamanho de chave para 128 bits128 bits3072 bits (RSA) ou 256 bits (ECC)
ConfidencialidadeSimSim (mas pouco usada diretamente)
AutenticidadeCom HMACNativa via assinatura
Não-repúdioNãoSim
Distribuição de chavesProblema realResolve o problema
Vulnerável à computação quânticaParcialmente (Grover)Totalmente (Shor)
Padrão em usoAES-GCM, ChaCha20-Poly1305Ed25519, X25519, RSA 3072, ECDSA
Aceleração em hardwareAES-NI, VAES, PCLMULQDQProcessadores modernos têm instruções
Papel em TLS 1.3Cifra o tráfego realAutentica e troca chaves

“Posso usar só criptografia simétrica?”

Em cenários isolados sim (criptografia de disco, backups locais, comunicação entre serviços já configurados com chave compartilhada). Mas qualquer comunicação com partes externas desconhecidas exige, no mínimo, uma camada assimétrica para troca inicial de chaves ou autenticação.

“Posso usar só criptografia assimétrica?”

Em teoria sim, mas na prática é inviável para volumes maiores que alguns kilobytes, pela lentidão. Além disso, a cifragem direta de dados grandes com RSA exige padding e tem limitações estruturais. O modelo híbrido é sempre preferível.

“Qual escolher para meu projeto?”

Se é um protocolo novo: use um já pronto (TLS, SSH, Noise) em vez de combinar algoritmos manualmente. Se precisa escolher componentes: AES-256-GCM ou ChaCha20-Poly1305 para o lado simétrico, Ed25519 ou ECDSA P-256 para assinatura, X25519 para acordo de chaves. Nunca invente seu próprio protocolo criptográfico.

Simétrica e assimétrica não são tecnologias concorrentes, mas complementares. Cada uma resolve uma classe de problemas que a outra não trata bem: a simétrica domina o processamento massivo de dados cifrados, enquanto a assimétrica resolve o estabelecimento de confiança e a troca segura de chaves entre partes que nunca se conheceram.

A combinação delas é o que torna possível a infraestrutura moderna de comunicação segura: um site HTTPS, uma sessão SSH, uma mensagem no Signal, um pacote Debian assinado, um documento com certificado ICP-Brasil, tudo isso envolve as duas abordagens trabalhando em camadas diferentes.

Com este post encerramos o bloco de Criptografia Assimétrica. Nos próximos entraremos no estudo dos hashes criptográficos e das assinaturas digitais em profundidade, consolidando as peças que permitirão, mais adiante, entender integralmente os certificados digitais e a infraestrutura de chaves públicas (PKI).