Hello friends, I hope you all are doing great. Today I am going to discuss and explain to you, Quantum Cryptography, in this article, you will learn what Quantum cryptography is and how the data was stored and transmitted by the first generation computers from one device to another.It's going to be a long series and today, I am posting its first lecture, so I'll only cover the basics. I will briefly give you an overview of its history & we will understand How it has evolved in the past and now became an important part of digital world. So, let's get started:
We know that digital data is always stored in bit format i.e. 0's and 1's but first generation computers stored the data using the method of Punch Tape
(you can find the illustration below):
As you can see in above image, we have a pattern of punch holes. Here, holes are representing 0s and the plain surfaces are representing 1s. This type of data was authentic & reliable and there was almost zero percent chance of the data to get destroyed.
Then we entered the evolution of Hard Disk
, which stores the data to bits in the electromagnetic form, which actually stores in the form of 1s and 0s. If you look at the picture carefully, you will see they have opposite polarity. In the hard disk, data is not as secured as in punch tape as you may get
In this 21st century, we are using Quantum Computer which is known as Q-bit. It exists in the form of superposition with the algorithms. So the data will be stored and transmitted through supercomputers.
As the means of communication are getting smarter, the security of sensitive or private data and information has become the highest risk. Therefore, the goal is to transmit the data and information safely from one server to another, this method is known as Cryptography.
In this method, the data and information are hidden between two servers, in a way that any third party/hacker unables to access them in an unauthorized way. (As we can see nowadays in our Whatsapp, the chats are end-to-end encrypted). We click it to disable the access of any third party to our data and to ensure that our chats are safe.The cryptography can function through various methods to secure the data. The easiest philosophy is that both the sender and receiver have a codebook. So the sender, let's name it Bob and the receiver is Alice:
- Bob wants to send some information "A" to the receiver. ( Let's suppose, "A" is equal to 18) .
- We pick a code from our codebook which is 93, we will add this code in our data i.e. 18+93 = 111 and then we will subtract 100 from this product and we will get 11.
- We send this 11 to the receiver, so we have done the data encoding.
- The receiver should know the same pattern as he has the codebook and it must know that it should perform the reverse action.
- It has to subtract the code 93 from 11, i.e. 11-93= -82, then will need to add 100 to it i.e. -82+100=18 and 18 is our data "A".
Now suppose, if any third party, lets name it Eve, gets the information 11, it is unable to reproduce the data unless it has the codebook and the same number. Let me inform you if we start transmitting the data and information in mass quantity, it will become easy for Eve to start predicting the codebook and how the data is being ciphered and it will be able to collect the data and make its codebook.The same method is used by hackers who try to access the data. They have supercomputers to operate such tasks and they try to reproduce the codebook through reverse engineering.
We will learn the historical background that how in the early generation the cryptography was functioned and ciphered.
- It's about 400 BC when a human sent data from one point to another, using the method of scytale which was called Permutations.
so if I have a message "ABC", I can write it in a few forms such as BAC, CAB, ACB, and our receiver must know the method of our permutation, so if you want to send a message " SEND HELP"(Illustration below),
You can find how the message will appear after permutation and the receiver will know how to decipher it, this pattern was known as scytale
Ceaser Cipher Substitution
Here I interpret about Greeks, Julius Ceaser
produced a cipher called substitution method.
In this method, we have A to Z characters and we will stimulate a circular cycle through it. As the AB and C will be shifted at the end. So we shifted the ABCD to three places. Now we get the new encryption scheme that A is represented by D, B by E, C by F and respectively (find the pattern in the illustration). Now the receiver must know how many places A, B, C, and D have to be shifted, then he will be able to retrieve the data.
This code of data was easily deciphered by a Muslim scientist, AL Kindi
, however, if you look at the data, it is almost impossible to break the code of this data, but Al Kindi deciphered it with a single trick. According to him, he described that if we have a book, see how many times the character E is placed. He finds that in every hundred alphabets E holds twelve places and the T keeps 9 places then A and O and so on. If you see any book of English, you will find the same probability distribution.Suppose you have replaced E from J and you have sent the data.so the C which has the data will determine which word has been included numerous times and the probability of the letter J will be defined. The probability of the letter J will be 0.12 which makes the fraction of 12/100 then it will be able to detect that the letter E has been replaced by letter J. The same pattern will be followed by the next letter i.e. T. the C can easily decipher all the letters replacements through reverse engineering method, so Al-Kindi was the code breaker he deciphered the codes of Julius Ceaser.
To break any code you are required a massive amount of encrypted data, the more you have the encrypted data the easier it will be for you to reproduce the codebook. The Eve is capable of accessing the data based on encryption it contains.
Alberti encryption disc
Let us have a look at another cipher technique which is known as Alberti encryption disc.
It was founded by Leon Battista Alberti
. The alphabets were placed against another disc which has different characters as well. ( illustration below), but if we rotate the upper disc and shift the Letters, all the characters will be facing different letters, for example, A will be facing e, B will be facing g, C will face k and all the alphabets face their characters respectively. The receiver should know how many times it has been shifted, whether it is shifted to three points, four points or ten points. Therefore the receiver will use the reverse engineering method and will be able to decipher your code.
Suppose, if I want to send “SELL” then I need to:
- rotated the disc seven times then S will be replaced by Z,
- same as for E, I will rotate it till fourteen points, then E will be replaced by S,
- the third rotation will occur nineteen in steps for the letter L and L will be replaced by the character E,
- then again I will have to rotate it in seven steps, but this time we will have the character S in replacement of L.
Now you can view, as L wasn't represented by code A, the first L is coded by E and the second L is coded by S, which is much difficult to decipher or to reproduce, on the other hand, I need to tell the decoder or the receiver, 7, 14, 19, that you have to decode it, with this pattern.This code was broken by Charles Babbage,
he pioneered that we can decode an Enigma Rotary Machine.
Enigma Rotary encryption machine is a generator that was used in World War II, the data was encrypted in a massive quantity. You can see in the image below that the disc is used multiple times. So we use this disc multiple times and change it with our texts. Hence one side is being coded and the other side is being informed about the steps. This was decoded by Marian Rejewski.
The evolution of ciphering and deciphering has been taking place equally.
In this era, we need a cipher technique which is indecipherable. Let me show you a simple technique which is called a one-time pad.
In this technique, I have a plain text, I will convert the text into numbers through Pulaski
code then I will perform a linear operation and add a random/secret key with it, the encrypted message will become a random or secret one due to this operation, and this text will be transmitted then.
When this transmitted message will be received by the decoder he will already know the key,
and he will perform a reverse operation to decipher the text, but wait: How the key
itself will be sent to the receiver? Because it may be possible that the sender is in the USA and Receiver is in Japan, therefore the security of the key itself becomes a matter of ultimate concern. Because if the third party gets access to the key it will be able to reach all the data we are transmitting.
How do we secure the key?
An algorithm is designed to secure the key
which is called RSA, we use two keys in this pattern one key is locked by us, which is called a public key
and that locked data is sent to the receiver. So we lock and encrypt the data with the public key and sent it.You will find two keys in the figure below one key is public and the other one is private. The receiver already has the private key so it can decipher the data, for example, Bob has to send the data to Alice, therefore, Alice would have two keys, one is public which everyone knows and the other one will be the private one, which is only known by Alice.
Bob will attain the public key from Alice and encrypt the data through it and that encrypted data will be sent to Alice. Alice will decrypt the data through its private key, Eve cannot decrypt this data from her public key now. That is only for encryption. So once you encrypt the data you will be unable to reverse the data into its original state.Here we have two keys first one is for encryption
and the other one is for decryption
.Quantum Computers can find the relation between both keys
The great minds presumed that the relation between the public key and the private key shouldn't be detected by third parties. So that they cannot estimate or predict the keys by getting one of them because the public key is known to everyone.Therefore it designed an irrelevant and uncorrelated pattern so our system is more secured with it, but still, there is some relation exist among the keys because we cannot produce the pure random numbers using the computer algorithms. The hackers or third parties try to find the relation between the keys and once they can access that they will easily decipher our codes, for this purpose they are required fast computers.To sum up with the idea that in upcoming computer generations the supercomputers will be performing the task of trillion years within hours. It will be a matter of minutes to decode and encodings and for this purpose, numerous agencies are storing the data which they are unable to decipher today. so that after 20 or 30 years when the Quantum computers will functioning, they will easily decode the data and find out what conversation was taking place or what data were being transmitted.