DES
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:
- Recebe os dados originais (plaintext).
- Divide os dados em blocos de 64 bits.
- Aplica uma permutação inicial (Initial Permutation), que reorganiza os bits do bloco.
- Divide o bloco em duas metades de 32 bits (L e R).
- Executa 16 rondas de operações criptográficas, utilizando subchaves derivadas da chave principal.
- Aplica uma permutação final (Final Permutation).
- Produz os dados cifrados (ciphertext).
O processo pode ser representado de forma simplificada pela seguinte expressão:
= 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:
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:
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).