/* LibTomCrypt, modular cryptographic library -- Tom St Denis */ /* SPDX-License-Identifier: Unlicense */ #include "tomcrypt_private.h" #ifdef LTC_CHACHA20POLY1305_MODE /** Initialize an ChaCha20Poly1305 context (only the key) @param st [out] The destination of the ChaCha20Poly1305 state @param key The secret key @param keylen The length of the secret key (octets) @return CRYPT_OK if successful */ int chacha20poly1305_init(chacha20poly1305_state *st, const unsigned char *key, unsigned long keylen) { XMEMSET(st, 0, sizeof(*st)); return chacha_setup(&st->chacha, key, keylen, 20); } #endif