Criptografia Triple DES (3DES)

Criptografe texto com Triple DES (DES-EDE3) usando uma senha no formato des-ede3-cbc do OpenSSL ou uma chave hex de 16/24 bytes e IV. Modos CBC, CFB, OFB e ECB.

O Triple DES está obsoleto (o NIST deixou de permiti-lo para cifragem após 2023) e seu bloco de 64 bits é vulnerável ao Sweet32. Use apenas por compatibilidade; escolha AES para dados novos.

A saída usa o formato "Salted__" do OpenSSL em Base64: um salt aleatório de 8 bytes seguido do texto cifrado. A chave e o IV são derivados da senha e do salt, então o mesmo texto gera um resultado diferente a cada vez. Comando equivalente:

openssl enc -des-ede3-cbc -md md5 -a -A -k '…'

Executa totalmente no seu navegador. Seus dados nunca são enviados.

O que é Criptografia Triple DES?

Criptografa dados com Triple DES, que aplica o DES três vezes (criptografar–descriptografar–criptografar) com duas ou três chaves independentes. Ele ainda aparece em sistemas de pagamento, VPNs antigas e softwares corporativos, então esta ferramenta ajuda a produzir dados compatíveis.

Como usar Criptografia Triple DES

  1. Deixe a Origem da chave em Senha (compatível com OpenSSL) e digite uma Senha, ou mude para Chave + IV brutos (hex) e informe a chave e o IV exatos em hex.
  2. Escolha o Modo e o Preenchimento (CBC com PKCS#7 é o padrão do OpenSSL).
  3. Digite ou cole o Texto puro (ou mude a codificação de entrada para Hex no caso de dados binários).
  4. Clique em Criptografar, escolha Base64 ou Hex como Codificação da saída e copie o texto cifrado.

Exemplo

Entrada
Raw key 0123456789abcdeffedcba987654321089abcdef01234567, IV 1234567890abcdef, CBC, PKCS#7, plaintext "Triple DES test message"
Saída
w46mmLXKZ7SF3YdvRaW9PUPLk/6OeJll

Saída em Base64; idêntica ao des-ede3-cbc do OpenSSL/Node.

Quando usar Criptografia Triple DES

Use-a quando um sistema parceiro ou um padrão ainda exigir 3DES (alguns fluxos EMV/HSM de pagamento, serviços SOAP legados) ou para criar vetores de teste. Para novos projetos, use AES-GCM.

Como funciona Criptografia Triple DES

O 3DES criptografa cada bloco de 8 bytes como E(K3, D(K2, E(K1, bloco))). Uma chave de 24 bytes dá três chaves independentes (opção de chaveamento 1); uma chave de 16 bytes usa K3 = K1 (3DES de duas chaves). O modo senha deriva uma chave de 24 bytes e um IV de 8 bytes e grava o formato Salted__ do OpenSSL, compatível com openssl enc -des-ede3-cbc e CryptoJS.TripleDES.encrypt. O modo bruto usa sua chave e seu IV em hex; CBC/ECB são preenchidos com PKCS#7.

Casos de Uso Comuns

  • Produzir dados para um sistema legado que só aceita 3DES-CBC
  • Reproduzir a saída de CryptoJS.TripleDES.encrypt(text, passphrase)
  • Criar vetores de teste 3DES de 2 ou 3 chaves
  • Comparar sua implementação com o des-ede3-cbc do OpenSSL

Nota de Segurança

O Triple DES está obsoleto: o NIST proibiu seu uso para criptografia depois de 2023, e o bloco de 64 bits deixa sessões longas vulneráveis a ataques de aniversário Sweet32. Use-o só por compatibilidade.

Perguntas Frequentes

Chave de 16 ou de 24 bytes?

24 bytes dão três chaves DES independentes (cerca de 112 bits de segurança efetiva). Uma chave de 16 bytes é o 3DES de duas chaves, em que a terceira chave é igual à primeira (cerca de 80 bits).

A saída é compatível com o OpenSSL?

Sim. No modo senha, o resultado é exatamente o que openssl enc -des-ede3-cbc -md md5 -a -A -k <passphrase> produz (EVP_BytesToKey com MD5), ou -pbkdf2 -iter N quando você escolhe PBKDF2-HMAC-SHA256. Acrescente -d para descriptografar. A página mostra o comando correspondente abaixo do campo de senha.

O Triple DES ainda é seguro?

Ele não está totalmente quebrado, mas é lento, tem bloco de 64 bits (Sweet32) e foi retirado pelo NIST. Trate-o apenas como legado.

Explore mais categorias