Crypto 2: Block Ciphers

by Arnav Vora

When discussing modern-day ciphers, we have two desireable properties: confusion and diffusion. A type of symmetric cipher (meaning the encryption and decryption key are the same) that achieves both of these goals is a block cipher. These ciphers divide up the plaintext into fixed-size blocks, and then encrypt them with the same key. Two commonly-used block ciphers are DES and AES. DES has fallen out of favor due to its variety of security flaws. However, AES is now very commonplace and is the modern standard for encryption. When implementing a block cipher, you must consider how different blocks are encrypted with the same key; this mechanism is called the mode of operation and influences a lot about the cipher's security.

Slides

Challenges

The following challenges in increasing difficulty are deployed to platform.acmcyber.com to practice the concepts covered in the slides.

  • Challenge 1 - crypto/practice-run
  • Challenge 2 - crypto/bigram
  • Challenge 3 - crypto/filter-ciphertext
  • Challenge 4 - crypto/filter-plaintext
  • Challenge 5 - crypto/desfunctional
  • Challenge 6 - crypto/be-fast

Resources

The following resources are great to practice/learn about the ciphers covered in the slides.

  • pycryptodome: A library that implements many modern-day cryptographic algorithms.
  • Modes of Operation A good article about the different modes of operation of block ciphers.