This repository contains our project for the CSE211 Algorithms course, focused on implementing and analyzing the RSA encryption and decryption algorithm. This project explores the inner workings, computational complexity, and applications of RSA in ensuring secure data transmission.
-
Flowchart.pdf
A detailed flowchart illustrating the encryption and decryption pathways of the RSA algorithm. -
RSA Encryption and Decryption Algorithm - An Exemplary Analysis.pdf
A document discussing the history, principles, and computational challenges of the RSA algorithm. -
TeamDekhaJak_RSACustomized.pdf
A collaborative report by the team, providing an overview of our customized RSA implementation. -
Group9_RSACustomized.ipynb
The Jupyter Notebook containing the Python implementation of the customized RSA encryption and decryption algorithm.
RSA (Rivest-Shamir-Adleman) is a public-key cryptosystem that is widely used for secure data transmission. This project highlights:
- The mathematical foundations of RSA, including prime number factorization and modular arithmetic.
- Implementation challenges, optimizations, and potential enhancements.
- Real-world applications such as digital signatures, VPN key exchanges, and SSL certificates.
- Customized Charset Encoding: To address challenges with large ASCII encrypted integers, our team implemented a custom encode-decode function to reduce ciphertext size.
- Prime Number Optimization: Ensures efficient generation of large primes for key creation.
- Optimized Decryption: Employs modular arithmetic techniques for faster decryption.
- Clone the repository:
git clone https://github.com/MRaysa/CSE211-RSA-Algorithm-Project.git cd CSE211-RSA-Algorithm-Project