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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |