crypto_aead_xchacha20poly1305_ietf_encrypt

The function crypto_aead_xchacha20poly1305_ietf_encrypt() encrypts a message m using a secret key k (crypto_aead_xchacha20poly1305_ietf_KEYBYTES bytes) and a public nonce npub (crypto_aead_xchacha20poly1305_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_xchacha20poly1305_ietf_ABYTES bytes are put into c, and the actual number of bytes is stored into clen_p. 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_xchacha20poly1305_ietf_encrypt = deimos.sodium.crypto_aead_xchacha20poly1305.crypto_aead_xchacha20poly1305_ietf_encrypt
  2. bool crypto_aead_xchacha20poly1305_ietf_encrypt(ubyte[] c, ubyte[] m, ubyte[] ad, ubyte[crypto_aead_xchacha20poly1305_ietf_NPUBBYTES] npub, ubyte[crypto_aead_xchacha20poly1305_ietf_KEYBYTES] k)
    @nogc @trusted
    bool
    crypto_aead_xchacha20poly1305_ietf_encrypt
    (
    scope ubyte[] c
    ,
    scope const ubyte[] m
    ,
    scope const ubyte[] ad
    ,
    const ubyte[crypto_aead_xchacha20poly1305_ietf_NPUBBYTES] npub
    ,
    const ubyte[crypto_aead_xchacha20poly1305_ietf_KEYBYTES] k
    )

Meta