Nov. 6, 2025
Intro to Cryptography
Our last meeting covered the basics of Cryptography, and introduced the history of Cryptography, along with the concepts of Ciphers, Symmetric Key Encryption, and Public key encryption. Members were then given a set of challenges to practice these techniques on.
Cipher-based encryption techniques have been prevalent since ancient times. The most popular historic ciphers are the Spartan Scytale cipher and the Roman Caesar cipher. In Medieval times, polyalphabetic ciphers such as the Vigenère cipher became more popular, and substitution techniques grew progressively more difficult as time progressed, leading to the famous Enigma Machine, used during the World Wars (this cipher method was eventually reverse-engineered and solved by a group of Polish cryptanalysts with the help of Alan Turing). In the 1970s digital encryption methods arose, leading to most Public- and Private-key cryptography methods known today, and recently Quantum-resistant algorithms are in high demand.
The Caesar Cipher was invented by and used by Julius Caesar during ancient Roman times, and is novel, yet simplistic; to encrypt text using the Caesar Cipher, each letter needs to be shifted a fixed amount to the right, with the last characters wrapping around to the beginning. Decrypting the message was just as easy, since all you need to do is shift the letters back the same amount. Since there are normally only 26 possible keys, Caesar cipher is relatively easy to decrypt today, but since this cipher method was novel at the time, it wasn’t obvious to Rome’s enemies how to decrypt the message, even if they had the key.
The Vigenère cipher is much harder to decrypt, as it uses a large chart of letters and a keystring to encrypt the message. It is good at preventing frequency analysis attacks to a higher extent, but is vulnerable to many plaintext attacks. Vigenère is very secure when the key is the same length as the encrypted text, as it has been proven to be non-crackable.
Xor (exclusive-or) encryption is a more modern method of encryption which relies purely on the binary ascii representation of characters. With Xor cipher, chunks of the plaintext are bit-wise exclusive-or’d with the key, resulting in a messy, unreadable bytestring. It is popular because of its symmetricity, aka the same operation is used to both encrypt and decrypt the message.
Symmetric Key Encryption is a gene of encryption methods where a single key is shared between the sender and receiver. It is a very fast method and has laid the foundation for secure communication today. The Advanced Encryption Standard (AES), which relies on Symmetric Key encryption has been tested for over 20 years and, and is used in banking, the military, VPNs, messaging apps, and disk-encryption. Public Key Encryption is a bit more complex; Every individual shares their public key to everyone else, and messages are encrypted using the intended recipients’ public key, which they can then decipher using their secondary private key as well. This eliminates the possibility of a 3rd unwanted party intercepting a private key during sharing, and also allows for much more scalability, at the cost of being much slower to carry out an encryption or decryption. The concept was first proposed in 1976 by Diffie and Hellman, and has since been used as the basis for RSA and Elliptic Curve Cryptography, and is utilized today in fields such as HTTPS, digital signatures, blockchain, and cryptocurrency.
The challenges provided in this meeting can be found at the following GitHub repository:
https://github.com/CSEC-President/csec-classic-crypto-workshop