4.0.1 • Published 2 months ago

sodium-universal v4.0.1

Weekly downloads
904
License
MIT
Repository
github
Last release
2 months ago

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 Symbolsodium-nativesodium-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

License

MIT

4.0.1

2 months ago

4.0.0

1 year ago

3.1.0

2 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.0.0

6 years ago

1.4.0

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.0.0

7 years ago