crypto_aead.h 1.54 KB
Newer Older
lwc-tester committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
/* Reference implementation of ACE-128 AEAD
 Written by:
 Kalikinkar Mandal <kmandal@uwaterloo.ca>
 */

typedef unsigned long long u64;

int ace_init(
			unsigned char *state, 
			const unsigned char *npub,
			const unsigned char *k
			);
int ace_ad(
			unsigned char *state,
			const unsigned char *ad, 
			const u64 adlen
		     );

int ace_gentag(
			unsigned char *tag, 
			const unsigned char tlen,
			unsigned char *state, 
			const unsigned char *k
			);
int crypto_encrypt(
		   unsigned char *c,unsigned long long *clen,
		   const unsigned char *m,unsigned long long mlen,
		   const unsigned char *nsec,
		   const unsigned char *npub,
		   const unsigned char *k
		   );

int crypto_decrypt(
			unsigned char *m,unsigned long long *mlen,
			unsigned char *nsec,
			const unsigned char *c,unsigned long long clen,
			const unsigned char *npub,
			const unsigned char *k
			);

int crypto_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
);

int crypto_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
);

int ace_gentag(
               unsigned char *tag,
               const unsigned char tlen,
               unsigned char *state,
               const unsigned char *k
               );