Gerador de Chaves AES
Gere chaves AES criptograficamente seguras e Vetores de Inicialização (IVs) diretamente no seu navegador. Os dados não são enviados para nenhum servidor.
Exemplo de Uso (Node.js)
const crypto = require('crypto');
const key = Buffer.from('38a4c08fd92d70f96c62cb29cc55d4a465ae115dea9fc3c2cf5156cbdbb842e0', 'hex');
const iv = Buffer.from('760973cb07a4e19d3541eb579c570cf1', 'hex');
// Encrypt
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
let encrypted = cipher.update('Hello, World!', 'utf8', 'hex');
encrypted += cipher.final('hex');
const authTag = cipher.getAuthTag();
// Decrypt
const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv);
decipher.setAuthTag(authTag);
let decrypted = decipher.update(encrypted, 'hex', 'utf8');
decrypted += decipher.final('utf8');Entendendo a Criptografia AES
AES-128
- Chave: 128 bits (16 bytes)
- Rodadas: 10
- Segurança: ~2^126 operações
- Uso: Rápido, suficiente para a maioria das aplicações
AES-192
- Chave: 192 bits (24 bytes)
- Rodadas: 12
- Segurança: ~2^190 operações
- Uso: Segurança e performance intermediárias
AES-256
- Chave: 256 bits (32 bytes)
- Rodadas: 14
- Segurança: ~2^254 operações
- Uso: Segurança máxima, governo e setor financeiro
Chaves hexadecimais de 256 bits oferecem segurança máxima com 2^256 combinações possíveis. Mesmo com computadores quânticos, o AES-256 permanece seguro quando implementado corretamente.
Modos de Criptografia AES
GCM (Galois/Counter Mode)
- ✓ Criptografia autenticada (integridade + confidencialidade)
- ✓ Processamento paralelo possível
- ✓ Sem necessidade de padding
- ✓ Padrão da indústria para aplicações modernas
- Tamanho do IV: 96 bits (12 bytes) recomendado
CBC (Cipher Block Chaining)
- ✓ Amplamente suportado e compreendido
- ⚠ Requer um MAC separado para autenticação
- ⚠ Processamento apenas sequencial
- ⚠ Possíveis vulnerabilidades de padding oracle
- Tamanho do IV: 128 bits (16 bytes) obrigatório
Comparação de Formatos: Hex vs Base64
| Formato | Conjunto de Caracteres | Eficiência de Tamanho | Melhor Para |
|---|---|---|---|
| Hexadecimal | 0-9, A-F (16 chars) | Expansão 2:1 | URLs, bancos de dados, leitura humana |
| Base64 | A-Z, a-z, 0-9, +, / (64 chars) | Expansão 4:3 | JSON, XML, transmissão compacta |
Análise de Força Criptográfica
Tempo estimado para quebrar o AES com a tecnologia atual:
- AES-128: ~2.9 × 10^32 anos (mais antigo que o universo)
- AES-256: ~3.3 × 10^56 anos (incompreensivelmente longo)
- Resistência quântica: AES-256 provê ~128-bit de segurança pós-quântica
Aplicações no Mundo Real
Criptografia de Arquivos
- Criptografia de disco (BitLocker, FileVault)
- Backups criptografados
- Proteção de documentos e arquivos compactados
Segurança de Redes
- Conexões TLS/SSL
- Túneis VPN
- Criptografia de Banco de Dados e Mensagens
Boas práticas de gerenciamento de IV e Chaves
Apenas para demonstração: Para criptografia em produção, gere chaves na sua máquina local ou servidor usando os comandos de terminal abaixo. Nunca transmita chaves de criptografia cruas pela rede.
- Armazenamento: Use módulos de segurança de hardware (HSMs) ou serviços de gerenciamento de chaves (KMS).
- Rotação de chaves: Faça a rotação regular de chaves (mínimo de 90 dias).
- Singularidade do IV: Nunca reutilize um IV com a mesma chave - isto quebra a segurança semântica.
- Geração do IV: Use geradores de números aleatórios criptograficamente seguros.
- Derivação de chaves: Use PBKDF2, scrypt ou Argon2 ao derivar chaves a partir de senhas.
Gerar no Terminal
Para sistemas em produção, sempre gere as chaves de criptografia localmente:
openssl rand -hex 32openssl rand -base64 32openssl rand -hex 16python3 -c "import secrets; print(secrets.token_hex(32))"head -c 32 /dev/urandom | xxd -p -c 64