gnunet-android

GNUnet for Android
Log | Files | Refs | README

crypto_aead_aegis256.h (3617B)


      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