In this project, I implemented the RSA encryption algorithm from scratch in Python, using prime number theory. I also added my own enhancements to the algorithm to strengthen the cipher. I demonstrate how messages can be encrypted and decrypted with public keys having only two large prime factors.