Criptografia Simétrica (Symmetric Cryptography)
Definição
Criptografia Simétrica (Symmetric Cryptography) é um tipo de criptografia onde a mesma chave é usada tanto para criptografar quanto para descriptografar os dados.
Ou seja, quem cifra a informação e quem decifra precisam compartilhar previamente uma chave secreta, e a segurança do processo depende diretamente da proteção dessa chave.
Esse modelo é amplamente utilizado devido à sua eficiência e velocidade, especialmente em grandes volumes de dados.
Exemplos comuns de algoritmos simétricos incluem:
- AES (Advanced Encryption Standard)
- DES (Data Encryption Standard)
- 3DES (Triple DES)
- ChaCha20
Objetivos da Criptografia Simétrica
- Confidencialidade: proteger o conteúdo dos dados contra acesso não autorizado.
- Rapidez: permitir a criptografia e a descriptografia de grandes volumes de dados de forma eficiente.
- Simplicidade: utilizar um único segredo compartilhado para comunicação segura.
- Proteção de dados em trânsito ou em repouso: muito usada para proteger arquivos, comunicações e backups.
Exemplo prático (Python) — Criptografando e descriptografando com Fernet (AES)
from cryptography.fernet import Fernet
# Gerar chave simétrica
chave = Fernet.generate_key()
cipher_suite = Fernet(chave)
# Mensagem original
mensagem = "Programício é incrível!"
mensagem_bytes = mensagem.encode()
# Criptografar
mensagem_cifrada = cipher_suite.encrypt(mensagem_bytes)
# Descriptografar
mensagem_decifrada = cipher_suite.decrypt(mensagem_cifrada)
print("Mensagem original:", mensagem)
print("Mensagem cifrada:", mensagem_cifrada)
print("Mensagem decifrada:", mensagem_decifrada.decode())
(Nota: Fernet é uma implementação segura que combina AES em modo CBC com HMAC para garantir confidencialidade e integridade dos dados.)
Saída
Mensagem original: Programício é incrível!
Mensagem cifrada: b'gAAAAABl... (texto cifrado)'
Mensagem decifrada: Programício é incrível!
(A mensagem cifrada muda a cada execução devido a elementos aleatórios no processo.)
O ciclo da criptografia simétrica
[Mensagem Original] --> (Criptografia com Chave Secreta) --> [Mensagem Cifrada]
[Mensagem Cifrada] --> (Descriptografia com a mesma Chave Secreta) --> [Mensagem Original]
A mesma chave é usada para os dois processos: criptografar e descriptografar.
(Importante: o principal desafio da criptografia simétrica é o compartilhamento seguro da chave entre as partes, o que motivou o desenvolvimento da criptografia assimétrica.)