> For the complete documentation index, see [llms.txt](https://battlezips.gitbook.io/battlezips/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://battlezips.gitbook.io/battlezips/theory/primitives.md).

# Primitives

- [Hash Functions](https://battlezips.gitbook.io/battlezips/theory/primitives/hash-functions.md): A background and overview and background on various hash functions related to and imperative to zero knowledge cryptography
- [Public Key Cryptosystems](https://battlezips.gitbook.io/battlezips/theory/primitives/public-key-cryptosystems.md)
- [Note on L1 key registry → L2 hot key + callback to circuit-optimized hash functions](https://battlezips.gitbook.io/battlezips/theory/primitives/public-key-cryptosystems/note-on-l1-key-registry-l2-hot-key-+-callback-to-circuit-optimized-hash-functions.md)
- [ECDSA & secp256k1](https://battlezips.gitbook.io/battlezips/theory/primitives/public-key-cryptosystems/ecdsa-and-secp256k1.md)
- [EdDSA](https://battlezips.gitbook.io/battlezips/theory/primitives/public-key-cryptosystems/eddsa.md): Overview of Edwards Curve Digital Signature Algorithm and related curves
- [Merkle Trees](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees.md)
- [What is a Merkle Tree?](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees/what-is-a-merkle-tree.md): Background on Merkle Tree data structures and their importance for proving data integrity
- [What is a merkle proof of inclusion?](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees/what-is-a-merkle-proof-of-inclusion.md)
- [zk-kit](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees/zk-kit.md): ZK Kit is monorepo on github that provides resources helpful for writing zero knowledge proofs
- [Incremental Merkle Trees](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees/incremental-merkle-trees.md)
- [Sparse Merkle Trees](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees/sparse-merkle-trees.md)
- [Tree Arity (Binary, Quinary)](https://battlezips.gitbook.io/battlezips/theory/primitives/merkle-trees/tree-arity-binary-quinary.md): Overview of tree arity and why it matters in the context of a Merkle Tree
- [Semaphore](https://battlezips.gitbook.io/battlezips/theory/primitives/semaphore.md)
- [Arithmetic Circuits](https://battlezips.gitbook.io/battlezips/theory/primitives/arithmetic-circuits.md): Brief description of arithmetic circuits and their role in SNARK creation
