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

FormatoConjunto de CaracteresEficiência de TamanhoMelhor Para
Hexadecimal0-9, A-F (16 chars)Expansão 2:1URLs, bancos de dados, leitura humana
Base64A-Z, a-z, 0-9, +, / (64 chars)Expansão 4:3JSON, 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 32
openssl rand -base64 32
openssl rand -hex 16
python3 -c "import secrets; print(secrets.token_hex(32))"
head -c 32 /dev/urandom | xxd -p -c 64