ToolActToolAct

Ferramenta de Criptografia e Descriptografia DES

Compatível com DES e Triple DES (3DES), cinco modos de criptografia

Configurações de criptografia

Entrada
Caracteres: 0
Bytes: 0
Saída
Caracteres: 0
Bytes: 0

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

  1. Escolha o algoritmo: DES (chave de 56 bits) ou 3DES (chave de 168 bits)
  2. Selecione um modo de criptografia — CBC é o recomendado
  3. Escolha um esquema de preenchimento — PKCS#7 resolve na maioria dos casos
  4. Digite uma chave ou clique em 'Gerar Chave Aleatória'
  5. Nos modos que exigem IV, informe ou gere um
  6. Digite o texto simples (para criptografar) ou o texto cifrado (para descriptografar) à esquerda
  7. Os resultados aparecem automaticamente à direita

Modos de Criptografia

  • CBCCipher 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.
  • ECBElectronic 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.
  • CFBCipher Feedback. Transforma a cifra de bloco em uma cifra de fluxo. Boa opção para processar dados byte a byte ou em pequenos blocos.
  • OFBOutput Feedback. Semelhante ao CFB, mas os erros não se propagam. Útil quando o canal de comunicação é ruidoso.
  • CTRModo 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

Reproduzir integrações legadas com DES ou TripleDESEscolha DES com chave de 8 bytes ou TripleDES com chave de 24 bytes e ajuste o modo ECB, CBC, CFB, OFB ou CTR ao manter protocolos antigos de pagamento, telecomunicação, dispositivos ou sistemas corporativos. A implementação da rede Feistel roda inteiramente via crypto-js no navegador, então a chave de 56 bits (DES) ou 168 bits (3DES) e o texto simples nunca saem da aba local — útil ao reproduzir uma amostra de fornecedor sem enviar dados reais por uma ferramenta remota.
Alinhar exatamente os formatos de chave, IV e texto cifradoInsira chaves e IVs em hex, Base64 ou texto, gere material aleatório quando necessário e valide o IV de 8 bytes exigido para modos não-ECB antes de comparar a saída com outro sistema. A página facilita confirmar se a incompatibilidade é um comprimento de chave errado (DES pede 8 bytes, 3DES pede 24), um IV ausente ou desatualizado, ou um caso de borda de preenchimento PKCS#7 no último bloco.
Documentar por que uma cifra legada deve permanecer isoladaUse a ferramenta para testes de compatibilidade e notas de migração, não para novo design de segurança. DES está obsoleto (uma máquina dedicada quebrou a chave em 22 horas em 1999 e os clusters de GPU atuais são muito mais rápidos) e TripleDES é legado. Sistemas modernos devem preferir criptografia autenticada como AES-GCM, e os exemplos com DES devem ser claramente sinalizados para não serem copiados em novos trabalhos de segurança.
Testar ida e volta do texto cifrado para verificar paridade com amostra do fornecedorCriptografe um texto simples conhecido com a chave e IV publicados pelo parceiro, depois descriptografe e compare a saída byte a byte ao integrar com terminais de pagamento, ferramentas SIM ou APIs legadas. Use o contador de bytes para confirmar que a saída respeita o limite de bloco de 8 bytes esperado pelo fornecedor, já que preenchimento truncado ou espaços extras no campo Base64 são causas comuns de falha silenciosa.
Alternar entre hex, Base64 e texto para corresponder aos formatos de transporteAjuste a opção de codificação ao campo que recebe o texto cifrado, pois um serviço downstream que aceita apenas Base64 rejeitará hex bruto mesmo quando a saída DES subjacente é idêntica. A mesma chave em hex ('0123456789abcdef') e Base64 ('ASNFZ4mrze8=') descriptografa para o mesmo texto simples — útil para diagnosticar relatos de 'formato errado' de um sistema parceiro.

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 Base64

Criptografia 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 novos

ECB 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 maiores

Perguntas 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.