encrypt.c 901 Bytes
Newer Older
Rhys Weatherley committed
1

2
#include "ascon-aead.h"
Rhys Weatherley committed
3 4 5 6 7 8 9 10 11

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)
{
12 13 14 15 16 17
    size_t len = 0;
    int result = ascon128a_aead_encrypt
        (c, &len, m, mlen, ad, adlen, npub, k);
    (void)nsec;
    *clen = len;
    return result;
Rhys Weatherley committed
18 19 20 21 22 23 24 25 26 27
}

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)
{
28 29 30 31 32 33
    size_t len = 0;
    int result = ascon128a_aead_decrypt
        (m, &len, c, clen, ad, adlen, npub, k);
    (void)nsec;
    *mlen = len;
    return result;
Rhys Weatherley committed
34
}