Nota SeguraBR

Algoritmos de criptografia

Entenda como funcionam os algoritmos que você pode testar no Nota Segura - BR, e quais deles protegem um segredo de verdade.

Criptografia, hash e codificação

Muita coisa parece embaralhada sem estar protegida. Para saber se um segredo está seguro, é preciso separar três ideias: criptografia, hash e codificação. As três transformam um texto, mas só a criptografia esconde o conteúdo de quem não tem a chave.

A criptografia usa uma chave para transformar o texto em algo ilegível, e a chave certa faz o caminho de volta. Na criptografia simétrica, como o AES, a mesma chave cifra e decifra. Na criptografia assimétrica, como o RSA, existem duas chaves: a chave pública cifra e só a chave privada decifra. Um hash, como o SHA-256, não tem chave nem caminho de volta: ele gera uma impressão digital que confirma se um texto mudou. Uma codificação, como o Base64, só muda o formato dos dados para transportá-los, e qualquer pessoa desfaz.

Outros algoritmos não escondem o texto, mas resolvem problemas vizinhos. Um código de autenticação, como o HMAC, prova que a mensagem veio de quem tem a chave secreta e que não mudou. Uma assinatura digital, como o ECDSA ou o Ed25519, faz o mesmo com duas chaves: só a chave privada assina, e qualquer pessoa confere com a chave pública. A troca de chaves, como o ECDH, permite que duas pessoas combinem uma chave secreta pela internet sem enviá-la. E a derivação de chave, como o PBKDF2, transforma uma senha em uma chave forte.

As cifras clássicas, como a de César e a de Vigenère, foram a criptografia de outras épocas. O ROT13 e a cifra Atbash nem usam chave: qualquer pessoa desfaz. Nas outras, a matemática e os computadores de hoje descobrem a chave com facilidade. A exceção é a cifra de Vernam: com uma chave aleatória, do tamanho do texto e usada uma única vez, ela não pode ser quebrada. As demais servem para aprender, não para proteger.

O Nota Segura - BR protege cada nota com o AES-256-GCM, um padrão moderno que também protege o HTTPS. Abaixo, cada algoritmo tem uma página com o funcionamento, um exemplo, os usos e os cuidados, e você pode testá-lo no próprio navegador.

Os algoritmos

Criptografia

  • AES-256-GCM

    Seguro

    Criptografia simétrica

    Padrão moderno de criptografia simétrica: a mesma chave cifra e decifra. O modo GCM também detecta se o texto cifrado foi alterado. É o algoritmo que o Nota Segura - BR usa para proteger as notas.

    Ler sobre AES-256-GCM

  • ChaCha20-Poly1305

    Seguro

    Criptografia simétrica

    Cifra moderna de fluxo com autenticação, criada para ser rápida mesmo sem aceleração de hardware. Como o AES-GCM, detecta se o texto cifrado foi alterado. É usada no TLS 1.3, no WireGuard e no SSH.

    Ler sobre ChaCha20-Poly1305

  • AES-256-CBC

    Seguro

    Criptografia simétrica

    Usa o mesmo AES, mas encadeia os blocos com um vetor de inicialização (IV). Ainda é seguro quando bem usado, mas sozinho não detecta alterações no texto cifrado.

    Ler sobre AES-256-CBC

  • AES-256-CTR

    Seguro

    Criptografia simétrica

    Transforma o AES em uma cifra de fluxo: cifra um contador e combina o resultado com o texto. O resultado tem o mesmo tamanho do texto, mas o modo não detecta alterações.

    Ler sobre AES-256-CTR

  • RSA-OAEP

    Seguro

    Criptografia assimétrica

    Criptografia assimétrica: a chave pública cifra e só a chave privada decifra. É usada para proteger chaves curtas, como uma chave AES, e só cifra textos curtos. Para assinar dados, o RSA usa outro preenchimento, o PSS.

    Ler sobre RSA-OAEP

Hash

  • SHA-256

    Não é criptografia

    Hash

    Gera uma impressão digital de tamanho fixo do texto. O mesmo texto sempre gera o mesmo hash, mas não é possível voltar ao texto original.

    Ler sobre SHA-256

  • SHA-512

    Não é criptografia

    Hash

    Hash da mesma família do SHA-256, com resultado de 512 bits. É usado em assinaturas Ed25519 e em hashes de senhas do Linux. Como todo hash, não pode ser desfeito.

    Ler sobre SHA-512

  • SHA-1

    Inseguro

    Hash

    Hash de 160 bits muito usado no passado. Em 2017, pesquisadores criaram dois arquivos diferentes com o mesmo SHA-1, e ele deixou de ser seguro.

    Ler sobre SHA-1

  • MD5

    Inseguro

    Hash

    Hash de 128 bits dos anos 1990. Hoje é fácil criar dois textos com o mesmo MD5, então ele não serve para segurança, só para detectar erros de cópia.

    Ler sobre MD5

Autenticação e assinatura

  • HMAC-SHA-256

    Seguro

    Autenticação de mensagem

    Combina uma chave secreta com o SHA-256 para gerar um código de autenticação. Quem tem a chave confere se a mensagem veio de quem também tem a chave e se não mudou.

    Ler sobre HMAC-SHA-256

  • ECDSA

    Seguro

    Assinatura digital

    Assinatura digital com curvas elípticas: a chave privada assina e a chave pública confere. É usada em certificados HTTPS, em passkeys e no Bitcoin.

    Ler sobre ECDSA

  • Ed25519

    Seguro

    Assinatura digital

    Assinatura digital moderna em curvas de Edwards, rápida e com chaves de 32 bytes. Não depende de um número aleatório a cada assinatura, o que evita um erro comum do ECDSA.

    Ler sobre Ed25519

  • RSA-PSS

    Seguro

    Assinatura digital

    Assinatura digital com RSA e um preenchimento aleatório. É o formato que o TLS 1.3 exige para assinaturas RSA.

    Ler sobre RSA-PSS

Troca e derivação de chaves

  • ECDH

    Seguro

    Troca de chaves

    Troca de chaves Diffie-Hellman com curvas elípticas. Ana e Beto trocam apenas chaves públicas e chegam ao mesmo segredo, que vira uma chave AES.

    Ler sobre ECDH

  • PBKDF2

    Seguro

    Derivação de chave

    Transforma uma senha em uma chave, repetindo o HMAC centenas de milhares de vezes com um sal. Isso torna cada tentativa de adivinhar a senha mais lenta.

    Ler sobre PBKDF2

Codificação

  • Base64

    Não é criptografia

    Codificação

    Transforma bytes em letras e números para transporte. Não usa chave: qualquer pessoa desfaz a codificação, então não protege nada.

    Ler sobre Base64

  • Hexadecimal

    Não é criptografia

    Codificação

    Escreve cada byte com dois símbolos de 0 a 9 e de a até f. É muito usado para mostrar hashes e chaves. Não usa chave, então não protege nada.

    Ler sobre Hexadecimal

Cifras clássicas

  • Cifra de César

    Inseguro

    Cifra clássica

    Desloca cada letra um número fixo de posições no alfabeto. Usada na Roma antiga, é quebrada em segundos testando os 25 deslocamentos.

    Ler sobre Cifra de César

  • ROT13

    Inseguro

    Cifra clássica

    É a Cifra de César com deslocamento 13. Como o alfabeto tem 26 letras, aplicar o ROT13 duas vezes devolve o texto original.

    Ler sobre ROT13

  • Cifra Atbash

    Inseguro

    Cifra clássica

    Troca a primeira letra do alfabeto pela última, a segunda pela penúltima, e assim por diante. Vem do alfabeto hebraico e não tem chave.

    Ler sobre Cifra Atbash

  • Cifra de Vigenère

    Inseguro

    Cifra clássica

    Usa uma palavra-chave para deslocar cada letra de forma diferente. Resistiu por séculos, mas hoje é quebrada facilmente com análise de frequência.

    Ler sobre Cifra de Vigenère

  • Cifra de Playfair

    Inseguro

    Cifra clássica

    Cifra pares de letras com uma grade de 5 por 5 montada a partir de uma palavra-chave. Foi usada por militares britânicos, mas cai com a análise de frequência dos pares.

    Ler sobre Cifra de Playfair

  • Cerca de trilho

    Inseguro

    Cifra clássica

    Não troca nenhuma letra: escreve o texto em zigue-zague em alguns trilhos e lê trilho por trilho. É uma cifra de transposição, fácil de quebrar testando poucos números de trilhos.

    Ler sobre Cerca de trilho

  • Máquina Enigma

    Inseguro

    Cifra clássica

    Máquina alemã da Segunda Guerra Mundial, com rotores que mudam a substituição a cada letra. Foi quebrada por matemáticos poloneses e britânicos, entre eles Alan Turing.

    Ler sobre Máquina Enigma

  • Cifra de Vernam

    Seguro

    Cifra clássica

    Combina o texto com uma chave aleatória do mesmo tamanho, usada uma única vez. Bem usada, é impossível de quebrar, mas é difícil entregar uma chave tão grande ao destinatário.

    Ler sobre Cifra de Vernam

Guias e comparações

Quer comparar algoritmos ou saber o que fazer na prática? Os guias explicam qual algoritmo escolher e como proteger senhas e mensagens.

Ver todos os guias