Na criptografia, o Triple DES é uma cifra de bloco criada a partir da cifra do Data Encryption Standard (DES), aplicando a primitive DES três vezes a cada bloco. O Triple DES também é conhecido como TDES ou, mais comum, TDEA (Triple Data Encryption Algorithm). Ele foi concebido como uma forma compatível e relativamente simples de aumentar a segurança do DES sem a necessidade imediata de projetar um algoritmo totalmente novo.

Como funciona

O modo mais comum de operação do Triple DES é chamado EDE (Encrypt–Decrypt–Encrypt): o dado é cifrado com a primeira chave (k1), decifrado com a segunda (k2) e cifrado novamente com a terceira (k3). Esse esquema permite manter compatibilidade retroativa com implementações DES quando k1 = k2 = k3. Há variações (por exemplo, EEE) mas EDE é a forma padrão usada na maioria das implementações.

Tamanhos de chave e segurança

Na prática existem duas configurações principais:

  • TDES de três chaves (3‑chaves): usa três chaves DES independentes k1, k2, k3. Cada chave DES tem 56 bits de entropia (mais 8 bits de paridade por chave), resultando em um comprimento de chave bruto de 168 bits de entropia efetiva (192 bits quando se inclui os bits de paridade para armazenamento). No entanto, por causa do ataques de encontro no meio (meet‑in‑the‑middle), a segurança prática oferecida não é de 168 bits contra ataque de força bruta paralelo, sendo comumente considerada equivalente a cerca de 112 bits de segurança.
  • TDES de duas chaves (2‑chaves): usa k1 = k3 e uma chave k2 distinta, reduzindo o tamanho da chave efetiva para 112 bits (128 bits de armazenamento incluindo paridade). Esta versão é mais fraca que a de três chaves e é suscetível a certos ataques de texto-plaintext escolhido ou de texto-plaintext conhecido. Por esse motivo órgãos como o NIST tratam seu nível de segurança prático como significativamente menor (frequentemente associado a cerca de 80 bits de segurança para efeitos de políticas e migração).

Além dos ataques relacionados ao tamanho da chave, outro fator crítico é que o DES/TDES opera em blocos de 64 bits. Blocos tão pequenos tornam o algoritmo vulnerável a ataques de colisão e a exploits práticos (por exemplo, o ataque conhecido como Sweet32), que podem permitir a recuperação de partes de texto simples quando grandes volumes de dados são cifrados com a mesma chave.

Desempenho e implementações

Por projeto, DES e, portanto, TDES, têm desempenho relativamente lento quando implementados em software puro, principalmente em dispositivos modernos onde instruções para AES existem e são otimizadas. TDES é mais adequado para implementações de hardware, e muitos dos ambientes onde ainda é usado contam com aceleração por hardware (por exemplo, HSMs e módulos em terminais de pagamento).

Uma das poucas exceções de uso continuado em larga escala é a indústria de pagamentos eletrônicos, que ainda emprega amplamente o 2TDES em diversos padrões e infraestruturas legadas (por exemplo, EMV, o padrão para operação entre cartões IC; também chamado "Chip cards", e terminais POS com capacidade para IC e ATM's). Isso mantém o TDES como um padrão ativo em certos domínios por questões de compatibilidade.

Depreciação e alternativas

O Norma Avançada de Criptografia (AES) é hoje o algoritmo recomendado para novos sistemas por oferecer melhor segurança, blocos de 128 bits e maior eficiência em software e hardware moderno. Organismos de padronização (incluindo o NIST) e os principais padrões do setor vêm restringindo o uso de TDES e orientando a migração para AES ou outras construções modernas (por exemplo, modos de cifra autenticada como AES-GCM). Para novas implementações e projetos de segurança, a recomendação é não usar TDES.

Boas práticas ao lidar com TDES

  • Evitar o uso de TDES em novos projetos; preferir AES com modos autenticados (por exemplo, AES-GCM ou AES-CCM).
  • Se TDES precisar ser mantido por compatibilidade, preferir a variante de três chaves (3‑chaves) em vez da de duas chaves.
  • Limitar a quantidade de dados cifrados com uma mesma chave (devido ao tamanho de bloco de 64 bits e vulnerabilidades por colisão).
  • Usar modos de operação seguros (evitar ECB) e, quando possível, empregar mecanismos de autenticação de mensagem (MAC ou AEAD).
  • Atualizar e planejar a migração das infraestruturas que ainda dependem de TDES (especialmente sistemas de pagamento) para alternativas modernas e suportadas pelo mercado e padrões.

Em resumo, o Triple DES foi uma solução sólida para alongar a vida útil do DES e ainda aparece em sistemas legados, sobretudo na indústria de pagamentos. Contudo, por limitações de segurança (tanto de chave quanto de tamanho de bloco) e por desempenho, seu uso deve ser restrito a compatibilidade; a migração para AES e construções mais modernas é a prática recomendada.