#cryptography #noise #network #mixnet #link-layer

mix_link

message oriented noise based cryptographic link layer for mixnets

6 releases

0.0.5 Jan 29, 2019
0.0.4 Nov 26, 2018
0.0.2 Oct 22, 2018

#385 in Cryptography

Download history 18/week @ 2019-11-27 6/week @ 2019-12-04 69/week @ 2019-12-11 6/week @ 2019-12-25 81/week @ 2020-01-08 6/week @ 2020-01-15 1/week @ 2020-01-22 7/week @ 2020-02-12 12/week @ 2020-02-19 24/week @ 2020-02-26 12/week @ 2020-03-04 7/week @ 2020-03-11

67 downloads per month

AGPL-3.0-only

84KB
2K SLoC

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:

This cryptographic link layer protocol uses Noise_XX_25519_ChaChaPoly_BLAKE2b which you can read about here in the Noise Protocol specification document:

This differ's from Yawning's design in that I am not using the post-quantum via New Hope Simple for hybrid forward secrecy of the XX handshake pattern. In order to make this possible we would first need an implementation of New Hope Simple in rust and then to modify snow, the rust noise library such that it would have HFS mode, that is the PQ hybrid forward secrecy mode via New Hope Simple.

Usage

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

mix_link = "^0.0.5"

Then import the crate as:

extern crate mix_link;

acknowledgments

Thanks to Yawning Angel for the design of this wire protocol.

license

GNU AFFERO GENERAL PUBLIC LICENSE

Dependencies

~8.5MB
~162K SLoC