> OverTheWire (Krypton - Cryptography)
OverTheWire (Krypton - Cryptography)
- Started "Krypton" of OverTheWire
- Github - Writeup
** POTENTIAL SPOILERS AHEAD! **
Day 1 (up to "Level 3 → Level 4")
- Writing the python scripts for the frequency analysis and caesar ciphers were pretty fun!
- Cryptography is fun when it works and frustrating when it doesn't <-- That can be said for all field of study though!
- Vanilla Caesar Ciphers were pretty easy to decode, but I had a lot of trouble with the Cipher requiring Frequency Analysis. It felt like a lot of mathematical brute forcing and "good guessing" that I didn't particularly enjoy. Oh well, to each their own.. Still good to learn though!
Considering that there are so many cipher decoder tools out there, I didn't feel like decoding this by hand. I'd use frequency analysis via keywords and a 6-length column using a Vigenere Square if I were try to do it via pencil-and-paper though. I will consider writing a python script to do this for me in the future (similar to what I did for the caesar ciphers above).
Vigenere Square Example
- Substitution Ciphers: Caesar Cipher + Vigenere Cipher (both can be decoded via Frequency Analysis or Brute Force Key Shifting and some good guessing skills)
- Transposition Ciphers (swapping of bytes)
- Modern ciphers break into two types; symmetric and asymmetric.
- Symmetric ciphers come in two flavours: block and stream.
- Block ciphers use a fixed key to perform substitution. Transposition ciphers on each block discretely.
- Stream ciphers attempt to create an on-the-fly ‘random’ keystream to encrypt the incoming plaintext one byte at a time. Typically, the ‘random’ key byte is xor’d with the plaintext to produce the ciphertext. If the random keystream can be replicated at the recieving end, then a further xor will produce the plaintext once again