File tree Expand file tree Collapse file tree 3 files changed +24
-4
lines changed
Expand file tree Collapse file tree 3 files changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -4572,9 +4572,14 @@ extern void uITRON4_free(void *p) ;
45724572 #define WOLFSSL_SHAKE256
45734573#endif
45744574
4575- /* SHAKE - Not allowed in FIPS v5.2 or older */
4576- #if defined(WOLFSSL_SHA3 ) && (defined(HAVE_SELFTEST ) || \
4577- (defined(HAVE_FIPS ) && FIPS_VERSION_LE (5 ,2 )))
4575+ /* SHAKE - Not allowed in FIPS v5.2 or older, or selftest without PQC.
4576+ * Exception: Allow SHAKE in selftest when MLKEM (Kyber) or Dilithium
4577+ * is enabled.
4578+ */
4579+ #if defined(WOLFSSL_SHA3 ) && \
4580+ ((defined(HAVE_FIPS ) && FIPS_VERSION_LE (5 ,2 )) || \
4581+ (defined(HAVE_SELFTEST ) && \
4582+ !defined(WOLFSSL_HAVE_MLKEM ) && !defined(WOLFSSL_WC_DILITHIUM )))
45784583 #undef WOLFSSL_NO_SHAKE128
45794584 #define WOLFSSL_NO_SHAKE128
45804585 #undef WOLFSSL_NO_SHAKE256
Original file line number Diff line number Diff line change @@ -86,8 +86,11 @@ enum {
8686 WC_SHA3_256_BLOCK_SIZE = 136 ,
8787 WC_SHA3_384_BLOCK_SIZE = 104 ,
8888 WC_SHA3_512_BLOCK_SIZE = 72 ,
89+ #else
90+ /* For SELFTEST version < 2, define WC_SHA3_128_BLOCK_SIZE
91+ * for Kyber/Dilithium */
92+ WC_SHA3_128_BLOCK_SIZE = 168 ,
8993#endif
90-
9194 WOLF_ENUM_DUMMY_LAST_ELEMENT (WC_SHA3 )
9295};
9396
Original file line number Diff line number Diff line change @@ -1439,7 +1439,19 @@ enum wc_HashType {
14391439 WC_HASH_TYPE_SHA3_512 = 13 ,
14401440 WC_HASH_TYPE_BLAKE2B = 14 ,
14411441 WC_HASH_TYPE_BLAKE2S = 19 ,
1442+ #ifdef WOLFSSL_SHAKE128
1443+ WC_HASH_TYPE_SHAKE128 = 20 ,
1444+ #endif
1445+ #ifdef WOLFSSL_SHAKE256
1446+ WC_HASH_TYPE_SHAKE256 = 21 ,
1447+ #endif
1448+ #if defined(WOLFSSL_SHAKE256)
1449+ WC_HASH_TYPE_MAX = WC_HASH_TYPE_SHAKE256,
1450+ #elif defined(WOLFSSL_SHAKE128)
1451+ WC_HASH_TYPE_MAX = WC_HASH_TYPE_SHAKE128,
1452+ #else
14421453 WC_HASH_TYPE_MAX = WC_HASH_TYPE_BLAKE2S,
1454+ #endif
14431455 #ifndef WOLFSSL_NOSHA512_224
14441456 #define WOLFSSL_NOSHA512_224
14451457 #endif
You can’t perform that action at this time.
0 commit comments