> For the complete documentation index, see [llms.txt](https://www.ctfrecipes.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.ctfrecipes.com/cryptography.md).

# Cryptography

- [Introduction](https://www.ctfrecipes.com/cryptography/reconnaissance.md)
- [General knowledge](https://www.ctfrecipes.com/cryptography/general-knowledge.md)
- [Encoding](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding.md): Data standard
- [Character encoding](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/character-encoding.md)
- [ASCII](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/character-encoding/ascii.md)
- [Unicode](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/character-encoding/unicode.md)
- [UTF-8](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/character-encoding/utf-8.md)
- [Data encoding](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/data-encoding.md)
- [Base16](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/data-encoding/base16.md): Hexadecimal encoding
- [Base32](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/data-encoding/base32.md)
- [Base64](https://www.ctfrecipes.com/cryptography/general-knowledge/encoding/data-encoding/base64.md)
- [Maths](https://www.ctfrecipes.com/cryptography/general-knowledge/maths.md)
- [Modular arithmetic](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic.md)
- [Greatest Common Divisor](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic/greatest-common-divisor.md)
- [Fermat's little theorem](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic/fermats-little-theorem.md)
- [Quadratic residues](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic/quadratic-residues.md)
- [Tonelli-Shanks](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic/tonelli-shanks.md)
- [Chinese Remainder Theorem](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic/chinese-remainder-theorem.md)
- [Modular binomial](https://www.ctfrecipes.com/cryptography/general-knowledge/maths/modular-arithmetic/modular-binomial.md)
- [Padding](https://www.ctfrecipes.com/cryptography/general-knowledge/padding.md)
- [PKCS#7](https://www.ctfrecipes.com/cryptography/general-knowledge/padding/pkcs-7.md)
- [Misc](https://www.ctfrecipes.com/cryptography/misc.md)
- [XOR](https://www.ctfrecipes.com/cryptography/misc/xor.md)
- [Mono-alphabetic substitution](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution.md)
- [Index of coincidence](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/index-of-coincidence.md)
- [frequency analysis](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/frequency-analysis.md)
- [Well known algorithms](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms.md)
- [Scytale](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms/scytale.md): Spartan cipher
- [ROT](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms/rot.md): Caesar & ROT13
- [Polybe](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms/polybe.md): Cipher square
- [Vigenere](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms/vigenere.md)
- [Pigpen cipher](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms/pigpen-cipher.md): Masonic cipher
- [Affine cipher](https://www.ctfrecipes.com/cryptography/mono-alphabetic-substitution/well-known-algorithms/affine-cipher.md)
- [Symmetric Cryptography](https://www.ctfrecipes.com/cryptography/symmetric-cryptography.md)
- [AES](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes.md): The Rijndael scheme
- [Block Encryption procedure](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/block-encryption-procedure.md)
- [Byte Substitution](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/block-encryption-procedure/byte-substitution.md)
- [Shift Row](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/block-encryption-procedure/shift-row.md)
- [Mix Column](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/block-encryption-procedure/mix-column.md)
- [Add Key](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/block-encryption-procedure/add-key.md)
- [Key Expansion / Key Schedule](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/block-encryption-procedure/key-expansion-key-schedule.md)
- [Mode of Operation](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation.md)
- [ECB](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ecb.md): Electronic Codebook Block
- [Block shuffling](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ecb/block-shuffling.md)
- [Challenge example](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ecb/block-shuffling/challenge-example.md): Arbitrary token
- [ECB Oracle](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ecb/ecb-oracle.md)
- [Challenge example](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ecb/ecb-oracle/challenge-example.md)
- [CBC](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/cbc.md): Cipher Block Chaining
- [Bit flipping](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/cbc/bit-flipping.md)
- [Challenge example](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/cbc/bit-flipping/challenge-example.md)
- [Padding oracle](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/cbc/padding-oracle.md)
- [Challenge example](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/cbc/padding-oracle/challenge-example.md)
- [OFB](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ofb.md): Output Feedback
- [Key stream reconstruction](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ofb/key-stream-reconstruction.md)
- [Encrypt to Uncrypt](https://www.ctfrecipes.com/cryptography/symmetric-cryptography/aes/mode-of-operation/ofb/encrypt-to-uncrypt.md): Encrypt + Encrypt = plaintext
