A cryptosystem is nothing but a set of cryptographic algorithms with a key management system that is responsible for ensuring confidentiality, integrity and availability of data in some application context.
RSA(Rivest–Shamir–Adleman) is a Public Key Cryptosystem that is widely used for secure data transmission.
The operation includes 4 phases:
- Choose two distinct prime numbers of large value.
2. Compute n = p * q
3. Compute Euler’s totient function
4. Find the decryption key d such that d is the multiplicative inverse of e in the class module
In Public Key Cryptography, the key distribution of public keys is done through public key servers. When a person creates a key-pair, they keep one key private and the other, known as the public-key, is uploaded to a server where it can be accessed by anyone.
The message is encrypted using the shared public key. Data encrypted with the public key can only be decrypted with the private key, and data encrypted with the private key can only be decrypted with the public key. Public key encryption is also known as asymmetric encryption.
The receiver decrypts the message using the private key.
Limitation of RSA Encryption Algorithm:
Using small or close prime numbers is a weakness
RSA Encryption is a reliable cryptographic algorithm only if the prime numbers are large numbers. If the primes are small then RSA encryption algorithm does not prove to be effective. Similarly, use of prime numbers that are relatively close makes the encryption system weak and obvious.
Leaks a single plaintext bit in every ciphertext
One of the drawbacks to the RSA encryption algorithm as originally defined is that it leaks a single plaintext bit in every ciphertext. This bit is the Jacobi symbol of the plaintext, and is either “1” or “−1.” Since e is odd it is straightforward to see that J (m/n) =J (m e /n) for all valid RSA plaintexts m.
if a third person (Eve) has sufficient details about Alice’s hardware then she is able to measure the decryption times for several known ciphertexts. In this way Eve can deduce the decryption d easily and quickly.