mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
Merge pull request #4080 from kaleb-himes/SHAKE_DEFAULT_FIX
Sync SHAKE256 default (disabled) with parent default edDSA448 (disabled) and remove WOLFSSL_NO_SHAKE256 flag
This commit is contained in:
@ -350,9 +350,6 @@ extern "C" {
|
|||||||
#undef WOLFSSL_SHA3
|
#undef WOLFSSL_SHA3
|
||||||
#if 1
|
#if 1
|
||||||
#define WOLFSSL_SHA3
|
#define WOLFSSL_SHA3
|
||||||
#ifdef HAVE_FIPS
|
|
||||||
#define WOLFSSL_NO_SHAKE256
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MD5 */
|
/* MD5 */
|
||||||
|
15
configure.ac
15
configure.ac
@ -1556,7 +1556,7 @@ if test "$ENABLED_AFALG" = "xilinx"
|
|||||||
then
|
then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX -DWOLFSSL_AFALG_XILINX_AES"
|
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_AFALG_XILINX_SHA3 -DWOLFSSL_AFALG_XILINX_RSA"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NOSHA3_224 -DWOLFSSL_NOSHA3_256 -DWOLFSSL_NOSHA3_512 -DWOLFSSL_NO_SHAKE256"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NOSHA3_224 -DWOLFSSL_NOSHA3_256 -DWOLFSSL_NOSHA3_512"
|
||||||
ENABLED_AFALG="yes"
|
ENABLED_AFALG="yes"
|
||||||
ENABLED_XILINX="yes"
|
ENABLED_XILINX="yes"
|
||||||
fi
|
fi
|
||||||
@ -1572,7 +1572,7 @@ if test "$ENABLED_AFALG" = "xilinx-sha3"
|
|||||||
then
|
then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX_SHA3"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AFALG_XILINX_SHA3"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NOSHA3_224 -DWOLFSSL_NOSHA3_256 -DWOLFSSL_NOSHA3_512 -DWOLFSSL_NO_SHAKE256"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NOSHA3_224 -DWOLFSSL_NOSHA3_256 -DWOLFSSL_NOSHA3_512"
|
||||||
ENABLED_AFALG="yes"
|
ENABLED_AFALG="yes"
|
||||||
ENABLED_XILINX="yes"
|
ENABLED_XILINX="yes"
|
||||||
fi
|
fi
|
||||||
@ -1776,9 +1776,8 @@ fi
|
|||||||
|
|
||||||
# SHAKE256
|
# SHAKE256
|
||||||
AC_ARG_ENABLE([shake256],
|
AC_ARG_ENABLE([shake256],
|
||||||
[AS_HELP_STRING([--enable-shake256],[Enable wolfSSL SHAKE256 support (default: enabled on x86_64/aarch64)])],
|
[AS_HELP_STRING([--enable-shake256],[Enable wolfSSL SHAKE256 support (default: disabled)])],
|
||||||
[ ENABLED_SHAKE256=$enableval ],
|
[ ENABLED_SHAKE256=$enableval ]
|
||||||
[ ENABLED_SHAKE256=$ENABLED_SHA3 ]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# SHA512
|
# SHA512
|
||||||
@ -2209,6 +2208,10 @@ then
|
|||||||
then
|
then
|
||||||
AC_MSG_ERROR([cannot enable ed448 without enabling sha512.])
|
AC_MSG_ERROR([cannot enable ed448 without enabling sha512.])
|
||||||
fi
|
fi
|
||||||
|
if test "$FIPS_VERSION" = "v2"
|
||||||
|
then
|
||||||
|
AC_MSG_ERROR([cannot enable ed448 w/ dependency shake256 in FIPSv2 mode])
|
||||||
|
fi
|
||||||
ENABLED_FE448=yes
|
ENABLED_FE448=yes
|
||||||
ENABLED_GE448=yes
|
ENABLED_GE448=yes
|
||||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_ED448"
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_ED448"
|
||||||
@ -3106,8 +3109,6 @@ AS_CASE([$FIPS_VERSION],
|
|||||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_FIPS -DWOLFSSL_KEY_GEN -DWOLFSSL_SHA224 -DWOLFSSL_AES_DIRECT -DHAVE_AES_ECB -DHAVE_ECC_CDH -DWC_RSA_NO_PADDING -DWOLFSSL_VALIDATE_FFC_IMPORT -DHAVE_FFDHE_Q"
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_FIPS -DWOLFSSL_KEY_GEN -DWOLFSSL_SHA224 -DWOLFSSL_AES_DIRECT -DHAVE_AES_ECB -DHAVE_ECC_CDH -DWC_RSA_NO_PADDING -DWOLFSSL_VALIDATE_FFC_IMPORT -DHAVE_FFDHE_Q"
|
||||||
ENABLED_KEYGEN="yes"
|
ENABLED_KEYGEN="yes"
|
||||||
ENABLED_SHA224="yes"
|
ENABLED_SHA224="yes"
|
||||||
# Shake256 is a SHA-3 algorithm not in our FIPS algorithm list
|
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NO_SHAKE256"
|
|
||||||
AS_IF([test "x$ENABLED_AESCCM" != "xyes"],
|
AS_IF([test "x$ENABLED_AESCCM" != "xyes"],
|
||||||
[ENABLED_AESCCM="yes"
|
[ENABLED_AESCCM="yes"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_AESCCM"])
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_AESCCM"])
|
||||||
|
12
tests/api.c
12
tests/api.c
@ -10112,7 +10112,7 @@ static int test_wc_Sha3_GetFlags (void)
|
|||||||
static int test_wc_InitShake256 (void)
|
static int test_wc_InitShake256 (void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_NO_SHAKE256)
|
#ifdef WOLFSSL_SHAKE256
|
||||||
wc_Shake shake;
|
wc_Shake shake;
|
||||||
|
|
||||||
printf(testingFmt, "wc_InitShake256()");
|
printf(testingFmt, "wc_InitShake256()");
|
||||||
@ -10139,7 +10139,7 @@ static int testing_wc_Shake256_Update (void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_NO_SHAKE256)
|
#ifdef WOLFSSL_SHAKE256
|
||||||
wc_Shake shake;
|
wc_Shake shake;
|
||||||
byte msg[] = "Everybody's working for the weekend.";
|
byte msg[] = "Everybody's working for the weekend.";
|
||||||
byte msg2[] = "Everybody gets Friday off.";
|
byte msg2[] = "Everybody gets Friday off.";
|
||||||
@ -10191,7 +10191,7 @@ static int testing_wc_Shake256_Update (void)
|
|||||||
wc_Shake256_Free(&shake);
|
wc_Shake256_Free(&shake);
|
||||||
|
|
||||||
printf(resultFmt, ret == 0 ? passed : failed);
|
printf(resultFmt, ret == 0 ? passed : failed);
|
||||||
#endif /* WOLFSSL_SHAKE256 && !WOLFSSL_NO_SHAKE256 */
|
#endif /* WOLFSSL_SHAKE256 */
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -10201,7 +10201,7 @@ static int test_wc_Shake256_Final (void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_NO_SHAKE256)
|
#ifdef WOLFSSL_SHAKE256
|
||||||
wc_Shake shake;
|
wc_Shake shake;
|
||||||
const char* msg = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnom"
|
const char* msg = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnom"
|
||||||
"nopnopq";
|
"nopnopq";
|
||||||
@ -10256,7 +10256,7 @@ static int test_wc_Shake256_Final (void)
|
|||||||
static int test_wc_Shake256_Copy (void)
|
static int test_wc_Shake256_Copy (void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_NO_SHAKE256)
|
#ifdef WOLFSSL_SHAKE256
|
||||||
wc_Shake shake, shakeCpy;
|
wc_Shake shake, shakeCpy;
|
||||||
const char* msg = TEST_STRING;
|
const char* msg = TEST_STRING;
|
||||||
word32 msglen = (word32)TEST_STRING_SZ;
|
word32 msglen = (word32)TEST_STRING_SZ;
|
||||||
@ -10319,7 +10319,7 @@ static int test_wc_Shake256_Copy (void)
|
|||||||
static int test_wc_Shake256Hash(void)
|
static int test_wc_Shake256Hash(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_NO_SHAKE256)
|
#ifdef WOLFSSL_SHAKE256
|
||||||
|
|
||||||
const byte data[] = { /* Hello World */
|
const byte data[] = { /* Hello World */
|
||||||
0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,
|
0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,
|
||||||
|
@ -1381,7 +1381,7 @@ int wc_HashGetFlags(wc_HashAlg* hash, enum wc_HashType type, word32* flags)
|
|||||||
}
|
}
|
||||||
#endif /* !WOLFSSL_NOSHA3_512 */
|
#endif /* !WOLFSSL_NOSHA3_512 */
|
||||||
|
|
||||||
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_NO_SHAKE256)
|
#ifdef WOLFSSL_SHAKE256
|
||||||
int wc_Shake256Hash(const byte* data, word32 len, byte* hash,
|
int wc_Shake256Hash(const byte* data, word32 len, byte* hash,
|
||||||
word32 hashLen)
|
word32 hashLen)
|
||||||
{
|
{
|
||||||
@ -1418,7 +1418,7 @@ int wc_HashGetFlags(wc_HashAlg* hash, enum wc_HashType type, word32* flags)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif /* WOLFSSL_SHAKE_256 && !WOLFSSL_NO_SHAKE256 */
|
#endif /* WOLFSSL_SHAKE_256 */
|
||||||
#endif /* WOLFSSL_SHA3 */
|
#endif /* WOLFSSL_SHA3 */
|
||||||
|
|
||||||
#endif /* !NO_HASH_WRAPPER */
|
#endif /* !NO_HASH_WRAPPER */
|
||||||
|
@ -3366,7 +3366,6 @@ WOLFSSL_TEST_SUBROUTINE int sha3_test(void)
|
|||||||
#ifdef WOLFSSL_SHAKE256
|
#ifdef WOLFSSL_SHAKE256
|
||||||
WOLFSSL_TEST_SUBROUTINE int shake256_test(void)
|
WOLFSSL_TEST_SUBROUTINE int shake256_test(void)
|
||||||
{
|
{
|
||||||
#ifndef WOLFSSL_NO_SHAKE256
|
|
||||||
wc_Shake sha;
|
wc_Shake sha;
|
||||||
byte hash[250];
|
byte hash[250];
|
||||||
|
|
||||||
@ -3507,9 +3506,6 @@ exit:
|
|||||||
wc_Shake256_Free(&sha);
|
wc_Shake256_Free(&sha);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user