# What is RSA Algorithm and How It Works ?

## What is RSA Algorithm ?

The RSA algorithm is an asymmetric cryptology algorithm. It uses two different keys because it works asymmetrically. These keys are called Public Key and Private Key. As the name suggests, the public key is known to everyone, while the private key is known only to the person broadcasting the message.

This cryptology algorithm was developed by Ron Rivest, Adi Shamir, and Leonard Adleman in 1977 and used the initials of the surnames as the algorithm name (1).

Symmetric encryption requires sharing a secret key so that the receiving party can decrypt the data. However, since RSA is an asymmetric encryption technique, there is no need to share the secret key. Users’ private keys do not need to be stored. This frees the system from a large storage load.

It is an encryption technique that is extremely reliable because it is difficult to operate with large numbers.

The biggest disadvantage of the RSA algorithm is that it is an asymmetric encryption algorithm and is slow because it deals with large numbers.

The use of this algorithm, especially in wireless network systems, may cause some problems. Because it consumes a lot of bandwidth and slows down the system, causing performance degradation.

### Features

It is an asymmetric encryption algorithm. Instead of using a single key as in symmetric encryption; Two keys are used, one private (Private Key) and the other public (Public Key).

The degree of confidence is proportional to the size of the prime numbers used in encryption. It enables secure data sharing and authentication with digital signature, especially in systems with multiple users.

The numerical size of the key to be used is important for the system to have high speed as well as reliability. The required size to achieve a sufficient degree of reliability is determined using the Elliptic Curve Encryption (ECC) Algorithm.

The logic of RSA is based on the fact that factoring an integer is more difficult than multiplying it by new numbers. A base value is obtained by multiplying two sufficiently large and different prime numbers. And other key parameters are also derived from the same two prime numbers. Therefore, if the base value can be factored, the private key is compromised. Therefore, if we double or triple the key size, the encryption strength increases exponentially (2).

### RSA Algorithm works like this;

Two prime numbers are chosen. The large number of these numbers is important for security. Let’s call these two numbers p and q. It is necessary to calculate the base value for the keys. If we say n to the base value; This value can be calculated as n = p*q. For the n value, the totient function is calculated.

Since both factors are prime, the totient function of n is found as; φ(n) = (p-1)(q-1). If we call our public key value e, a prime number must be chosen from the range 1< e < φ(n) to find e. Our value e is now our public key value. If we call our private key value d, d value is calculated as d*e = 1 mod (n).