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.
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
- 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.
- Escolha o Modo e o Preenchimento (CBC com PKCS#7 é o padrão do OpenSSL).
- Digite ou cole o Texto puro (ou mude a codificação de entrada para Hex no caso de dados binários).
- Clique em Criptografar, escolha Base64 ou Hex como Codificação da saída e copie o texto cifrado.
Exemplo
Raw key 0123456789abcdeffedcba987654321089abcdef01234567, IV 1234567890abcdef, CBC, PKCS#7, plaintext "Triple DES test message"
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.