3DES

Summary

O 3DES (Triple Data Encryption Standard) é um algoritmo de criptografia simétrica que utiliza o algoritmo DES três vezes consecutivas para cifrar os dados, aumentando a segurança relativamente ao DES original.

Como funciona?

O 3DES utiliza o algoritmo DES três vezes consecutivas através de um processo denominado Encrypt-Decrypt-Encrypt (EDE).

O funcionamento é o seguinte:

  1. Recebe os dados originais (plaintext).
  2. Executa uma primeira operação de cifragem DES com a chave 𝐾1.
  3. Executa uma operação de decifragem DES com a chave 𝐾2.
  4. Executa uma segunda operação de cifragem DES com a chave 𝐾3.
  5. Produz os dados cifrados (ciphertext).

O processo pode ser representado pela seguinte expressão:
𝐶=𝐸𝐾3(𝐷𝐾2(𝐸𝐾1(𝑃)))Onde:

  • 𝑃 = dados originais (plaintext).
  • 𝐶 = dados cifrados (ciphertext).
  • 𝐸 = operação de cifragem.
  • 𝐷 = operação de decifragem.
  • 𝐾1, 𝐾2, 𝐾3 = chaves criptográficas.

Para decifrar os dados, o processo é realizado pela ordem inversa:
𝑃=𝐷𝐾1(𝐸𝐾2(𝐷𝐾3(𝐶)))

Para que serve?

  • Proteção de dados: permite cifrar informações sensíveis, impedindo que sejam lidas por entidades não autorizadas.
  • Segurança bancária: foi amplamente utilizado em sistemas bancários e redes de pagamento.
  • Proteção de PINs: permite proteger blocos de PIN (PIN blocks) utilizados em operações com cartões bancários.
  • Proteção de chaves: permite cifrar chaves criptográficas antes de serem armazenadas ou transmitidas.
  • Operações em HSM: é utilizado em determinados HSM para executar operações criptográficas relacionadas com pagamentos e cartões.

Exemplo prático

Imagina uma transação bancária em que um cliente utiliza um cartão para levantar 100 € numa caixa Multibanco (ATM).

  1. O cliente introduz o cartão e o respetivo PIN.
  2. O ATM constrói um bloco de PIN (PIN block) com a informação necessária.
  3. O bloco de PIN é cifrado utilizando uma chave criptográfica através de 3DES.
  4. O ATM envia a informação protegida para o processador de pagamentos.
  5. O processador utiliza um HSM para decifrar ou traduzir o PIN block, conforme o processo de validação.
  6. O HSM executa as operações criptográficas necessárias para verificar o PIN, sem expor as chaves secretas ao sistema externo.
  7. O resultado da validação é devolvido ao sistema bancário.