Crypto 2: Stream Ciphers
by Arnav Vora
For perfect security, OTP has very restrictive conditions. Instead, we want to design ciphers that need a smaller key and are easy to work with. Symmetric encryption is when the same key is used for encryption and decryption, and there are two types of commonly-used ciphers. Stream ciphers generate a "keystream" similar to OTP's key, but instead from a single fixed-size key. On the other hand, block ciphers divide up the ciphertext into "blocks" and apply an encryption function to each block using the key. There are many standard commonly-used stream and block ciphers.
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-2
- Challenge 2 -
crypto/count-the-counter
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.