Blog

> OverTheWire (Krypton - Cryptography)

January 01, 2021

Overview

Project Information
OverTheWire (Krypton - Cryptography)

Progress

  • Started "Krypton" of OverTheWire

Project Links

Useful Links

** POTENTIAL SPOILERS AHEAD! **

Reflection

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!
Day 2 (up to "Level 5 → Level 6")
  • 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).

Scratch Notes

  • 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