diff --git a/configure.ac b/configure.ac index 4e9978006..2cb42ebbe 100644 --- a/configure.ac +++ b/configure.ac @@ -1080,12 +1080,37 @@ fi if test "$ENABLED_AFALG" = "xilinx" then - AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX -DWOLFSSL_AFALG_XILINX_AES" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX_SHA3 -DWOLFSSL_AFALG_XILINX_RSA" AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NOSHA3_224 -DWOLFSSL_NOSHA3_256 -DWOLFSSL_NOSHA3_512" ENABLED_AFALG="yes" ENABLED_XILINX="yes" fi +if test "$ENABLED_AFALG" = "xilinx-aes" +then + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX -DWOLFSSL_AFALG_XILINX_AES" + ENABLED_AFALG="yes" + ENABLED_XILINX="yes" +fi + +if test "$ENABLED_AFALG" = "xilinx-sha3" +then + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX_SHA3" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NOSHA3_224 -DWOLFSSL_NOSHA3_256 -DWOLFSSL_NOSHA3_512" + ENABLED_AFALG="yes" + ENABLED_XILINX="yes" +fi + +if test "$ENABLED_AFALG" = "xilinx-rsa" +then + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX" + AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX_RSA" + ENABLED_AFALG="yes" + ENABLED_XILINX="yes" +fi + AM_CONDITIONAL([BUILD_AFALG], [test "x$ENABLED_AFALG" = "xyes"]) diff --git a/wolfcrypt/src/port/af_alg/afalg_hash.c b/wolfcrypt/src/port/af_alg/afalg_hash.c index c44d0bc67..4ab8a9100 100644 --- a/wolfcrypt/src/port/af_alg/afalg_hash.c +++ b/wolfcrypt/src/port/af_alg/afalg_hash.c @@ -26,7 +26,7 @@ #include -#if defined(WOLFSSL_AFALG_HASH) || (defined(WOLFSSL_AFALG_XILINX) \ +#if defined(WOLFSSL_AFALG_HASH) || (defined(WOLFSSL_AFALG_XILINX_SHA3) \ && defined(WOLFSSL_SHA3)) #include @@ -266,7 +266,7 @@ int wc_Sha256Copy(wc_Sha256* src, wc_Sha256* dst) -#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_AFALG_XILINX) +#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_AFALG_XILINX_SHA3) #include static const char WC_NAME_SHA3[] = "xilinx-keccak-384"; @@ -334,6 +334,6 @@ int wc_Sha3_384_Copy(wc_Sha3* src, wc_Sha3* dst) { return AfalgHashCopy(src, dst); } -#endif /* WOLFSSL_SHA3 && WOLFSSL_AFALG_XILINX */ +#endif /* WOLFSSL_SHA3 && WOLFSSL_AFALG_XILINX_SHA3 */ #endif /* WOLFSSL_AFALG */ diff --git a/wolfcrypt/src/rsa.c b/wolfcrypt/src/rsa.c index f64cbbcaa..bcde8fe62 100644 --- a/wolfcrypt/src/rsa.c +++ b/wolfcrypt/src/rsa.c @@ -43,7 +43,7 @@ #include -#ifdef WOLFSSL_AFALG_XILINX +#ifdef WOLFSSL_AFALG_XILINX_RSA #include #endif @@ -322,7 +322,7 @@ int wc_InitRsaKey_ex(RsaKey* key, void* heap, int devId) key->mod = NULL; #endif -#ifdef WOLFSSL_AFALG_XILINX +#ifdef WOLFSSL_AFALG_XILINX_RSA key->alFd = WC_SOCK_NOTSET; key->rdFd = WC_SOCK_NOTSET; #endif @@ -479,7 +479,7 @@ int wc_FreeRsaKey(RsaKey* key) key->mod = NULL; #endif -#ifdef WOLFSSL_AFALG_XILINX +#ifdef WOLFSSL_AFALG_XILINX_RSA /* make sure that sockets are closed on cleanup */ if (key->alFd > 0) { close(key->alFd); @@ -1530,7 +1530,7 @@ static int wc_RsaFunctionNonBlock(const byte* in, word32 inLen, byte* out, } #endif /* WC_RSA_NONBLOCK */ -#ifdef WOLFSSL_AFALG_XILINX +#ifdef WOLFSSL_AFALG_XILINX_RSA #ifndef ERROR_OUT #define ERROR_OUT(x) ret = (x); goto done #endif diff --git a/wolfcrypt/src/sha3.c b/wolfcrypt/src/sha3.c index 6d7bd28b2..fb4c93a3a 100644 --- a/wolfcrypt/src/sha3.c +++ b/wolfcrypt/src/sha3.c @@ -27,7 +27,7 @@ #include #if defined(WOLFSSL_SHA3) && !defined(WOLFSSL_XILINX_CRYPT) && \ - !defined(WOLFSSL_AFALG_XILINX) + !defined(WOLFSSL_AFALG_XILINX_SHA3) #if defined(HAVE_FIPS) && \ defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) diff --git a/wolfcrypt/test/test.c b/wolfcrypt/test/test.c index d61a50011..08ada73e5 100644 --- a/wolfcrypt/test/test.c +++ b/wolfcrypt/test/test.c @@ -223,7 +223,7 @@ #endif /* these cases do not have intermediate hashing support */ -#if (defined(WOLFSSL_AFALG_XILINX) && !defined(WOLFSSL_AFALG_HASH_KEEP)) +#if (defined(WOLFSSL_AFALG_XILINX_SHA3) && !defined(WOLFSSL_AFALG_HASH_KEEP)) #define NO_INTM_HASH_TEST #endif @@ -2591,7 +2591,7 @@ static int sha3_384_test(void) a.inLen = XSTRLEN(a.input); a.outLen = WC_SHA3_384_DIGEST_SIZE; -#ifdef WOLFSSL_AFALG_XILINX +#ifdef WOLFSSL_AFALG_XILINX_SHA3 /* NIST test vector with a length that is a multiple of 4 */ b.input = "\x7d\x80\xb1\x60\xc4\xb5\x36\xa3\xbe\xb7\x99\x80\x59\x93\x44" "\x04\x7c\x5f\x82\xa1\xdf\xc3\xee\xd4"; @@ -9303,7 +9303,7 @@ static int rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG* rng) * -101 = USER_CRYPTO_ERROR */ if (ret == 0) -#elif defined(WOLFSSL_AFALG_XILINX) +#elif defined(WOLFSSL_AFALG_XILINX_RSA) /* blinding / rng handled with hardware acceleration */ if (ret != 0) #elif defined(WOLFSSL_ASYNC_CRYPT) || defined(WOLF_CRYPTO_CB) diff --git a/wolfssl/wolfcrypt/port/af_alg/afalg_hash.h b/wolfssl/wolfcrypt/port/af_alg/afalg_hash.h index 1432d5759..1cb206de0 100644 --- a/wolfssl/wolfcrypt/port/af_alg/afalg_hash.h +++ b/wolfssl/wolfcrypt/port/af_alg/afalg_hash.h @@ -42,7 +42,7 @@ typedef struct { #if !defined(NO_SHA256) && defined(WOLFSSL_AFALG_HASH) typedef wolfssl_AFALG_Hash wc_Sha256; #endif -#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_AFALG_XILINX) +#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_AFALG_XILINX_SHA3) typedef wolfssl_AFALG_Hash wc_Sha3; #endif diff --git a/wolfssl/wolfcrypt/rsa.h b/wolfssl/wolfcrypt/rsa.h index 3596609d8..86d4b93e1 100644 --- a/wolfssl/wolfcrypt/rsa.h +++ b/wolfssl/wolfcrypt/rsa.h @@ -179,7 +179,7 @@ struct RsaKey { #ifdef WC_RSA_NONBLOCK RsaNb* nb; #endif -#ifdef WOLFSSL_AFALG_XILINX +#ifdef WOLFSSL_AFALG_XILINX_RSA int alFd; int rdFd; #endif diff --git a/wolfssl/wolfcrypt/sha3.h b/wolfssl/wolfcrypt/sha3.h index e6a762274..736e3ccaf 100644 --- a/wolfssl/wolfcrypt/sha3.h +++ b/wolfssl/wolfcrypt/sha3.h @@ -84,7 +84,7 @@ enum { #ifdef WOLFSSL_XILINX_CRYPT #include "wolfssl/wolfcrypt/port/xilinx/xil-sha3.h" -#elif defined(WOLFSSL_AFALG_XILINX) +#elif defined(WOLFSSL_AFALG_XILINX_SHA3) #include #else /* Sha3 digest */