23 #ifndef LWCRYPTO_LOTUS_LOCUS_H
24 #define LWCRYPTO_LOTUS_LOCUS_H
64 #define LOTUS_AEAD_KEY_SIZE 16
69 #define LOTUS_AEAD_TAG_SIZE 8
74 #define LOTUS_AEAD_NONCE_SIZE 16
79 #define LOCUS_AEAD_KEY_SIZE 16
84 #define LOCUS_AEAD_TAG_SIZE 8
89 #define LOCUS_AEAD_NONCE_SIZE 16
123 (
unsigned char *c,
unsigned long long *clen,
124 const unsigned char *m,
unsigned long long mlen,
125 const unsigned char *ad,
unsigned long long adlen,
126 const unsigned char *nsec,
127 const unsigned char *npub,
128 const unsigned char *k);
153 (
unsigned char *m,
unsigned long long *mlen,
155 const unsigned char *c,
unsigned long long clen,
156 const unsigned char *ad,
unsigned long long adlen,
157 const unsigned char *npub,
158 const unsigned char *k);
182 (
unsigned char *c,
unsigned long long *clen,
183 const unsigned char *m,
unsigned long long mlen,
184 const unsigned char *ad,
unsigned long long adlen,
185 const unsigned char *nsec,
186 const unsigned char *npub,
187 const unsigned char *k);
212 (
unsigned char *m,
unsigned long long *mlen,
214 const unsigned char *c,
unsigned long long clen,
215 const unsigned char *ad,
unsigned long long adlen,
216 const unsigned char *npub,
217 const unsigned char *k);
Meta-information about an AEAD cipher.
Definition: aead-common.h:185
Definitions that are common across AEAD schemes.
int locus_aead_decrypt(unsigned char *m, unsigned long long *mlen, unsigned char *nsec, const unsigned char *c, unsigned long long clen, const unsigned char *ad, unsigned long long adlen, const unsigned char *npub, const unsigned char *k)
Decrypts and authenticates a packet with LOCUS-AEAD.
Definition: lotus-locus.c:376
int lotus_aead_encrypt(unsigned char *c, unsigned long long *clen, const unsigned char *m, unsigned long long mlen, const unsigned char *ad, unsigned long long adlen, const unsigned char *nsec, const unsigned char *npub, const unsigned char *k)
Encrypts and authenticates a packet with LOTUS-AEAD.
Definition: lotus-locus.c:150
aead_cipher_t const lotus_aead_cipher
Meta-information block for the LOTUS-AEAD cipher.
Definition: lotus-locus.c:28
int lotus_aead_decrypt(unsigned char *m, unsigned long long *mlen, unsigned char *nsec, const unsigned char *c, unsigned long long clen, const unsigned char *ad, unsigned long long adlen, const unsigned char *npub, const unsigned char *k)
Decrypts and authenticates a packet with LOTUS-AEAD.
Definition: lotus-locus.c:231
int locus_aead_encrypt(unsigned char *c, unsigned long long *clen, const unsigned char *m, unsigned long long mlen, const unsigned char *ad, unsigned long long adlen, const unsigned char *nsec, const unsigned char *npub, const unsigned char *k)
Encrypts and authenticates a packet with LOCUS-AEAD.
Definition: lotus-locus.c:317
aead_cipher_t const locus_aead_cipher
Meta-information block for the LOCUS-AEAD cipher.
Definition: lotus-locus.c:38