A post-quantum mix network providing strong metadata privacy against global passive adversaries.
📄 Paper · 🌐 Website · 📚 Docs · 💬 Community
- katzenpost — monorepo:
- Mix network: mix server, directory authority
- Pigeonhole protocol: courier, replica. Uses the mixnet as transport for clients to talk to couriers.
- Client daemon (
kpclientd): mixnet client used by applications, including to reach Pigeonhole couriers.
- hpqc —
hybrid post-quantum cryptography library. Provides KEM, NIKE,
and signature schemes behind clean interfaces, plus the pieces
that make them composable:
- a KEM combiner that is provably IND-CCA2 in the QROM, based on the KEM Combiners paper
- a NIKE-to-KEM adapter (an ad-hoc ElGamal construction) so any NIKE can be used as a KEM, and combined with other KEMs via the combiner
- a signature scheme combiner
- BACAP, a blinding-and-capability scheme used by Pigeonhole
kpclientd— the Katzenpost client daemon. Lives in the monorepo atcmd/kpclientd; build withmake kpclientdfrom the repo root. Required by katzenqt.- katzenqt —
Qt group chat client. Talks to
kpclientd.
Language bindings for building applications that talk to kpclientd:
- Go — in the monorepo at
client2/thin - Rust and Python — thin_client
- website — source for katzenpost.network
- Use it: build katzenqt
and
kpclientd(see Clients above) — pre-built packages coming - Run a node: Admin Guide
- Build on it: Thin Client API
- Contribute: katzenpost/katzenpost — issues and PRs
- Research: Echomix paper and Threat Model
GNU AGPL-3.0 across the org. A small number of submodules use different licenses; see the LICENSE file inside each repository.