CoderTools

Ferramenta de Criptografia/Descriptografia AES | CoderTools

Ferramenta online de criptografia e descriptografia AES suportando múltiplos modos como CBC, ECB, para criptografia de texto e arquivo.

Sobre Criptografia AES

AES (Advanced Encryption Standard) é um algoritmo de criptografia simétrica publicado pelo NIST em 2001. O AES é um dos algoritmos de criptografia mais amplamente usados e foi adotado pelo governo federal dos EUA como padrão de criptografia.

O AES suporta comprimentos de chave de 128, 192 e 256 bits, fornecendo diferentes níveis de segurança. O AES-256 é considerado o mais seguro e não pode ser quebrado em um tempo razoável, mesmo com os computadores mais poderosos disponíveis hoje.

Modos de Criptografia

  • CBC: CBC (Encadeamento de Blocos de Cifra): Cada bloco de texto simples é combinado por XOR com o bloco de texto cifrado anterior antes da criptografia. Requer IV, mais seguro, recomendado.
  • ECB: ECB (Livro de Códigos Eletrônico): Divide o texto simples em blocos de tamanho fixo, cada um criptografado independentemente. Não precisa de IV, mas menos seguro, não recomendado para dados sensíveis.
  • CTR: CTR (Contador): Converte cifra de bloco em cifra de fluxo incrementando um contador para produzir fluxo de chaves. Requer IV, suporta criptografia paralela, adequado para cenários de alto desempenho.
  • CFB: CFB (Realimentação de Cifra): Converte cifra de bloco em cifra de fluxo, usando o bloco de texto cifrado anterior como entrada para o próximo bloco. Requer IV.
  • OFB: OFB (Realimentação de Saída): Converte cifra de bloco em cifra de fluxo, realimentando a saída de criptografia para a entrada. Requer IV.

Comparação de Modos de Criptografia

Modo Segurança Velocidade Processamento Paralelo Propagação de Erro Recomendação
CBC Alta Média Apenas Descriptografia Limitada a Blocos Adjacentes Mais amplamente usado, adequado para necessidades gerais de criptografia
ECB Baixa Rápida Suporte Completo Sem Propagação Não Recomendado - Possui vulnerabilidades de segurança
CTR Alta Rápida Suporte Completo Sem Propagação Adequado para cenários de alto desempenho, suporta streaming
CFB Alta Média Apenas Descriptografia Limitada a Blocos Adjacentes Adequado para cenários de criptografia de fluxo
OFB Alta Média Não Suportado Sem Propagação Adequado para cenários que requerem tolerância a erros

Recomendações de Segurança

  • 1. Use chaves fortes: As chaves devem ser geradas aleatoriamente com um comprimento mínimo de 128 bits, 256 bits recomendado.
  • 2. Proteja as chaves: As chaves são críticas para a segurança da criptografia e devem ser mantidas seguras, nunca transmitidas por canais inseguros.
  • 3. Use modos seguros: Modos CBC ou CTR são recomendados, evite o modo ECB.
  • 4. Rotacione as chaves regularmente: Para sistemas de longo prazo, as chaves de criptografia devem ser rotacionadas periodicamente.
  • 5. Use IVs únicos: Use um IV diferente para cada criptografia, mesmo com a mesma chave.

Comparação de Segurança por Comprimento de Chave

Comprimento da Chave Bytes Combinações Possíveis de Chaves Estimativa de Tempo de Força Bruta Desempenho Recomendação de Uso
128-bit 16 bytes 2128 ≈ 3.4×1038 Bilhões de anos (usando tecnologia atual, assumindo 10^18 chaves/segundo) Mais Rápido
Linha de Base (100%)
Adequado para a maioria das aplicações comerciais, fornece segurança suficiente
192-bit 24 bytes 2192 ≈ 6.3×1057 Muito além da idade do universo (teoricamente impossível) Médio
~80% do AES-128
Raramente usado, fornece segurança maior que 128-bit
256-bit 32 bytes 2256 ≈ 1.1×1077 Astronomicamente impossível (mesmo com toda a energia do universo) Mais Lento
~60-70% do AES-128 (com AES-NI)
Adequado para dados altamente sensíveis, aplicações governamentais/militares

Nota de Segurança:

O AES-128 já é considerado seguro o suficiente para resistir a todos os ataques conhecidos. A escolha do comprimento da chave deve equilibrar requisitos de segurança com considerações de desempenho. Para a maioria das aplicações, o AES-128 fornece segurança suficiente, enquanto o AES-256 é recomendado para dados altamente sensíveis. As diferenças de desempenho são mais pronunciadas com aceleração de hardware (AES-NI).

Benchmark de Desempenho (AES-NI de hardware habilitado)

Velocidade de Criptografia (CPU moderna, valores típicos)
AES-128
~500 MB/s
AES-192
~425 MB/s
AES-256
~350 MB/s
Velocidade de Descriptografia (CPU moderna, valores típicos)
AES-128
~520 MB/s
AES-192
~447 MB/s
AES-256
~369 MB/s

Nota: O desempenho real varia de acordo com hardware, implementação e tamanho dos dados. Os valores mostrados são benchmarks típicos em CPUs modernas com suporte à instrução AES-NI. Sem aceleração de hardware, o desempenho pode ser 10-20x mais lento.

Casos de Uso

  • Criptografia de transmissão de dados: Proteger dados sensíveis durante a transmissão de rede
  • Criptografia de arquivos: Criptografar arquivos sensíveis armazenados em disco
  • Criptografia de banco de dados: Criptografar campos sensíveis em bancos de dados
  • Proteção de senha: Criptografar senhas de usuário e informações de autenticação
  • Criptografia de comunicação: Criptografar mensagens instantâneas e conteúdo de e-mail

Referências