7#include <botan/sodium.h> 
    9#include <botan/mem_ops.h> 
   10#include <botan/secmem.h> 
   27   const uint8_t zero[16] = {0};
 
 
   38                                                  const uint8_t ptext[],
 
   40                                                  const uint8_t nonce[],
 
   42                                                  const uint8_t sk[32]) {
 
 
   53                                                       const uint8_t ctext[],
 
   55                                                       const uint8_t nonce[],
 
   57                                                       const uint8_t sk[32]) {
 
 
   69                                const uint8_t ptext[],
 
   71                                const uint8_t nonce[],
 
   73                                const uint8_t sk[32]) {
 
 
   84                                     const uint8_t ctext[],
 
   87                                     const uint8_t nonce[],
 
   89                                     const uint8_t sk[32]) {
 
 
int crypto_box_curve25519xsalsa20poly1305_seed_keypair(uint8_t pk[32], uint8_t sk[32], const uint8_t seed[32])
 
int crypto_box_curve25519xsalsa20poly1305_beforenm(uint8_t key[], const uint8_t pk[32], const uint8_t sk[32])
 
int crypto_box_curve25519xsalsa20poly1305_open_afternm(uint8_t ptext[], const uint8_t ctext[], size_t ctext_len, const uint8_t nonce[], const uint8_t key[])
 
int crypto_box_curve25519xsalsa20poly1305_keypair(uint8_t pk[32], uint8_t sk[32])
 
int crypto_box_open_detached(uint8_t ptext[], const uint8_t ctext[], const uint8_t mac[], size_t ctext_len, const uint8_t nonce[], const uint8_t pk[32], const uint8_t sk[32])
 
int crypto_box_curve25519xsalsa20poly1305_open(uint8_t ptext[], const uint8_t ctext[], size_t ctext_len, const uint8_t nonce[], const uint8_t pk[32], const uint8_t sk[32])
 
int crypto_box_open_detached_afternm(uint8_t ptext[], const uint8_t ctext[], const uint8_t mac[], size_t ctext_len, const uint8_t nonce[], const uint8_t key[])
 
int crypto_box_detached(uint8_t ctext[], uint8_t mac[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t pk[32], const uint8_t sk[32])
 
int crypto_hash_sha512(uint8_t out[64], const uint8_t in[], size_t in_len)
 
int crypto_scalarmult_curve25519(uint8_t out[32], const uint8_t scalar[32], const uint8_t basepoint[32])
 
int crypto_box_curve25519xsalsa20poly1305(uint8_t ctext[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t pk[32], const uint8_t sk[32])
 
int crypto_box_beforenm(uint8_t key[], const uint8_t pk[32], const uint8_t sk[32])
 
int crypto_scalarmult_curve25519_base(uint8_t out[32], const uint8_t scalar[32])
 
int crypto_core_hsalsa20(uint8_t out[], const uint8_t in[], const uint8_t key[], const uint8_t c[])
 
int crypto_box_curve25519xsalsa20poly1305_afternm(uint8_t ctext[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t key[])
 
int crypto_box_detached_afternm(uint8_t ctext[], uint8_t mac[], const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t key[])
 
void randombytes_buf(void *buf, size_t size)
 
constexpr void copy_mem(T *out, const T *in, size_t n)
 
std::vector< T, secure_allocator< T > > secure_vector