a messaging system for the katzenpost mix network
In light of the current political climate and the amount of surveillance we are all under it’s a pity end to end encrypted messaging systems aren’t using mixnets for their transport. However, mixnets are not messaging systems. A mix network is a transport protocol that can be used to compose various types of messaging systems.
A few years ago I worked on an NLNet grant funding our work to make a messaging system for Katzenpost. Here’s the design and threat model document I wrote:
https://sphinx.rs/catshadow.pdf
Catshadow ended up being a client library for katzenpost mixnet. And katzen is what we are calling the graphical user interface for catshadow.
Source code to catshadow: https://github.com/katzenpost/katzenpost/tree/main/catshadow
Source code to katzen: https://github.com/katzenpost/katzen
Source code to all the infrastructure components of katzenpost mix network:
https://github.com/katzenpost/katzenpost
We know of various ways to improve the design and implementation of Catshadow. However the above documents what we currently have that works.