Merge pull request #8817 from douzzer/20250529-WC_SHA3_NO_ASM

20250529-WC_SHA3_NO_ASM
This commit is contained in:
philljj
2025-05-29 22:24:36 -05:00
committed by GitHub
3 changed files with 16 additions and 2 deletions

View File

@ -692,7 +692,7 @@ AC_SUBST([ENABLED_LINUXKM_BENCHMARKS])
if test "$ENABLED_LINUXKM_DEFAULTS" = "yes" if test "$ENABLED_LINUXKM_DEFAULTS" = "yes"
then then
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC" AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC -DWC_SHA3_NO_ASM"
if test "$ENABLED_LINUXKM_PIE" = "yes"; then if test "$ENABLED_LINUXKM_PIE" = "yes"; then
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NO_OCSP_ISSUER_CHECK" AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NO_OCSP_ISSUER_CHECK"
fi fi
@ -4046,6 +4046,12 @@ then
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SHA3_SMALL" AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SHA3_SMALL"
fi fi
if test "$ENABLED_SHA3" = "noasm"
then
ENABLED_SHA3=yes
AM_CFLAGS="$AM_CFLAGS -DWC_SHA3_NO_ASM"
fi
# SHAKE128 # SHAKE128
AC_ARG_ENABLE([shake128], AC_ARG_ENABLE([shake128],
[AS_HELP_STRING([--enable-shake128],[Enable wolfSSL SHAKE128 support (default: disabled)])], [AS_HELP_STRING([--enable-shake128],[Enable wolfSSL SHAKE128 support (default: disabled)])],

View File

@ -21,6 +21,12 @@
#include <wolfssl/wolfcrypt/libwolfssl_sources.h> #include <wolfssl/wolfcrypt/libwolfssl_sources.h>
#ifdef WC_SHA3_NO_ASM
#undef USE_INTEL_SPEEDUP
#undef WOLFSSL_ARMASM
#undef WOLFSSL_RISCV_ASM
#endif
#if defined(WOLFSSL_SHA3) && !defined(WOLFSSL_XILINX_CRYPT) && \ #if defined(WOLFSSL_SHA3) && !defined(WOLFSSL_XILINX_CRYPT) && \
!defined(WOLFSSL_AFALG_XILINX_SHA3) !defined(WOLFSSL_AFALG_XILINX_SHA3)

View File

@ -220,7 +220,9 @@ WOLFSSL_API int wc_Shake256_Copy(wc_Shake* src, wc_Sha3* dst);
WOLFSSL_API int wc_Sha3_GetFlags(wc_Sha3* sha3, word32* flags); WOLFSSL_API int wc_Sha3_GetFlags(wc_Sha3* sha3, word32* flags);
#endif #endif
#ifdef USE_INTEL_SPEEDUP #ifdef WC_SHA3_NO_ASM
/* asm speedups disabled */
#elif defined(USE_INTEL_SPEEDUP)
WOLFSSL_LOCAL void sha3_block_n_bmi2(word64* s, const byte* data, word32 n, WOLFSSL_LOCAL void sha3_block_n_bmi2(word64* s, const byte* data, word32 n,
word64 c); word64 c);
WOLFSSL_LOCAL void sha3_block_bmi2(word64* s); WOLFSSL_LOCAL void sha3_block_bmi2(word64* s);