As I learn the basics of ciphers
As part of my degree program, I've started learning about Cryptography. The study materials are all part of the lead-up to the EC-Council Certified Encryption Specialist certification. I know that many aren't fond of the EC-Council, but it's part of the coursework. On top of that, an extra certification doesn't hurt. At worst, it gets ignored.
I've been reading about some of the classical ciphers such as the Caesar, ROT13 and the Vigenere. Most of the classical ciphers are single-alphabet substitution ciphers, which means that every letter in the cipher corresponds to one plaintext letter. Obviously, that's nowhere near secure by today's standards, but it helps us have a basic understanding of the origins of cryptography and the knowledge of how it works.
The Vigenere, unlike those other two I mentioned above is actually a multi-alphabet substitution cipher. What this means is that letters in the ciphertext don't match 1-to-1 with plaintext. A single letter can stand in for several other letters. It's more dependent on the key. In this case the key can be a word, or a random string of letters. It' much more complex than something like the Caesar, but is still easily breakable to anyone with an understanding of how the cipher works. If they can figure out the key-length, it's over.
(Image credit: Crypto-Interactive)
Looking at the chart above, if you were encrypting the word tacos, and your key was nachos, the ciphertext would be Gaevg.
You’d do this by first finding the N on the top line. Then look for where it intersects with the T. That would be G.
Next is the a in nachos. The A in the top line intersects with the A on the first column at the A. Then we move to the C in nachos. It corresponds to the C in tacos, but they intersect at the letter E. Do this until every letter in tacos has been replaced. If you run out of letters in the key, you just go back to the first letter and cycle through again until you’ve turned all plaintext into ciphertext.
It’s really simple, and just like all the other classical ciphers, it’s way too simple to hold up to today’s standards and a computer could crack it in fractions of a second.
What’s important here isn’t the complexity of the cipher, it’s the understanding of how encryption works at even the most basic algorithms.
We can see how if we could safely abide by Kerckhoff’s principal, the code would be solid. I know that’s not the case here, but let’s look at it this way for just a bit: Anyone could safely understand how the algorithm works. Anyone could safely understand that, and it wouldn’t matter, according to Kerchoff’s principal.
However, once you know the key, the secret text is broken. In this case, we know the key, and even if we didn’t, it wouldn’t be a horrible challenge. But that’s only because the algorithm is simple. If we for some hypothetical reason had no way of discovering the key through tricks like frequency analysis and the Kasiski method, the cipher would be much, much harder for us to crack.
Well, I’m not exactly the crypto expert, but I hope to have enlightened at least someone today. At the very least, I’ve entertained myself for a while by recapping some of my studies.











