23 #ifndef LWCRYPTO_ELEPHANT_H
24 #define LWCRYPTO_ELEPHANT_H
53 #define DUMBO_KEY_SIZE 16
58 #define DUMBO_TAG_SIZE 8
63 #define DUMBO_NONCE_SIZE 12
68 #define JUMBO_KEY_SIZE 16
73 #define JUMBO_TAG_SIZE 8
78 #define JUMBO_NONCE_SIZE 12
83 #define DELIRIUM_KEY_SIZE 16
88 #define DELIRIUM_TAG_SIZE 16
93 #define DELIRIUM_NONCE_SIZE 12
132 (
unsigned char *c,
unsigned long long *clen,
133 const unsigned char *m,
unsigned long long mlen,
134 const unsigned char *ad,
unsigned long long adlen,
135 const unsigned char *nsec,
136 const unsigned char *npub,
137 const unsigned char *k);
162 (
unsigned char *m,
unsigned long long *mlen,
164 const unsigned char *c,
unsigned long long clen,
165 const unsigned char *ad,
unsigned long long adlen,
166 const unsigned char *npub,
167 const unsigned char *k);
191 (
unsigned char *c,
unsigned long long *clen,
192 const unsigned char *m,
unsigned long long mlen,
193 const unsigned char *ad,
unsigned long long adlen,
194 const unsigned char *nsec,
195 const unsigned char *npub,
196 const unsigned char *k);
221 (
unsigned char *m,
unsigned long long *mlen,
223 const unsigned char *c,
unsigned long long clen,
224 const unsigned char *ad,
unsigned long long adlen,
225 const unsigned char *npub,
226 const unsigned char *k);
250 (
unsigned char *c,
unsigned long long *clen,
251 const unsigned char *m,
unsigned long long mlen,
252 const unsigned char *ad,
unsigned long long adlen,
253 const unsigned char *nsec,
254 const unsigned char *npub,
255 const unsigned char *k);
280 (
unsigned char *m,
unsigned long long *mlen,
282 const unsigned char *c,
unsigned long long clen,
283 const unsigned char *ad,
unsigned long long adlen,
284 const unsigned char *npub,
285 const unsigned char *k);
int delirium_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 Delirium.
Definition: elephant.c:690
Meta-information about an AEAD cipher.
Definition: aead-common.h:185
Definitions that are common across AEAD schemes.
int delirium_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 Delirium.
Definition: elephant.c:787
aead_cipher_t const dumbo_cipher
Meta-information block for the Dumbo cipher.
Definition: elephant.c:28
int jumbo_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 Jumbo.
Definition: elephant.c:512
aead_cipher_t const jumbo_cipher
Meta-information block for the Jumbo cipher.
Definition: elephant.c:38
int dumbo_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 Dumbo.
Definition: elephant.c:140
int jumbo_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 Jumbo.
Definition: elephant.c:415
int dumbo_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 Dumbo.
Definition: elephant.c:237
aead_cipher_t const delirium_cipher
Meta-information block for the Delirium cipher.
Definition: elephant.c:48