From ffd17baa2f156d90f854e72eee374f0bc5abc99e Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Thu, 29 Nov 2018 14:48:22 +0100 Subject: Ajout d'un script de génération de livraison pour le NIST MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nist/encrypt.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 nist/encrypt.c (limited to 'nist/encrypt.c') diff --git a/nist/encrypt.c b/nist/encrypt.c new file mode 100644 index 0000000..a33a2f5 --- /dev/null +++ b/nist/encrypt.c @@ -0,0 +1,48 @@ +#include + +#include "crypto_aead.h" +#include "lilliput-ae.h" + + +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 +) +{ + (void)nsec; + + lilliput_ae_encrypt(mlen, m, adlen, ad, k, npub, c, c+mlen); + *clen = mlen + TAG_BYTES; + + return 0; +} + + +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 +) +{ + (void)nsec; + + size_t tagless_len = clen-TAG_BYTES; + + bool valid = lilliput_ae_decrypt( + tagless_len, c, adlen, ad, k, npub, c+tagless_len, m + ); + + if (!valid) + return 1; + + *mlen = tagless_len; + + return 0; +} -- cgit v1.2.3