23 #ifndef LWCRYPTO_ASCON_AEAD_H
24 #define LWCRYPTO_ASCON_AEAD_H
55 #define ASCON128_KEY_SIZE 16
60 #define ASCON128_NONCE_SIZE 16
65 #define ASCON128_TAG_SIZE 16
70 #define ASCON80PQ_KEY_SIZE 20
75 #define ASCON80PQ_NONCE_SIZE 16
80 #define ASCON80PQ_TAG_SIZE 16
103 (
unsigned char *c,
size_t *clen,
104 const unsigned char *m,
size_t mlen,
105 const unsigned char *ad,
size_t adlen,
106 const unsigned char *npub,
107 const unsigned char *k);
131 (
unsigned char *m,
size_t *mlen,
132 const unsigned char *c,
size_t clen,
133 const unsigned char *ad,
size_t adlen,
134 const unsigned char *npub,
135 const unsigned char *k);
158 (
unsigned char *c,
size_t *clen,
159 const unsigned char *m,
size_t mlen,
160 const unsigned char *ad,
size_t adlen,
161 const unsigned char *npub,
162 const unsigned char *k);
186 (
unsigned char *m,
size_t *mlen,
187 const unsigned char *c,
size_t clen,
188 const unsigned char *ad,
size_t adlen,
189 const unsigned char *npub,
190 const unsigned char *k);
213 (
unsigned char *c,
size_t *clen,
214 const unsigned char *m,
size_t mlen,
215 const unsigned char *ad,
size_t adlen,
216 const unsigned char *npub,
217 const unsigned char *k);
241 (
unsigned char *m,
size_t *mlen,
242 const unsigned char *c,
size_t clen,
243 const unsigned char *ad,
size_t adlen,
244 const unsigned char *npub,
245 const unsigned char *k);
int ascon128a_aead_decrypt(unsigned char *m, size_t *mlen, const unsigned char *c, size_t clen, const unsigned char *ad, size_t adlen, const unsigned char *npub, const unsigned char *k)
Decrypts and authenticates a packet with ASCON-128a.
Definition: ascon-aead.c:436
int ascon128a_aead_encrypt(unsigned char *c, size_t *clen, const unsigned char *m, size_t mlen, const unsigned char *ad, size_t adlen, const unsigned char *npub, const unsigned char *k)
Encrypts and authenticates a packet with ASCON-128a.
Definition: ascon-aead.c:386
int ascon128_aead_encrypt(unsigned char *c, size_t *clen, const unsigned char *m, size_t mlen, const unsigned char *ad, size_t adlen, const unsigned char *npub, const unsigned char *k)
Encrypts and authenticates a packet with ASCON-128.
Definition: ascon-aead.c:283
int ascon128_aead_decrypt(unsigned char *m, size_t *mlen, const unsigned char *c, size_t clen, const unsigned char *ad, size_t adlen, const unsigned char *npub, const unsigned char *k)
Decrypts and authenticates a packet with ASCON-128.
Definition: ascon-aead.c:333
int ascon80pq_aead_decrypt(unsigned char *m, size_t *mlen, const unsigned char *c, size_t clen, const unsigned char *ad, size_t adlen, const unsigned char *npub, const unsigned char *k)
Decrypts and authenticates a packet with ASCON-80pq.
Definition: ascon-aead.c:541
int ascon80pq_aead_encrypt(unsigned char *c, size_t *clen, const unsigned char *m, size_t mlen, const unsigned char *ad, size_t adlen, const unsigned char *npub, const unsigned char *k)
Encrypts and authenticates a packet with ASCON-80pq.
Definition: ascon-aead.c:489