Data Encryption Standard and its FPGA Implementation
- UDIT NAHATA
- Dec 6, 2020
- 2 min read
Updated: Jan 14, 2021
INTRODUCTION
The need for Data Encryption Standard (DES) is increasing each day. People are more concentrating and investing in cryptography , to achieve the goal of secure communication . In today's world, every sector needs short-term data security such as bio-metric recognition system. To design such applications, we need cost efficient, area efficient and high efficiency VLSI implementation of lightweight ciphers. Data Encryption Standard is used for the implementation of the low-cost lightweight cryptography applications. In this paper, we use DES Algorithm based encryption/decryption engine, Depending upon the needs, the same set of architecture performs encryption and decryption operations. A chain of mux-based architecture is used to implement the Substitution Boxes.
But, Why do we need Cryptography?
Nowadays, Secure communication is very important in modern authentication-based applications, such as: bank transactions, electronic mail, audio/video conferencing etc., The secure communication requires a mechanism, which insures that only authorized person can have access to that information. Thus, to achieve the goal of information security; cryptography is must.
So, What is Cryptography?
It is the study of secure communications techniques that allow only the sender and authorized receiver of a message to view its information. In addition, cryptography also covers the confidential information in images using different techniques such as microdots or merging

THE DATA ENCRYPTION STANDARD (DES) ALGORITHM
It is a block cipher algorithm that encrypts plain text data in blocks of 64 bits each, the length of the keys is 64 bits but effectively it has 56 bits as 8 of the keys are not used in the algorithm. This algorithm is used for both encryption and decryption , therefore , it is also called symmetric algorithm.
Since DES is based on the Cipher, to specify DES we need −
Initial and final permutation
Round function
Key Generation

Initial and Final Permutation
The initial and final permutations have no cryptography significance in DES. They are inverse of each other and are straight permutation boxes ( P-boxes )

Round Function
The 32-bit R input is first expanded to 48-bits by using permutation plus expansion. The output is then XORed with round key Ki. This 48-bit output passes through a substitution table (S-Box) that produces a 32-bit output, which is permuted as per the DES algorithm .

Expansion Permutation Box − We first need to expand right input to 48 bits because right input is 32-bit and round key is a 48-bit,
XOR − After the above step, Data Encryption Standard performs XOR operation on the expanded right section and on the round key.
Substitution Boxes. − The Substitution boxes carry out the real confusion as Data Encryption Standard uses 8 S-boxes, each with a 6-bit input and a 4-bit output.

Key Generation
The key generation process starts with first permutation choice, which transforms the 64- bit input key into 56-bit (Cipher Key) permutated output and then dividing into 28 bit each at shift left and at shift right. The round-key generator in total creates sixteen 48-bit keys of compression
P-box out of a 56-bit cipher key.

@gaurangsalunke99 thank you so much. :)
@mayankmodi2101 thank you so much
Thank you sir
Nice read, clear explanation
Great work!! It’s very help full!!
The theory, the Diagrams everything is well explained