Skip to content

sphinx-cryptography/mix_link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mix_link

This crate provides a Noise Protocol Framework based cryptographic link layer wire protocol for constructing mix networks.

warning

This code has not been formally audited. Use it at your own risk!

details

This wire protocol is designed to construct mix networks. You can read the design specification document here:

However note that I've change the prologue value (our protocol version number) to 1 instead of 0 to differentiate it from the older version which used NewHope Simple. We now use the newer KEM, Kyber.

This cryptographic link layer protocol uses Noise_XXhfs_25519+Kyber1024_ChaChaPoly_BLAKE2b. You can read about the XX handshake pattern here in the Noise Protocol specification document:

However you'll also want to understand our hybrid forward secrecy protocol modification using the Kyber post-quantum key encapsulation mechanism. Please see "KEM-based Hybrid Forward Secrecy for Noise":

Usage

To import mix_link, add the following to the dependencies section of your project's Cargo.toml:

mix_link = "^0.1.0"

Then import the crate as:

extern crate mix_link;

acknowledgments

Thanks to Yawning Angel for the design of this wire protocol. Thanks to Daan Sprenkels for implementing Kyber1024 HFS for Snow.

license

GNU AFFERO GENERAL PUBLIC LICENSE

About

noise based cryptographic link layer for mix networks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages