About the Zoo
The Lattice Assumption Zoo is an ongoing effort to catalogue, categorise, and track the evolving landscape of lattice-based cryptographic assumptions, their hardness guarantees and their relations.
Recently, the number of assumptions in lattice-based cryptography has grown rapidly. This project aims to provide a centralised, visual, and structured catalogue for researchers and students navigating this space.
The Lineage of Zoos
This project does not exist in a vacuum. It was heavily inspired by several predecessors that recognised the need to catalogue the complexity of cryptographic assumptions:
- Cryptographic Primitives and Hard Problems in Cryptography Wiki: A project from 2012 (now resting in the Wayback Machine) that attempted to catalogue basic primitives as well as assumptions from the areas: discrete logarithms, factoring, product groups, pairings, and lattices.
- Is it broken yet?: A page tracking attacks on Graded Encoding schemes.
- SIS-with-Hints Zoo: A page collecting all SIS assumptions with additional hints.
- Complexity Zoo: A wiki for complexity classes first opened in 2002.
Our Approach
Historically, projects like this were built using traditional Wiki software (like MediaWiki) or smaller, single-page collections. Both struggle with structured data and modern visualisations – an issue that the community of the Complexity Zoo approaches via external sources. To address these issues, the Lattice Assumption Zoo uses a different architecture designed to serve both the users of the website and the community maintaining it.
The Architecture
The data displayed on this website is not stored in a database. It’s a collection of Markdown files with support for LaTeX and (structured) YAML data. This collection is converted into a website using Jekyll – the default static site generator for GitHub Pages. As several academics host their personal websites via GitHub Pages, the (simple Markdown) environment might be familiar, lowering the entry barrier for contributions.
Further, maintaining a collection of Markdown files is done best with Git. Using Git for version control fundamentally changes how updates are managed compared to MediaWiki. Rather than making live, isolated edits on a single wiki page, contributors submit Pull Requests. This allows us to review changes across multiple files – ensuring that a modification to an assumption’s page is synchronised with its visual representation in the graph before it goes live.
The Experience: Structured Discovery
While Jekyll natively provides standard tools like an internal search and an RSS feed, the core of the Zoo relies on two custom pages built to navigate the landscape of lattice-based assumptions:
- The Assumption Graph: An interactive graph designed to explore this landscape. By rendering assumptions as nodes and their relationships (reductions and generalisations) as edges, the graph allows users to immediately discover and understand the provable relations between assumptions.
- The Catalogue: For a more traditional view, the Catalogue of Assumptions organises all assumptions in a nested hierarchy of families / categories. Entries are tagged with
STANDARD,IMPLIED, orBROKEN, providing a high-level indication of their provable hardness guarantees.
The Result
This structured approach serves two primary audiences within the cryptographic community:
- For Designers: By making it simple to find and understand existing assumptions, the Zoo encourages reusing existing assumptions rather than introducing ad-hoc ones. It also makes tracking novel assumptions effortless via our RSS feed.
- For Cryptanalysts: The repository serves as an organised index of targets, simplifying the identification of compelling assumptions to analyse.
To keep this resource accurate and comprehensive, the Lattice Assumption Zoo relies on community input. Due to the chosen infrastructure, advertising a newly published attack, adding a missing assumption, or correcting a mistake is a simple process. Detailed instructions can be found in our Contributing file.
If there are any questions, please reach out to Jan Niklas Siemer who maintains this website.
The Zoo in Numbers
Introduced Assumptions by Year
Click on any bar to see the specific assumptions introduced that year.
Assumption Families
Click to inspect families.
Assumption Status
Click to inspect the specific assumptions.