libsodium (1.0.19)

(root)/
include/
sodium/
crypto_aead_aegis256.h
       1  #ifndef crypto_aead_aegis256_H
       2  #define crypto_aead_aegis256_H
       3  
       4  #include <stddef.h>
       5  
       6  #include "export.h"
       7  
       8  #ifdef __cplusplus
       9  #ifdef __GNUC__
      10  #pragma GCC diagnostic ignored "-Wlong-long"
      11  #endif
      12  extern "C" {
      13  #endif
      14  
      15  #define crypto_aead_aegis256_KEYBYTES 32U
      16  SODIUM_EXPORT
      17  size_t crypto_aead_aegis256_keybytes(void);
      18  
      19  #define crypto_aead_aegis256_NSECBYTES 0U
      20  SODIUM_EXPORT
      21  size_t crypto_aead_aegis256_nsecbytes(void);
      22  
      23  #define crypto_aead_aegis256_NPUBBYTES 32U
      24  SODIUM_EXPORT
      25  size_t crypto_aead_aegis256_npubbytes(void);
      26  
      27  #define crypto_aead_aegis256_ABYTES 32U
      28  SODIUM_EXPORT
      29  size_t crypto_aead_aegis256_abytes(void);
      30  
      31  #define crypto_aead_aegis256_MESSAGEBYTES_MAX \
      32      SODIUM_MIN(SODIUM_SIZE_MAX - crypto_aead_aegis256_ABYTES, (1ULL << 61) - 1)
      33  SODIUM_EXPORT
      34  size_t crypto_aead_aegis256_messagebytes_max(void);
      35  
      36  SODIUM_EXPORT
      37  int crypto_aead_aegis256_encrypt(unsigned char       *c,
      38                                   unsigned long long  *clen_p,
      39                                   const unsigned char *m,
      40                                   unsigned long long   mlen,
      41                                   const unsigned char *ad,
      42                                   unsigned long long   adlen,
      43                                   const unsigned char *nsec,
      44                                   const unsigned char *npub,
      45                                   const unsigned char *k) __attribute__((nonnull(1, 8, 9)));
      46  
      47  SODIUM_EXPORT
      48  int crypto_aead_aegis256_decrypt(unsigned char       *m,
      49                                   unsigned long long  *mlen_p,
      50                                   unsigned char       *nsec,
      51                                   const unsigned char *c,
      52                                   unsigned long long   clen,
      53                                   const unsigned char *ad,
      54                                   unsigned long long   adlen,
      55                                   const unsigned char *npub,
      56                                   const unsigned char *k) __attribute__((warn_unused_result))
      57  __attribute__((nonnull(4, 8, 9)));
      58  
      59  SODIUM_EXPORT
      60  int crypto_aead_aegis256_encrypt_detached(unsigned char       *c,
      61                                            unsigned char       *mac,
      62                                            unsigned long long  *maclen_p,
      63                                            const unsigned char *m,
      64                                            unsigned long long   mlen,
      65                                            const unsigned char *ad,
      66                                            unsigned long long   adlen,
      67                                            const unsigned char *nsec,
      68                                            const unsigned char *npub,
      69                                            const unsigned char *k)
      70      __attribute__((nonnull(1, 2, 9, 10)));
      71  
      72  SODIUM_EXPORT
      73  int crypto_aead_aegis256_decrypt_detached(unsigned char       *m,
      74                                            unsigned char       *nsec,
      75                                            const unsigned char *c,
      76                                            unsigned long long   clen,
      77                                            const unsigned char *mac,
      78                                            const unsigned char *ad,
      79                                            unsigned long long   adlen,
      80                                            const unsigned char *npub,
      81                                            const unsigned char *k)
      82      __attribute__((warn_unused_result)) __attribute__((nonnull(3, 5, 8, 9)));
      83  
      84  SODIUM_EXPORT
      85  void crypto_aead_aegis256_keygen(unsigned char k[crypto_aead_aegis256_KEYBYTES])
      86      __attribute__((nonnull));
      87  
      88  #ifdef __cplusplus
      89  }
      90  #endif
      91  
      92  #endif