This is a very simple wrapper around libsodium masquerading as nacl.
[![Build Status](https://travis-ci.org/stef/pysodium.svg?branch=master)](https://travis-ci.org/stef/pysodium)
This wrapper requires a pre-installed libsodium from:
https://github.com/jedisct1/libsodium
then it provides access to the following functions:
```
crypto_aead_aegis128l_decrypt(ciphertext, ad, nonce, key)
crypto_aead_aegis128l_encrypt(message, ad, nonce, key)
crypto_aead_aegis128l_decrypt_detached(ciphertext, mac, ad, nonce, key)
crypto_aead_aegis128l_encrypt_detached(message, ad, nonce, key)
crypto_aead_aegis256_decrypt(ciphertext, ad, nonce, key)
crypto_aead_aegis256_encrypt(message, ad, nonce, key)
crypto_aead_aegis256_decrypt_detached(ciphertext, mac, ad, nonce, key)
crypto_aead_aegis256_encrypt_detached(message, ad, nonce, key)
crypto_aead_chacha20poly1305_decrypt(ciphertext, ad, nonce, key)
crypto_aead_chacha20poly1305_encrypt(message, ad, nonce, key)
crypto_aead_chacha20poly1305_decrypt_detached(ciphertext, mac, ad, nonce, key)
crypto_aead_chacha20poly1305_encrypt_detached(message, ad, nonce, key)
crypto_aead_chacha20poly1305_ietf_decrypt(ciphertext, ad, nonce, key)
crypto_aead_chacha20poly1305_ietf_encrypt(message, ad, nonce, key)
crypto_aead_chacha20poly1305_ietf_decrypt_detached(ciphertext, mac, ad, nonce, key)
crypto_aead_chacha20poly1305_ietf_encrypt_detached(message, ad, nonce, key)
crypto_aead_xchacha20poly1305_ietf_decrypt(ciphertext, ad, nonce, key)
crypto_aead_xchacha20poly1305_ietf_encrypt(message, ad, nonce, key)
crypto_auth(message, key)
crypto_auth_verify(tag, message, key)
crypto_box_afternm(msg, nonce, k)
crypto_box_beforenm(pk, sk)
crypto_box_detached(msg, nonce, pk, sk)
crypto_box_keypair()
crypto_box(msg, nonce, pk, sk)
crypto_box_open_afternm(c, nonce, k)
crypto_box_open(c, nonce, pk, sk)
crypto_box_open_detached(c, mac, nonce, pk, sk)
crypto_box_seal(msg, pk)
crypto_box_seal_open(c, pk, sk)
crypto_box_seed_keypair(seed)
crypto_generichash_blake2b_salt_personal(message, outlen = crypto_generichash_blake2b_BYTES, key = b'', salt = b'', personal = b'')
crypto_generichash_final(state, outlen=crypto_generichash_BYTES)
crypto_generichash_init(outlen=crypto_generichash_BYTES, k=b'')
crypto_generichash(m, k=b'', outlen=crypto_generichash_BYTES)
crypto_generichash_update(state, m)
crypto_hash_sha256(message)
crypto_hash_sha512(message)
crypto_hash_sha512_init()
crypto_hash_sha512_update(state, data)
crypto_hash_sha512_final(state)
crypto_kx_client_session_keys(client_pk, client_sk, server_pk)
crypto_kx_keypair()
crypto_kx_server_session_keys(server_pk, server_sk, client_pk)
crypto_pwhash(outlen, passwd, salt, opslimit, memlimit, alg)
crypto_pwhash_scryptsalsa208sha256(outlen, passwd, salt, opslimit, memlimit)
crypto_pwhash_scryptsalsa208sha256_str(passwd, opslimit, memlimit)
crypto_pwhash_scryptsalsa208sha256_str_verify(stored, passwd)
crypto_pwhash_str(passwd, opslimit, memlimit)
crypto_pwhash_str_verify(pstr, passwd)
crypto_scalarmult_base(n)
crypto_scalarmult_curve25519_base(n)
crypto_scalarmult_curve25519(n, p)
crypto_secretbox(msg, nonce, k)
crypto_secretbox_detached(msg, nonce, k)
crypto_secretbox_open(c, nonce, k)
crypto_secretbox_open_detached(c, mac, nonce, k)
crypto_secretstream_xchacha20poly1305_keygen():
crypto_secretstream_xchacha20poly1305_init_push(key):
crypto_secretstream_xchacha20poly1305_init_pull(header, key):
crypto_secretstream_xchacha20poly1305_rekey(state):
crypto_secretstream_xchacha20poly1305_push(state, message, ad, tag):
crypto_secretstream_xchacha20poly1305_pull(state, ciphertext, ad):
crypto_sign_init()
crypto_sign_update(state, m)
crypto_sign_final_create(state, sk)
crypto_sign_final_verify(state, sig, pk)
crypto_sign_detached(m, sk)
crypto_sign_keypair()
crypto_sign(m, sk)
crypto_sign_open(sm, pk)
crypto_sign_pk_to_box_pk(pk)
crypto_sign_seed_keypair(seed)
crypto_sign_sk_to_box_sk(sk)
crypto_sign_sk_to_pk(sk)
crypto_sign_sk_to_seed(sk)
crypto_sign_verify_detached(sig, msg, pk)
crypto_stream_chacha20_xor(message, nonce, key)
crypto_stream_chacha20_xor_ic(message, nonce, initial_counter, key)
crypto_stream_chacha20_ietf_xor(message, nonce, key)
crypto_stream_chacha20_ietf_xor_ic(message, nonce, initial_counter, key)
crypto_stream_xchacha20_xor(message, nonce, key)
crypto_stream_xchacha20_xor_ic(message, nonce, initial_counter, key)
crypto_stream(cnt, nonce=None, key=None)
crypto_stream_xor(msg, cnt, nonce=None, key=None)
randombytes(size)
sodium_increment(bytes)
crypto_core_ristretto255_is_valid_point(p)
crypto_core_ristretto255_from_hash(r)
crypto_scalarmult_ristretto255(n, p)
crypto_scalarmult_ristretto255_base(n)
crypto_core_ristretto255_scalar_random()
crypto_core_ristretto255_scalar_invert(s)
crypto_core_ristretto255_scalar_reduce(s)
crypto_core_ristretto255_add(p, q)
crypto_core_ristretto255_sub(p,q)
crypto_core_ristretto255_random()
crypto_core_ristretto255_scalar_negate(s)
crypto_core_ristretto255_scalar_complement(s)
crypto_core_ristretto255_scalar_add(x,y)
crypto_core_ristretto255_scalar_sub(x,y)
crypto_core_ristretto255_scalar_mul(x,y)
crypto_auth_hmacsha256_keygen
crypto_auth_hmacsha256
crypto_auth_hmacsha256_verify
crypto_auth_hmacsha512_keygen
crypto_auth_hmacsha512
crypto_auth_hmacsha512_verify
crypto_auth_hmacsha512256_keygen
crypto_auth_hmacsha512256
crypto_auth_hmacsha512256_verify
crypto_kdf_derive_from_key(subkey_len, subkey_id, ctx, key)
crypto_kdf_keygen()
crypto_kdf_hkdf_sha256_extract_init(salt=b'')
crypto_kdf_hkdf_sha256_extract_update(state, ikm=b'')
crypto_kdf_hkdf_sha256_extract_final(state)
crypto_kdf_hkdf_sha256_extract(salt=b'', ikm=b'')
crypto_kdf_hkdf_sha256_keygen()
crypto_kdf_hkdf_sha256_expand(outlen, prk, ctx=b'')
crypto_kdf_hkdf_sha512_extract_init(salt=b'')
crypto_kdf_hkdf_sha512_extract_update(state, ikm=b'')
crypto_kdf_hkdf_sha512_extract_final(state)
crypto_kdf_hkdf_sha512_extract(salt=b'', ikm=b'')
crypto_kdf_hkdf_sha512_keygen()
crypto_kdf_hkdf_sha512_expand(outlen, prk, ctx=b'')
```
Constants:
```
crypto_aead_chacha20poly1305_ABYTES
crypto_aead_chacha20poly1305_KEYBYTES
crypto_aead_chacha20poly1305_NPUBBYTES
crypto_aead_chacha20poly1305_ietf_KEYBYTES
crypto_aead_chacha20poly1305_ietf_NPUBBYTES
crypto_aead_chacha20poly1305_ietf_ABYTES
crypto_aead_xchacha20poly1305_ietf_KEYBYTES
crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
crypto_aead_xchacha20poly1305_ietf_ABYTES
crypto_auth_BYTES
crypto_auth_KEYBYTES
crypto_box_BEFORENMBYTES
crypto_box_BOXZEROBYTES
crypto_box_MACBYTES
crypto_box_NONCEBYTES
crypto_box_PUBLICKEYBYTES
crypto_box_SEALBYTES
crypto_box_SECRETKEYBYTES
crypto_box_SEEDBYTES
crypto_box_ZEROBYTES
crypto_generichash_KEYBYTES_MAX
crypto_generichash_BYTES
crypto_generichash_BYTES_MAX
crypto_generichash_BYTES_MIN
crypto_generichash_STATEBYTES
crypto_generichash_blake2b_BYTES
crypto_generichash_blake2b_BYTES_MAX
crypto_generichash_blake2b_BYTES_MIN
crypto_generichash_blake2b_KEYBYTES_MAX
crypto_generichash_blake2b_PERSONALBYTES
crypto_generichash_blake2b_SALTBYTES
crypto_hash_sha256_BYTES
crypto_hash_sha512_BYTES
crypto_hash_sha512_STATEBYTES
crypto_kx_PUBLICKEYBYTES
crypto_kx_SECRETKEYBYTES
crypto_kx_SESSIONKEYBYTES
crypto_pwhash_ALG_DEFAULT
crypto_pwhash_ALG_ARGON2I13
crypto_pwhash_ALG_ARGON2ID13
crypto_pwhash_BYTES_MAX
crypto_pwhash_BYTES_MIN
crypto_pwhash_MEMLIMIT_MAX
crypto_pwhash_MEMLIMIT_MIN
crypto_pwhash_MEMLIMIT_INTERACTIVE
crypto_pwhash_MEMLIMIT_MODERATE
crypto_pwhash_MEMLIMIT_SENSITIVE
crypto_pwhash_OPSLIMIT_MAX
crypto_pwhash_OPSLIMIT_MIN
crypto_pwhash_OPSLIMIT_INTERACTIVE
crypto_pwhash_OPSLIMIT_MODERATE
crypto_pwhash_OPSLIMIT_SENSITIVE
crypto_pwhash_PASSWD_MAX
crypto_pwhash_PASSWD_MIN
crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE
crypto_pwhash_argon2i_MEMLIMIT_MODERATE
crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE
crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE
crypto_pwhash_argon2i_OPSLIMIT_MODERATE
crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE
crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE
crypto_pwhash_argon2id_MEMLIMIT_MODERATE
crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE
crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE
crypto_pwhash_argon2id_OPSLIMIT_MODERATE
crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE
crypto_pwhash_SALTBYTES
crypto_pwhash_STRBYTES
crypto_pwhash_scryptsalsa208sha256_BYTES_MAX
crypto_pwhash_scryptsalsa208sha256_BYTES_MIN
crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX
crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN
crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE
crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE
crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX
crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN
crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE
crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE
crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX
crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN
crypto_pwhash_scryptsalsa208sha256_SALTBYTES
crypto_pwhash_scryptsalsa208sha256_STRBYTES
crypto_pwhash_scryptsalsa208sha256_STRPREFIX
crypto_scalarmult_BYTES
crypto_scalarmult_SCALARBYTES
crypto_scalarmult_curve25519_BYTES
crypto_secretbox_BOXZEROBYTES
crypto_secretbox_KEYBYTES
crypto_secretbox_KEYBYTES
crypto_secretbox_MACBYTES
crypto_secretbox_NONCEBYTES
crypto_secretbox_ZEROBYTES
crypto_secretstream_xchacha20poly1305_STATEBYTES
crypto_secretstream_xchacha20poly1305_ABYTES
crypto_secretstream_xchacha20poly1305_HEADERBYTES
crypto_secretstream_xchacha20poly1305_KEYBYTES
crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX
crypto_secretstream_xchacha20poly1305_TAG_MESSAGE
crypto_secretstream_xchacha20poly1305_TAG_PUSH
crypto_secretstream_xchacha20poly1305_TAG_REKEY
crypto_secretstream_xchacha20poly1305_TAG_FINAL
crypto_sign_BYTES
crypto_sign_PUBLICKEYBYTES
crypto_sign_SECRETKEYBYTES
crypto_sign_SEEDBYTES
crypto_sign_ed25519_PUBLICKEYBYTES
crypto_sign_ed25519_SECRETKEYBYTES
crypto_stream_KEYBYTES
crypto_stream_NONCEBYTES
crypto_stream_chacha20_NONCEBYTES
crypto_stream_chacha20_KEYBYTES
crypto_stream_chacha20_ietf_NONCEBYTES
crypto_stream_chacha20_ietf_KEYBYTES
crypto_stream_xchacha20_NONCEBYTES
crypto_stream_xchacha20_KEYBYTES
crypto_core_ristretto255_BYTES
crypto_core_ristretto255_HASHBYTES
crypto_core_ristretto255_SCALARBYTES
crypto_core_ristretto255_NONREDUCEDSCALARBYTES
crypto_auth_hmacsha256_BYTES
crypto_auth_hmacsha256_KEYBYTES
crypto_auth_hmacsha512_BYTES
crypto_auth_hmacsha512_KEYBYTES
crypto_auth_hmacsha512256_BYTES
crypto_auth_hmacsha512256_KEYBYTES
crypto_kdf_BYTES_MIN
crypto_kdf_BYTES_MAX
crypto_kdf_CONTEXTBYTES
crypto_kdf_KEYBYTES
crypto_kdf_hkdf_sha256_KEYBYTES
crypto_kdf_hkdf_sha256_BYTES_MIN
crypto_kdf_hkdf_sha256_BYTES_MAX
crypto_kdf_hkdf_sha256_STATEBYTES
```
Note
most of the the `*_easy` functions are not implemented as the "non-easy"
functions provide already the "easy" interface, which hides the placement of
buffers in memory, which makes little sense in python, so this wrapper handles
this.
Raw data
{
"_id": null,
"home_page": "https://github.com/stef/pysodium",
"name": "pysodium",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "cryptography API NaCl libsodium",
"author": "Stefan Marsiske",
"author_email": "s@ctrlc.hu",
"download_url": "https://files.pythonhosted.org/packages/d7/a5/bcb82a6056bc8ad0dbfdb0956ae1ff3b8eb9dd76c187723e82a3c5678982/pysodium-0.7.18.tar.gz",
"platform": null,
"description": "This is a very simple wrapper around libsodium masquerading as nacl.\n\n[![Build Status](https://travis-ci.org/stef/pysodium.svg?branch=master)](https://travis-ci.org/stef/pysodium)\n\nThis wrapper requires a pre-installed libsodium from:\n\n https://github.com/jedisct1/libsodium\n\nthen it provides access to the following functions:\n\n```\ncrypto_aead_aegis128l_decrypt(ciphertext, ad, nonce, key)\ncrypto_aead_aegis128l_encrypt(message, ad, nonce, key)\ncrypto_aead_aegis128l_decrypt_detached(ciphertext, mac, ad, nonce, key)\ncrypto_aead_aegis128l_encrypt_detached(message, ad, nonce, key)\ncrypto_aead_aegis256_decrypt(ciphertext, ad, nonce, key)\ncrypto_aead_aegis256_encrypt(message, ad, nonce, key)\ncrypto_aead_aegis256_decrypt_detached(ciphertext, mac, ad, nonce, key)\ncrypto_aead_aegis256_encrypt_detached(message, ad, nonce, key)\ncrypto_aead_chacha20poly1305_decrypt(ciphertext, ad, nonce, key)\ncrypto_aead_chacha20poly1305_encrypt(message, ad, nonce, key)\ncrypto_aead_chacha20poly1305_decrypt_detached(ciphertext, mac, ad, nonce, key)\ncrypto_aead_chacha20poly1305_encrypt_detached(message, ad, nonce, key)\ncrypto_aead_chacha20poly1305_ietf_decrypt(ciphertext, ad, nonce, key)\ncrypto_aead_chacha20poly1305_ietf_encrypt(message, ad, nonce, key)\ncrypto_aead_chacha20poly1305_ietf_decrypt_detached(ciphertext, mac, ad, nonce, key)\ncrypto_aead_chacha20poly1305_ietf_encrypt_detached(message, ad, nonce, key)\ncrypto_aead_xchacha20poly1305_ietf_decrypt(ciphertext, ad, nonce, key)\ncrypto_aead_xchacha20poly1305_ietf_encrypt(message, ad, nonce, key)\ncrypto_auth(message, key)\ncrypto_auth_verify(tag, message, key)\ncrypto_box_afternm(msg, nonce, k)\ncrypto_box_beforenm(pk, sk)\ncrypto_box_detached(msg, nonce, pk, sk)\ncrypto_box_keypair()\ncrypto_box(msg, nonce, pk, sk)\ncrypto_box_open_afternm(c, nonce, k)\ncrypto_box_open(c, nonce, pk, sk)\ncrypto_box_open_detached(c, mac, nonce, pk, sk)\ncrypto_box_seal(msg, pk)\ncrypto_box_seal_open(c, pk, sk)\ncrypto_box_seed_keypair(seed)\ncrypto_generichash_blake2b_salt_personal(message, outlen = crypto_generichash_blake2b_BYTES, key = b'', salt = b'', personal = b'')\ncrypto_generichash_final(state, outlen=crypto_generichash_BYTES)\ncrypto_generichash_init(outlen=crypto_generichash_BYTES, k=b'')\ncrypto_generichash(m, k=b'', outlen=crypto_generichash_BYTES)\ncrypto_generichash_update(state, m)\ncrypto_hash_sha256(message)\ncrypto_hash_sha512(message)\ncrypto_hash_sha512_init()\ncrypto_hash_sha512_update(state, data)\ncrypto_hash_sha512_final(state)\ncrypto_kx_client_session_keys(client_pk, client_sk, server_pk)\ncrypto_kx_keypair()\ncrypto_kx_server_session_keys(server_pk, server_sk, client_pk)\ncrypto_pwhash(outlen, passwd, salt, opslimit, memlimit, alg)\ncrypto_pwhash_scryptsalsa208sha256(outlen, passwd, salt, opslimit, memlimit)\ncrypto_pwhash_scryptsalsa208sha256_str(passwd, opslimit, memlimit)\ncrypto_pwhash_scryptsalsa208sha256_str_verify(stored, passwd)\ncrypto_pwhash_str(passwd, opslimit, memlimit)\ncrypto_pwhash_str_verify(pstr, passwd)\ncrypto_scalarmult_base(n)\ncrypto_scalarmult_curve25519_base(n)\ncrypto_scalarmult_curve25519(n, p)\ncrypto_secretbox(msg, nonce, k)\ncrypto_secretbox_detached(msg, nonce, k)\ncrypto_secretbox_open(c, nonce, k)\ncrypto_secretbox_open_detached(c, mac, nonce, k)\ncrypto_secretstream_xchacha20poly1305_keygen():\ncrypto_secretstream_xchacha20poly1305_init_push(key):\ncrypto_secretstream_xchacha20poly1305_init_pull(header, key):\ncrypto_secretstream_xchacha20poly1305_rekey(state):\ncrypto_secretstream_xchacha20poly1305_push(state, message, ad, tag):\ncrypto_secretstream_xchacha20poly1305_pull(state, ciphertext, ad):\ncrypto_sign_init()\ncrypto_sign_update(state, m)\ncrypto_sign_final_create(state, sk)\ncrypto_sign_final_verify(state, sig, pk)\ncrypto_sign_detached(m, sk)\ncrypto_sign_keypair()\ncrypto_sign(m, sk)\ncrypto_sign_open(sm, pk)\ncrypto_sign_pk_to_box_pk(pk)\ncrypto_sign_seed_keypair(seed)\ncrypto_sign_sk_to_box_sk(sk)\ncrypto_sign_sk_to_pk(sk)\ncrypto_sign_sk_to_seed(sk)\ncrypto_sign_verify_detached(sig, msg, pk)\ncrypto_stream_chacha20_xor(message, nonce, key)\ncrypto_stream_chacha20_xor_ic(message, nonce, initial_counter, key)\ncrypto_stream_chacha20_ietf_xor(message, nonce, key)\ncrypto_stream_chacha20_ietf_xor_ic(message, nonce, initial_counter, key)\ncrypto_stream_xchacha20_xor(message, nonce, key)\ncrypto_stream_xchacha20_xor_ic(message, nonce, initial_counter, key)\ncrypto_stream(cnt, nonce=None, key=None)\ncrypto_stream_xor(msg, cnt, nonce=None, key=None)\nrandombytes(size)\nsodium_increment(bytes)\ncrypto_core_ristretto255_is_valid_point(p)\ncrypto_core_ristretto255_from_hash(r)\ncrypto_scalarmult_ristretto255(n, p)\ncrypto_scalarmult_ristretto255_base(n)\ncrypto_core_ristretto255_scalar_random()\ncrypto_core_ristretto255_scalar_invert(s)\ncrypto_core_ristretto255_scalar_reduce(s)\ncrypto_core_ristretto255_add(p, q)\ncrypto_core_ristretto255_sub(p,q)\ncrypto_core_ristretto255_random()\ncrypto_core_ristretto255_scalar_negate(s)\ncrypto_core_ristretto255_scalar_complement(s)\ncrypto_core_ristretto255_scalar_add(x,y)\ncrypto_core_ristretto255_scalar_sub(x,y)\ncrypto_core_ristretto255_scalar_mul(x,y)\ncrypto_auth_hmacsha256_keygen\ncrypto_auth_hmacsha256\ncrypto_auth_hmacsha256_verify\ncrypto_auth_hmacsha512_keygen\ncrypto_auth_hmacsha512\ncrypto_auth_hmacsha512_verify\ncrypto_auth_hmacsha512256_keygen\ncrypto_auth_hmacsha512256\ncrypto_auth_hmacsha512256_verify\ncrypto_kdf_derive_from_key(subkey_len, subkey_id, ctx, key)\ncrypto_kdf_keygen()\ncrypto_kdf_hkdf_sha256_extract_init(salt=b'')\ncrypto_kdf_hkdf_sha256_extract_update(state, ikm=b'')\ncrypto_kdf_hkdf_sha256_extract_final(state)\ncrypto_kdf_hkdf_sha256_extract(salt=b'', ikm=b'')\ncrypto_kdf_hkdf_sha256_keygen()\ncrypto_kdf_hkdf_sha256_expand(outlen, prk, ctx=b'')\ncrypto_kdf_hkdf_sha512_extract_init(salt=b'')\ncrypto_kdf_hkdf_sha512_extract_update(state, ikm=b'')\ncrypto_kdf_hkdf_sha512_extract_final(state)\ncrypto_kdf_hkdf_sha512_extract(salt=b'', ikm=b'')\ncrypto_kdf_hkdf_sha512_keygen()\ncrypto_kdf_hkdf_sha512_expand(outlen, prk, ctx=b'')\n```\n\nConstants:\n\n```\ncrypto_aead_chacha20poly1305_ABYTES\ncrypto_aead_chacha20poly1305_KEYBYTES\ncrypto_aead_chacha20poly1305_NPUBBYTES\ncrypto_aead_chacha20poly1305_ietf_KEYBYTES\ncrypto_aead_chacha20poly1305_ietf_NPUBBYTES\ncrypto_aead_chacha20poly1305_ietf_ABYTES\ncrypto_aead_xchacha20poly1305_ietf_KEYBYTES\ncrypto_aead_xchacha20poly1305_ietf_NPUBBYTES\ncrypto_aead_xchacha20poly1305_ietf_ABYTES\ncrypto_auth_BYTES\ncrypto_auth_KEYBYTES\ncrypto_box_BEFORENMBYTES\ncrypto_box_BOXZEROBYTES\ncrypto_box_MACBYTES\ncrypto_box_NONCEBYTES\ncrypto_box_PUBLICKEYBYTES\ncrypto_box_SEALBYTES\ncrypto_box_SECRETKEYBYTES\ncrypto_box_SEEDBYTES\ncrypto_box_ZEROBYTES\ncrypto_generichash_KEYBYTES_MAX\ncrypto_generichash_BYTES\ncrypto_generichash_BYTES_MAX\ncrypto_generichash_BYTES_MIN\ncrypto_generichash_STATEBYTES\ncrypto_generichash_blake2b_BYTES\ncrypto_generichash_blake2b_BYTES_MAX\ncrypto_generichash_blake2b_BYTES_MIN\ncrypto_generichash_blake2b_KEYBYTES_MAX\ncrypto_generichash_blake2b_PERSONALBYTES\ncrypto_generichash_blake2b_SALTBYTES\ncrypto_hash_sha256_BYTES\ncrypto_hash_sha512_BYTES\ncrypto_hash_sha512_STATEBYTES\ncrypto_kx_PUBLICKEYBYTES\ncrypto_kx_SECRETKEYBYTES\ncrypto_kx_SESSIONKEYBYTES\ncrypto_pwhash_ALG_DEFAULT\ncrypto_pwhash_ALG_ARGON2I13\ncrypto_pwhash_ALG_ARGON2ID13\ncrypto_pwhash_BYTES_MAX\ncrypto_pwhash_BYTES_MIN\ncrypto_pwhash_MEMLIMIT_MAX\ncrypto_pwhash_MEMLIMIT_MIN\ncrypto_pwhash_MEMLIMIT_INTERACTIVE\ncrypto_pwhash_MEMLIMIT_MODERATE\ncrypto_pwhash_MEMLIMIT_SENSITIVE\ncrypto_pwhash_OPSLIMIT_MAX\ncrypto_pwhash_OPSLIMIT_MIN\ncrypto_pwhash_OPSLIMIT_INTERACTIVE\ncrypto_pwhash_OPSLIMIT_MODERATE\ncrypto_pwhash_OPSLIMIT_SENSITIVE\ncrypto_pwhash_PASSWD_MAX\ncrypto_pwhash_PASSWD_MIN\ncrypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE\ncrypto_pwhash_argon2i_MEMLIMIT_MODERATE\ncrypto_pwhash_argon2i_MEMLIMIT_SENSITIVE\ncrypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE\ncrypto_pwhash_argon2i_OPSLIMIT_MODERATE\ncrypto_pwhash_argon2i_OPSLIMIT_SENSITIVE\ncrypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE\ncrypto_pwhash_argon2id_MEMLIMIT_MODERATE\ncrypto_pwhash_argon2id_MEMLIMIT_SENSITIVE\ncrypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE\ncrypto_pwhash_argon2id_OPSLIMIT_MODERATE\ncrypto_pwhash_argon2id_OPSLIMIT_SENSITIVE\ncrypto_pwhash_SALTBYTES\ncrypto_pwhash_STRBYTES\ncrypto_pwhash_scryptsalsa208sha256_BYTES_MAX\ncrypto_pwhash_scryptsalsa208sha256_BYTES_MIN\ncrypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX\ncrypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN\ncrypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE\ncrypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE\ncrypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX\ncrypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN\ncrypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE\ncrypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE\ncrypto_pwhash_scryptsalsa208sha256_PASSWD_MAX\ncrypto_pwhash_scryptsalsa208sha256_PASSWD_MIN\ncrypto_pwhash_scryptsalsa208sha256_SALTBYTES\ncrypto_pwhash_scryptsalsa208sha256_STRBYTES\ncrypto_pwhash_scryptsalsa208sha256_STRPREFIX\ncrypto_scalarmult_BYTES\ncrypto_scalarmult_SCALARBYTES\ncrypto_scalarmult_curve25519_BYTES\ncrypto_secretbox_BOXZEROBYTES\ncrypto_secretbox_KEYBYTES\ncrypto_secretbox_KEYBYTES\ncrypto_secretbox_MACBYTES\ncrypto_secretbox_NONCEBYTES\ncrypto_secretbox_ZEROBYTES\ncrypto_secretstream_xchacha20poly1305_STATEBYTES\ncrypto_secretstream_xchacha20poly1305_ABYTES\ncrypto_secretstream_xchacha20poly1305_HEADERBYTES\ncrypto_secretstream_xchacha20poly1305_KEYBYTES\ncrypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX\ncrypto_secretstream_xchacha20poly1305_TAG_MESSAGE\ncrypto_secretstream_xchacha20poly1305_TAG_PUSH\ncrypto_secretstream_xchacha20poly1305_TAG_REKEY\ncrypto_secretstream_xchacha20poly1305_TAG_FINAL\ncrypto_sign_BYTES\ncrypto_sign_PUBLICKEYBYTES\ncrypto_sign_SECRETKEYBYTES\ncrypto_sign_SEEDBYTES\ncrypto_sign_ed25519_PUBLICKEYBYTES\ncrypto_sign_ed25519_SECRETKEYBYTES\ncrypto_stream_KEYBYTES\ncrypto_stream_NONCEBYTES\ncrypto_stream_chacha20_NONCEBYTES\ncrypto_stream_chacha20_KEYBYTES\ncrypto_stream_chacha20_ietf_NONCEBYTES\ncrypto_stream_chacha20_ietf_KEYBYTES\ncrypto_stream_xchacha20_NONCEBYTES\ncrypto_stream_xchacha20_KEYBYTES\ncrypto_core_ristretto255_BYTES\ncrypto_core_ristretto255_HASHBYTES\ncrypto_core_ristretto255_SCALARBYTES\ncrypto_core_ristretto255_NONREDUCEDSCALARBYTES\ncrypto_auth_hmacsha256_BYTES\ncrypto_auth_hmacsha256_KEYBYTES\ncrypto_auth_hmacsha512_BYTES\ncrypto_auth_hmacsha512_KEYBYTES\ncrypto_auth_hmacsha512256_BYTES\ncrypto_auth_hmacsha512256_KEYBYTES\ncrypto_kdf_BYTES_MIN\ncrypto_kdf_BYTES_MAX\ncrypto_kdf_CONTEXTBYTES\ncrypto_kdf_KEYBYTES\ncrypto_kdf_hkdf_sha256_KEYBYTES\ncrypto_kdf_hkdf_sha256_BYTES_MIN\ncrypto_kdf_hkdf_sha256_BYTES_MAX\ncrypto_kdf_hkdf_sha256_STATEBYTES\n```\n\n\n\nNote\n\nmost of the the `*_easy` functions are not implemented as the \"non-easy\"\nfunctions provide already the \"easy\" interface, which hides the placement of\nbuffers in memory, which makes little sense in python, so this wrapper handles\nthis.\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "python libsodium wrapper",
"version": "0.7.18",
"project_urls": {
"Homepage": "https://github.com/stef/pysodium"
},
"split_keywords": [
"cryptography",
"api",
"nacl",
"libsodium"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d7a5bcb82a6056bc8ad0dbfdb0956ae1ff3b8eb9dd76c187723e82a3c5678982",
"md5": "9882f33d6395d4a078dee43ae6b8b83f",
"sha256": "781ada024456ac74c411193b82d94018c85c94130ea01a22dbec48b8ff458b07"
},
"downloads": -1,
"filename": "pysodium-0.7.18.tar.gz",
"has_sig": false,
"md5_digest": "9882f33d6395d4a078dee43ae6b8b83f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26876,
"upload_time": "2024-08-07T11:49:21",
"upload_time_iso_8601": "2024-08-07T11:49:21.886923Z",
"url": "https://files.pythonhosted.org/packages/d7/a5/bcb82a6056bc8ad0dbfdb0956ae1ff3b8eb9dd76c187723e82a3c5678982/pysodium-0.7.18.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-07 11:49:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stef",
"github_project": "pysodium",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"lcname": "pysodium"
}