The RSA cryptosystem is one of the first of many public-key cryptography algorithms that utilizes prime factorization as the one-way function, or otherwise known as the trapdoor one-way function since it **deals with fixed public-key functions**.

## RSA: A History

The RSA cryptosystem was a new concept brought about in 1976 by Whitfield Diffie and Martin Hellman. Along with RSA, Diffie and Hellman also introduced the idea of digital signatures. Their number theory consisted of a shared secret-key formed through the exponentiation of prime numbers. **Unfortunately, they could not complete the equation due to the use of one-way functions.** Most likely because, at the time, factoring was an arduous process and was not fully studied or practiced. However, for the next year, three men that are known as Ron Rivest, Adi Shamir, and Leonard Adleman, all of whom studied at Massachusetts Institute of Technology, put in a plethora of man hours and made numerous attempts in order to design a one-way function that could not be inverted. In April of 1977, Rivest, Shamir, and Adleman finally completed what is now known as RSA; named so as a tip-of-the-hat to its creators.

In September of 1983, MIT was granted the patent for “Cryptographic communications system and method”, which utilized the RSA algorithm. The patent was only issued for a 17-year use which meant that it would expire in September of 2000. However, MIT released the algorithm for public use two weeks before the expiration of the patent. Since the algorithm was made public, it was granted a U. S. patent. Otherwise, obtaining a patent would not have been doable.

## How does RSA work?

The RSA cryptosystem requires four different processes: key generation, key distribution, encryption, and decryption. When speaking of key generation, that is when public and private keys involved. The public key is mostly used for encrypting messages and confidential information and be used by anyone. The private key is, in a way, the skeleton key that can decrypt those messages if done so within a certain amount of time. There is a formula that is used in order to generate the public and private key codes.

Key distribution is sort of like file sharing with a password. To send someone an encrypted message, you need their public key, so they would have to send it to you in order to encrypt a message to send back. Upon receiving the encrypted message, you would then **use your private key to decrypt it and read the message**. RSA is fairly simple to understand once you remove the mathematical functions from it.

When using RSA to send encrypted messages, you want to be sure that the person you’re sending and receiving messages with is who they say they are. For this reason, there is what’s known as “signing messages.” Since anyone can use your public key, RSA can be utilized to confirm the source of the encryption by “signing” it with your private key. This allows the sender to know that the message was, in fact, from the person of interest.

To conclude, RSA is one of the simplest forms of cryptosystems that can be learned and used by anyone. Most computer programmers learn it while they are in school, and some people are self-taught. If cryptosystems are something that intrigues you, then you might want to try your hand at RSA coding.