Ferramenta de Criptografia e Descriptografia DES
Compatível com DES e Triple DES (3DES), cinco modos de criptografia
Configurações de criptografia
O que é DES?
DES (Data Encryption Standard) nasceu em 1977, desenvolvido pela IBM e modificado pela NSA antes de se tornar um padrão federal dos EUA. Usa uma rede de Feistel que divide o texto claro de 64 bits em duas metades e aplica 16 rodadas de transformação. A chave é nominalmente de 64 bits, mas 8 bits são reservados para verificações de paridade, restando 56 bits de chave efetiva. Esses 56 bits eram considerados seguros na época, mas em 1999 hardware dedicado já conseguia quebrá-lo por força bruta em 22 horas. Triple DES (3DES) foi desenvolvido para estender a vida útil do DES: aplica a criptografia DES três vezes com três chaves diferentes, alcançando 168 bits de chave efetiva. O 3DES ainda é amplamente utilizado no setor financeiro, presente em cartões com chip EMV e diversos protocolos bancários. Embora o AES tenha oficialmente substituído o DES como padrão de criptografia, ambos continuam ativos em sistemas legados, protocolos financeiros e dispositivos embarcados. Esta ferramenta suporta os dois algoritmos com os modos CBC, ECB, CFB, OFB e CTR.
Como Usar
Como usar
- Escolha o algoritmo: DES (chave de 56 bits) ou 3DES (chave de 168 bits)
- Selecione um modo de criptografia — CBC é o recomendado
- Escolha um esquema de preenchimento — PKCS#7 resolve na maioria dos casos
- Digite uma chave ou clique em 'Gerar Chave Aleatória'
- Nos modos que exigem IV, informe ou gere um
- Digite o texto simples (para criptografar) ou o texto cifrado (para descriptografar) à esquerda
- Os resultados aparecem automaticamente à direita
Modos de Criptografia
- CBC — Cipher Block Chaining. Aplica XOR em cada bloco de texto simples com o bloco cifrado anterior antes de criptografar. Exige um IV. Boa segurança e o modo mais utilizado.
- ECB — Electronic Codebook. Cada bloco é criptografado de forma independente — blocos idênticos de texto simples geram texto cifrado idêntico. Indicado para blocos únicos de 8 bytes, não recomendado para dados maiores.
- CFB — Cipher Feedback. Transforma a cifra de bloco em uma cifra de fluxo. Boa opção para processar dados byte a byte ou em pequenos blocos.
- OFB — Output Feedback. Semelhante ao CFB, mas os erros não se propagam. Útil quando o canal de comunicação é ruidoso.
- CTR — Modo Counter. Usa um contador incremental para gerar o keystream. Suporta criptografia e descriptografia em paralelo, com bom desempenho.
Dicas
- Prefira o AES sempre que possível — o DES existe mainly para compatibilidade legada
- 3DES é bem mais seguro que o DES, mas cerca de três vezes mais lento
- Use sempre um IV aleatório diferente em cada criptografia
- Evite o ECB para criptografar dados com mais de 8 bytes
- Gere chaves aleatórias em vez de digitar sequências fáceis de memorizar
Casos de uso
Princípio técnico
DES é uma cifra de bloco Feistel publicada como FIPS 46 em 1977. Opera em blocos de 64 bits com uma chave de 64 bits, dos quais 8 bits são de paridade, restando 56 bits de material de chave efetivo. A criptografia começa com a Permutação Inicial (IP), divide o estado de 64 bits em duas metades de 32 bits L0 e R0, e executa 16 rodadas Feistel na forma (L_{i+1}, R_{i+1}) = (R_i, L_i XOR F(R_i, K_i)). A função de rodada F expande 32 bits para 48 bits via E-box, aplica XOR com a chave de rodada de 48 bits K_i derivada pelo agendamento de chaves PC-1 / PC-2, aplica oito S-boxes de 6 para 4 bits (S1..S8) e executa a permutação P-box. A Permutação Final (FP = IP^-1) produz o texto cifrado. Triple DES, definido no NIST SP 800-67, aplica DES três vezes em uma construção Encriptar-Desencriptar-Encriptar (EDE): C = E_{K3}(D_{K2}(E_{K1}(P))). A opção de chaveamento 1 usa três chaves independentes de 56 bits (168 bits brutos, ~112 bits de segurança efetiva contra ataque meet-in-the-middle); a opção de chaveamento 2 define K1 = K3 (~80 bits efetivos). Modos de cifra de bloco envolvem DES/3DES para tratar mensagens maiores que 64 bits: ECB encripta cada bloco independentemente e vaza padrões do texto claro; CBC encadeia via C_i = E_K(P_i XOR C_{i-1}) com um IV aleatório de 8 bytes; CFB e OFB convertem a cifra de bloco em uma cifra de fluxo autossincronizante ou síncrona; CTR aplica XOR no texto claro com E_K(nonce || counter). O espaço de chaves de 56 bits do DES (2^56 ≈ 7,2 × 10^16) é exaurível: o EFF DES Cracker quebrou um desafio DES em 22 horas em 1998 com ASICs personalizados, e clusters modernos de GPU/FPGA concluem em horas. O NIST SP 800-131A aposentou o DES simples em 2005 e proibiu o Triple DES para criptografia após 2023; o ataque de aniversário Sweet32 (CVE-2016-2183) enfraquece ainda mais o 3DES em TLS porque seu tamanho de bloco de 64 bits permite colisões após ~2^32 blocos (~32 GB) sob uma única chave. Sistemas modernos devem usar AES-128 ou AES-256 em um modo autenticado como GCM ou ChaCha20-Poly1305.
- A chave DES tem 8 bytes incluindo paridade (56 bits efetivos); as chaves 3DES são 16 bytes (2 chaves, ~80 bits de segurança) ou 24 bytes (3 chaves, ~112 bits de segurança contra meet-in-the-middle).
- O tamanho do bloco é 64 bits / 8 bytes; CBC, CFB, OFB e CTR exigem um IV/nonce de 8 bytes, ECB não usa IV (e vaza padrões no nível do bloco).
- O preenchimento PKCS#7 anexa N bytes de valor N (1 ≤ N ≤ 8); um bloco completo de 8 bytes de 0x08 é adicionado quando o comprimento do texto claro já é múltiplo de 8.
- Chaves fracas 0x0101010101010101, 0xFEFEFEFEFEFEFEFE e os quatro pares de chaves semi-fracas fazem K1 = K2 no agendamento de chaves, então E_K = D_K — evite-as ao gerar chaves aleatórias.
- Sweet32 (CVE-2016-2183) explora o bloco de 64 bits do 3DES: uma única chave colide após ~2^32 blocos (~32 GB de texto claro sob uma única chave em modo CBC).
- NIST SP 800-67 Rev. 2 proibiu o Triple DES para criptografia após 31 de dezembro de 2023; novos projetos devem usar AES-GCM ou ChaCha20-Poly1305, não DES ou 3DES.
- O EFF DES Cracker (Deep Crack) quebrou o DES em 22 horas em julho de 1998 por menos de $250.000 em dólares de 1998; clusters modernos de GPU fazem isso em horas, então o DES simples não é um controle de confidencialidade.
Exemplos
Criptografia DES-CBC
Texto puro: Hello World
Chave (hex): 0123456789abcdef
IV (hex): fedcba9876543210
Modo: CBC / PKCS#7
Saída: texto cifrado em Base64Criptografia 3DES
Algoritmo: Triple DES
Chave (hex): 24 bytes (48 caracteres hex)
Modo: CBC / PKCS#7
Observação: a chave de 168 bits ainda é considerada segura hoje, mas prefira AES para projetos novosECB de bloco único
Texto puro: 8 bytes (exatamente um bloco DES)
Chave: 0123456789abcdef
Modo: ECB / PKCS#7
Obs.: ECB só é seguro para um único bloco de 8 bytes; nunca use para dados maioresPerguntas frequentes
Ainda é seguro usar DES?
Não. O DES puro tem chave efetiva de 56 bits e foi quebrado publicamente em 1998 — hardware dedicado faz força bruta nele em menos de um dia, e GPUs em nuvem modernas fazem isso em minutos. O NIST retirou formalmente o DES em 2005. Use AES em qualquer sistema novo.
E o Triple DES (3DES)?
O 3DES aplica DES três vezes com duas ou três chaves, fornecendo cerca de 112 bits de segurança efetiva. O NIST depreciou o 3DES em 2017 e o proibiu para novas aplicações depois de 2023 por causa de ataques de aniversário (Sweet32) sobre seu bloco de 64 bits. Ele só sobrevive em sistemas legados (redes bancárias e POS antigas) — migre quando puder.
Por que a página ainda mostra DES?
Porque sistemas legados do mundo real ainda usam. A ferramenta é útil quando você precisa interoperar com um formato bancário antigo, com um firmware embarcado ou com um exercício de prova. Não é uma recomendação — código novo deve usar AES.
Quais são os modos do DES e o que cada um significa?
ECB criptografa cada bloco de forma independente e vaza padrões. CBC encadeia blocos e precisa de um IV. CFB e OFB transformam o DES em uma cifra de fluxo. CTR usa um contador como nonce. Para DES, prefira CBC com padding PKCS#7 quando o objetivo é interoperabilidade; nunca use ECB em dados reais.
Qual é o tamanho de bloco e de chave do DES?
O DES tem bloco de 64 bits e chave de 64 bits, dos quais apenas 56 bits são material da chave (8 bits são paridade). O 3DES com três chaves continua com bloco de 64 bits — por isso o Sweet32 virou problema em altos volumes de dados.
O cálculo é feito no meu navegador?
Sim. O DES é computado localmente em JavaScript. Chaves e texto claro não saem do dispositivo. Você pode verificar na aba Rede enquanto criptografa/descriptografa.
Por que minha saída de 3DES não bate com o sistema do parceiro?
Causas comuns: bits de paridade da chave errados, bytes da chave em ordem diferente, modo errado (ECB vs CBC), IV ausente ou a mais, padding errado (PKCS#7 vs ZeroPadding) ou entrada codificada como UTF-8 de um lado e UTF-16 do outro. Confirme um vetor de teste conhecido com o parceiro antes de depurar dados reais.