7 releases
Uses old Rust 2015
0.1.0 | Jan 23, 2021 |
---|---|
0.0.5 | Jan 29, 2019 |
0.0.4 | Nov 26, 2018 |
0.0.2 | Oct 22, 2018 |
#6 in #mixnet
26 downloads per month
265KB
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:
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
Dependencies
~35MB
~629K SLoC