23#ifndef OCRYPTO_ASCON_AEAD_H
24#define OCRYPTO_ASCON_AEAD_H
38#define ocrypto_ascon_aead128_key_BYTES (16)
43#define ocrypto_ascon_aead128_tag_BYTES (16)
48#define ocrypto_ascon_aead128_nonce_BYTES (16)
58} ocrypto_ascon_aead_ctx;
180 uint8_t* ct, uint8_t tag[16],
const uint8_t* pt,
size_t pt_len,
181 const uint8_t key[16],
const uint8_t nonce[16],
const uint8_t *aa,
size_t aa_len);
201 uint8_t* pt,
const uint8_t tag[16],
const uint8_t* ct,
size_t ct_len,
202 const uint8_t key[16],
const uint8_t nonce[16],
const uint8_t *aa,
size_t aa_len);
void ocrypto_ascon_aead128_init(ocrypto_ascon_aead_ctx *ctx, const uint8_t key[16], const uint8_t nonce[16])
void ocrypto_ascon_aead128_final_enc(ocrypto_ascon_aead_ctx *ctx, uint8_t tag[16])
int ocrypto_ascon_aead128_decrypt(uint8_t *pt, const uint8_t tag[16], const uint8_t *ct, size_t ct_len, const uint8_t key[16], const uint8_t nonce[16], const uint8_t *aa, size_t aa_len)
void ocrypto_ascon_aead128_update_enc(ocrypto_ascon_aead_ctx *ctx, uint8_t *ct, const uint8_t *pt, size_t pt_len)
void ocrypto_ascon_aead128_update_dec(ocrypto_ascon_aead_ctx *ctx, uint8_t *pt, const uint8_t *ct, size_t ct_len)
void ocrypto_ascon_aead128_update_aad(ocrypto_ascon_aead_ctx *ctx, const uint8_t *aa, size_t aa_len)
int ocrypto_ascon_aead128_final_dec(ocrypto_ascon_aead_ctx *ctx, const uint8_t tag[16])
void ocrypto_ascon_aead128_encrypt(uint8_t *ct, uint8_t tag[16], const uint8_t *pt, size_t pt_len, const uint8_t key[16], const uint8_t nonce[16], const uint8_t *aa, size_t aa_len)