crypto_aead_chacha20poly1305_ietf_encrypt

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.

  1. alias crypto_aead_chacha20poly1305_ietf_encrypt = deimos.sodium.crypto_aead_chacha20poly1305.crypto_aead_chacha20poly1305_ietf_encrypt
  2. 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)
    @nogc @trusted
    bool
    crypto_aead_chacha20poly1305_ietf_encrypt
    (
    scope ubyte[] c
    ,
    const scope ubyte[] m
    ,
    const scope ubyte[] ad
    ,
    const ubyte[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] npub
    ,
    const ubyte[crypto_aead_chacha20poly1305_ietf_KEYBYTES] k
    )

Meta