Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
Clone or download
bors[bot] and ccfb3ee765a58cae Merge #253
253: Add xchacha20-poly1305 support r=Dylan-DPC a=ccfb3ee765a58cae

See issues #249 #193 

Co-authored-by: creato <ccfb3ee765a58cae@protonmail.com>
Latest commit d4f1303 Sep 18, 2018

README.md

sodiumoxide

Build Status Latest Version Join the chat at https://gitter.im/rust-sodiumoxide/Lobby

NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools. Of course, other libraries already exist for these core operations. NaCl advances the state of the art by improving security, by improving usability, and by improving speed.

Sodium is a portable, cross-compilable, installable, packageable fork of NaCl (based on the latest released upstream version nacl-20110221), with a compatible API.

This package aims to provide a type-safe and efficient Rust binding that's just as easy to use.

Dependencies

Clang >= 3.9

Libsodium 1.0.16 (installation)

pkg-config (OSX: brew install pkg-config)

Building

cargo build

Testing

cargo test

Documentation

cargo doc

Documentation will be generated in target/doc/...

Most documentation is taken from NaCl, with minor modification where the API differs between the C and Rust versions.

Documentation for the latest build can be found at gh-pages.

Optional features

Several optional features are available:

  • std (default: enabled). When this feature is disabled, sodiumoxide builds using #![no_std]. Some functionality may be lost. Requires a nightly build of Rust.

  • serde (default: enabled). Allows serialization and deserialization of keys, authentication tags, etc. using the serde library.

  • benchmarks (default: disabled). Compile benchmark tests. Requires a nightly build of Rust.

Examples

TBD

Join in

File bugs in the issue tracker

Master git repository

git clone https://github.com/sodiumoxide/sodiumoxide.git

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.