Layman’s RSA algorithm


Why a layman should care about RSA: Your all “secure” online transactions are based on RSA encryption!

RSA stands for  the initial letters of the surnames of Ron Rivest, Adi Shamir, and Leonard Adleman, who first publicly described the algorithm of one of the first practical public-key cryptosystems which is widely used for secure data transmission. In this blog post I will try to illustrate the RSA algorithm using a puzzle (that I came across during my summer internship in Delhi):

Suppose there are two scientists, G and S (assume G to be male and S to be female for ease of writing), collaborating on a classified research. Both live far apart and S want to send a chemical for testing to G. She designs a box with two latches for locking (see photo below), so that two different locks can be used to lock the box. [Assume that if any lock is tried to be broken, the chemical will spill and evaporate].

Two such latches are there

Two such latches are there

Now, S locks one of the latches and keeps the key with herself and sends the box to G. When G receives the box, he locks the other latch and keeps that key with himself. 

G then returns the box to S. When S receives the box, she unlocks her lock and sends the box again to G. When G again receives the box, he unlocks his  lock.

Voilà! the chemical has been securely sent by S to G and that too without exchanging the keys.

If we make the above physical “lock” an abstract entity (i.e. numbers!),  and minimize the possibility of breaking lock (like in above illustration, breaking lock caused loss of chemical), what we get is the RSA encryption.

For Mathematics behind RSA encryption refer:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s