Block Cipher Visualisation Tool is a program that visualises the steps taken by the AES and DES block ciphers to encrypt and decrypt data.
Cryptography is of major importance in the digital world of today as it ensures secure communication between two parties. Students have been known to find learning cryptography difficult for several reasons: lack of strong mathematical background or low attendance to cryptography classes. Block ciphers have many substitutions and permutations that can be difficult to learn. Other block cipher visualisation tools show too much information on the screen, and this can confuse new students with no previous knowledge of cryptography.
To create a visualisation tool that will demonstrate visually the steps taken to encrypt and decrypt data with several block ciphers, mainly AES and DES, as well as their corresponding modes of operation, e.g., CBC and ECB mode. By being able to view the data move through the different substitutions and permutations, students should be able to understand block ciphers more easily. The program will show the different key procedures performed on the data on the way to being encrypted/decrypted and finally will show the result of the cipher.
- Simple Design that anyone can follow
- Interactive as users can enter values
- No need for internet access to use
- Python
- TKinter Library
The main folder contains all the files necessary to run the application
- main.py contains the visual elements for the program- each class makes up a different page in the program.
- DES_logic_func.py contains all the functions necessary to encrypt and decrypt using the DES block cipher
- AES_logic_func.py contains all the necessary functions to encrypt and decrypt using the AES block cipher
- images folder contains all the images used in main.py
- Audio folder contains all the audio used in main.py
- Clone the repository
- For those using pip, you might need to upgrade it
- If PyGame is not installed then it will be necessary to run pip install pygame
- Run the main.py