Crate exonum_sodiumoxide
source · [−]Expand description
Rust bindings to the sodium library.
Sodium is a portable implementation of Dan Bernsteins NaCl: Networking and Cryptography library
For most users, if you want public-key (asymmetric) cryptography you should use
the functions in crypto::box_
for encryption/decryption.
If you want secret-key (symmetric) cryptography you should be using the
functions in crypto::secretbox
for encryption/decryption.
For public-key signatures you should use the functions in crypto::sign
for
signature creation and verification.
Unless you know what you’re doing you most certainly don’t want to use the
functions in crypto::scalarmult
, crypto::stream
, crypto::auth
and
crypto::onetimeauth
.
Thread Safety
All functions in this library are thread-safe provided that the init()
function has been called during program execution.
If init()
hasn’t been called then all functions except the random-number
generation functions and the key-generation functions are thread-safe.
Public-key cryptography
crypto::box_
crypto::sign
Sealed boxes
crypto::sealedox
Secret-key cryptography
crypto::secretbox
crypto::stream
crypto::auth
crypto::onetimeauth
Low-level functions
crypto::hash
crypto::verify
crypto::shorthash
Modules
Cryptographic functions
Cryptographic random number generation.
Libsodium utility functions
Libsodium version functions
Functions
init()
initializes the sodium library and chooses faster versions of
the primitives if possible. init()
also makes the random number generation
functions (gen_key
, gen_keypair
, gen_nonce
, randombytes
, randombytes_into
)
thread-safe