Hey there .
Its been a long weekend and finally I am here with my second blog in which , as I promised , I will be talking about ciphers . Yayy 😀 … okay, not so cool yet !!
Almost everyone knows what’s a cipher. Lots of sci-fi movies and books have been written on this topic. For example, the very famous Da Vinci Code by Dan Brown where Robert Langdon ( played by the awesome Tom Hanks in the movie 😀 ) goes after solving a cryptic message. The very famous Jefferson’s cipher
Let’s get to the boring stuff behind ciphers. Just Kidding !! It starts to get even more interesting now.
What’s a cipher ?
If we go by the definition of Wikipedia, it is an algorithm for performing encryption and decryption. In simpler words, it follows a series of steps to encode the data and also decode it. Encoding and decoding is something we all might be familiar with. Remember the secret messages we passed to our hands filled with weird symbols or the coded language we came up with ? Yep. Exactly that !! The method in which we coded or decoded the messages is nothing but a cipher.
We have a series of steps to encode the data into something cryptic and decode it with a similar method. In the case of the secret messages, it used to be some symbols representing the letters of the alphabet. Something like this, I guess :
Well, ours was more filled with hearts, bows, and smileys ;). Anyways, this is a perfect example of a simple cipher. Now if we have a message which needs to be sent secretly, we transform the message as per our coded language and send it. Simple!! ( Not so simple actually. Why? That’s a completely different discussion for another post.)
Another simple example could be a substitution cipher. For example, when we encrypt a message by replacing all the letters by their second successive letter. A will be replaced by C, B by D, and so on [Encoding]
So a message like ” Hi what’s up ?” can be “Jk yjcv’u wr?”. Totally meaningless if you try to read it plainly. But the “real” message is hidden in the crypt message or the “cipher text”. Now, if the person on the other end wants to decode it he just needs to substitute all the letters with their second predecessor. [Decoding]
Where does cipher come in this ?
The job of a cipher is to encode or decode the data correctly and safely. Why correctly ? Of course, the other person shouldn’t end up getting the wrong message now , right? It could be disastrous if a country planned to send the information to some secret base about a missile destination and it ended up in the wrong place ?? Scary. Yeah, I watch a lot of sci-fi 😛
Why safety? Now, you don’t want the person who is passing you secret message to your friend to know what it means. Attacks are an important way to understand the vulnerabilities of the cipher which we will see later.
This whole process comes under something known as CRYPTOGRAPHY. It forms a major branch of Mathematics. This has a long history dating back to Greeks and Egyptians. ( Hey, there were always spies , weren’t they? ) Most of them are called classical as they relied mostly on using pen and paper. Later on came complex machines and today we are using computers to encrypt data. The cryptography has had quite a mark in the history of the world. Breaking the German naval codes, which were thought to be unbreakable, in World War II played an important role in shaping the war. Modern cryptography has reached new heights and electronics are being used to perform encryption and decryption on large data at a great speed. New and complex algorithms are being designed that turns data into digital gibberish using long keys efficiently. Attempts are being made to reduce the possibility of attacks on the algorithms by avoiding weaknesses in the method. AES, Blowfish, Twofish, variants of DES called triple DES are all examples of modern symmetric ciphers. The general function of all these ciphers is to break down message into chunks and encrypt each chunk with the help of a key, known to only the end persons, and decrypt using the same key. Asymmetric ciphers are slightly different relying on two keys one public and other private for the function.
On the whole, cryptography and ciphers offer a great opportunity for exploration and inventions. Work is going on to come up with newer algorithms with less vulnerabilities and greater accuracy.
That’s it for this post. If you find this interesting, I encourage you to explore and learn more about this. I am working on three algorithms called CAST128, Camellia and Twofish. I remind you I am still exploring the field of cryptography and if there is any naivety in the post, please excuse me as I am trying my best to share whatever I am learning in a proper manner. I will come up with next blog in a few days which will focus on basics of some modern ciphers, mainly symmetric ciphers. I end with this final picture :
Hope you all have a good week. Take care !! Until next time, Byee 😀
Disclaimer : I do not own any of the pictures included in this post. 😛