Skip to main content
Cipher Visualizers home

All articles

153 articles on how ciphers, hashes and protocols work. Search, or narrow the list by topic and level.

Showing 1 to 12 of 153 articles

A visual representation of AES CTR, CFB, OFB, and XTS modes of operation
Modern Block Cipher Intermediate

AES Modes of Operation: CTR, CFB, OFB, and XTS

AES only encrypts one 16-byte block. A mode of operation is the wrapper that turns that single block into something that protects a whole message or an entire disk. This guide walks through four modes, CTR, CFB, OFB, and XTS, with verified NIST numbers you can check yourself.

14 min read

A visual representation of recovering the ADFGVX transposition and substitution to decrypt a message
Basic Classic Symmetric Breakers Advanced

Breaking the ADFGVX Cipher

ADFGVX fractionates each letter into two symbols and then shuffles them with a columnar transposition, the combination that made it Germany's toughest field cipher of 1918. This guide runs the modern automated attack: recover the transposition with the index of coincidence, then solve the substitution with quadgrams, and read a 330-letter message back out.

14 min read

A visual representation of index-of-coincidence period finding and column key recovery against the Nihilist cipher
Basic Classic Symmetric Breakers Intermediate

Breaking the Nihilist Cipher

The Nihilist cipher turns letters into Polybius numbers and adds a repeating keyword, which makes it a Vigenere cipher wearing a numeric disguise. Index of coincidence finds the period, and column-by-column statistics peel off the key. This guide runs the real attack and recovers a 514-letter message.

13 min read

A visual representation of Pohlig-Hellman splitting an elliptic curve discrete log into small subgroups and combining with CRT
Modern & Applied Cryptography Breakers Advanced

Breaking Toy ECC with Pohlig-Hellman

Elliptic curve security does not come from the size of the field. It comes from one number: the largest prime factor of the group order. When that order is smooth, Pohlig-Hellman splits the discrete log into tiny subgroups and solves it in a flash. This guide runs the real attack on a toy curve and recovers the private key.

13 min read

A visual representation of a batch GCD finding a shared prime between two RSA moduli and factoring both
Modern & Applied Cryptography Breakers Advanced

Breaking RSA with Weak Keys: Shared Primes and Pollard's p-1

RSA is unbreakable only when its primes are chosen well. If two keys share a prime, one GCD factors both in microseconds, and if a prime p has a smooth p-1, Pollard's method factors it without any search. This guide runs both real attacks against real 1024-bit keys and recovers the private keys.

11 min read

A visual representation of simulated annealing recovering a Bifid Polybius square from ciphertext
Basic Classic Symmetric Breakers Advanced

Breaking the Bifid Cipher with Simulated Annealing

Bifid fractionates each letter into coordinates and shuffles them, which hides single-letter frequencies. Given the period, a hill climb over the Polybius square guided by English quadgram statistics peels the key apart anyway. This guide runs the real attack and recovers a 669-letter message.

13 min read

A visual representation of the padding oracle attack recovering AES-CBC plaintext one byte at a time
Modern & Applied Cryptography Breakers Intermediate

Breaking AES-CBC with a Padding Oracle

A server that only tells you whether decrypted padding was valid hands you the whole plaintext. This guide runs the real CBC padding-oracle attack against full AES-128, recovers a secret message one byte at a time, and explains why POODLE and Lucky 13 made authenticated encryption the rule.

16 min read

A visual representation of the meet-in-the-middle attack recovering two DES keys
Modern & Applied Cryptography Breakers Intermediate

Breaking Double DES with Meet-in-the-Middle

Encrypting with DES twice looks like it should double the key to 112 bits. A meet-in-the-middle attack shows it barely adds one bit of real security, which is why 3DES uses three passes. Learn the attack with runnable Python against real DES.

12 min read

A visual representation of the four-square cipher breaker recovering two key squares
Basic Classic Symmetric Breakers Advanced

Breaking the Four-Square Cipher with Two Key Squares

The four-square cipher hides letter frequencies behind two keyed grids, but it is still a pencil-and-paper cipher. Learn how simulated annealing with quadgram statistics recovers both secret squares from the ciphertext alone, with runnable Python.

14 min read

A visual representation of a hash length-extension attack forging a message authentication tag
Modern & Applied Cryptography Breakers Intermediate

Forging MACs with a Hash Length-Extension Attack

Using a plain hash as a MAC, with tag = H(secret || message), is a classic mistake. A length-extension attack appends your own data and forges a valid tag without ever knowing the secret. Learn the attack on SHA-256, with runnable Python, and why HMAC exists.

11 min read

A visual representation of the many-time-pad attack recovering reused-key messages
Basic Classic Symmetric Breakers Intermediate

Breaking the One-Time Pad by Reusing Its Key

A one-time pad is unbreakable, but only if the key is used once. Reuse it across several messages and the key cancels out. Learn the many-time-pad attack and crib-dragging, with Python that recovers the messages from the ciphertexts alone.

14 min read

A visual representation of recovering an ECDSA private key from two signatures that reused the same nonce
Modern & Applied Cryptography Breakers Advanced

Recovering a DSA or ECDSA Key from a Reused Nonce

DSA and ECDSA stake everything on a secret random nonce that must never repeat. Sign two messages with the same nonce and the private key drops out with a little algebra. This guide runs the real attack against real DSA and secp256k1, the same flaw that broke the PS3 and drained Bitcoin wallets.

12 min read