sodium-universal
v4.0.1
Published
Universal wrapper for sodium-javascript and sodium-native working in Node.js and the Browser
Downloads
37,581
Readme
sodium-universal
Universal wrapper for sodium-javascript
and sodium-native
working in Node.js and the Browser
npm install sodium-universal
sodium-native
ships with prebuilds for macOS, Windows, and Linux.
Note that the module itself is generated on a prepublish hook.
Usage
var sodium = require('sodium-universal')
var rnd = Buffer.allocUnsafe(12) // Cryptographically random data
sodium.randombytes_buf(rnd)
console.log(rnd.toString('hex'))
Works seamlessly with Node.js:
$ node example.js
c7dbd46a6cc84ff2e0d1285c
And the browser:
First install the peer dep, sodium-javascript
.
npm install --save sodium-javascript
And then browserify
browserify example.js > bundle.js
Introduction
libsodium
is a collection of cryptographic primitives, providing a low-level foundation to build higher-level cryptographic applications and protocols. It is often put in contrast to RSA based cryptography and OpenSSL, even though they all share overlapping algorithms and target slightly different audiences. Sodium is a collection of modern collection of primitives, fulfilling the same cryptographic tasks, but based on simpler and more efficient algorithms.
This library provides seamless bindings to sodium-native
, which is the original C implementation of libsodium
exposed as a Node native module. For the browser we expose sodium-javascript
, using the package.json
browser
field, which is supported by most bundlers.
API
Please refer to sodium-native
and sodium-javascript
. Note that the two modules do not yet have feature parity, where sodium-native
is the more featureful of the two.
Compatibilty
| C Library Symbol | sodium-native
| sodium-javascript
|
|:--------------------------------------------------------:|:--------------------:|:--------------------:|
| crypto_aead_chacha20poly1305_ietf_ABYTES
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_decrypt
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_decrypt_detached
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_encrypt
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_encrypt_detached
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_keygen
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_NPUBBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_aead_chacha20poly1305_ietf_NSECBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_aead_xchacha20poly1305_ietf_ABYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_decrypt
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_decrypt_detached
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_encrypt
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_encrypt_detached
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_KEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_keygen
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_aead_xchacha20poly1305_ietf_NSECBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_auth
| :white_check_mark: | :small_red_triangle: |
| crypto_auth_BYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_auth_KEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_auth_verify
| :white_check_mark: | :small_red_triangle: |
| crypto_box_BEFORENMBYTES
| :small_red_triangle: | :white_check_mark: |
| crypto_box_BOXZEROBYTES
| :small_red_triangle: | :white_check_mark: |
| crypto_box_detached
| :white_check_mark: | :small_red_triangle: |
| crypto_box_easy
| :white_check_mark: | :small_red_triangle: |
| crypto_box_keypair
| :white_check_mark: | :white_check_mark: |
| crypto_box_MACBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_box_NONCEBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_box_open_detached
| :white_check_mark: | :small_red_triangle: |
| crypto_box_open_easy
| :white_check_mark: | :small_red_triangle: |
| crypto_box_PUBLICKEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_box_seal
| :white_check_mark: | :white_check_mark: |
| crypto_box_seal_open
| :white_check_mark: | :white_check_mark: |
| crypto_box_SEALBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_box_SECRETKEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_box_seed_keypair
| :white_check_mark: | :white_check_mark: |
| crypto_box_SEEDBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_box_ZEROBYTES
| :small_red_triangle: | :white_check_mark: |
| crypto_core_ed25519_add
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_BYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_from_uniform
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_is_valid_point
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_NONREDUCEDSCALARBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_add
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_complement
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_invert
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_negate
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_random
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_reduce
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_scalar_sub
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_SCALARBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_sub
| :white_check_mark: | :small_red_triangle: |
| crypto_core_ed25519_UNIFORMBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_generichash
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_BYTES_MAX
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_BYTES_MIN
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_final
| :white_check_mark: | :small_red_triangle: |
| crypto_generichash_init
| :white_check_mark: | :small_red_triangle: |
| crypto_generichash_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_KEYBYTES_MAX
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_KEYBYTES_MIN
| :white_check_mark: | :white_check_mark: |
| crypto_generichash_keygen
| :white_check_mark: | :small_red_triangle: |
| crypto_generichash_STATEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_generichash_update
| :white_check_mark: | :small_red_triangle: |
| crypto_hash
| :white_check_mark: | :white_check_mark: |
| crypto_hash_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_hash_sha256
| :white_check_mark: | :white_check_mark: |
| crypto_hash_sha256_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_hash_sha256_final
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha256_init
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha256_STATEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha256_update
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha512
| :white_check_mark: | :white_check_mark: |
| crypto_hash_sha512_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_hash_sha512_final
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha512_init
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha512_STATEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_hash_sha512_update
| :white_check_mark: | :small_red_triangle: |
| crypto_kdf_BYTES_MAX
| :white_check_mark: | :white_check_mark: |
| crypto_kdf_BYTES_MIN
| :white_check_mark: | :white_check_mark: |
| crypto_kdf_CONTEXTBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_kdf_derive_from_key
| :white_check_mark: | :white_check_mark: |
| crypto_kdf_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_kdf_keygen
| :white_check_mark: | :white_check_mark: |
| crypto_kx_client_session_keys
| :white_check_mark: | :small_red_triangle: |
| crypto_kx_keypair
| :white_check_mark: | :white_check_mark: |
| crypto_kx_PUBLICKEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_kx_SECRETKEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_kx_seed_keypair
| :white_check_mark: | :white_check_mark: |
| crypto_kx_SEEDBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_kx_server_session_keys
| :white_check_mark: | :small_red_triangle: |
| crypto_kx_SESSIONKEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth
| :white_check_mark: | :white_check_mark: |
| crypto_onetimeauth_BYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth_final
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth_init
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth_KEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth_STATEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth_update
| :white_check_mark: | :small_red_triangle: |
| crypto_onetimeauth_verify
| :white_check_mark: | :white_check_mark: |
| crypto_pwhash
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_BYTES_MAX
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_BYTES_MIN
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_SALTBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_BYTES_MAX
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_BYTES_MIN
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_SALTBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_str
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_str_needs_rehash
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_str_verify
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_scryptsalsa208sha256_STRBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_str
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_str_needs_rehash
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_str_verify
| :white_check_mark: | :small_red_triangle: |
| crypto_pwhash_STRBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult
| :white_check_mark: | :white_check_mark: |
| crypto_scalarmult_base
| :white_check_mark: | :white_check_mark: |
| crypto_scalarmult_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_scalarmult_ed25519
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult_ed25519_base
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult_ed25519_base_noclamp
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult_ed25519_BYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult_ed25519_noclamp
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult_ed25519_SCALARBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_scalarmult_SCALARBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox
| :small_red_triangle: | :white_check_mark: |
| crypto_secretbox_BOXZEROBYTES
| :small_red_triangle: | :white_check_mark: |
| crypto_secretbox_detached
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_easy
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_MACBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_NONCEBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_open
| :small_red_triangle: | :white_check_mark: |
| crypto_secretbox_open_detached
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_open_easy
| :white_check_mark: | :white_check_mark: |
| crypto_secretbox_ZEROBYTES
| :small_red_triangle: | :white_check_mark: |
| crypto_secretstream_xchacha20poly1305_ABYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_HEADERBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_init_pull
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_init_push
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_KEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_keygen
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_pull
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_push
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_rekey
| :white_check_mark: | :small_red_triangle: |
| crypto_secretstream_xchacha20poly1305_STATEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_shorthash
| :white_check_mark: | :white_check_mark: |
| crypto_shorthash_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_shorthash_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_sign
| :white_check_mark: | :white_check_mark: |
| crypto_sign_BYTES
| :white_check_mark: | :white_check_mark: |
| crypto_sign_detached
| :white_check_mark: | :white_check_mark: |
| crypto_sign_ed25519_pk_to_curve25519
| :white_check_mark: | :small_red_triangle: |
| crypto_sign_ed25519_sk_to_curve25519
| :white_check_mark: | :small_red_triangle: |
| crypto_sign_ed25519_sk_to_pk
| :white_check_mark: | :small_red_triangle: |
| crypto_sign_keypair
| :white_check_mark: | :white_check_mark: |
| crypto_sign_open
| :white_check_mark: | :white_check_mark: |
| crypto_sign_PUBLICKEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_sign_SECRETKEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_sign_seed_keypair
| :white_check_mark: | :white_check_mark: |
| crypto_sign_SEEDBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_sign_verify_detached
| :white_check_mark: | :white_check_mark: |
| crypto_stream
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_ietf
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_ietf_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_ietf_NONCEBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_ietf_xor
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_ietf_xor_ic
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_MESSAGEBYTES_MAX
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_NONCEBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_xor
| :white_check_mark: | :white_check_mark: |
| crypto_stream_chacha20_xor_ic
| :white_check_mark: | :white_check_mark: |
| crypto_stream_KEYBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_stream_NONCEBYTES
| :white_check_mark: | :white_check_mark: |
| crypto_stream_salsa20_KEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_salsa20_MESSAGEBYTES_MAX
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_salsa20_NONCEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_salsa20_xor
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_salsa20_xor_ic
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xchacha20
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xchacha20_KEYBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xchacha20_MESSAGEBYTES_MAX
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xchacha20_NONCEBYTES
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xchacha20_xor
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xchacha20_xor_ic
| :white_check_mark: | :small_red_triangle: |
| crypto_stream_xor
| :white_check_mark: | :white_check_mark: |
| crypto_verify_16
| :small_red_triangle: | :white_check_mark: |
| crypto_verify_32
| :small_red_triangle: | :white_check_mark: |
| randombytes_buf
| :white_check_mark: | :white_check_mark: |
| randombytes_buf_deterministic
| :white_check_mark: | :small_red_triangle: |
| randombytes_random
| :white_check_mark: | :small_red_triangle: |
| randombytes_SEEDBYTES
| :white_check_mark: | :small_red_triangle: |
| randombytes_uniform
| :white_check_mark: | :small_red_triangle: |
| sodium_add
| :white_check_mark: | :small_red_triangle: |
| sodium_compare
| :white_check_mark: | :small_red_triangle: |
| sodium_free
| :white_check_mark: | :small_red_triangle: |
| sodium_increment
| :white_check_mark: | :small_red_triangle: |
| sodium_is_zero
| :white_check_mark: | :white_check_mark: |
| sodium_malloc
| :white_check_mark: | :white_check_mark: |
| sodium_memcmp
| :white_check_mark: | :white_check_mark: |
| sodium_memzero
| :white_check_mark: | :white_check_mark: |
| sodium_mlock
| :white_check_mark: | :small_red_triangle: |
| sodium_mprotect_noaccess
| :white_check_mark: | :small_red_triangle: |
| sodium_mprotect_readonly
| :white_check_mark: | :small_red_triangle: |
| sodium_mprotect_readwrite
| :white_check_mark: | :small_red_triangle: |
| sodium_munlock
| :white_check_mark: | :small_red_triangle: |
| sodium_pad
| :white_check_mark: | :small_red_triangle: |
| sodium_sub
| :white_check_mark: | :small_red_triangle: |
| sodium_unpad
| :white_check_mark: | :small_red_triangle: |
Missing altogether (Ctrl + F friendly)
crypto_aead_aes256gcm_ABYTES
, crypto_aead_aes256gcm_beforenm
, crypto_aead_aes256gcm_decrypt
, crypto_aead_aes256gcm_decrypt_afternm
, crypto_aead_aes256gcm_decrypt_detached
, crypto_aead_aes256gcm_decrypt_detached_afternm
, crypto_aead_aes256gcm_encrypt
, crypto_aead_aes256gcm_encrypt_afternm
, crypto_aead_aes256gcm_encrypt_detached
, crypto_aead_aes256gcm_encrypt_detached_afternm
, crypto_aead_aes256gcm_is_available
, crypto_aead_aes256gcm_KEYBYTES
, crypto_aead_aes256gcm_keygen
, crypto_aead_aes256gcm_MESSAGEBYTES_MAX
, crypto_aead_aes256gcm_NPUBBYTES
, crypto_aead_aes256gcm_NSECBYTES
, crypto_aead_aes256gcm_STATEBYTES
, crypto_aead_chacha20poly1305_ABYTES
, crypto_aead_chacha20poly1305_decrypt
, crypto_aead_chacha20poly1305_decrypt_detached
, crypto_aead_chacha20poly1305_encrypt
, crypto_aead_chacha20poly1305_encrypt_detached
, crypto_aead_chacha20poly1305_KEYBYTES
, crypto_aead_chacha20poly1305_keygen
, crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX
, crypto_aead_chacha20poly1305_NPUBBYTES
, crypto_aead_chacha20poly1305_NSECBYTES
, crypto_auth_hmacsha256
, crypto_auth_hmacsha256_BYTES
, crypto_auth_hmacsha256_final
, crypto_auth_hmacsha256_init
, crypto_auth_hmacsha256_KEYBYTES
, crypto_auth_hmacsha256_keygen
, crypto_auth_hmacsha256_STATEBYTES
, crypto_auth_hmacsha256_update
, crypto_auth_hmacsha256_verify
, crypto_auth_hmacsha512
, crypto_auth_hmacsha512256
, crypto_auth_hmacsha512256_BYTES
, crypto_auth_hmacsha512256_final
, crypto_auth_hmacsha512256_init
, crypto_auth_hmacsha512256_KEYBYTES
, crypto_auth_hmacsha512256_keygen
, crypto_auth_hmacsha512256_STATEBYTES
, crypto_auth_hmacsha512256_update
, crypto_auth_hmacsha512256_verify
, crypto_auth_hmacsha512_BYTES
, crypto_auth_hmacsha512_final
, crypto_auth_hmacsha512_init
, crypto_auth_hmacsha512_KEYBYTES
, crypto_auth_hmacsha512_keygen
, crypto_auth_hmacsha512_STATEBYTES
, crypto_auth_hmacsha512_update
, crypto_auth_hmacsha512_verify
, crypto_auth_keygen
, crypto_auth_primitive
, crypto_box
, crypto_box_afternm
, crypto_box_beforenm
, crypto_box_curve25519xchacha20poly1305_beforenm
, crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES
, crypto_box_curve25519xchacha20poly1305_detached
, crypto_box_curve25519xchacha20poly1305_detached_afternm
, crypto_box_curve25519xchacha20poly1305_easy
, crypto_box_curve25519xchacha20poly1305_easy_afternm
, crypto_box_curve25519xchacha20poly1305_keypair
, crypto_box_curve25519xchacha20poly1305_MACBYTES
, crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX
, crypto_box_curve25519xchacha20poly1305_NONCEBYTES
, crypto_box_curve25519xchacha20poly1305_open_detached
, crypto_box_curve25519xchacha20poly1305_open_detached_afternm
, crypto_box_curve25519xchacha20poly1305_open_easy
, crypto_box_curve25519xchacha20poly1305_open_easy_afternm
, crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES
, crypto_box_curve25519xchacha20poly1305_seal
, crypto_box_curve25519xchacha20poly1305_seal_open
, crypto_box_curve25519xchacha20poly1305_SEALBYTES
, crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES
, crypto_box_curve25519xchacha20poly1305_seed_keypair
, crypto_box_curve25519xchacha20poly1305_SEEDBYTES
, crypto_box_curve25519xsalsa20poly1305
, crypto_box_curve25519xsalsa20poly1305_afternm
, crypto_box_curve25519xsalsa20poly1305_beforenm
, crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES
, crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES
, crypto_box_curve25519xsalsa20poly1305_keypair
, crypto_box_curve25519xsalsa20poly1305_MACBYTES
, crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX
, crypto_box_curve25519xsalsa20poly1305_NONCEBYTES
, crypto_box_curve25519xsalsa20poly1305_open
, crypto_box_curve25519xsalsa20poly1305_open_afternm
, crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES
, crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES
, crypto_box_curve25519xsalsa20poly1305_seed_keypair
, crypto_box_curve25519xsalsa20poly1305_SEEDBYTES
, crypto_box_curve25519xsalsa20poly1305_ZEROBYTES
, crypto_box_detached_afternm
, crypto_box_easy_afternm
, crypto_box_MESSAGEBYTES_MAX
, crypto_box_open
, crypto_box_open_afternm
, crypto_box_open_detached_afternm
, crypto_box_open_easy_afternm
, crypto_box_primitive
, crypto_core_ed25519_from_hash
, crypto_core_ed25519_HASHBYTES
, crypto_core_ed25519_random
, crypto_core_ed25519_scalar_mul
, crypto_core_hchacha20
, crypto_core_hchacha20_CONSTBYTES
, crypto_core_hchacha20_INPUTBYTES
, crypto_core_hchacha20_KEYBYTES
, crypto_core_hchacha20_OUTPUTBYTES
, crypto_core_hsalsa20
, crypto_core_hsalsa20_CONSTBYTES
, crypto_core_hsalsa20_INPUTBYTES
, crypto_core_hsalsa20_KEYBYTES
, crypto_core_hsalsa20_OUTPUTBYTES
, crypto_core_ristretto255_add
, crypto_core_ristretto255_BYTES
, crypto_core_ristretto255_from_hash
, crypto_core_ristretto255_HASHBYTES
, crypto_core_ristretto255_is_valid_point
, crypto_core_ristretto255_NONREDUCEDSCALARBYTES
, crypto_core_ristretto255_random
, crypto_core_ristretto255_scalar_add
, crypto_core_ristretto255_scalar_complement
, crypto_core_ristretto255_scalar_invert
, crypto_core_ristretto255_scalar_mul
, crypto_core_ristretto255_scalar_negate
, crypto_core_ristretto255_scalar_random
, crypto_core_ristretto255_scalar_reduce
, crypto_core_ristretto255_scalar_sub
, crypto_core_ristretto255_SCALARBYTES
, crypto_core_ristretto255_sub
, crypto_core_salsa20
, crypto_core_salsa2012
, crypto_core_salsa2012_CONSTBYTES
, crypto_core_salsa2012_INPUTBYTES
, crypto_core_salsa2012_KEYBYTES
, crypto_core_salsa2012_OUTPUTBYTES
, crypto_core_salsa208
, crypto_core_salsa208_CONSTBYTES
, crypto_core_salsa208_INPUTBYTES
, crypto_core_salsa208_KEYBYTES
, crypto_core_salsa208_OUTPUTBYTES
, crypto_core_salsa20_CONSTBYTES
, crypto_core_salsa20_INPUTBYTES
, crypto_core_salsa20_KEYBYTES
, crypto_core_salsa20_OUTPUTBYTES
, crypto_generichash_blake2b
, crypto_generichash_blake2b_BYTES
, crypto_generichash_blake2b_BYTES_MAX
, crypto_generichash_blake2b_BYTES_MIN
, crypto_generichash_blake2b_final
, crypto_generichash_blake2b_init
, crypto_generichash_blake2b_init_salt_personal
, crypto_generichash_blake2b_KEYBYTES
, crypto_generichash_blake2b_KEYBYTES_MAX
, crypto_generichash_blake2b_KEYBYTES_MIN
, crypto_generichash_blake2b_keygen
, crypto_generichash_blake2b_PERSONALBYTES
, crypto_generichash_blake2b_salt_personal
, crypto_generichash_blake2b_SALTBYTES
, crypto_generichash_blake2b_STATEBYTES
, crypto_generichash_blake2b_update
, crypto_generichash_primitive
, crypto_hash_primitive
, crypto_kdf_blake2b_BYTES_MAX
, crypto_kdf_blake2b_BYTES_MIN
, crypto_kdf_blake2b_CONTEXTBYTES
, crypto_kdf_blake2b_derive_from_key
, crypto_kdf_blake2b_KEYBYTES
, crypto_kdf_primitive
, crypto_kx_primitive
, crypto_onetimeauth_keygen
, crypto_onetimeauth_poly1305
, crypto_onetimeauth_poly1305_BYTES
, crypto_onetimeauth_poly1305_final
, crypto_onetimeauth_poly1305_init
, crypto_onetimeauth_poly1305_KEYBYTES
, crypto_onetimeauth_poly1305_keygen
, crypto_onetimeauth_poly1305_STATEBYTES
, crypto_onetimeauth_poly1305_update
, crypto_onetimeauth_poly1305_verify
, crypto_onetimeauth_primitive
, crypto_pwhash_alg_argon2i13
, crypto_pwhash_alg_argon2id13
, crypto_pwhash_alg_default
, crypto_pwhash_argon2i
, crypto_pwhash_argon2i_alg_argon2i13
, crypto_pwhash_argon2i_BYTES_MAX
, crypto_pwhash_argon2i_BYTES_MIN
, crypto_pwhash_argon2i_memlimit_interactive
, crypto_pwhash_argon2i_memlimit_max
, crypto_pwhash_argon2i_memlimit_min
, crypto_pwhash_argon2i_memlimit_moderate
, crypto_pwhash_argon2i_memlimit_sensitive
, crypto_pwhash_argon2i_opslimit_interactive
, crypto_pwhash_argon2i_opslimit_max
, crypto_pwhash_argon2i_opslimit_min
, crypto_pwhash_argon2i_opslimit_moderate
, crypto_pwhash_argon2i_opslimit_sensitive
, crypto_pwhash_argon2i_passwd_max
, crypto_pwhash_argon2i_passwd_min
, crypto_pwhash_argon2i_SALTBYTES
, crypto_pwhash_argon2i_str
, crypto_pwhash_argon2i_str_needs_rehash
, crypto_pwhash_argon2i_str_verify
, crypto_pwhash_argon2i_STRBYTES
, crypto_pwhash_argon2i_strprefix
, crypto_pwhash_argon2id
, crypto_pwhash_argon2id_alg_argon2id13
, crypto_pwhash_argon2id_BYTES_MAX
, crypto_pwhash_argon2id_BYTES_MIN
, crypto_pwhash_argon2id_memlimit_interactive
, crypto_pwhash_argon2id_memlimit_max
, crypto_pwhash_argon2id_memlimit_min
, crypto_pwhash_argon2id_memlimit_moderate
, crypto_pwhash_argon2id_memlimit_sensitive
, crypto_pwhash_argon2id_opslimit_interactive
, crypto_pwhash_argon2id_opslimit_max
, crypto_pwhash_argon2id_opslimit_min
, crypto_pwhash_argon2id_opslimit_moderate
, crypto_pwhash_argon2id_opslimit_sensitive
, crypto_pwhash_argon2id_passwd_max
, crypto_pwhash_argon2id_passwd_min
, crypto_pwhash_argon2id_SALTBYTES
, crypto_pwhash_argon2id_str
, crypto_pwhash_argon2id_str_needs_rehash
, crypto_pwhash_argon2id_str_verify
, crypto_pwhash_argon2id_STRBYTES
, crypto_pwhash_argon2id_strprefix
, crypto_pwhash_memlimit_interactive
, crypto_pwhash_memlimit_max
, crypto_pwhash_memlimit_min
, crypto_pwhash_memlimit_moderate
, crypto_pwhash_memlimit_sensitive
, crypto_pwhash_opslimit_interactive
, crypto_pwhash_opslimit_max
, crypto_pwhash_opslimit_min
, crypto_pwhash_opslimit_moderate
, crypto_pwhash_opslimit_sensitive
, crypto_pwhash_passwd_max
, crypto_pwhash_passwd_min
, crypto_pwhash_primitive
, crypto_pwhash_scryptsalsa208sha256_ll
, crypto_pwhash_scryptsalsa208sha256_memlimit_interactive
, crypto_pwhash_scryptsalsa208sha256_memlimit_max
, crypto_pwhash_scryptsalsa208sha256_memlimit_min
, crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive
, crypto_pwhash_scryptsalsa208sha256_opslimit_interactive
, crypto_pwhash_scryptsalsa208sha256_opslimit_max
, crypto_pwhash_scryptsalsa208sha256_opslimit_min
, crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive
, crypto_pwhash_scryptsalsa208sha256_passwd_max
, crypto_pwhash_scryptsalsa208sha256_passwd_min
, crypto_pwhash_scryptsalsa208sha256_strprefix
, crypto_pwhash_str_alg
, crypto_pwhash_strprefix
, crypto_scalarmult_curve25519
, crypto_scalarmult_curve25519_base
, crypto_scalarmult_curve25519_BYTES
, crypto_scalarmult_curve25519_SCALARBYTES
, crypto_scalarmult_primitive
, crypto_scalarmult_ristretto255
, crypto_scalarmult_ristretto255_base
, crypto_scalarmult_ristretto255_BYTES
, crypto_scalarmult_ristretto255_SCALARBYTES
, crypto_secretbox_keygen
, crypto_secretbox_MESSAGEBYTES_MAX
, crypto_secretbox_primitive
, crypto_secretbox_xchacha20poly1305_detached
, crypto_secretbox_xchacha20poly1305_easy
, crypto_secretbox_xchacha20poly1305_KEYBYTES
, crypto_secretbox_xchacha20poly1305_MACBYTES
, crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX
, crypto_secretbox_xchacha20poly1305_NONCEBYTES
, crypto_secretbox_xchacha20poly1305_open_detached
, crypto_secretbox_xchacha20poly1305_open_easy
, crypto_secretbox_xsalsa20poly1305
, crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES
, crypto_secretbox_xsalsa20poly1305_KEYBYTES
, crypto_secretbox_xsalsa20poly1305_keygen
, crypto_secretbox_xsalsa20poly1305_MACBYTES
, crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX
, crypto_secretbox_xsalsa20poly1305_NONCEBYTES
, crypto_secretbox_xsalsa20poly1305_open
, crypto_secretbox_xsalsa20poly1305_ZEROBYTES
, crypto_secretstream_xchacha20poly1305_tag_final
, crypto_secretstream_xchacha20poly1305_tag_message
, crypto_secretstream_xchacha20poly1305_tag_push
, crypto_secretstream_xchacha20poly1305_tag_rekey
, crypto_shorthash_keygen
, crypto_shorthash_primitive
, crypto_shorthash_siphash24
, crypto_shorthash_siphash24_BYTES
, crypto_shorthash_siphash24_KEYBYTES
, crypto_shorthash_siphashx24
, crypto_shorthash_siphashx24_BYTES
, crypto_shorthash_siphashx24_KEYBYTES
, crypto_sign_ed25519
, crypto_sign_ed25519_BYTES
, crypto_sign_ed25519_detached
, crypto_sign_ed25519_keypair
, crypto_sign_ed25519_MESSAGEBYTES_MAX
, crypto_sign_ed25519_open
, crypto_sign_ed25519_PUBLICKEYBYTES
, crypto_sign_ed25519_SECRETKEYBYTES
, crypto_sign_ed25519_seed_keypair
, crypto_sign_ed25519_SEEDBYTES
, crypto_sign_ed25519_sk_to_seed
, crypto_sign_ed25519_verify_detached
, crypto_sign_ed25519ph_final_create
, crypto_sign_ed25519ph_final_verify
, crypto_sign_ed25519ph_init
, crypto_sign_ed25519ph_STATEBYTES
, crypto_sign_ed25519ph_update
, crypto_sign_edwards25519sha512batch
, crypto_sign_edwards25519sha512batch_keypair
, crypto_sign_edwards25519sha512batch_open
, crypto_sign_final_create
, crypto_sign_final_verify
, crypto_sign_init
, crypto_sign_MESSAGEBYTES_MAX
, crypto_sign_primitive
, crypto_sign_STATEBYTES
, crypto_sign_update
, crypto_stream_chacha20_ietf_keygen
, crypto_stream_chacha20_keygen
, crypto_stream_keygen
, crypto_stream_MESSAGEBYTES_MAX
, crypto_stream_primitive
, crypto_stream_salsa20
, crypto_stream_salsa2012
, crypto_stream_salsa2012_KEYBYTES
, crypto_stream_salsa2012_keygen
, crypto_stream_salsa2012_MESSAGEBYTES_MAX
, crypto_stream_salsa2012_NONCEBYTES
, crypto_stream_salsa2012_xor
, crypto_stream_salsa208
, crypto_stream_salsa208_KEYBYTES
, crypto_stream_salsa208_keygen
, crypto_stream_salsa208_MESSAGEBYTES_MAX
, crypto_stream_salsa208_NONCEBYTES
, crypto_stream_salsa208_xor
, crypto_stream_salsa20_keygen
, crypto_stream_xchacha20_keygen
, crypto_stream_xsalsa20
, crypto_stream_xsalsa20_KEYBYTES
, crypto_stream_xsalsa20_keygen
, crypto_stream_xsalsa20_MESSAGEBYTES_MAX
, crypto_stream_xsalsa20_NONCEBYTES
, crypto_stream_xsalsa20_xor
, crypto_stream_xsalsa20_xor_ic
, crypto_verify_16_BYTES
, crypto_verify_32_BYTES
, crypto_verify_64
, crypto_verify_64_BYTES
, randombytes
, randombytes_close
, randombytes_implementation_name
, randombytes_internal_implementation
, randombytes_set_implementation
, randombytes_stir
, randombytes_sysrandom_implementation
, sodium_allocarray
, sodium_base642bin
, sodium_base64_encoded_len
, sodium_bin2base64
, sodium_bin2hex
, sodium_hex2bin
, sodium_init
, sodium_library_minimal
, sodium_library_version_major
, sodium_library_version_minor
, sodium_misuse
, sodium_runtime_has_aesni
, sodium_runtime_has_avx
, sodium_runtime_has_avx2
, sodium_runtime_has_avx512f
, sodium_runtime_has_neon
, sodium_runtime_has_pclmul
, sodium_runtime_has_rdrand
, sodium_runtime_has_sse2
, sodium_runtime_has_sse3
, sodium_runtime_has_sse41
, sodium_runtime_has_ssse3
, sodium_set_misuse_handler
, sodium_stackzero
, sodium_version_string