Katzenpost Documentation

ANSI wizard casting a spell, by Zeus

For users

Client applications, packages, and a public mixnet.

Title Description
🐈 Namenlos public mixnet (coming soon) A public Katzenpost mix network that anyone may use, without the burden of operating their own.
πŸ“¦ kpclientd packages and binaries (coming soon) Pre-built distribution packages and binaries for the client daemon, so users will not need to build from source.
πŸ’¬ katzenqt group chat A decentralised group chat application running over the Katzenpost mix network and the Pigeonhole storage services. Pre-built packages forthcoming. Build and run from source in the meantime.

For operators

You wish to run your own Katzenpost mix network with friends and collaborators.

Title Description
πŸ“– Admin Guide Deploying and operating Katzenpost servers: installation, configuration, the Docker test mixnet, NAT considerations, and a full configuration appendix.
🐳 Run a Mix Server in Docker A focused recipe for running a single Katzenpost mix server inside a Docker container, intended for operators who wish to participate in an existing mix network.
πŸ”§ Build from source Pinned versions of the Katzenpost stack and brief instructions for building each component (kpclientd, thin clients, katzenqt, server-side) from source.

For application developers

You wish to build software that integrates with Katzenpost.

Title Description
πŸ“˜ Thin Client API Reference Complete API reference for the Go, Rust, and Python thin client libraries.
πŸ“— Thin Client How-to Guide Task-oriented guides for accomplishing common operations with the thin client API.
πŸ•ŠοΈ Understanding Pigeonhole A high-level introduction to the Pigeonhole anonymous storage protocol for application developers.
πŸ”§ Build from source Pinned versions of the Katzenpost stack and brief instructions for building each component from source.

For core developers

You wish to contribute code to Katzenpost itself.

Title Description
πŸ› οΈ Design Specifications The protocol specifications that the implementation must honour: Sphinx, KEMSphinx, the wire protocol, the directory authority, replay detection, and more.
Source Repository The Katzenpost monorepo on GitHub: server, dirauth, client, courier, replica, and core. Issues, pull requests, and discussions live here.

For academics

You are a mathematician, computer scientist, security researcher, or hacker investigating the design.

Read in the order below. Seasoned mixnet researchers may skip ahead to the Echomix paper.

Title Description
πŸ“š 1. Literature Review (last updated April 2024) Start here if you are new to mixnet research. Field context, attack taxonomy, and the conceptual positions the Echomix paper builds on.
arXiv 2. Echomix paper Echomix: a Strong Anonymity System with Messaging. Katzenpost’s design, presented as research (arXiv).
πŸ”’ 3. Threat Model (PDF) Detailed security assumptions and mitigations specific to the deployed system.

Supplementary reading:

Title Description
🎧 Audio Engineering Considerations (PDF) A technical report on the challenges of carrying voice traffic through a modern mix network, with attention to usability and scalability.