Crate 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
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