A web demo of RSA public key cryptography algorithms

The Rivest-Shamir-Adleman (RSA) algorithm is an asymmetric algorithm that is used in Public-Key Cryptosystems where security is directly proportional to the key size. RSA data keys are generated from factors based on two large prime numbers using the Extended Euclidean algorithm. These prime numbers...

Full description

Bibliographic Details
Main Author: Tan, Andy Ying Kun
Other Authors: Anwitaman Datta
Format: Final Year Project (FYP)
Language:English
Published: 2019
Subjects:
Online Access:http://hdl.handle.net/10356/76983
_version_ 1811688641539342336
author Tan, Andy Ying Kun
author2 Anwitaman Datta
author_facet Anwitaman Datta
Tan, Andy Ying Kun
author_sort Tan, Andy Ying Kun
collection NTU
description The Rivest-Shamir-Adleman (RSA) algorithm is an asymmetric algorithm that is used in Public-Key Cryptosystems where security is directly proportional to the key size. RSA data keys are generated from factors based on two large prime numbers using the Extended Euclidean algorithm. These prime numbers are selected at random and undergo a probabilistic primality test such as Miller-Rabin’s to ensure that they are prime. The plaintext undergoes through an encryption algorithm to produce a ciphertext to be transmitted to the receiver. The ciphertext will be decoded through a decryption algorithm to be converted back to its intended plaintext. Consisting of many complex mathematical calculations revolving around prime numbers and exponentials, students studying cryptography usually only learn the algorithm only in theory and formulas with the teaching materials given and have no way of experimenting with the variables involved to get a deeper understanding of each step of the asymmetric algorithm. The purpose of this project is to implement a web-based demonstration for all the steps of encryption and decryption of the RSA algorithm, which can be served as an accompanying learning material for students of cryptography. This includes computation subsystems such as the primality test algorithm, the Extended Euclidean algorithm, and the actual RSA encryption algorithm. The RSA Web Demonstration was developed using HTML Bootstrap and JavaScript. The demonstration collects input from the user and passes those inputs to JavaScript to be used in calculations of the algorithm. The web demonstration will then return the algorithm process and the results to step by step collapsible sections where users can understand what each step entails. In conclusion, the user will be able to use various parameters to generate a step by step visualization of the computation subsystem they wished to experiment or learn more with different variables introduced to the algorithms. For future works, it is recommended that the demonstration can handle calculations more than 8 digits.
first_indexed 2024-10-01T05:35:26Z
format Final Year Project (FYP)
id ntu-10356/76983
institution Nanyang Technological University
language English
last_indexed 2024-10-01T05:35:26Z
publishDate 2019
record_format dspace
spelling ntu-10356/769832023-03-03T20:42:55Z A web demo of RSA public key cryptography algorithms Tan, Andy Ying Kun Anwitaman Datta School of Computer Science and Engineering DRNTU::Engineering::Computer science and engineering The Rivest-Shamir-Adleman (RSA) algorithm is an asymmetric algorithm that is used in Public-Key Cryptosystems where security is directly proportional to the key size. RSA data keys are generated from factors based on two large prime numbers using the Extended Euclidean algorithm. These prime numbers are selected at random and undergo a probabilistic primality test such as Miller-Rabin’s to ensure that they are prime. The plaintext undergoes through an encryption algorithm to produce a ciphertext to be transmitted to the receiver. The ciphertext will be decoded through a decryption algorithm to be converted back to its intended plaintext. Consisting of many complex mathematical calculations revolving around prime numbers and exponentials, students studying cryptography usually only learn the algorithm only in theory and formulas with the teaching materials given and have no way of experimenting with the variables involved to get a deeper understanding of each step of the asymmetric algorithm. The purpose of this project is to implement a web-based demonstration for all the steps of encryption and decryption of the RSA algorithm, which can be served as an accompanying learning material for students of cryptography. This includes computation subsystems such as the primality test algorithm, the Extended Euclidean algorithm, and the actual RSA encryption algorithm. The RSA Web Demonstration was developed using HTML Bootstrap and JavaScript. The demonstration collects input from the user and passes those inputs to JavaScript to be used in calculations of the algorithm. The web demonstration will then return the algorithm process and the results to step by step collapsible sections where users can understand what each step entails. In conclusion, the user will be able to use various parameters to generate a step by step visualization of the computation subsystem they wished to experiment or learn more with different variables introduced to the algorithms. For future works, it is recommended that the demonstration can handle calculations more than 8 digits. Bachelor of Engineering (Computer Science) 2019-04-28T14:22:18Z 2019-04-28T14:22:18Z 2019 Final Year Project (FYP) http://hdl.handle.net/10356/76983 en Nanyang Technological University 42 p. application/pdf
spellingShingle DRNTU::Engineering::Computer science and engineering
Tan, Andy Ying Kun
A web demo of RSA public key cryptography algorithms
title A web demo of RSA public key cryptography algorithms
title_full A web demo of RSA public key cryptography algorithms
title_fullStr A web demo of RSA public key cryptography algorithms
title_full_unstemmed A web demo of RSA public key cryptography algorithms
title_short A web demo of RSA public key cryptography algorithms
title_sort web demo of rsa public key cryptography algorithms
topic DRNTU::Engineering::Computer science and engineering
url http://hdl.handle.net/10356/76983
work_keys_str_mv AT tanandyyingkun awebdemoofrsapublickeycryptographyalgorithms
AT tanandyyingkun webdemoofrsapublickeycryptographyalgorithms