# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.ctfrecipes.com/cryptography.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
