Criptografar e descriptografar texto e arquivos

Proteja texto ou arquivos com senha (AES-256-GCM) e abra de novo.

Se você perder a senha, os dados não podem ser recuperados. Ninguém consegue redefini-la.

O que esta ferramenta faz

Esta ferramenta protege um texto ou um arquivo inteiro com uma senha e o abre de novo quando você informa a mesma senha. Quem não tem a senha não consegue ler o conteúdo, mesmo que consiga o texto ou o arquivo criptografado. Ela usa AES-256-GCM, uma cifra padrão, com uma chave criada a partir da senha por PBKDF2-SHA-256 com 600.000 rodadas. Tudo roda no seu navegador, com as funções Web Crypto que ele já tem: seu texto, seu arquivo e sua senha não são enviados a lugar nenhum.

Como usar

  1. Escolha Criptografar, digite ou cole o texto, ou clique em "Criptografar um arquivo" (ou solte um arquivo na página).
  2. Digite a senha e repita: um erro de digitação trancaria os dados para sempre.
  3. Clique em Criptografar. Para texto você recebe uma linha de letras, dígitos, hifens e sublinhados (Base64URL) para copiar numa nota ou mensagem. Para arquivo você baixa um .enc.
  4. Para abrir, escolha Descriptografar, cole o texto (ou abra o .enc), digite a senha e clique em Descriptografar. O arquivo volta com o nome original e todos os bytes intactos.

O que acontece por dentro

A cada criptografia, o navegador gera um salt aleatório de 16 bytes e um nonce aleatório de 12 bytes. O PBKDF2-SHA-256 transforma a senha e o salt numa chave de 256 bits com 600.000 rodadas, o número que o guia da OWASP indica para essa função. O AES-256-GCM criptografa os dados e acrescenta uma etiqueta de autenticação de 16 bytes. O cabeçalho de 36 bytes (marca "ENC", versão, rodadas, salt e nonce) também é autenticado, então alterar qualquer byte faz a descriptografia falhar. Um texto de n bytes vira n + 53 bytes, e o resultado sempre começa com RU5DAQ.

Escolhendo a senha

A criptografia é forte, então o ponto fraco é a senha. O PBKDF2 deixa cada tentativa mais lenta, mas não resiste a placas de vídeo especializadas tão bem quanto funções mais novas, então o comprimento é o que mais importa. Quatro palavras aleatórias de uma lista de 7.776 dão cerca de 52 bits, cinco cerca de 65 e seis cerca de 78. Uma frase longa é fácil de lembrar e muito melhor que uma senha curta cheia de símbolos. O gerador de senhas cria senhas aleatórias.

O que ela não faz

Não recupera uma senha perdida: não existe cópia da chave em lugar algum. O tamanho do resultado revela o tamanho aproximado dos dados, e o nome do download é o original mais .enc, então renomeie o arquivo se o nome for sensível. Um aparelho com keylogger continua vendo o que você digita. O código é curto e foi conferido com vetores de teste publicados, mas não passou por auditoria independente; para segredos críticos use software auditado. O resultado só abre neste formato. Veja também a ferramenta Base64 e o verificador de hash.

Perguntas frequentes

É seguro digitar uma senha em um site?

Aqui a página trabalha dentro do seu navegador e não envia o texto, o arquivo nem a senha a lugar nenhum, e não guarda nada. O risco que sobra é o seu próprio aparelho: um keylogger ou uma extensão que leia páginas veria o que você digita, aqui ou em qualquer site. Use um aparelho e um navegador de confiança.

Esqueci a senha. Dá para recuperar os dados?

Não, nem para você nem para ninguém. A senha é a única coisa que forma a chave e ela nunca é guardada. É o preço de uma criptografia que ninguém mais consegue desfazer, então guarde a senha em um gerenciador de senhas.

Por que o erro é o mesmo para senha errada e dados danificados?

O AES-GCM confere uma etiqueta de autenticação. Se a chave está errada ou um único bit mudou, a conferência falha do mesmo jeito, e a ferramenta não consegue distinguir. Confira a senha primeiro e depois se o texto foi copiado por inteiro.

Qual o tamanho máximo de um arquivo?

Até 100 MB. O AES-GCM criptografa o arquivo de uma vez, então o navegador guarda o arquivo e o resultado na memória ao mesmo tempo. Arquivos maiores são recusados com um aviso para não travar a aba.