Understanding DES Algorithm In 5 Easy Points


Modern time uses the internet for nearly all jobs, entertainment, and in almost all fields. Cybersecurity is thus of crucial importance. It is of prime importance to define cryptography, meaning that all sensitive and personal information is kept unmodified, secure, and available to read at will. And that’s exactly where the DES algorithm comes in to ensure data encryption. Hence, this discussion on the applications of DES algorithm, the DES diagram and the advantages of DES algorithm.

In this article let us look at:

  1. What is the DES Algorithm?
  2. DES Algorithm Steps
  3. DES Modes of Operation
  4. DES Implementation and Testing
  5. Why Learn DES?

1. What is the DES Algorithm?

The Data Encryption Standard or DES algorithm was created by the IBM team in the 1970s and is nothing but a block cipher with a symmetric-key converting all plain 64-bit blocks text data into 48-bit keyed ciphertext blocks. This is the present standard acceptable to NIST or the National Institute of Standards and Technology. The term symmetric-key implies the algorithm uses the same 48-bit key for decrypting/encrypting data. Asymmetrical algorithms normally use a key for encryption and another key to define decryption.

The LUCIFER Feistel block cipher is a DES example used by DES. Horst Feistel, a researcher with IBM cryptography, developed it in 1971. It uses the Feistel structure with 16-rounds where each round has a different key. Information security had used the data encryption DES standard ever since 1976 November when it was declared the approved federal data encryption standards. The approval was reconfirmed thrice in 1983, again I 1988 and then in 1999. However, in 2002 the AES or Advanced Encryption Standard became the accepted DES algorithm for encryption post a replacement oriented DES vs AES public competition. The approval was withdrawn in 2005 May (1999 approval for FIPS 46-3). But the 3DES or Triple DES algorithm is a DES algorithm example approved for government sensitive-data encryption till 2030.

Triple DES algorithm is again a block cipher with a symmetric key applying in triplicate the DES cipher form. The k1 first key is used to encrypt the k2 second decrypts, and k3, the third key, encrypts data again. In some variants, k1 and k3 may be the same, making it a 2-key variant. The major factor causing the DES algorithm replacement was that its small 56-bit key lengths did not compare favourably with the newer computers enhanced and larger processing and encryption powers. The legacy 3 DES algoritbhm continues to be in use and may be phased out by NIST from 2024.

2. DES Algorithm Steps

DES is an encryption algorithm that converts the DES structure into ciphertext (64-bit) using all inputs in the plain text of 64-bits. It is a symmetric algorithm that uses the same decryption algorithm key for decryption and encryption, unlike asymmetric algorithms. 

Here are the DES algorithm steps to learn the working of DES algorithm.

  • In the DES algorithm flowchart, the IP-initial permutation function receives the plain text block of 64-bits and performs the permutation on it.
  • It makes the data into 2 half-portions called RTP-Right Plain Text and LTP-Left Plain Text, and LTP-Left Plain Text.
  • Each of these blocks (RPT and LPT) undergoes an encryption process in 16 rounds.
  • The 16-round encryption process mentioned above follows these steps. Namely, the transformation of the key, permutation for expansion, S-Box and P-Box permutations and finally, the swap or XOR. 
  • The block is recombined from RPT and LPT in an FP-Final Permutation on the just combined block to produce a DES ciphertext in 64-bits.

The process for decryption uses the reverse order of the same key since DES is a symmetrical algorithm.

3. DES Modes of Operation

The 5-models of key generation in DES operations used by the DES algorithm are

  • ECB- Electronic Codebook where the 64-bit blocks are each decrypted or encrypted independently
  • CBC- Cipher Block Chaining is a method where the IV- Initialization Vector of a block is used to encrypt the next 64-bit block.
  • CFB- Cipher Feedback Block uses the DES encryption algorithm where, with the preceding ciphertext as its input, it gives an output that is pseudorandom, which then undergoes the XOR process on plain text to give the next unit of ciphertext.
  • OFB- Output Feedback is similar to CFB except that the preceding DES encryption algorithm output serves as the input to the subsequent block.
  • CTR- The counter method uses an encrypted counter for each of the XORed plaintext blocks. An increment to the counter is used on subsequent blocks to generate the DES algorithm for it.

4. DES Implementation and Testing

To implement the DES algorithm, one has to select the security provider. This choice is dependent on the programming language used, for example, Python, Java, MATLAB, C etc. The next step is to select the KeyGenerator’s secret key or creating a key using the byte array/plaintext.

To test the algorithm for its implementation and accuracy, one can use GitHub recurrence relation testing procedures.

5. Why Learn DES?

One of the primary reasons to learn the basics of the DES algorithm is that it forms the basis of cryptography encryption algorithms and makes it easy to understand the testing and implementation of the much faster present-day algorithms in use.


Cybersecurity skills involve data encryption, and the DES algorithm is the one algorithm that stood the test of times for decades. Hence learning its implementation, working, and implementation give one the basis of understanding modern-day encryption algorithms, which are way faster and sophisticated when compared to the DES algorithm.

So, have you made up your mind to make a career in Cyber Security? Visit our Master Certificate in Cyber Security (Red Team) for further help. It is the first program in offensive technologies in India and allows learners to practice in a real-time simulated ecosystem, that will give you an edge in this competitive world.



Related Articles

Please wait while your application is being created.
Request Callback