Skip to content
primitives and protocols for implementing privacy preserving networks
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Privacy preserving primitives

This repo lists implementations, design and papers of primitives and protocols aiming at increasing privacy of networked systems. The goal of this project is to create the go-to directory for developers and system designers to learn about the existing tools for developing applications which are privacy preserving.


A. Data structures

B. Secure messaging

A. Data structures


ClaimChain is a cryptographic primitive providing a privacy-preserving, authenticated and decentralized data store of claims. The paper shows how to use ClaimChain as a privacy-preserving decentralized public key distribution.

when to use it: In P2P or centralized systems in which clients and/or servers need to edit and share verifiable and authenticated data structures with fine-grained access control. This primitive does not require a central point of authority to provide its properties, although it does not provide consensus out of the box (i.e. there is no mechanism to ensure all users have the same version of the ClaimChain at the same point).

B. Secure messaging


Sphinx is a compact cryptographic packet format that can be used in onion routing, mix networks and as a general purpose secure transport between senders and intermediate relays in P2P networks. Sphinx uses Diffie Hellman to derive the shared keys between the sender of the message and the relayers. Designers and developers can chose the family of cryptographic primitives to use, depending on the cases.

when to use it: In network applications in which relay nodes should not learn anything about the source, destination and content of the message to relay, besides the information needed to forward the message to the next hop.


HORNET is a high-speed anonymous communication protocol designed to be deployed at a network level by Future Internet Architectures by default. The message relays do not keep state of anonymous communications. Instead, the state of the anonymous channel is included in the message itself.

when to use it: On top of P2P overlay networks (e.g. DHTs) to provide protection against packet/message correlation, session linkage, metadata leaks and to protect against passive network adversaries. Any P2P messaging application which uses multiple message relays can use HORNET to provide metadata protection against passive and global adversaries.


Join our community of developers and researchers working on privacy preserving networks and applications at the gitter channel.


Check the issues for ideas on how to help the project. When adding a new project to the list, use the same item structure. Fork and PR for adding or improve content.


© MIT hashmatter (

You can’t perform that action at this time.