Crypto 2: Symmetric Cryptography
by Danniell Xu
We will discuss one type of modern cipher that is actually practical to use: symmetric cryptography. Symmetric cryptography uses the same keys for both encryption and decryption. These are many benefits and drawbacks to this form of cryptography. We will discuss the two main forms of symmetric cryptography: block ciphers and stream ciphers. Block ciphers divide plaintext into fixed-size blocks, and encrypt each block separately. These blocks are then combined with a certain mode of operation, which can open up more attacks. Stream ciphers are similar to the XOR operation, but instead they use a key to generate a keystream to XOR the plaintext with.
Slides
Challenges
The following challenges in increasing difficulty are deployed to platform.acmcyber.com to practice the concepts covered in the slides.
These challenges are review from last week: (tags on the platform: crypto, cyber academy, week 3)
crypto/vigexor
crypto/Practice Run
crypto/bigram
These challenges are chosen for this week: (tags on the platform: crypto, cyber academy, week 4)
crypto/extremely-convenient-beaker
crypto/convenient-cbc
crypto/admin-login
Resources
The following resources are great to practice/learn about the concepts covered in the slides.
- pycryptodome: A library that implements many modern-day cryptographic algorithms.
- cryptohack: A website with many challenges related to cryptography
- Modes of Operation: A good article about the different modes of operation of block ciphers.