forked from wolfSSL/wolfssl
add AesEax struct to header for public use
This commit is contained in:
@ -76,9 +76,9 @@ block cipher mechanism that uses n-bit binary string parameter key with 128-bits
|
|||||||
#include <wolfssl/wolfcrypt/port/nxp/se050_port.h>
|
#include <wolfssl/wolfcrypt/port/nxp/se050_port.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WOLFSSL_AES_SIV) || defined(WOLFSSL_AES_EAX)
|
#if defined(WOLFSSL_AES_SIV)
|
||||||
#include <wolfssl/wolfcrypt/cmac.h>
|
#include <wolfssl/wolfcrypt/cmac.h>
|
||||||
#endif /* WOLFSSL_AES_SIV || WOLFSSL_AES_EAX */
|
#endif /* WOLFSSL_AES_SIV */
|
||||||
|
|
||||||
#if defined(WOLFSSL_HAVE_PSA) && !defined(WOLFSSL_PSA_NO_AES)
|
#if defined(WOLFSSL_HAVE_PSA) && !defined(WOLFSSL_PSA_NO_AES)
|
||||||
#include <wolfssl/wolfcrypt/port/psa/psa.h>
|
#include <wolfssl/wolfcrypt/port/psa/psa.h>
|
||||||
@ -11789,17 +11789,6 @@ int wc_AesSivDecrypt(const byte* key, word32 keySz, const byte* assoc,
|
|||||||
|
|
||||||
#if defined(WOLFSSL_AES_EAX)
|
#if defined(WOLFSSL_AES_EAX)
|
||||||
|
|
||||||
struct AesEax {
|
|
||||||
Aes aes;
|
|
||||||
Cmac nonceCmac;
|
|
||||||
Cmac aadCmac;
|
|
||||||
Cmac ciphertextCmac;
|
|
||||||
byte nonceCmacFinal[AES_BLOCK_SIZE];
|
|
||||||
byte aadCmacFinal[AES_BLOCK_SIZE];
|
|
||||||
byte ciphertextCmacFinal[AES_BLOCK_SIZE];
|
|
||||||
byte prefixBuf[AES_BLOCK_SIZE];
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* AES EAX one-shot API
|
* AES EAX one-shot API
|
||||||
* Encrypts input data and computes an auth tag over the input
|
* Encrypts input data and computes an auth tag over the input
|
||||||
|
@ -602,6 +602,22 @@ int wc_AesSivDecrypt(const byte* key, word32 keySz, const byte* assoc,
|
|||||||
|
|
||||||
#ifdef WOLFSSL_AES_EAX
|
#ifdef WOLFSSL_AES_EAX
|
||||||
|
|
||||||
|
/* Because of the circular dependency between AES and CMAC, we need to prevent
|
||||||
|
* inclusion of AES EAX from CMAC to avoid a recursive inclusion */
|
||||||
|
#ifndef WOLF_CRYPT_CMAC_H
|
||||||
|
#include <wolfssl/wolfcrypt/cmac.h>
|
||||||
|
struct AesEax {
|
||||||
|
Aes aes;
|
||||||
|
Cmac nonceCmac;
|
||||||
|
Cmac aadCmac;
|
||||||
|
Cmac ciphertextCmac;
|
||||||
|
byte nonceCmacFinal[AES_BLOCK_SIZE];
|
||||||
|
byte aadCmacFinal[AES_BLOCK_SIZE];
|
||||||
|
byte ciphertextCmacFinal[AES_BLOCK_SIZE];
|
||||||
|
byte prefixBuf[AES_BLOCK_SIZE];
|
||||||
|
};
|
||||||
|
#endif /* !defined(WOLF_CRYPT_CMAC_H) */
|
||||||
|
|
||||||
typedef struct AesEax AesEax;
|
typedef struct AesEax AesEax;
|
||||||
|
|
||||||
/* One-shot API */
|
/* One-shot API */
|
||||||
|
Reference in New Issue
Block a user