Jupyter based cryptographic algorithm (AES) demo

For students who are taking courses on Cryptography, they will be required to learn about the different types of cryptographic algorithms. One of the most common cryptographic algorithms is the Advanced Encryption Standard (AES). The AES algorithm consists of two main components: Key Expansion, foll...

Full description

Saved in:
Bibliographic Details
Main Author: Chua, Chi Hian
Other Authors: Anwitaman Datta
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2021
Subjects:
Online Access:https://hdl.handle.net/10356/153580
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:For students who are taking courses on Cryptography, they will be required to learn about the different types of cryptographic algorithms. One of the most common cryptographic algorithms is the Advanced Encryption Standard (AES). The AES algorithm consists of two main components: Key Expansion, followed by Processing Rounds; each round consists of four processing steps: SubBytes, ShiftRows, MixColumns, AddRoundKey. To fully understand how AES works, other than the components of the algorithm, it is also essential to learn about Galois Field (GF) polynomial arithmetic as a mathematical prerequisite, since the AES operations are performed in GF(2^8). The project aims to create a visual and interactive demonstrator for the purpose of a learning tool for students, by decomposing the entire algorithm into separate components and showing how each component works. In addition, the demonstrator should also show the stepwise computation of the GF polynomial arithmetic so that users are able to understand the mathematical concept behind the algorithm better. The demonstrator was created using Jupyter Notebook, with explanations and demos implemented using widgets, and rendered as a web application for increased interactivity.