Crates.io | mix_link |
lib.rs | mix_link |
version | 0.1.0 |
source | src |
created_at | 2018-10-15 18:38:16.187325 |
updated_at | 2021-01-23 19:05:33.228852 |
description | message oriented noise based cryptographic link layer for mixnets |
homepage | https://github.com/sphinx-cryptography/mix_link |
repository | https://github.com/sphinx-cryptography/mix_link |
max_upload_size | |
id | 90344 |
size | 638,830 |
This crate provides a Noise Protocol Framework based cryptographic link layer wire protocol for constructing mix networks.
This code has not been formally audited. Use it at your own risk!
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":
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;
Thanks to Yawning Angel for the design of this wire protocol. Thanks to Daan Sprenkels for implementing Kyber1024 HFS for Snow.
GNU AFFERO GENERAL PUBLIC LICENSE