Modification and Implementation of RSA algorithm using PRNG techniques in MATLAB
RSA is the asymmetric cryptography system. The security of the RSA public-key cryptosystem is based on the assumption that factoring of a large modulus is difficult. In RSA if someone can factor modulus into a product of two prime numbers, then the private key is also detected and hence the security of the cryptosystem is broken. So it is quite important to research the selection of prime and derive the private key from the public key.
This project focuses on modifying the RSA algorithm by using PRNG implementation technique. The pseudo-random number generator will be implemented in MATLAB and checked for the most efficient and cryptographically secure random number. Then, RSA is to be modified using a pseudo-random number generator and implemented in MATLAB. RSA involves complex and intensive computation. And MATLAB is a known software package for high-performance numerical computation and visualization.
Pseudorandom numbers are generated by deterministic algorithms. They are "random" in the sense that, on average, they pass statistical tests regarding their distribution and correlation. They differ from true random numbers in that they are generated by an algorithm, rather than a truly random process.
Software Used: MATLAB R2019b
- Open the powermod_function.m, cryptography_func.m, and key_generation_func.m files on MATLAB software.
- Run the key_generation_func.m to get the private and public keys of the process.
- Download the inputfile.txt and open it. Add the message you want to encrypt. As a default, the message "thisprojectiscreatedbysinghishitaforrsaalgorithm" is entered there.
- Open and run the algorithm_implementation_code.m on MATLAB.
- You will get the encrypted message as well as decrypted message.