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