Seu navegador não oferece leitura em voz alta. Você pode ler o guia normalmente.
Criptografia é a técnica de transformar uma informação legível em um conteúdo embaralhado, que só quem possui a chave correta consegue reverter. É a base da confidencialidade, da integridade e da autenticidade nas comunicações digitais, e a diferença entre chave simétrica e assimétrica é um dos pontos mais cobrados.
Vocabulário essencial
- Texto claro: a mensagem original, legível.
- Cifrar: transformar o texto claro em texto cifrado.
- Decifrar: voltar do texto cifrado ao texto claro, usando a chave correta.
- Chave: informação secreta (ou parcialmente pública) que controla a cifragem.
- Algoritmo: a receita matemática que realiza a transformação.
Princípio importante: a segurança deve depender do sigilo da chave, e não de manter o algoritmo secreto. Algoritmos bem conhecidos e testados publicamente são mais confiáveis.
Uma ideia simples: a cifra de César
A cifra de César desloca cada letra um número fixo de posições no alfabeto. Com deslocamento 3, A vira D, B vira E, e assim por diante.
Exemplo. Cifre a palavra CASA com deslocamento 3.
- C desloca 3 posições e vira F.
- A vira D.
- S vira V.
- A vira D.
- Resultado: FDVD.
Para decifrar, desloca-se 3 posições no sentido contrário. Note que a mesma chave (o número 3) serve para cifrar e para decifrar. É o princípio da criptografia simétrica, ainda que a cifra de César seja trivial de quebrar e sirva só como ilustração.
Criptografia simétrica
Usa uma única chave, compartilhada entre quem cifra e quem decifra.
- Vantagem: é rápida e adequada para grandes volumes de dados.
- Desvantagem: como distribuir a chave com segurança? Se alguém a interceptar, todo o sigilo se perde.
- Escala de chaves: para que n pessoas se comuniquem em pares com chaves exclusivas, são necessárias n × (n − 1) ÷ 2 chaves. Para 5 pessoas: 5 × 4 ÷ 2 = 10 chaves. Para 10 pessoas: 10 × 9 ÷ 2 = 45.
- Exemplos de algoritmos: DES (antigo), 3DES e AES (muito usado).
Criptografia assimétrica
Usa um par de chaves matematicamente relacionadas: uma pública, que pode ser divulgada, e uma privada, mantida em segredo pelo titular. O que uma chave cifra, só a outra decifra.
- Vantagem: resolve o problema da distribuição de chaves, pois a chave pública pode circular livremente.
- Desvantagem: é mais lenta que a simétrica.
- Exemplo de algoritmo: RSA.
Dois usos, duas direções
| Objetivo | Quem cifra | Com qual chave | Quem decifra |
|---|---|---|---|
| Confidencialidade | Remetente | Chave pública do destinatário | Destinatário, com a sua chave privada |
| Autenticidade e não repúdio | Remetente | Sua própria chave privada | Qualquer pessoa, com a chave pública do remetente |
Guarde a regra: para sigilo, cifra-se com a pública do destinatário; para assinar, usa-se a privada do autor.
Função hash
Um hash (resumo) é um valor de tamanho fixo calculado a partir de uma mensagem. Suas características:
- Unidirecional: não se recupera a mensagem original a partir do hash.
- Determinístico: a mesma entrada sempre gera o mesmo hash.
- Sensível: qualquer alteração mínima na mensagem muda o hash por completo.
Por isso, o hash serve para verificar integridade. Se o hash de um arquivo recebido for igual ao divulgado pela origem, o arquivo não foi alterado. Exemplos de algoritmos: MD5 (considerado fraco para segurança) e a família SHA. Hash não é criptografia no sentido de cifrar e decifrar, pois não há volta.
Assinatura digital
A assinatura digital garante autenticidade, integridade e não repúdio. Funcionamento resumido:
- O remetente calcula o hash da mensagem.
- Cifra esse hash com a sua chave privada: esse é o conteúdo da assinatura.
- Envia a mensagem junto com a assinatura.
- O destinatário decifra a assinatura com a chave pública do remetente e obtém o hash enviado.
- Calcula ele mesmo o hash da mensagem recebida e compara os dois.
Se forem iguais, a mensagem é íntegra e foi mesmo assinada por quem possui a chave privada. Atenção: a assinatura digital, por si só, não deixa a mensagem confidencial. Para sigilo, é preciso cifrar também.
Certificado digital
Como saber que uma chave pública pertence realmente a determinada pessoa ou site? O certificado digital é um documento eletrônico que vincula uma chave pública a uma identidade, assinado por uma autoridade certificadora (AC) confiável. Ele contém, entre outros dados, o titular, a chave pública, o prazo de validade e a assinatura da AC. Se a AC é confiável, o certificado é confiável.
Uso combinado: o modelo híbrido
Como a assimétrica é lenta e a simétrica tem o problema da troca de chaves, protocolos como o HTTPS combinam as duas: usam a criptografia assimétrica para combinar com segurança uma chave de sessão e, depois, usam essa chave simétrica para proteger o restante da conversa, que é mais rápido.
Exercício resolvido
Pergunta: Ana quer enviar uma mensagem sigilosa a Bruno, de modo que só ele consiga lê-la. Qual chave Ana deve usar para cifrar?
Resolução: o sigilo exige que apenas Bruno decifre. Logo, Ana cifra com a chave pública de Bruno, e só a chave privada dele decifra.
Segunda pergunta: Ana também quer que Bruno tenha certeza de que a mensagem veio dela. O que ela deve acrescentar?
Resolução: sua assinatura digital, produzida com a chave privada de Ana; Bruno verifica com a pública dela.
Erros comuns
- Trocar as chaves: cifrar com a privada do destinatário (ninguém além dele a possui).
- Dizer que a assinatura digital garante sigilo.
- Achar que o hash pode ser revertido.
- Confundir a quantidade de chaves entre simétrica e assimétrica.
- Esquecer que o certificado digital depende da confiança na autoridade certificadora.
Próximos passos
- Veja as ameaças que a criptografia ajuda a enfrentar em segurança da informação: ameaças, malware e golpes digitais.
- Entenda o HTTPS em redes de computadores e internet: conceitos e protocolos.
- Conheça a política editorial.