Cryptography

Cryptography CTF Challenges

Work from classical ciphers to modern cryptographic concepts while learning the difference between encoding, hashing, and encryption.

What you will learn

  • Distinguish encoding, hashing, and encryption
  • Recognize properties of common ciphers
  • Follow a repeatable cryptanalysis workflow

Cryptography challenges

15 challenges available.

Cryptography Level 1

02. Hidden Secret - Base64 Decode

Base64 is an encoding method used to transmit binary data as text. It's not encryption, but it's often used for…

Cryptography Level 1

11. Decode the Caesar Cipher

The Caesar cipher is one of the oldest classical ciphers used by Julius Caesar. It encrypts by shifting alphabet…

Cryptography Level 1

14. ROT13 Magic

ROT13 (Rotate 13) is a type of Caesar cipher that shifts the alphabet by 13 letters. Interesting feature of ROT13:…

Cryptography Level 2

AES-ECB Mode Weakness

ECB leaks repeated block patterns. This introductory task first checks the difference between encryption and encoding.…

Cryptography Level 2

RC4 Stream Cipher Weakness

RC4 was once widely used but is now deprecated. This introductory task focuses on recognizing the provided data…

Cryptography Level 2

Vigenere Cipher Decryption

Decrypt a Vigenere cipher when the key length is known and retrieve the flag. Ciphertext:…

Cryptography Level 2

Finding Hash Collisions

MD5 collisions are practical. Hashes with broken collision resistance must not be used for security-sensitive…

Cryptography Level 2

Hash Length Extension Attack

Simple signatures such as hash(secret || message) can be vulnerable to length extension attacks with Merkle-Damgard…

Cryptography Level 2

Padding Oracle Basics

Padding oracle attacks use error differences as a plaintext recovery signal. This introductory task decodes leaked…

Cryptography Level 2

Rainbow Table Attack

Unsalted fast password hashes can often be reversed with precomputed lookup databases. Reverse the given MD5 hash. MD5…

Cryptography Level 2

One-Time Pad Key Reuse Attack

A one-time pad is safe only when the key is used once. Reusing the key lets known plaintext recover other plaintexts.…

Cryptography Level 2

Predictable Randomness

Pseudo-random output with a fixed seed is reproducible and must not be used for cryptographic secrets. Flag generation…

Cryptography Level 2

Breaking Small RSA Keys

Factor a tiny RSA modulus, recover the private exponent, and decrypt a list of ciphertext values. Public key and…

Cryptography Level 4

Cryptanalysis - DSA Nonce Reuse Key Recovery

signatures.json contains two DSA signatures that reused the same nonce. Recover nonce k and private key x from the…

Cryptography Level 5

Cryptanalysis - RSA e=3 Broadcast Attack

broadcast.json contains the same plaintext encrypted with unpadded RSA e=3 under three pairwise-coprime moduli.…