Jupyter notebook implementing and elaborating AES encryption and decryption algorithms

Nanyang Technological University School of Computer Science and Engineering offers a few courses relevant to cybersecurity as a specialization. Advanced Encryption Standard (AES) is described in detail as part of course CE/CZ 4024 Cryptography and Network Security, and referenced by other security c...

Full description

Saved in:
Bibliographic Details
Main Author: Zhang, Chengxuan
Other Authors: Anwitaman Datta
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2020
Subjects:
Online Access:https://hdl.handle.net/10356/138196
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-138196
record_format dspace
spelling sg-ntu-dr.10356-1381962020-04-28T07:08:50Z Jupyter notebook implementing and elaborating AES encryption and decryption algorithms Zhang, Chengxuan Anwitaman Datta School of Computer Science and Engineering Anwitaman@ntu.edu.sg Engineering::Computer science and engineering::Data::Data encryption Engineering::Computer science and engineering::Software::Software engineering Nanyang Technological University School of Computer Science and Engineering offers a few courses relevant to cybersecurity as a specialization. Advanced Encryption Standard (AES) is described in detail as part of course CE/CZ 4024 Cryptography and Network Security, and referenced by other security courses. However, due to complex and heavy mathematical operations involved, students taking this course may find AES algorithm difficult to understand. This project aims to build an interactive learning companion for students learning AES, based on python Jupyter Notebook, to implement a demonstration of AES Encryption and Decryption algorithms. The notebook itself was built bottom-up as a deliverable of this project based on functional programming, for users to understand the python code more easily. It is a set of python codes with explanatory texts, figures, and animations, implementing the AES from scratch. Users are able to perform AES encryption by giving their customized input plaintext and cipher key, and see the encrypted ciphertext as an output. Users are also able to perform AES decryption by giving the ciphertext and same cipher key to retrieve the plaintext. Throughout the learning process, they can also gain knowledge about basic polynomial arithmetics, Galois field operations, bitwise operations, matrix operations, etc. The duration of this project was three semesters and was divided into five stages based on Software Development Life Cycle, including Planning, Design, Implementation, Testing and Deployment. Bachelor of Engineering (Computer Science) 2020-04-28T07:08:50Z 2020-04-28T07:08:50Z 2020 Final Year Project (FYP) https://hdl.handle.net/10356/138196 en PSCSE18-0062 application/pdf Nanyang Technological University
institution Nanyang Technological University
building NTU Library
country Singapore
collection DR-NTU
language English
topic Engineering::Computer science and engineering::Data::Data encryption
Engineering::Computer science and engineering::Software::Software engineering
spellingShingle Engineering::Computer science and engineering::Data::Data encryption
Engineering::Computer science and engineering::Software::Software engineering
Zhang, Chengxuan
Jupyter notebook implementing and elaborating AES encryption and decryption algorithms
description Nanyang Technological University School of Computer Science and Engineering offers a few courses relevant to cybersecurity as a specialization. Advanced Encryption Standard (AES) is described in detail as part of course CE/CZ 4024 Cryptography and Network Security, and referenced by other security courses. However, due to complex and heavy mathematical operations involved, students taking this course may find AES algorithm difficult to understand. This project aims to build an interactive learning companion for students learning AES, based on python Jupyter Notebook, to implement a demonstration of AES Encryption and Decryption algorithms. The notebook itself was built bottom-up as a deliverable of this project based on functional programming, for users to understand the python code more easily. It is a set of python codes with explanatory texts, figures, and animations, implementing the AES from scratch. Users are able to perform AES encryption by giving their customized input plaintext and cipher key, and see the encrypted ciphertext as an output. Users are also able to perform AES decryption by giving the ciphertext and same cipher key to retrieve the plaintext. Throughout the learning process, they can also gain knowledge about basic polynomial arithmetics, Galois field operations, bitwise operations, matrix operations, etc. The duration of this project was three semesters and was divided into five stages based on Software Development Life Cycle, including Planning, Design, Implementation, Testing and Deployment.
author2 Anwitaman Datta
author_facet Anwitaman Datta
Zhang, Chengxuan
format Final Year Project
author Zhang, Chengxuan
author_sort Zhang, Chengxuan
title Jupyter notebook implementing and elaborating AES encryption and decryption algorithms
title_short Jupyter notebook implementing and elaborating AES encryption and decryption algorithms
title_full Jupyter notebook implementing and elaborating AES encryption and decryption algorithms
title_fullStr Jupyter notebook implementing and elaborating AES encryption and decryption algorithms
title_full_unstemmed Jupyter notebook implementing and elaborating AES encryption and decryption algorithms
title_sort jupyter notebook implementing and elaborating aes encryption and decryption algorithms
publisher Nanyang Technological University
publishDate 2020
url https://hdl.handle.net/10356/138196
_version_ 1681057673959702528