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.
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.