AES Encrypt / Decrypt
Understand AES Encrypt / Decrypt
Cifra e decifra texto no seu navegador com AES sob uma senha, oferecendo AES-256-GCM (padrão), AES-128-GCM, AES-256-CBC, AES-128-CBC ou AES-256-CTR.
How it works
Sua senha não é a chave. O PBKDF2 a estica em uma chave com 100.000 iterações de HMAC-SHA-256 sobre um salt aleatório novo de 16 bytes, então um atacante paga esse custo a cada tentativa e uma tabela pré-computada para um salt não vale nada contra outro. Um IV aleatório é sorteado a cada cifragem — 12 bytes para GCM, 16 para CBC e CTR —, e é por isso que cifrar o mesmo texto duas vezes nunca dá o mesmo texto cifrado. A saída é algoritmo:salt:iv:textocifrado em base64, carregando todos os parâmetros de que a decifragem precisa, exceto a própria senha.
When to use it
- Cifrar um segredo curto antes que ele passe por um chamado, uma conversa de chat ou um documento compartilhado.
- Produzir um vetor de teste para conferir se uma implementação de AES no servidor concorda com o WebCrypto.
- Demonstrar a diferença prática entre um modo autenticado e um não autenticado.
- Recuperar algo que você cifrou aqui antes e guardou como texto.
- Checar a interoperabilidade com um sistema legado que só aceita AES-CBC.
Watch out for
- O GCM detecta adulteração; CBC e CTR não. Com o GCM, um único byte alterado no texto cifrado faz a decifragem falhar de imediato. Com o CTR, um atacante que inverte um bit do texto cifrado inverte o mesmo bit do texto claro, e o CBC é o modo por trás da classe de ataques de oráculo de padding. Escolha CBC ou CTR apenas por interoperabilidade e, quando o fizer, acrescente um MAC separado sobre o texto cifrado.
- A senha é o teto. As 100.000 iterações do PBKDF2 tornam as tentativas mais lentas nessa proporção, mas não salvam uma senha fraca — uma palavra de dicionário continua sendo descoberta, seja qual for o tamanho da chave. A força desta saída é a força do que você digitou.
- Nunca reutilize um IV ou bloco de contador com a mesma chave. Esta ferramenta gera um salt e um IV novos a cada cifragem, então o uso aqui é seguro, mas a regra importa no momento em que você reimplementa o formato: um nonce GCM repetido vaza o XOR dos dois textos claros e pode expor a própria chave de autenticação.
- AES-256 contra AES-128 não é a decisão que importa. Nenhum dos dois tamanhos de chave tem quebra prática; o modo e a senha dominam a segurança no mundo real. Não escolha AES-256-CBC em vez de AES-128-GCM só pelo número maior.
Not the right tool for: Enviar um segredo para alguém que ainda não compartilha a sua senha. Isto é criptografia simétrica, sem troca de chaves, sem identidade e sem sigilo futuro — para isso, use age, PGP ou o gerenciamento de chaves de destinatário que a sua plataforma já oferece.
Frequently Asked Questions
Qual algoritmo AES devo escolher?
O AES-256-GCM é o padrão e a resposta certa para quase todo uso novo. O GCM é autenticado, então adulterar o texto cifrado faz a decifragem falhar em vez de devolver lixo. Escolha CBC ou CTR apenas quando um sistema com o qual você precisa interoperar exigir — nenhum dos dois detecta adulteração por conta própria.
O AES-128 é menos seguro que o AES-256?
Os dois são considerados seguros; nenhum ataque prático quebra qualquer um dos tamanhos de chave. O AES-256 tem margem maior diante de avanços futuros e é a escolha convencional para dados de vida longa, enquanto o AES-128 é marginalmente mais rápido. O modo escolhido (GCM em vez de CBC) afeta a segurança no mundo real muito mais que o tamanho da chave.
O que é PBKDF2 e por que ele é usado?
O PBKDF2 (Password-Based Key Derivation Function 2) transforma uma senha digitada por uma pessoa em uma chave criptográfica usando 100.000 iterações de HMAC-SHA256 com um salt aleatório. As iterações tornam os ataques de força bruta 100.000× mais lentos do que fazer o hash da senha uma única vez.
Posso decifrar esta saída em outra linguagem?
Sim. A saída é algoritmo:salt:iv:textocifrado, com todos os parâmetros de que a decifragem precisa. Reproduza as mesmas configurações de PBKDF2 (100.000 iterações, SHA-256, o salt embutido) e a cifra indicada em qualquer linguagem, e o texto cifrado decifra de forma idêntica.
How to Use AES Encrypt / Decrypt
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.