Criptografia simétrica vs assimétrica
Criptografia é a base da segurança digital. Existem dois modelos principais: simétrico (uma chave) e assimétrico (par de chaves).
Criptografia simétrica
Uma única chave criptografa e descriptografa. Rápida, ideal para grandes volumes de dados.
AES (Advanced Encryption Standard) é o padrão atual. Usa blocos de 128 bits com chaves de 128, 192 ou 256 bits.
Dado original → [AES-256 + chave secreta] → Cifrado
Cifrado → [AES-256 + mesma chave] → Dado original
Modos de operação comuns:
- CBC (Cipher Block Chaining) — cada bloco depende do anterior. Requer IV único.
- GCM (Galois/Counter Mode) — autentica além de cifrar. Preferido em sistemas modernos.
# Cifrar arquivo com AES-256-GCM (OpenSSL)
openssl enc -aes-256-gcm -in arquivo.txt -out arquivo.enc -k senha_forte
O problema: como compartilhar a chave com segurança?
Criptografia assimétrica
Usa um par: chave pública (compartilhada) e chave privada (secreta). O que uma cifra, só a outra descriptografa.
RSA é o algoritmo mais conhecido. Baseia-se na dificuldade de fatorar números primos grandes.
Alice publica: chave pública
Bob cifra mensagem com a chave pública de Alice
Somente Alice (chave privada) consegue ler
ECC (Elliptic Curve Cryptography) usa curvas elípticas sobre corpos finitos. Mesma segurança que RSA com chaves muito menores.
| Segurança equivalente | RSA | ECC |
|---|---|---|
| 128 bits | 3072 b | 256 b |
| 192 bits | 7680 b | 384 b |
| 256 bits | 15360 b | 521 b |
Curvas comuns: P-256, P-384, Curve25519 (usada no TLS 1.3 e SSH).
Como os dois modelos se combinam
Na prática, os dois trabalham juntos — assimétrico troca a chave, simétrico cifra os dados:
1. Cliente gera chave AES aleatória
2. Cifra essa chave com RSA/ECC (chave pública do servidor)
3. Servidor decifra com sua chave privada
4. A partir daí, comunicação usa AES
Esse padrão está no TLS, SSH e PGP.
Quando usar cada um
| Critério | Simétrico (AES) | Assimétrico (RSA/ECC) |
|---|---|---|
| Velocidade | Muito rápido | Lento |
| Troca de chave | Problema | Resolve |
| Volume de dados | Ideal | Evite |
| Autenticação | Não | Sim |