This crate provides a concrete parameterization of the Sphinx cryptographic packet format and follows this "Sphinx Mix Network Cryptographic Packet Format Specification" document:
https://github.com/katzenpost/docs/blob/master/specs/sphinx.rst
Sphinx has the following features:
Read the Sphinx paper, Sphinx: A Compact and Provably Secure Mix Format by George Danezis and Ian Goldberg. See https://cypherpunks.ca/~iang/pubs/Sphinx_Oakland09.pdf
This code has not been formally audited by a cryptographer. It therefore should not be considered safe or correct. Use it at your own risk!
The currently implemented Sphinx cryptographic parameterization is:
The Sphinx packet geometry is parameterized in the constants submodule.
To import sphinxcrypto
, add the following to the dependencies section of
your project's Cargo.toml
:
toml
sphinxcrypto = "^0.0.13"
Then import the crate as:
rust,no_run
extern crate sphinxcrypto;
This library is a Rust language port of Yawning's Katzenpost Sphinx implementation:
https://github.com/katzenpost/core/tree/master/sphinx
Thanks to Jeff Burdges for helping me with some of my rust problems.
GNU AFFERO GENERAL PUBLIC LICENSE