Go to the documentation of this file.
37 #define TRACE_LEVEL CRYPTO_TRACE_LEVEL
45 #if (ASCON_AEAD128_SUPPORT == ENABLED)
65 size_t nLen,
const uint8_t *
a,
size_t aLen,
const uint8_t *
p, uint8_t *
c,
66 size_t length, uint8_t *
t,
size_t tLen)
72 if(k == NULL ||
n == NULL ||
t == NULL)
77 if(kLen != 16 || nLen != 16 || tLen != 16)
82 state.
x[0] = 0x808C0001;
83 state.
x[1] = 0x00001000;
140 state.
x[9] ^= 0x80000000;
228 size_t nLen,
const uint8_t *
a,
size_t aLen,
const uint8_t *
c, uint8_t *
p,
229 size_t length,
const uint8_t *
t,
size_t tLen)
239 if(k == NULL ||
n == NULL ||
t == NULL)
244 if(kLen != 16 || nLen != 16 || tLen != 16)
249 state.
x[0] = 0x808C0001;
250 state.
x[1] = 0x00001000;
307 state.
x[9] ^= 0x80000000;
349 temp2 = temp1 ^ state.
x[0];
353 temp2 = temp1 ^ state.
x[1];
357 temp2 = temp1 ^ state.
x[2];
361 temp2 = temp1 ^ state.
x[3];
389 for(
mask = 0, i = 0; i < 16; i++)
391 mask |= buffer[i] ^
t[i];
@ ERROR_INVALID_PARAMETER
Invalid parameter.
#define osMemcpy(dest, src, length)
@ ERROR_FAILURE
Generic error code.
General definitions for cryptographic algorithms.
error_t asconAead128Encrypt(const uint8_t *k, size_t kLen, const uint8_t *n, size_t nLen, const uint8_t *a, size_t aLen, const uint8_t *p, uint8_t *c, size_t length, uint8_t *t, size_t tLen)
Authenticated encryption using Ascon-AEAD128.
#define osMemset(p, value, length)
void asconP(AsconState *s, uint_t nr)
Ascon-p[rnd] permutation.
error_t asconAead128Decrypt(const uint8_t *k, size_t kLen, const uint8_t *n, size_t nLen, const uint8_t *a, size_t aLen, const uint8_t *c, uint8_t *p, size_t length, const uint8_t *t, size_t tLen)
Authenticated decryption using Ascon-AEAD128.