Pular para o conteúdoHisnLabs
← Criptografia em que você pode confiar

Aula 1 de 4 · 9 min

Criptografia simétrica, criptografia assimétrica e hashing

Três ferramentas criptográficas diferentes garantem três coisas diferentes. Confundi-las é a fonte mais comum de falsa confiança.

As pessoas costumam dizer “está criptografado” como se isso resolvesse uma questão de segurança. Não resolve, porque criptografia não é uma coisa só. Esta aula cobre os três blocos fundamentais por trás de quase toda afirmação de proteção digital: criptografia simétrica, criptografia assimétrica e hashing. Cada uma garante algo diferente, e saber qual delas está em jogo diz o que realmente está sendo protegido.

Criptografia simétrica: uma chave compartilhada

O Learning Center da Cloudflare descreve a criptografia simétrica de forma simples: “existe apenas uma chave, e todas as partes que se comunicam usam a mesma chave (secreta) tanto para criptografar quanto para descriptografar”. O Advanced Encryption Standard (AES) é o exemplo padrão hoje, tendo substituído o mais antigo Data Encryption Standard (DES) depois que o tamanho curto da chave do DES o tornou quebrável por força bruta. A criptografia simétrica é rápida e é o que realmente embaralha a maior parte dos seus dados, seja um arquivo em disco ou o corpo de uma página web carregada por HTTPS. Seu problema central é a distribuição: os dois lados precisam da mesma chave secreta, e levar essa chave até a outra parte sem que ninguém mais a veja é exatamente o problema que a criptografia assimétrica resolve.

Criptografia assimétrica: duas chaves que funcionam como um par

Na criptografia assimétrica, ou de chave pública, existem duas chaves matematicamente ligadas: “uma chave é usada para criptografar, e uma chave diferente é usada para descriptografar”, segundo a Cloudflare. A chave de criptografia pode ser divulgada para qualquer pessoa — daí “chave pública” — enquanto a chave de descriptografia correspondente permanece privada. Dados trancados com a chave pública só podem ser destrancados com a chave privada. É isso que permite que duas pessoas que nunca se encontraram cheguem a um segredo compartilhado por uma rede aberta, exatamente o que acontece no início de toda conexão HTTPS (a próxima aula aborda esse aperto de mão em detalhes). RSA e criptografia de curvas elípticas são os algoritmos comuns por trás disso hoje.

Hashing: uma impressão digital, não um cadeado

Uma função de hash não é nenhuma das duas coisas anteriores: ela não tranca nada, e não existe chave para destrancá-la. O NIST a define como uma função que “mapeia uma sequência de bits de comprimento arbitrário para uma sequência de bits de comprimento fixo” — em termos simples, ela transforma qualquer arquivo ou mensagem em uma impressão digital curta e de tamanho fixo. O NIST especifica as propriedades que uma função de hash aprovada precisa ter: deve ser computacionalmente inviável encontrar uma entrada que produza uma saída específica (unidirecionalidade), e inviável encontrar duas entradas diferentes que produzam a mesma saída (resistência a colisões). É por isso que o hashing verifica integridade — este arquivo mudou? — e protege senhas armazenadas: um serviço pode conferir uma senha contra seu hash armazenado sem nunca guardar a senha em si. Funções de hash mais antigas, como MD5 e SHA-1, não são mais consideradas seguras contra um atacante determinado, e é por isso que os sistemas modernos usam as famílias SHA-2 ou SHA-3.

O que cada uma realmente garante

FerramentaO que garanteO que não garante
Criptografia simétricaConfidencialidade, se a chave compartilhada permanecer secretaUma forma segura de trocar essa chave em primeiro lugar
Criptografia assimétricaUma forma de trocar um segredo, e de verificar identidade (veja a próxima aula sobre assinaturas)Velocidade; é bem mais lenta do que a criptografia simétrica para grandes volumes de dados
HashingIntegridade: prova de que os dados não foram alterados, e uma forma de verificar segredos sem armazená-losConfidencialidade; um hash não foi projetado para ser revertido, mas também não foi projetado para esconder o tamanho ou a presença dos dados

Como elas se combinam na prática

Quase nada usa apenas uma dessas técnicas. Uma conexão segura típica usa criptografia assimétrica brevemente, para chegar a um segredo compartilhado, depois passa para a criptografia simétrica, mais rápida, para os dados de fato, enquanto o hashing roda o tempo todo para garantir que nada enviado foi alterado no caminho. Reconhecer esses três papéis é o que faz o resto deste curso — assinaturas, certificados, TLS e criptografia de ponta a ponta — fazer sentido como combinações do mesmo pequeno conjunto de ferramentas, em vez de mágica separada.

Para lembrar

  • A criptografia simétrica usa uma chave compartilhada tanto para criptografar quanto para descriptografar; é rápida, mas exige uma forma segura de compartilhar a chave.
  • A criptografia assimétrica usa uma chave pública e uma chave privada como um par, resolvendo o problema de distribuição de chaves que a criptografia simétrica tem.
  • O hashing produz uma impressão digital de tamanho fixo dos dados; protege integridade e segredos armazenados, não confidencialidade — não existe chave para destrancar um hash.
  • Sistemas reais combinam as três técnicas: criptografia assimétrica para chegar a um segredo, criptografia simétrica pela velocidade, hashing para detectar adulteração.
  • Algoritmos mais antigos (DES, MD5, SHA-1) têm fraquezas conhecidas; o AES e as famílias SHA-2/SHA-3 são os padrões atuais.

Teste seus conhecimentos

  1. 1. Qual é a característica que define a criptografia simétrica?

    • Ela usa uma chave pública e uma chave privada
    • Ela usa uma única chave secreta compartilhada tanto para criptografar quanto para descriptografar — Certo.
    • Ela não pode ser usada para grandes volumes de dados
    • Ela nunca exige chave alguma

    A criptografia simétrica depende de uma única chave compartilhada que as duas partes já possuem; o desafio é distribuir essa chave com segurança.

  2. 2. Qual problema a criptografia assimétrica resolve, que a criptografia simétrica não resolve sozinha?

    • Tornar a criptografia mais rápida
    • Permitir que duas partes cheguem a um segredo compartilhado sem se encontrar antes — Certo.
    • Tornar as senhas mais fáceis de lembrar
    • Impedir que os dados sejam apagados

    A criptografia de chave pública permite que uma chave pública seja compartilhada abertamente enquanto só a chave privada correspondente consegue descriptografar, permitindo a troca segura de chaves em uma rede aberta.

  3. 3. Por que uma função de hash não pode ser usada para manter uma mensagem em segredo?

    • Hashes são sempre curtos demais para conter uma mensagem
    • Um hash é unidirecional por design; não existe chave para revertê-lo de volta aos dados originais — Certo.
    • Funções de hash são ilegais para uso em criptografia
    • Hashes só funcionam em imagens, não em texto

    As funções de hash são construídas de forma que recuperar a entrada original a partir da saída seja computacionalmente inviável — essa propriedade (unidirecionalidade) as torna úteis para verificação de integridade e armazenamento de senhas, não para confidencialidade.

  4. 4. Qual par de algoritmos é considerado ultrapassado devido a fraquezas conhecidas?

    • AES e RSA
    • DES e MD5 — Certo.
    • SHA-2 e criptografia de curvas elípticas
    • TLS e HTTPS

    O tamanho curto da chave do DES e as fraquezas de colisão do MD5 fazem com que os sistemas modernos usem AES e as famílias SHA-2/SHA-3 no lugar deles.

Praticar com o FireAI

Coloque esta lição em prática no seu próprio Mac.

Fontes

Coloque em prática no seu Mac

Teste todos os recursos grátis por 17 dias, sem cartão.

Baixar para Mac Docs