Cifragem AES-GCM
texto cifrado e etiqueta de autenticação = AES-GCM(chave, IV, texto em claro, dados adicionais)
Proteja um texto com AES-256-GCM e uma chave derivada da sua palavra-passe (PBKDF2-SHA-256, 600 000 iterações) e desencripte-o com a mesma palavra-passe. Nada é enviado.
AES-256-GCM, chave derivada da palavra-passe com PBKDF2-SHA-256 (600 000 iterações), sal e IV aleatórios em cada cifragem. Sem a palavra-passe, o texto não pode ser recuperado.
Esta ferramenta encripta um texto com uma palavra-passe em AES-256-GCM e desencripta-o com essa mesma palavra-passe, inteiramente no seu navegador. Serve para proteger uma nota, uma credencial ou uma mensagem antes de a guardar ou enviar por um canal pouco seguro, sem instalar qualquer programa.
Uma palavra-passe não é uma chave AES: a ferramenta deriva dela uma chave de 256 bits com PBKDF2-SHA-256 (RFC 8018) em 600 000 iterações, o nível recomendado pela OWASP Password Storage Cheat Sheet, e um sal aleatório de 16 bytes. O texto em UTF-8 é depois encriptado em AES-256-GCM (NIST SP 800-38D) com um IV aleatório de 12 bytes, gerado de novo em cada encriptação. Encriptar duas vezes o mesmo texto com a mesma palavra-passe dá, por isso, dois resultados diferentes, o que é normal e desejável. Todas estas operações usam a API Web Crypto do navegador.
O GCM é um modo de encriptação autenticada: acrescenta ao texto encriptado uma etiqueta de 128 bits que deteta qualquer alteração. Na desencriptação, uma palavra-passe errada ou um único carácter alterado fazem falhar essa verificação, e a ferramenta apresenta um erro claro em vez de um texto corrompido. O resultado é uma cadeia compacta bm-aes2.<sal>.<iv>.<texto encriptado>, com cada parte codificada em Base64URL: contém apenas letras, algarismos, «-», «_» e pontos, e cola-se sem problemas num e-mail ou num ticket. Este formato é próprio da Bethemesh; os valores antigos bm-aes1, derivados com 210 000 iterações, continuam a poder ser desencriptados.
Selecione «Encriptar» para proteger um texto ou «Desencriptar» para ler um valor bm-aes2 ou bm-aes1.
Cole ou importe o texto a encriptar, ou o valor encriptado, e escreva a palavra-passe no campo oculto.
Execute a operação: o texto encriptado ou desencriptado aparece no painel de resultado, pronto a copiar ou a exportar como ficheiro de texto.
texto cifrado e etiqueta de autenticação = AES-GCM(chave, IV, texto em claro, dados adicionais)
Encripte a palavra-passe de um serviço ou uma chave de acesso antes de a enviar por e-mail e comunique a palavra-passe de desencriptação por outro canal, por exemplo por telefone ou SMS.
Guarde uma informação sensível num ticket, numa wiki ou numa nota partilhada sob a forma de valor bm-aes2: só quem conhece a palavra-passe a consegue ler.
Graças à autenticação GCM, um texto encriptado truncado ou modificado não se desencripta: o erro avisa que o valor recebido não é o original ou que a palavra-passe está errada.
Entrada
Texto: Bonjour; Palavra-passe: exemple-local; Operação: Cifrar em AES-256-GCM e depois Decifrar com a mesma palavra-passeResultado
Resultado da cifragem: bm-aes2.<sal Base64URL>.<IV Base64URL>.<texto cifrado Base64URL> (diferente em cada execução); Resultado da decifragem com a mesma palavra-passe: BonjourSim. Nenhum ataque prático quebra o AES-256: a única via realista é adivinhar a palavra-passe de que a chave é derivada. Mesmo perante um futuro computador quântico, o algoritmo de Grover só reduziria a sua robustez para cerca de 128 bits, o que continua fora de alcance.
O CBC limita-se a encriptar: um texto encriptado alterado desencripta-se silenciosamente em dados corrompidos, e o modo está exposto a ataques de padding oracle se não for combinado com um HMAC. O GCM encripta e autentica numa só operação, pelo que qualquer adulteração é detetada. É o modo usado pelo TLS 1.3 e o recomendado para novos projetos.
Cada encriptação gera um novo sal de 16 bytes e um novo IV de 12 bytes. É indispensável no GCM: reutilizar um IV com a mesma chave revelaria informação sobre os textos e permitiria forjar mensagens. Ambos os resultados desencriptam-se, ainda assim, com a mesma palavra-passe.
Não diretamente. Desencriptar exige conhecer exatamente a derivação (PBKDF2-SHA-256, número de iterações, comprimento da chave) e a ordem das partes, que são próprias do formato bm-aes2. Inversamente, a ferramenta não desencripta formatos de outros programas, como a saída Salted__ do openssl enc.
Indica que a autenticação GCM falhou: ou a palavra-passe é diferente da usada na encriptação, ou o valor foi truncado ou alterado, por exemplo num copiar e colar incompleto. A ferramenta não consegue distinguir os dois casos, precisamente porque não revela nada sem a chave certa.
A ferramenta foi concebida para texto. Para encriptar ficheiros, arquivos ou cópias de segurança, utilize uma ferramenta dedicada como age, GPG ou um contentor encriptado, que gerem grandes volumes, chaves públicas e metadados de ficheiros.
Ferramentas relacionadas
Ferramentas semelhantes ou complementares a esta.
Gere palavras-passe fortes e aleatórias de 8 a 128 caracteres, com a entropia indicada.
Teste a força de uma palavra-passe: entropia, padrões fracos, tempo estimado para a quebrar e conselhos.
Derive um hash PBKDF2-SHA-256 ou SHA-512 com sal de uma palavra-passe, ou verifique uma palavra-passe face a um valor codificado.
Saiba quando usar criptografia, hashing, HMAC ou PBKDF2 para confidencialidade, integridade, autenticação e palavras-passe.
Entenda como OAuth 2.0, PKCE, JWT, JWK e JWKS se relacionam: autorização, tokens, chaves públicas e verificação.
Construa uma política centrada no comprimento, unicidade e riscos reais em vez de regras de complexidade arbitrárias.
Compreenda as diferentes camadas de segurança de um site Web: HTTPS, cabeçalhos HTTP, CSP, SRI, autenticação, palavras-passe e integridade.