Verilog code for different modes of DES

Here, we will provide you complete code for different modes of Data Encryption Standard implemented (DES) in Verilog. This problem statement is of I-Chip 2020 event, I-Chip is a Verilog HDL based event. The participants are given an exciting problem statement and are expected to code its solution in Verilog, simulate their code and implement it on FPGA board. It is an event of Annual Technical Fest UDYAM of department of ELECTRONICS IIT(BHU).

Problem Statement-

Problem statement is given here. Basically, we have to write a verilog code to encrypt and decrypt a given image using different modes of DES, this is known as crytography.

Input image is below- imput image

Solution-

  • Use this Python code to convert image to binary txt file.
  • Use this Python code to convert binary txt file to image.

The code for every mode is given in files of this repository. It includes Process Key which is same for every code, verilog module and test benches corresponding to them.

For Example- if the name of file is ECB_enc.v then it will have code of encryption for ECB mode and corresonding test bench file is given by name test_ecb_enc.v. Similarly, if 'dec' is used in place of 'enc' in file name are the files corresponding to the decryption process.

Results-

ECB (Electronic Code Book) mode-

Encrypted image- im

Decrypted image- im

CBC (Cipher Block Chaining) mode-

Encrypted image- im

Decrypted image- im

CFB (Cipher FeedBack) mode-

Encrypted image- im

Decrypted image- im

OFB (Output FeedBack) mode-

Encrypted image- im

Decrypted image- im

Remark-

The images shown above are screenshots of the python program output. So, they may not be in required resolution of 1024 X 1024. So, instead of using these images, use there .txt file with same name which is binary form of the image.

Resources-