Skip to content

dhruvie/RSA

Repository files navigation

RSA

Image Encryption using RSA Algorithm

PROJECT TITLE

Image Encryption using RSA Algorithm :- The RSA is an cryptographic algorithm which is use to encrypt and decrypt the data. Here we are Implementing RSA(Asymmetric key Cryptography) Algorithm on an IMAGE to encrypt and decrypt using two keys, Private key and Public Key. To know more about RSA Encryption on an Image read the pdf(RSA Image) that I have uploaded in my Repositiories.

GETTING STARTED

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You just need Python 3.0+ or Jupyter Notebook installed in your local machine or you can open the project in Google Colab.

Install Python: https://www.python.org/downloads/

Install Jupyter Notebook:- https://jupyter.org/install.html

For Google Colab:- Just type Google Colab in any Search Engine and click on the Google Colab link(Upload Image and Code File in Your Google Drive Account and make sure the Path is correct according to your account where you have Uploaded)

Deployment

When you installed the Python in your local machine, then open Terminal and type 'python3' to see if its correctly insatlled or not. Now, fork my project on your github account and Clone/Download it on your machine. Then, open your Jupyter Notebook or any IDE you have open it. (Remember RSA.ipynb file only work in Jupyter Notebook/Google Colab, so for any other IDE open RSA.py file) And , RUN IT...

About The Project

Additional Information

I've Uploaded some C++ Algorithms that are used by me in this code. As everyone is familiar with C++ language so it will be easy for understand. Now, in RSA we deal with really big numbers. And every language as a limitation upto how large Numbers can be stored in any Datatype. Therefore, we need a Data Structure to store that Big Numbers.But,in Python we can store any Big Number easily so here it is not a problem, but those who want to do this algorithm in C++, either they can store their number in array and do all calculations in array itself. Yes, this is bit hard but you can use C++ boost library in which you can store large Numbers and it will be easy for you to do code of this Algorithm. And everything will be same.

Where This Project Can be Improved

If you have RUN the Python file for larger bits, then you know it's taking a longer time to do encrytpion and decryption. And we know in this world time is more Important, so If anyone who wants to do improvement in the speed of RSA Image Encryption and Decryption will be Valuable for me and ofcourse for you also. Thank you for your Time.

CONTIBUTORS

These are the names of the contributors who contribute to my project. https://github.com/dhruvie/RSA/graphs/contributors