Encriptar texto com palavra-passe
Encripta e desencripta texto com uma frase-passe no navegador, com AES-256-GCM e PBKDF2 de 600 000 iterações. Nada é enviado. Limites explicados.
Usa uma frase-passe longa, por exemplo cinco ou mais palavras aleatórias. Ninguém consegue recuperar uma frase-passe esquecida, e o texto encriptado é tão forte quanto ela.
Como encriptar e desencriptar texto
- Escreve ou cola a tua mensagem na primeira caixa, ou clica em Abrir um ficheiro .txt.
- Introduz uma Frase-passe e repete-a em Confirma a frase-passe (para encriptar). Marca Mostrar as frases-passe para verificares o que escreveste. A linha de força dá uma ideia aproximada de quão difícil é adivinhar a frase-passe.
- Clica em Encriptar. A derivação da chave demora cerca de um segundo de propósito (ver abaixo). O Resultado é um bloco de texto que começa por BEGIN ENCRYPTED TEXT. Usa Copiar para o pôr num e-mail, num chat ou numa nota, ou Transferir .txt para o guardar como ficheiro.
- Para o voltares a ler, cola o bloco inteiro (ou abre o ficheiro .txt) na primeira caixa, introduz a frase-passe e clica em Desencriptar. A caixa de confirmação não é necessária para desencriptar.
Se a frase-passe estiver errada, ou se um só carácter do bloco tiver sido alterado, recebes um erro claro em vez de texto ilegível.
O que acontece ao teu texto
Tudo funciona no teu navegador, com a Web Crypto API incorporada. O texto e a frase-passe nunca são enviados para lado nenhum. A ferramenta usa componentes padrão e bem estudados:
- Derivação da chave: PBKDF2 com HMAC-SHA-256 e 600 000 iterações, o valor recomendado pela OWASP Password Storage Cheat Sheet para PBKDF2-HMAC-SHA256. É gerado um novo salt aleatório de 16 bytes em cada encriptação, por isso a mesma frase-passe dá uma chave diferente de cada vez e as tabelas pré-calculadas não servem para nada. As 600 000 iterações tornam cada tentativa de adivinhar a frase-passe lenta para um atacante, e são a razão pela qual a encriptação demora um instante.
- Encriptação: AES-256 em modo GCM (NIST SP 800-38D) com um IV aleatório novo de 12 bytes. O GCM é uma encriptação autenticada: uma etiqueta de 16 bytes deteta qualquer modificação. O pequeno cabeçalho (versão do formato, número de iterações, salt e IV) também é autenticado.
- Saída: Base64 com cabeçalho. O bloco indica a versão do formato, para que versões futuras desta ferramenta continuem a ler as mensagens de hoje. Encriptar o mesmo texto duas vezes dá dois blocos diferentes, o que é normal.
Limites, com honestidade
Esta ferramenta destina-se a uma privacidade do dia a dia: enviar a palavra-passe do Wi-Fi a um amigo, manter uma nota pessoal ilegível para olhares curiosos, ou partilhar um segredo curto por um canal em que não confias totalmente, com a frase-passe transmitida de outra forma (pessoalmente ou por telefone).
- A frase-passe é tudo. O ponto fraco não é o AES-256, é uma frase-passe fácil de adivinhar. Uma curta ou comum pode ser decifrada offline, apesar das 600 000 iterações, por quem tiver o bloco encriptado. Usa cinco ou mais palavras aleatórias, ou uma palavra-passe longa e aleatória criada por um gerador. A estimativa de força é só uma indicação: não sabe que «Verao2024!» é um padrão comum.
- Sem recuperação. Não há porta das traseiras, nem reposição, nem cópia da tua frase-passe. Se a esqueceres, o texto perde-se para sempre.
- O teu dispositivo tem de ser de confiança. Malware, uma extensão do navegador ou alguém a espreitar por cima do teu ombro podem ler o texto antes de ser encriptado.
- Os metadados não ficam escondidos. O comprimento do bloco revela aproximadamente o comprimento da mensagem.
- Não substitui ferramentas consagradas. Para ficheiros, cópias de segurança, arquivos de longo prazo ou qualquer coisa sensível (jurídica, médica, segredos comerciais), usa ferramentas auditadas feitas para isso: age, GnuPG (OpenPGP), ou a encriptação ponto a ponto de uma aplicação de mensagens como o Signal.
Perguntas frequentes
Esta encriptação é segura?
Os algoritmos são os usados por bancos e governos, aplicados da forma recomendada (salt e IV aleatórios, encriptação autenticada). Na prática, a segurança é a da tua frase-passe e do dispositivo que usas.
Porque é que a minha frase-passe está «errada» quando tenho a certeza de que está certa?
As frases-passe distinguem maiúsculas de minúsculas e os espaços contam. Verifica o Caps Lock e a disposição do teclado (por exemplo, português ou inglês), e confirma que o bloco foi copiado por inteiro, desde BEGIN até END. Um bloco cortado ou alterado dá, de propósito, o mesmo erro que uma frase-passe errada.
Conseguem desencriptar o meu texto se eu perder a frase-passe?
Não. Ninguém consegue: a frase-passe não está guardada em lado nenhum, e testar todas as possibilidades é exatamente o que o desenho torna impraticável.
Posso desencriptar o bloco com outro programa?
O formato está documentado na página e usa primitivas padrão: 1 byte de versão, 4 bytes com o número de iterações, o salt de 16 bytes, o IV de 12 bytes e depois o texto cifrado AES-GCM com a sua etiqueta de 16 bytes, tudo em Base64; o cabeçalho de 33 bytes é passado como dados autenticados adicionais. Um programador consegue desencriptá-lo com poucas linhas de código usando o OpenSSL, o pacote cryptography do Python ou a Web Crypto.
É melhor do que a cifra de César ou o ROT13?
É completamente diferente: essas apenas disfarçam as letras e quebram-se em segundos. O AES-GCM com uma frase-passe forte é criptografia moderna que não se quebra testando deslocamentos nem analisando a frequência das letras.
Ferramentas relacionadas
- Gerador de palavras-passe Gerador de palavras-passe grátis que cria palavras-passe aleatórias fortes de 4 a 128 caracteres no teu navegador. Nada é guardado nem enviado.
- Gerador de frases-passe Cria frases-passe fortes e fáceis de memorizar a partir da lista EFF ou de uma lista francesa, com a entropia em bits. Geradas com segurança no navegador.
- Gerador de hash Gera hashes MD5, SHA-1, SHA-256 e SHA-512 de texto ou de ficheiros de qualquer tamanho e verifica checksums. Tudo corre no teu navegador.
- Cifra de César e ROT13 Cifra e decifra texto com a cifra de César, ROT13 ou ROT47, vê o alfabeto deslocado e descobre uma chave desconhecida testando os 25 deslocamentos.