DES

Summary

O DES (Data Encryption Standard) é um algoritmo de criptografia simétrica que permite cifrar e decifrar dados utilizando uma única chave secreta partilhada entre as entidades envolvidas na comunicação.

Como funciona?

O DES utiliza um processo de cifragem por blocos (block cipher), no qual os dados originais são divididos em blocos de 64 bits.

Cada bloco é processado através de 16 rondas de operações criptográficas, utilizando uma chave de 56 bits.

O funcionamento é o seguinte:

  1. Recebe os dados originais (plaintext).
  2. Divide os dados em blocos de 64 bits.
  3. Aplica uma permutação inicial (Initial Permutation), que reorganiza os bits do bloco.
  4. Divide o bloco em duas metades de 32 bits (L e R).
  5. Executa 16 rondas de operações criptográficas, utilizando subchaves derivadas da chave principal.
  6. Aplica uma permutação final (Final Permutation).
  7. Produz os dados cifrados (ciphertext).

O processo pode ser representado de forma simplificada pela seguinte expressão:
𝐶=𝐸𝐾(𝑃)Onde:

  • 𝑃 = dados originais (plaintext).
  • 𝐶 = dados cifrados (ciphertext).
  • 𝐸 = operação de cifragem.
  • 𝐾 = chave criptográfica de 56 bits.

Para decifrar os dados, o DES utiliza o mesmo algoritmo, mas aplica as subchaves pela ordem inversa:
𝑃=𝐷𝐾(𝐶)Onde 𝐷 representa a operação de decifragem.

Para que serve?

  • Proteção de dados: permite cifrar informações sensíveis, impedindo que sejam lidas por entidades não autorizadas.
  • Segurança das comunicações: foi utilizado para proteger informações transmitidas entre sistemas.
  • Segurança bancária: teve uma utilização significativa em sistemas bancários e infraestruturas financeiras.
  • Proteção de informações: permitia armazenar dados cifrados, protegendo-os contra acessos não autorizados.
  • Base para outros algoritmos: serviu de base para o desenvolvimento de soluções posteriores, como o 3DES, que aplica o DES três vezes consecutivas.

O que torna o DES seguro?

Na altura em que foi desenvolvido, o DES representava uma solução robusta de criptografia simétrica.

A sua segurança baseava-se em vários elementos:

  • Criptografia simétrica: utiliza uma chave secreta partilhada para cifrar e decifrar os dados.
  • Chave criptográfica: utiliza uma chave efetiva de 56 bits, que determina as operações de cifragem.
  • 16 rondas de cifragem: executa várias operações matemáticas e lógicas que tornam os dados originais difíceis de recuperar sem a chave.
  • Substituição e permutação: combina operações que alteram e reorganizam os bits dos dados originais.
  • Estrutura Feistel: utiliza uma estrutura criptográfica que permite executar os processos de cifragem e decifragem através do mesmo algoritmo.

Apesar destas características, o DES apresenta uma limitação importante: o tamanho da sua chave.

Uma chave de 56 bits permite:
256=72057594037927936Isto significa que existem aproximadamente 72 biliões de biliões de combinações possíveis para a chave.

Embora este número parecesse suficientemente elevado na altura, a evolução da capacidade computacional tornou possível testar todas as combinações através de ataques de força bruta (brute force).