change of some header file macros

This commit is contained in:
Jacob Barthelmeh 2015-01-05 14:59:48 -07:00
parent 53ddf53a45
commit 15554342c2
6 changed files with 81 additions and 75 deletions

View File

@ -29,8 +29,8 @@
#include <wolfssl/wolfcrypt/types.h>
/* included for fips @wc_fips */
#include <cyassl/ctaocrypt/aes.h>
#ifdef HAVE_FIPS
#include <cyassl/ctaocrypt/aes.h>
#if defined(CYASSL_AES_COUNTER) && !defined(WOLFSSL_AES_COUNTER)
#define WOLFSSL_AES_COUNTER
#endif
@ -40,99 +40,100 @@
#endif
#ifndef HAVE_FIPS
#define CTAO_CRYPT_AES_H
#ifdef HAVE_CAVIUM
#include <wolfssl/ctaocrypt/logging.h>
#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
extern "C" {
#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 */
#ifndef HAVE_FIPS
#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,
int dir);
WOLFSSL_API int wc_AesSetIV(Aes* aes, const byte* iv);
WOLFSSL_API int wc_AesSetIV(Aes* aes, const byte* iv);
WOLFSSL_API int wc_AesCbcEncrypt(Aes* aes, byte* out, const byte* in, word32 sz);
WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, const byte* in, word32 sz);
WOLFSSL_API int wc_AesCbcDecryptWithKey(byte* out, const byte* in, word32 inSz,
const byte* key, word32 keySz, const byte* iv);
/* AES-CTR */
#ifdef WOLFSSL_AES_COUNTER
WOLFSSL_API void wc_AesCtrEncrypt(Aes* aes, byte* out, const byte* in, word32 sz);

View File

@ -38,6 +38,7 @@
#endif
#ifndef HAVE_FIPS
#define CTAO_CRYPT_DES3_H
#define WOLFSSL_3DES_CAVIUM_MAGIC 0xBEEF0003
enum {

View File

@ -62,6 +62,7 @@
extern "C" {
#endif
#ifndef HAVE_FIPS
#define CTAO_CRYPT_HMAC_H
#define WOLFSSL_HMAC_CAVIUM_MAGIC 0xBEEF0005
enum {

View File

@ -37,6 +37,7 @@
extern "C" {
#endif
#ifndef HAVE_FIPS
#define CTAO_CRYPT_SHA_H
/* in bytes */
enum {

View File

@ -38,6 +38,7 @@
#endif
#ifndef HAVE_FIPS
#define CTAO_CRYPT_SHA256_H
#ifdef WOLFSSL_PIC32MZ_HASH
#include "port/pic32/pic32mz-crypt.h"
#endif

View File

@ -37,6 +37,7 @@
#endif
#ifndef HAVE_FIPS
#define CTAO_CRYPT_SHA512_H
/* in bytes */
enum {
SHA512 = 4, /* hash type unique */