aes reverse compat.
This commit is contained in:
parent
e204c41768
commit
37deb65371
@ -56,7 +56,6 @@
|
||||
|
||||
#ifndef NO_AES
|
||||
#include <wolfssl/wolfcrypt/aes.h>
|
||||
#define CTAO_CRYPT_AES_H WOLF_CRYPT_AES_H
|
||||
#define AesSetKey wc_AesSetKey
|
||||
#define AesSetIV wc_AesSetIV
|
||||
#define AesCbcEncrypt wc_AesCbcEncrypt
|
||||
|
@ -29,13 +29,13 @@
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
||||
/* included for fips @wc_fips */
|
||||
#ifdef HAVE_FIPS
|
||||
#include <cyassl/ctaocrypt/aes.h>
|
||||
#ifdef HAVE_FIPS
|
||||
#if defined(CYASSL_AES_COUNTER) && !defined(WOLFSSL_AES_COUNTER)
|
||||
#define WOLFSSL_AES_COUNTER
|
||||
#endif
|
||||
#if !defined(WOLFSSL_AES_DIRECT) && defined(CYASSL_AES_DIRECT)
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -45,27 +45,27 @@
|
||||
#include "cavium_common.h"
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_AESNI
|
||||
|
||||
#include <wmmintrin.h>
|
||||
|
||||
#if !defined (ALIGN16)
|
||||
#if defined (__GNUC__)
|
||||
#define ALIGN16 __attribute__ ( (aligned (16)))
|
||||
#elif defined(_MSC_VER)
|
||||
/* disable align warning, we want alignment ! */
|
||||
#pragma warning(disable: 4324)
|
||||
#define ALIGN16 __declspec (align (16))
|
||||
#else
|
||||
#define ALIGN16
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_AESNI */
|
||||
|
||||
#if !defined (ALIGN16)
|
||||
#define ALIGN16
|
||||
#endif
|
||||
//#ifdef WOLFSSL_AESNI
|
||||
//
|
||||
//#include <wmmintrin.h>
|
||||
//
|
||||
//#if !defined (ALIGN16)
|
||||
// #if defined (__GNUC__)
|
||||
// #define ALIGN16 __attribute__ ( (aligned (16)))
|
||||
// #elif defined(_MSC_VER)
|
||||
// /* disable align warning, we want alignment ! */
|
||||
// #pragma warning(disable: 4324)
|
||||
// #define ALIGN16 __declspec (align (16))
|
||||
// #else
|
||||
// #define ALIGN16
|
||||
// #endif
|
||||
//#endif
|
||||
//
|
||||
//#endif /* WOLFSSL_AESNI */
|
||||
//
|
||||
//#if !defined (ALIGN16)
|
||||
// #define ALIGN16
|
||||
//#endif
|
||||
#endif /* HAVE_FIPS */
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -73,56 +73,56 @@
|
||||
#endif
|
||||
|
||||
#if !defined(HAVE_FIPS) && !defined(CTAO_CRYPT_AES_H)
|
||||
#define WOLFSSL_AES_CAVIUM_MAGIC 0xBEEF0002
|
||||
|
||||
enum {
|
||||
AES_ENC_TYPE = 1, /* cipher unique type */
|
||||
AES_ENCRYPTION = 0,
|
||||
AES_DECRYPTION = 1,
|
||||
AES_BLOCK_SIZE = 16
|
||||
};
|
||||
|
||||
|
||||
typedef struct Aes {
|
||||
/* AESNI needs key first, rounds 2nd, not sure why yet */
|
||||
ALIGN16 word32 key[60];
|
||||
word32 rounds;
|
||||
|
||||
ALIGN16 word32 reg[AES_BLOCK_SIZE / sizeof(word32)]; /* for CBC mode */
|
||||
ALIGN16 word32 tmp[AES_BLOCK_SIZE / sizeof(word32)]; /* same */
|
||||
|
||||
#ifdef HAVE_AESGCM
|
||||
ALIGN16 byte H[AES_BLOCK_SIZE];
|
||||
#ifdef GCM_TABLE
|
||||
/* key-based fast multiplication table. */
|
||||
ALIGN16 byte M0[256][AES_BLOCK_SIZE];
|
||||
#endif /* GCM_TABLE */
|
||||
#endif /* HAVE_AESGCM */
|
||||
#ifdef WOLFSSL_AESNI
|
||||
byte use_aesni;
|
||||
#endif /* WOLFSSL_AESNI */
|
||||
#ifdef HAVE_CAVIUM
|
||||
AesType type; /* aes key type */
|
||||
int devId; /* nitrox device id */
|
||||
word32 magic; /* using cavium magic */
|
||||
word64 contextHandle; /* nitrox context memory handle */
|
||||
#endif
|
||||
#ifdef WOLFSSL_AES_COUNTER
|
||||
word32 left; /* unsued bytes left from last call */
|
||||
#endif
|
||||
#ifdef WOLFSSL_PIC32MZ_CRYPT
|
||||
word32 key_ce[AES_BLOCK_SIZE*2/sizeof(word32)] ;
|
||||
word32 iv_ce [AES_BLOCK_SIZE /sizeof(word32)] ;
|
||||
int keylen ;
|
||||
#endif
|
||||
} Aes;
|
||||
|
||||
|
||||
#ifdef HAVE_AESGCM
|
||||
typedef struct Gmac {
|
||||
Aes aes;
|
||||
} Gmac;
|
||||
#endif /* HAVE_AESGCM */
|
||||
//#define WOLFSSL_AES_CAVIUM_MAGIC 0xBEEF0002
|
||||
//
|
||||
//enum {
|
||||
// AES_ENC_TYPE = 1, /* cipher unique type */
|
||||
// AES_ENCRYPTION = 0,
|
||||
// AES_DECRYPTION = 1,
|
||||
// AES_BLOCK_SIZE = 16
|
||||
//};
|
||||
//
|
||||
//
|
||||
//typedef struct Aes {
|
||||
// /* AESNI needs key first, rounds 2nd, not sure why yet */
|
||||
// ALIGN16 word32 key[60];
|
||||
// word32 rounds;
|
||||
//
|
||||
// ALIGN16 word32 reg[AES_BLOCK_SIZE / sizeof(word32)]; /* for CBC mode */
|
||||
// ALIGN16 word32 tmp[AES_BLOCK_SIZE / sizeof(word32)]; /* same */
|
||||
//
|
||||
//#ifdef HAVE_AESGCM
|
||||
// ALIGN16 byte H[AES_BLOCK_SIZE];
|
||||
//#ifdef GCM_TABLE
|
||||
// /* key-based fast multiplication table. */
|
||||
// ALIGN16 byte M0[256][AES_BLOCK_SIZE];
|
||||
//#endif /* GCM_TABLE */
|
||||
//#endif /* HAVE_AESGCM */
|
||||
//#ifdef WOLFSSL_AESNI
|
||||
// byte use_aesni;
|
||||
//#endif /* WOLFSSL_AESNI */
|
||||
//#ifdef HAVE_CAVIUM
|
||||
// AesType type; /* aes key type */
|
||||
// int devId; /* nitrox device id */
|
||||
// word32 magic; /* using cavium magic */
|
||||
// word64 contextHandle; /* nitrox context memory handle */
|
||||
//#endif
|
||||
//#ifdef WOLFSSL_AES_COUNTER
|
||||
// word32 left; /* unsued bytes left from last call */
|
||||
//#endif
|
||||
//#ifdef WOLFSSL_PIC32MZ_CRYPT
|
||||
// word32 key_ce[AES_BLOCK_SIZE*2/sizeof(word32)] ;
|
||||
// word32 iv_ce [AES_BLOCK_SIZE /sizeof(word32)] ;
|
||||
// int keylen ;
|
||||
//#endif
|
||||
//} Aes;
|
||||
//
|
||||
//
|
||||
//#ifdef HAVE_AESGCM
|
||||
//typedef struct Gmac {
|
||||
// Aes aes;
|
||||
//} Gmac;
|
||||
//#endif /* HAVE_AESGCM */
|
||||
#endif /* HAVE_FIPS */
|
||||
|
||||
WOLFSSL_API int wc_AesSetKey(Aes* aes, const byte* key, word32 len, const byte* iv,
|
||||
|
Loading…
Reference in New Issue
Block a user