Frases-senha memoráveis de 4 a 8 palavras aleatórias da lista BIP39 em inglês.
AES-GCM: criptografar / descriptografar
A ferramenta em si está em inglês; esta página explica como usá-la no seu idioma.
Use AES-GCM: criptografar / descriptografar
O que ele faz
Criptografe um texto com AES-256-GCM e uma frase-senha, ou descriptografe uma string Base64 gerada por esta ferramenta. A chave é um único hash SHA-256 da frase-senha, então use uma longa e aleatória.
Ele funciona inteiramente no seu navegador: nada do que você digitar é enviado.
Como usar AES-GCM: criptografar / descriptografar
- Digite uma frase-senha. Digite uma frase-senha longa e aleatória em Password / Key. O campo também aceita um valor vazio, que não protege nada.
- Cole o texto. Coloque o texto a criptografar, ou uma string Base64 gerada por esta ferramenta, em Plaintext / Ciphertext.
- Criptografe ou descriptografe. Clique em Encrypt (criptografar) para obter uma string Base64, ou em Decrypt (descriptografar) para transformar uma string dessas de volta em texto.
- Copie e compartilhe com segurança. Clique em Copy e envie o Base64 por um canal. Compartilhe a frase-senha por outro, por exemplo pessoalmente ou por telefone.
- Resolva uma descriptografia que falhou. Se Decrypt mostrar Error: wrong key or invalid data, confira a frase-senha letra por letra e verifique se a string Base64 inteira foi copiada.
Exemplo
Mensagem curta
Meet at the usual place at 10:00.sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==Encrypt retorna o Base64 de um IV aleatório de 12 bytes, do texto cifrado e da tag de 16 bytes, diferente a cada execução. Digite antes uma frase-senha em Password / Key: a ferramenta também aceita uma vazia, que não protege nada.
O que ele verifica
| Sinal | O que isso significa |
|---|---|
| Chave | O SHA-256 da frase-senha, usado como chave AES-256. Não há salt nem derivação lenta, então a mesma frase-senha sempre gera a mesma chave. |
| Primeiros 16 caracteres Base64 | O IV de 12 bytes. Encrypt sorteia um novo IV aleatório a cada vez, então o mesmo texto gera uma saída diferente a cada execução. |
| Tamanho da saída | IV de 12 bytes, depois os bytes do texto, depois uma tag de 16 bytes, tudo em Base64. Um texto vazio gera 40 caracteres; um texto de 23 bytes gera 68. |
| Error: wrong key or invalid data | A frase-senha é diferente (maiúsculas e espaços contam), a string foi alterada ou cortada, ou não é Base64. O GCM não retorna texto nenhum quando a verificação falha. |
| Sem cabeçalho de formato | A saída não traz marcador de versão ou de algoritmo nem dados associados, então outro software precisa exatamente dessa disposição e dessa derivação de chave para lê-la. |
| Entrada Base64 | Decrypt espera Base64 padrão, como o produzido por Encrypt. Espaços e quebras de linha adicionados por um programa de e-mail são ignorados, mas um caractere faltando ou alterado faz a descriptografia falhar. |
| Frase-senha vazia aceita | Nesse caso, a chave é o SHA-256 de uma string vazia, que qualquer pessoa pode calcular, então na prática o texto não fica criptografado. |
Mais exemplos
Descriptografar uma amostra
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygfDecrypt mostra Hello from PhishDestroy. A amostra foi gerada com um IV todo de zeros, o AAAAAAAAAAAAAAAA inicial, apenas para ilustração; Encrypt sempre usa um IV aleatório.
Uma letra da frase-senha alterada
The same ciphertext with Password / Key: Example passphrase, not a real secretError: wrong key or invalid data
Criptografar um texto vazio
Plaintext / Ciphertext empty, any passphrase, EncryptUma string Base64 de 40 caracteres (IV de 12 bytes mais tag de 16 bytes), diferente a cada clique.
Perguntas frequentes
Como a chave é gerada a partir da minha frase-senha?
A chave AES-256 é um único hash SHA-256 da frase-senha, sem salt e sem derivação lenta de chave, como PBKDF2 ou Argon2. Por isso, uma frase-senha curta ou fácil de adivinhar pode ser quebrada rapidamente por força bruta offline; use uma longa e aleatória, por exemplo do Passphrase Generator.
O que há na saída, e outro software consegue descriptografá-la?
O Base64 de um IV aleatório de 12 bytes, seguido do texto cifrado e da tag de autenticação GCM de 16 bytes. A descriptografia mostra Error: wrong key or invalid data se a frase-senha estiver errada ou se qualquer byte tiver sido alterado, e outro software só consegue descriptografar com a mesma chave SHA-256 e a mesma disposição dos bytes.
Meu texto ou minha frase-senha são enviados a algum lugar?
Não. A criptografia roda no seu navegador com a Web Crypto API; a frase-senha e o texto nunca são enviados nem armazenados.
Devo criptografar minha frase-semente aqui?
Não. Nunca digite a frase-semente (seed phrase) de uma carteira em um site, e uma chave gerada a partir de um único hash SHA-256 sem salt permite que uma frase-senha fraca seja quebrada por força bruta offline. Guarde frases-semente offline, por exemplo em papel ou metal, ou em uma carteira de hardware.
Outro software consegue descriptografar a saída?
Sim, se seguir a mesma disposição: chave = SHA-256 da frase-senha em UTF-8, IV = primeiros 12 bytes, tag = últimos 16 bytes, sem dados associados. O pacote cryptography do Python e outras bibliotecas AES-GCM conseguem fazer isso.
Posso reutilizar uma frase-senha em várias mensagens?
Cada mensagem recebe um novo IV aleatório de 12 bytes, então, na prática, a reutilização não repete o IV. O risco real é a própria frase-senha: qualquer pessoa que a descobrir pode ler todas as mensagens criadas com ela.
O que o GCM acrescenta em relação ao AES simples?
Uma tag de autenticação. Qualquer alteração no IV, no texto cifrado ou na tag é detectada, e a descriptografia falha em vez de retornar um texto alterado.