wrapper.sodium.crypto_aead_chacha20poly1305

Undocumented in source.

Public Imports

deimos.sodium.crypto_aead_chacha20poly1305
public import deimos.sodium.crypto_aead_chacha20poly1305 : crypto_aead_chacha20poly1305_ietf_KEYBYTES, crypto_aead_chacha20poly1305_ietf_keybytes, crypto_aead_chacha20poly1305_ietf_NSECBYTES, crypto_aead_chacha20poly1305_ietf_nsecbytes, crypto_aead_chacha20poly1305_ietf_NPUBBYTES, crypto_aead_chacha20poly1305_ietf_npubbytes, crypto_aead_chacha20poly1305_ietf_ABYTES, crypto_aead_chacha20poly1305_ietf_abytes, crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, crypto_aead_chacha20poly1305_ietf_messagebytes_max, crypto_aead_chacha20poly1305_ietf_keygen, crypto_aead_chacha20poly1305_KEYBYTES, crypto_aead_chacha20poly1305_keybytes, crypto_aead_chacha20poly1305_NSECBYTES, crypto_aead_chacha20poly1305_nsecbytes, crypto_aead_chacha20poly1305_NPUBBYTES, crypto_aead_chacha20poly1305_npubbytes, crypto_aead_chacha20poly1305_ABYTES, crypto_aead_chacha20poly1305_abytes, crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX, crypto_aead_chacha20poly1305_messagebytes_max, crypto_aead_chacha20poly1305_keygen;

Members

Aliases

crypto_aead_chacha20poly1305_decrypt
alias crypto_aead_chacha20poly1305_decrypt = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_decrypt
Undocumented in source.
crypto_aead_chacha20poly1305_decrypt_detached
alias crypto_aead_chacha20poly1305_decrypt_detached = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_decrypt_detached
Undocumented in source.
crypto_aead_chacha20poly1305_encrypt
alias crypto_aead_chacha20poly1305_encrypt = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_encrypt
Undocumented in source.
crypto_aead_chacha20poly1305_encrypt_detached
alias crypto_aead_chacha20poly1305_encrypt_detached = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_encrypt_detached
Undocumented in source.
crypto_aead_chacha20poly1305_ietf_decrypt
alias crypto_aead_chacha20poly1305_ietf_decrypt = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_ietf_decrypt
Undocumented in source.
crypto_aead_chacha20poly1305_ietf_decrypt_detached
alias crypto_aead_chacha20poly1305_ietf_decrypt_detached = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_ietf_decrypt_detached
Undocumented in source.
crypto_aead_chacha20poly1305_ietf_encrypt
alias crypto_aead_chacha20poly1305_ietf_encrypt = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_ietf_encrypt
Undocumented in source.
crypto_aead_chacha20poly1305_ietf_encrypt_detached
alias crypto_aead_chacha20poly1305_ietf_encrypt_detached = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_ietf_encrypt_detached
Undocumented in source.

Functions

crypto_aead_chacha20poly1305_decrypt
bool crypto_aead_chacha20poly1305_decrypt(ubyte[] m, ubyte[] c, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_KEYBYTES] k)
Undocumented in source. Be warned that the author may not have intended to support it.
crypto_aead_chacha20poly1305_decrypt_detached
bool crypto_aead_chacha20poly1305_decrypt_detached(ubyte[] m, ubyte[] c, ubyte[crypto_aead_chacha20poly1305_ABYTES] mac, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_KEYBYTES] k)
Undocumented in source. Be warned that the author may not have intended to support it.
crypto_aead_chacha20poly1305_encrypt
bool crypto_aead_chacha20poly1305_encrypt(ubyte[] c, ubyte[] m, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_KEYBYTES] k)
Undocumented in source. Be warned that the author may not have intended to support it.
crypto_aead_chacha20poly1305_encrypt_detached
bool crypto_aead_chacha20poly1305_encrypt_detached(ubyte[] c, ubyte[crypto_aead_chacha20poly1305_ABYTES] mac, ubyte[] m, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_KEYBYTES] k)
Undocumented in source. Be warned that the author may not have intended to support it.
crypto_aead_chacha20poly1305_ietf_decrypt
bool crypto_aead_chacha20poly1305_ietf_decrypt(ubyte[] m, ubyte[] c, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_ietf_KEYBYTES] k)

The function crypto_aead_chacha20poly1305_ietf_decrypt() verifies that the ciphertext c (as produced by crypto_aead_chacha20poly1305_ietf_encrypt()), includes a valid tag using a secret key k, a public nonce npub, and additional data ad. c.length is the ciphertext length in bytes with the authenticator, so it has to be at least crypto_aead_chacha20poly1305_ietf_ABYTES.

crypto_aead_chacha20poly1305_ietf_decrypt_detached
bool crypto_aead_chacha20poly1305_ietf_decrypt_detached(ubyte[] m, ubyte[] c, ubyte[crypto_aead_chacha20poly1305_ietf_ABYTES] mac, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_ietf_KEYBYTES] k)
Undocumented in source. Be warned that the author may not have intended to support it.
crypto_aead_chacha20poly1305_ietf_encrypt
bool crypto_aead_chacha20poly1305_ietf_encrypt(ubyte[] c, ubyte[] m, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_ietf_KEYBYTES] k)

The function crypto_aead_chacha20poly1305_ietf_encrypt() encrypts a message m using a secret key k (crypto_aead_chacha20poly1305_ietf_KEYBYTES bytes) and a public nonce npub (crypto_aead_chacha20poly1305_ietf_NPUBBYTES bytes). The encrypted message, as well as a tag authenticating both the confidential message m and ad.length bytes of non-confidential data ad, are put into c. ad can also be an empty array if no additional data are required. At most m.length + crypto_aead_chacha20poly1305_ietf_ABYTES bytes are put into c. The function always returns true. The public nonce npub should never ever be reused with the same key. The recommended way to generate it is to use randombytes_buf() for the first message, and then to increment it for each subsequent message using the same key.

crypto_aead_chacha20poly1305_ietf_encrypt_detached
bool crypto_aead_chacha20poly1305_ietf_encrypt_detached(ubyte[] c, ubyte[crypto_aead_chacha20poly1305_ietf_ABYTES] mac, ubyte[] m, ubyte[] ad, ubyte[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] npub, ubyte[crypto_aead_chacha20poly1305_ietf_KEYBYTES] k)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

key
ubyte[crypto_aead_chacha20poly1305_ietf_KEYBYTES] key;
Undocumented in source.
key2
ubyte[crypto_aead_chacha20poly1305_KEYBYTES] key2;
Undocumented in source.
nonce
ubyte[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] nonce;
Undocumented in source.
nonce2
ubyte[crypto_aead_chacha20poly1305_NPUBBYTES] nonce2;
Undocumented in source.

Meta