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
Sealed boxes
Secret-key cryptography
Low-level functions
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