Criptografia (Cryptography)
Definição
Criptografia (Cryptography) é o conjunto de técnicas que visa proteger informações, tornando seu conteúdo ilegível para pessoas não autorizadas.
O processo envolve a transformação de dados originais (texto simples) em um formato codificado (texto cifrado), que só pode ser revertido com o uso de chaves específicas.
A criptografia é usada para garantir a confidencialidade, integridade, autenticidade e não-repúdio das informações.
Por que usar
- Proteger dados sensíveis: impede que terceiros leiam informações privadas, mesmo se conseguirem acesso aos dados.
- Garantir a autenticidade: confirma que a mensagem foi enviada por quem deveria enviá-la.
- Assegurar a integridade: garante que a mensagem não foi alterada durante o envio.
- Base para protocolos seguros: é a base para HTTPS, assinaturas digitais, VPNs e comunicação segura.
- Compliance e regulamentações: muitas normas legais exigem o uso de criptografia (LGPD, GDPR, HIPAA).
Exemplo prático (Python) — Criptografando com Fernet (criptografia simétrica)
from cryptography.fernet import Fernet
# Gerar uma chave secreta
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())
Saída
Mensagem original: Programício é incrível!
Mensagem cifrada: b'gAAAAABk... (texto cifrado)'
Mensagem decifrada: Programício é incrível!
(A mensagem cifrada será diferente a cada execução, pois o processo inclui elementos aleatórios.)
O ciclo da criptografia
[Mensagem Original] --> (Criptografia com Chave) --> [Mensagem Cifrada]
[Mensagem Cifrada] --> (Descriptografia com Chave) --> [Mensagem Original]