1 1.2 riastrad /* $NetBSD: aesxcbcmac.h,v 1.2 2020/06/29 23:34:48 riastradh Exp $ */ 2 1.2 riastrad 3 1.2 riastrad #ifndef _OPENCRYPTO_AESXCBCMAC_H 4 1.2 riastrad #define _OPENCRYPTO_AESXCBCMAC_H 5 1.1 drochner 6 1.1 drochner #include <sys/types.h> 7 1.1 drochner 8 1.1 drochner #define AES_BLOCKSIZE 16 9 1.1 drochner 10 1.1 drochner typedef struct { 11 1.1 drochner u_int8_t e[AES_BLOCKSIZE]; 12 1.1 drochner u_int8_t buf[AES_BLOCKSIZE]; 13 1.1 drochner size_t buflen; 14 1.2 riastrad struct aesenc r_k1s; 15 1.1 drochner int r_nr; /* key-length-dependent number of rounds */ 16 1.1 drochner u_int8_t k2[AES_BLOCKSIZE]; 17 1.1 drochner u_int8_t k3[AES_BLOCKSIZE]; 18 1.1 drochner } aesxcbc_ctx; 19 1.1 drochner 20 1.1 drochner int aes_xcbc_mac_init(void *, const u_int8_t *, u_int16_t); 21 1.1 drochner int aes_xcbc_mac_loop(void *, const u_int8_t *, u_int16_t); 22 1.1 drochner void aes_xcbc_mac_result(u_int8_t *, void *); 23 1.2 riastrad 24 1.2 riastrad #endif /* _OPENCRYPTO_AESXCBCMAC_H */ 25