Warning: Math and food intensive content. Not recommended for anyone with an empty stomach or holding a pen.
I love cryptography and have since I was young. I love puzzles and figuring out codes. Many people who go into cybersecurity are like me in this way. Cryptography has a cool name and is so much fun. It also has a fantastic history to it which means it’s not just a part of that “computer fad”. What’s not to love here?
Let me get down to the nuts and bolts of it. Cryptography is the art and science of “secret” or “hidden” (crypto) “writing” (graphy). Cryptography is how we secure information off and online. There are many different techniques and flavors of cryptography. People get their doctorates in cryptography. The subject is very dense. I am only providing enough here to whet your whistle, not make you fully informed on the subject.
Here is the basic vocabulary to get started in cryptography.
Plaintext - a message that is being sent and has not yet been turned into coded message
Algorithm - a process that takes input and runs it through a series of steps to provide output
Encryption - the act of encoding, using an algorithm to transform a plaintext message into a coded message
Decryption - the act of decoding, using an algorithm to transform an encoded message into plaintext
On Day 38, I discussed Caesar (aka Shift) Ciphers. The encryption algorithm in that case is the shift that you apply to the alphabet. The decryption algorithm is reversing that shift in the alphabet. The Caesar cipher gives us a very simple example to use when learning about cryptography. Because of its simplicity, it is not actually used to secure data. That honor goes to very complex encryption algorithms like RSA, DES, AES, Blowfish, among others. As with everything else in cybersecurity, everyone must choose the algorithm that best suits their needs. Each algorithm has its advantages and disadvantages. Some work better in some environments than others. There may be usage requirements that eliminate some of the encryption algorithm options.
Very clever hackers have managed to crack many of the encryption algorithms in use. To counter this, hashing algorithms are applied to the encoded message. Hashing produces a unique, fixed-sized output for each input. This means no matter the size of the input, the output will always be the predetermined size. This makes it harder to guess the input based on the output. And just to make things a little more fun, you can salt your hash. Salting a hash is the act of adding random data into a message. We really do try to keep data secret.
Comments