A web demo for the Data Encryption Standard (DES) - Yuen Leong, Seah (2016)
Data Encryption Standard (DES) is a block cipher encryption algorithm that operates on a fixed length string of plain text group of bits. The block size of DES is 64bits. DES transforms a 64 bits plain text into another cipher text of the same bit length using 16 rounds of generated keys, to perform 16 rounds of encryption. The 16 rounds of encryption involve a series of permutation, bits extension, XOR operation and substitution [1] [2]. A block cipher is an encryption method that encrypt a block of text using a deterministic algorithm along with a symmetric key [3]. Data Encryption Standard Web Demonstration strives to further improve the user learning experience of DES by providing better visualization of how DES works. The objectives of Data Encryption Standard Web Demonstration is to implement a web based demonstration for all the steps of encryption and decryption of the generic Data Encryption Standard system and to serve as accompanying learning material for students of cryptography. It is to allow students to change the parameters and inputs as desired to learn more about DES and have animation and bit to bit mapping visualisation to aid students in their course of learning DES. By doing so, this project aims to provide a better learning experience for students of cryptography. Data Encryption Standard Web Demonstration was completed using the HTML, JavaScript (JQuery) and Bootstrap Framework. The Data Encryption Standard Web Demonstration implementation mainly involves using of recursive functions for the change value of a field during the process of encryption or decryption. Animations are also done in recursive functions to provide the pause and resume feature. Permutation and Expansion Bits mapping are done to aid student in visualisation in the event where the animation is still confusing. Patterns in permutation and expansion tables are highlighted to allow student to have a better understanding of how the tables are derives.