diff --git a/tool/speed.cc b/tool/speed.cc index 3c67795c9d..ab97b49065 100644 --- a/tool/speed.cc +++ b/tool/speed.cc @@ -1126,7 +1126,8 @@ static bool SpeedHashChunk(const EVP_MD *md, std::string name, return EVP_DigestInit_ex(ctx.get(), md, NULL /* ENGINE */) && EVP_DigestUpdate(ctx.get(), input.get(), chunk_len) && - EVP_DigestFinal_ex(ctx.get(), digest, &md_len); + (EVP_MD_flags(md) & EVP_MD_FLAG_XOF) ? + EVP_DigestFinalXOF(ctx.get(), digest, 32) : EVP_DigestFinal_ex(ctx.get(), digest, &md_len); })) { fprintf(stderr, "EVP_DigestInit_ex failed.\n"); ERR_print_errors_fp(stderr); @@ -2805,11 +2806,13 @@ bool Speed(const std::vector &args) { !SpeedEvpCipherGeneric(EVP_aes_192_ctr(), "EVP-AES-192-CTR", kTLSADLen, selected) || !SpeedEvpCipherGeneric(EVP_aes_256_ctr(), "EVP-AES-256-CTR", kTLSADLen, selected) || !SpeedAES256XTS("AES-256-XTS", selected) || + !SpeedEvpCipherGeneric(EVP_rc4(), "EVP-RC4", kTLSADLen, selected) || // OpenSSL 3.0 doesn't allow MD4 calls #if !defined(OPENSSL_3_0_BENCHMARK) !SpeedHash(EVP_md4(), "MD4", selected) || #endif !SpeedHash(EVP_md5(), "MD5", selected) || + !SpeedHash(EVP_md5_sha1(), "MD5-SHA-1", selected) || !SpeedHash(EVP_sha1(), "SHA-1", selected) || !SpeedHash(EVP_sha224(), "SHA-224", selected) || !SpeedHash(EVP_sha256(), "SHA-256", selected) || @@ -2821,6 +2824,15 @@ bool Speed(const std::vector &args) { !SpeedHash(EVP_sha3_256(), "SHA3-256", selected) || !SpeedHash(EVP_sha3_384(), "SHA3-384", selected) || !SpeedHash(EVP_sha3_512(), "SHA3-512", selected) || +#endif +#if (!defined(OPENSSL_1_0_BENCHMARK) && !defined(BORINGSSL_BENCHMARK) && !defined(OPENSSL_IS_AWSLC)) || AWSLC_API_VERSION >= 31 + // OpenSSL 1.0 and BoringSSL don't support SHAKE + !SpeedHash(EVP_shake128(), "SHAKE-128", selected) || + !SpeedHash(EVP_shake256(), "SHAKE-256", selected) || +#endif +#if (!defined(BORINGSSL_BENCHMARK) && !defined(OPENSSL_IS_AWSLC)) || AWSLC_API_VERSION >= 20 + // BoringSSL doesn't support ripemd160 + !SpeedHash(EVP_ripemd160(), "RIPEMD-160", selected) || #endif !SpeedHmac(EVP_md5(), "HMAC-MD5", selected) || !SpeedHmac(EVP_sha1(), "HMAC-SHA1", selected) ||