**The most important and interesting about encryption.**

##### A series of articles understandable even to non-specialists.

**RSA history**

Asymmetric encryption was previously discussed in this article.

One of the most recognized asymmetric encryption algorithms is RSA. It got the name after the initials of its creators – Rivest, Shamir, and Adleman. The algorithm was developed since the mid-1970s. And in 1983, it got a patent in the US. In 1990, the US Department of Defense started to use the RSA algorithm. The RSA algorithm is used in data exchange protocols and digital signature protocols, as well as in blockchains.

**Underlying Maths**

The mathematical basis is factorization of the product of two large prime numbers. Recall that a prime number is a number that can only be divided exactly by 1 and by itself. For example, 17. The RSA algorithm employs random prime numbers, say p and q, of large values. They are then multiplied. And the resulting number n is used then in several mathematical operations. As a result, we have two values. One is secret (the same back door – private key). And another is public (public key).

For those who are good at math, the process looks like this:

**Cryptographic robustness and prospects**

The main task of a potential hacker is to calculate two prime factors p and q. In 2010, a group of scientists successfully performed this task. They calculated the prime factors for the 768-bits cryptographic key of RSA. It took two years and hundreds of computers. Scientists have concluded that the RSA algorithm can be stable only if the key size is at least 1024 bits. But the processing speed of computers is increasing. So, the 1024-bit key is not enough for reliable protection of information. Currently, the recommended key length is 2048 bits. However, it will not last long. Unfortunately, if the intruders managed to get the secret key, they will be able to read not only the current encrypted message but all the previous ones…

In addition, the crack of the RSA algorithm is an easy task for a quantum computer.