Symmetric Cryptography

Next -->



Symmetric-key ciphers are algorithms that use the same key both to encrypt and decrypt data. The goal is to use short secret keys to securely and efficiently send long messages.

The most famous symmetric-key cipher is Advanced Encryption Standard (AES), standardised in 2001. It's so widespread that modern processors even contain special instruction sets to perform AES operations. The first series of challenges here guides you through the inner workings of AES, showing you how its separate components work together to make it a secure cipher. By the end you will have built your own code for doing AES decryption!

We can split symmetric-key ciphers into two types, block ciphers and stream ciphers. Block ciphers break up a plaintext into fixed-length blocks, and send each block through an encryption function together with a secret key. Stream ciphers meanwhile encrypt one byte of plaintext at a time, by XORing a pseudo-random keystream with the data. AES is a block cipher but can be turned into a stream cipher using modes of operation such as CTR.

Block ciphers only specify how to encrypt and decrypt individual blocks, and a mode of operation must be used to apply the cipher to longer messages. This is the point where real world implementations often fail spectacularly, since developers do not understand the subtle implications of using particular modes. The remainder of the challenges see you attacking common misuses of various modes.

5298 Players Solving
989 Players Completed
505 Points to Earn


Symmetric Ciphers - How AES Works Keyed Permutations 5
Symmetric Ciphers - How AES Works Resisting Bruteforce 10
Symmetric Ciphers - How AES Works Structure of AES 15
Symmetric Ciphers - How AES Works Round Keys 20
Symmetric Ciphers - How AES Works Confusion through Substitution 25
Symmetric Ciphers - How AES Works Diffusion through Permutation 30
Symmetric Ciphers - How AES Works Bringing It All Together 50
Symmetric Ciphers - Symmetric Starter Modes of Operation Starter 15
Symmetric Ciphers - Symmetric Starter Passwords as Keys 50
Symmetric Ciphers - Block Ciphers ECB Oracle 60
Symmetric Ciphers - Block Ciphers ECB CBC WTF 55
Symmetric Ciphers - Block Ciphers Flipping Cookie 60
Symmetric Ciphers - Stream Ciphers Symmetry 50
Symmetric Ciphers - Stream Ciphers Bean Counter 60

Level Up

level up icon

You are now level Current level