From 82cfb128e291d1de94ffd594381ac3f7edcea536 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 09:13:22 +0200 Subject: [PATCH 1/8] Finish sha1 nist cavs testing --- test/Jamfile | 2 +- test/test_cavs_nist_detail.h | 4 +-- test/test_nist_cavs_sha1_short.cpp | 21 --------------- test/test_nist_cavs_sha1_short_long.cpp | 36 +++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 24 deletions(-) delete mode 100644 test/test_nist_cavs_sha1_short.cpp create mode 100644 test/test_nist_cavs_sha1_short_long.cpp diff --git a/test/Jamfile b/test/Jamfile index db44fffc..5a7d8fe7 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -45,5 +45,5 @@ project : requirements run quick.cpp ; run test_md5.cpp ; -run test_nist_cavs_sha1_short.cpp ; +run test_nist_cavs_sha1_short_long.cpp ; run test_sha1.cpp ; diff --git a/test/test_cavs_nist_detail.h b/test/test_cavs_nist_detail.h index 18102b41..649af50b 100644 --- a/test/test_cavs_nist_detail.h +++ b/test/test_cavs_nist_detail.h @@ -73,7 +73,7 @@ struct test_object_hash using test_vector_container_type = std::deque; -auto where_file(const std::string& test_vectors_filename) -> std::string +auto where_file_shabytesvectors(const std::string& test_vectors_filename) -> std::string { // Try to open the file in each of the known relative paths // in order to find out where it is located. @@ -159,7 +159,7 @@ auto parse_file_vectors(const std::string& test_vectors_filename, test_vector_co { bool result_parse_is_ok { false }; - const std::string test_vectors_filename_relative { where_file(test_vectors_filename) }; + const std::string test_vectors_filename_relative { where_file_shabytesvectors(test_vectors_filename) }; const bool result_filename_plausible_is_ok { (!test_vectors_filename_relative.empty()) }; diff --git a/test/test_nist_cavs_sha1_short.cpp b/test/test_nist_cavs_sha1_short.cpp deleted file mode 100644 index 8677eb95..00000000 --- a/test/test_nist_cavs_sha1_short.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2024 Matt Borland -// Copyright 2024 Christopher Kormanyos -// Distributed under the Boost Software License, Version 1.0. -// https://www.boost.org/LICENSE_1_0.txt - -#include "test_nist_cavs_detail.hpp" - -#include - -auto main() -> int -{ - nist::cavs::test_vector_container_type test_vectors { }; - - static_cast(nist::cavs::detail::parse_file_vectors("SHA1ShortMsg.rsp", test_vectors)); - - const bool result_is_ok { nist::cavs::test_vectors_oneshot(test_vectors) }; - - static_cast(result_is_ok); - - return boost::report_errors(); -} diff --git a/test/test_nist_cavs_sha1_short_long.cpp b/test/test_nist_cavs_sha1_short_long.cpp new file mode 100644 index 00000000..614e9983 --- /dev/null +++ b/test/test_nist_cavs_sha1_short_long.cpp @@ -0,0 +1,36 @@ +// Copyright 2024 Matt Borland +// Copyright 2024 Christopher Kormanyos +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include "test_nist_cavs_detail.hpp" + +#include + +auto main() -> int +{ + bool result_is_ok { true }; + + { + nist::cavs::test_vector_container_type test_vectors_short { }; + + static_cast(nist::cavs::detail::parse_file_vectors("SHA1ShortMsg.rsp", test_vectors_short)); + + result_is_ok = (nist::cavs::test_vectors_oneshot(test_vectors_short) && result_is_ok); + + BOOST_TEST(result_is_ok); + } + + + { + nist::cavs::test_vector_container_type test_vectors_long { }; + + static_cast(nist::cavs::detail::parse_file_vectors("SHA1LongMsg.rsp", test_vectors_long)); + + result_is_ok = (nist::cavs::test_vectors_oneshot(test_vectors_long) && result_is_ok); + + BOOST_TEST(result_is_ok); + } + + return boost::report_errors(); +} From 8deb6dfbbfa4439cc111ea64be93d1ab0116ca8a Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 15:10:56 +0200 Subject: [PATCH 2/8] Try running sha1 Monte Carlo tests --- include/boost/crypt/hash/sha1.hpp | 38 ++--- test/Jamfile | 1 + test/nist_cavs/vectors/shavs.pdf | Bin 0 -> 222643 bytes test/test_nist_cavs_detail.hpp | 191 +++++++++++++++++++++++- test/test_nist_cavs_sha1_monte.cpp | 25 ++++ test/test_nist_cavs_sha1_short_long.cpp | 4 +- 6 files changed, 235 insertions(+), 24 deletions(-) create mode 100644 test/nist_cavs/vectors/shavs.pdf create mode 100644 test/test_nist_cavs_sha1_monte.cpp diff --git a/include/boost/crypt/hash/sha1.hpp b/include/boost/crypt/hash/sha1.hpp index 6b14fa4a..1f6916c1 100644 --- a/include/boost/crypt/hash/sha1.hpp +++ b/include/boost/crypt/hash/sha1.hpp @@ -32,25 +32,6 @@ namespace crypt { class sha1_hasher { -private: - - boost::crypt::array intermediate_hash_ {0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0}; - boost::crypt::array buffer_ {}; - - boost::crypt::size_t buffer_index_ {}; - boost::crypt::size_t low_ {}; - boost::crypt::size_t high_ {}; - - bool computed {}; - bool corrupted {}; - - BOOST_CRYPT_GPU_ENABLED constexpr auto sha1_process_message_block() -> void; - - template - BOOST_CRYPT_GPU_ENABLED constexpr auto sha1_update(ForwardIter data, boost::crypt::size_t size) noexcept -> hasher_state; - - BOOST_CRYPT_GPU_ENABLED constexpr auto pad_message() noexcept -> void; - public: using return_type = boost::crypt::array; @@ -71,6 +52,25 @@ class sha1_hasher BOOST_CRYPT_GPU_ENABLED constexpr auto get_digest() noexcept -> return_type ; + +private: + + boost::crypt::array intermediate_hash_ { UINT32_C(0x67452301), UINT32_C(0xEFCDAB89), UINT32_C(0x98BADCFE), UINT32_C(0x10325476), UINT32_C(0xC3D2E1F0) }; + boost::crypt::array buffer_ {}; + + boost::crypt::size_t buffer_index_ {}; + boost::crypt::size_t low_ {}; + boost::crypt::size_t high_ {}; + + bool computed {}; + bool corrupted {}; + + BOOST_CRYPT_GPU_ENABLED constexpr auto sha1_process_message_block() -> void; + + template + BOOST_CRYPT_GPU_ENABLED constexpr auto sha1_update(ForwardIter data, boost::crypt::size_t size) noexcept -> hasher_state; + + BOOST_CRYPT_GPU_ENABLED constexpr auto pad_message() noexcept -> void; }; namespace detail { diff --git a/test/Jamfile b/test/Jamfile index 5a7d8fe7..7223a964 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -45,5 +45,6 @@ project : requirements run quick.cpp ; run test_md5.cpp ; +run test_nist_cavs_sha1_monte.cpp ; run test_nist_cavs_sha1_short_long.cpp ; run test_sha1.cpp ; diff --git a/test/nist_cavs/vectors/shavs.pdf b/test/nist_cavs/vectors/shavs.pdf new file mode 100644 index 0000000000000000000000000000000000000000..36dfffd1e9dea540c54769a4ce29f96ee1d41cb6 GIT binary patch literal 222643 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%0D!sn|f)~mGm_Dj#cxl@j|q3dlhrm?(1!p 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 literal 0 HcmV?d00001 diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index 50f98d5c..a47a9938 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -46,6 +46,19 @@ struct test_object_hash test_object_hash() = delete; + // Construct hash test object with result only (no message and no length). + explicit test_object_hash(const std::string& str_result) + : my_result + { + [&str_result]() + { + const auto byte_data { detail::convert_hex_string_to_byte_container(str_result) }; + return message_type(byte_data.cbegin(), byte_data.cend()); + }() + } + { } + + // Construct hash test object with all of message, length and result. explicit test_object_hash(const std::string& str_data, const std::string& str_result) : my_length { str_data.size() / static_cast(UINT8_C(2)) }, my_msg @@ -61,7 +74,7 @@ struct test_object_hash [&str_result]() { const auto byte_data { detail::convert_hex_string_to_byte_container(str_result) }; - return message_type(byte_data.cbegin(), byte_data.cend()); + return message_type(byte_data.cbegin(), byte_data.cend()); }() } { } @@ -73,7 +86,7 @@ struct test_object_hash using test_vector_container_type = std::deque; -auto where_file(const std::string& test_vectors_filename) -> std::string +auto where_file_shabytesvectors(const std::string& test_vectors_filename) -> std::string { // Try to open the file in each of the known relative paths // in order to find out where it is located. @@ -159,10 +172,12 @@ auto parse_file_vectors(const std::string& test_vectors_filename, test_vector_co { bool result_parse_is_ok { false }; - const std::string test_vectors_filename_relative { where_file(test_vectors_filename) }; + const std::string test_vectors_filename_relative { where_file_shabytesvectors(test_vectors_filename) }; const bool result_filename_plausible_is_ok { (!test_vectors_filename_relative.empty()) }; + BOOST_TEST(result_filename_plausible_is_ok); + if(result_filename_plausible_is_ok) { std::string str_message { }; @@ -232,6 +247,77 @@ auto parse_file_vectors(const std::string& test_vectors_filename, test_vector_co } } + BOOST_TEST(result_parse_is_ok); + + return result_parse_is_ok; +} + +auto parse_file_monte(const std::string& test_monte_filename, test_vector_container_type& test_vectors_to_get) -> bool +{ + bool result_parse_is_ok { false }; + + const std::string test_vectors_filename_relative { where_file_shabytesvectors(test_monte_filename) }; + + const bool result_filename_plausible_is_ok { (!test_vectors_filename_relative.empty()) }; + + BOOST_TEST(result_filename_plausible_is_ok); + + if(result_filename_plausible_is_ok) + { + std::string str_result { }; + + // Read the file for creating the test cases. + std::ifstream in(test_vectors_filename_relative.c_str()); + + const bool file_is_open = in.is_open(); + + unsigned count { }; + + if(file_is_open) + { + result_parse_is_ok = true; + + std::string line { }; + std::string result { }; + + while(getline(in, line)) + { + const std::string::size_type pos_cnt = line.find("COUNT =", 0U); + const std::string::size_type pos_md = line.find("MD =", 0U); + + const bool line_is_representation_is_cnt = (pos_cnt != std::string::npos); + const bool line_is_representation_is_md = (pos_md != std::string::npos); + + // Get the next count. + if(line_is_representation_is_cnt) + { + const std::string str_cnt = line.substr(8U, line.length() - 8U); + + const unsigned long count_from_file = std::strtoul(str_cnt.c_str(), nullptr, 10U); + + count = static_cast(count_from_file); + } + + // Get the next (expected) result. + if(line_is_representation_is_md) + { + result = line.substr(5U, line.length() - 5U); + + // Add the new test object to v. + const test_object_hash test_obj(result); + + test_vectors_to_get.push_back(test_obj); + } + } + + in.close(); + + result_parse_is_ok = ((!test_vectors_to_get.empty()) && (count == 99U) && result_parse_is_ok); + } + } + + BOOST_TEST(result_parse_is_ok); + return result_parse_is_ok; } @@ -246,6 +332,8 @@ auto test_vectors_oneshot(const test_vector_container_type& test_vectors) -> boo using local_hasher_type = HasherType; using local_result_type = typename local_hasher_type::return_type; + BOOST_TEST((!test_vectors.empty())); + bool result_is_ok { true }; for(const auto& test_vector : test_vectors) @@ -267,6 +355,9 @@ auto test_vectors_oneshot(const test_vector_container_type& test_vectors) -> boo // Make pass 2 through the messages. // Use the triple-combination of init/process/get-result functions. + // Even though this is not required in CAVS testing, it is + // done in order to ensure that the init() function properly + // puts the hasher-object into its initialized state. this_hash.init(); @@ -287,6 +378,100 @@ auto test_vectors_oneshot(const test_vector_container_type& test_vectors) -> boo return result_is_ok; } +template +auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vectors_monte) -> bool +{ + using local_hasher_type = HasherType; + using local_result_type = typename local_hasher_type::return_type; + + using local_array_type = local_result_type; + + // TODO: ckormanyos this is for sha1 only. Use generic programming for the Seed. + local_array_type + Seed + ( + { + 0xDDU, 0x4DU, 0xF6U, 0x44U, 0xEAU, 0xF3U, 0xD8U, 0x5BU, + 0xACU, 0xE2U, 0xB2U, 0x1AU, 0xCCU, 0xAAU, 0x22U, 0xB2U, + 0x88U, 0x21U, 0xF5U, 0xCDU + } + ); + + constexpr local_array_type dummy_array { }; + + local_array_type MD[3U] { { }, { }, { } }; + + local_array_type MDi { }; + local_array_type MDj { }; + + bool result_is_ok { (!test_vectors_monte.empty()) }; + + if(result_is_ok) + { + // See pseudocode on page 9 of "The Secure Hash Algorithm Validation System (SHAVS)". + + for(std::size_t j { }; j < 100U; ++j) + { + MD[0U] = MD[1U] = MD[2U] = Seed; + + for(std::size_t i { 3U } ; i < 1003U; ++i) + { + using local_wide_array_type = boost::crypt::array; + + const local_wide_array_type Mi = + [&MD]() + { + std::vector result_vector { }; + + result_vector.reserve(dummy_array.size() * 3U); + + result_vector.insert(result_vector.end(), MD[0U].cbegin(), MD[0U].cend()); + result_vector.insert(result_vector.end(), MD[1U].cbegin(), MD[1U].cend()); + result_vector.insert(result_vector.end(), MD[2U].cbegin(), MD[2U].cend()); + + local_wide_array_type result { }; + + std::copy(result_vector.cbegin(), result_vector.cend(), result.begin()); + + return result; + }(); + + MDi = + [&Mi]() + { + local_hasher_type this_hash { }; + + this_hash.init(); + + this_hash.process_bytes(Mi.data(), Mi.size()); + + return this_hash.get_digest(); + }(); + + MD[0U] = MD[1U]; + MD[1U] = MD[2U]; + MD[2U] = MDi; + } + + MDj = Seed = MDi; + + const bool result_this_monte_step_is_ok = + std::equal + ( + MDj.cbegin(), + MDj.cend(), + test_vectors_monte[j].my_result.cbegin() + ); + + result_is_ok = (result_this_monte_step_is_ok && result_is_ok); + + BOOST_TEST(result_this_monte_step_is_ok); + } + } + + return result_is_ok; +} + } // namespace cavs } // namespace nist diff --git a/test/test_nist_cavs_sha1_monte.cpp b/test/test_nist_cavs_sha1_monte.cpp new file mode 100644 index 00000000..7ee1c5ad --- /dev/null +++ b/test/test_nist_cavs_sha1_monte.cpp @@ -0,0 +1,25 @@ +// Copyright 2024 Matt Borland +// Copyright 2024 Christopher Kormanyos +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#include "test_nist_cavs_detail.hpp" + +auto main() -> int +{ + bool result_is_ok { true }; + + { + nist::cavs::test_vector_container_type my_test_vectors_monte { }; + + static_cast(nist::cavs::detail::parse_file_monte("SHA1Monte.rsp", my_test_vectors_monte)); + + result_is_ok = (nist::cavs::test_vectors_monte(my_test_vectors_monte) && result_is_ok); + + BOOST_TEST(result_is_ok); + } + + return boost::report_errors(); +} diff --git a/test/test_nist_cavs_sha1_short_long.cpp b/test/test_nist_cavs_sha1_short_long.cpp index 614e9983..ba8024fa 100644 --- a/test/test_nist_cavs_sha1_short_long.cpp +++ b/test/test_nist_cavs_sha1_short_long.cpp @@ -3,10 +3,10 @@ // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt -#include "test_nist_cavs_detail.hpp" - #include +#include "test_nist_cavs_detail.hpp" + auto main() -> int { bool result_is_ok { true }; From 88f44af2714b3f5461e133551d4827894ad0ed11 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 15:25:42 +0200 Subject: [PATCH 3/8] Try repairing syntax issue --- test/test_nist_cavs_detail.hpp | 34 +++++++++++++++--------------- test/test_nist_cavs_sha1_monte.cpp | 12 ++++++++++- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index a47a9938..e21670de 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -379,35 +379,35 @@ auto test_vectors_oneshot(const test_vector_container_type& test_vectors) -> boo } template -auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vectors_monte) -> bool +auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vectors_monte, const std::vector& seed_init) -> bool { using local_hasher_type = HasherType; using local_result_type = typename local_hasher_type::return_type; using local_array_type = local_result_type; - // TODO: ckormanyos this is for sha1 only. Use generic programming for the Seed. - local_array_type - Seed - ( - { - 0xDDU, 0x4DU, 0xF6U, 0x44U, 0xEAU, 0xF3U, 0xD8U, 0x5BU, - 0xACU, 0xE2U, 0xB2U, 0x1AU, 0xCCU, 0xAAU, 0x22U, 0xB2U, - 0x88U, 0x21U, 0xF5U, 0xCDU - } - ); + // Obtain the test-specific initial seed. + local_array_type Seed { }; - constexpr local_array_type dummy_array { }; - - local_array_type MD[3U] { { }, { }, { } }; + const std::size_t + max_copy + { + (std::min)(static_cast(Seed.size()), static_cast(seed_init.size())) + }; - local_array_type MDi { }; - local_array_type MDj { }; + std::copy(seed_init.cbegin(), seed_init.cend(), Seed.begin()); bool result_is_ok { (!test_vectors_monte.empty()) }; if(result_is_ok) { + local_array_type MD[3U] { { }, { }, { } }; + + local_array_type MDi { }; + local_array_type MDj { }; + + constexpr local_array_type dummy_array { }; + // See pseudocode on page 9 of "The Secure Hash Algorithm Validation System (SHAVS)". for(std::size_t j { }; j < 100U; ++j) @@ -419,7 +419,7 @@ auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vecto using local_wide_array_type = boost::crypt::array; const local_wide_array_type Mi = - [&MD]() + [&MD, &dummy_array]() { std::vector result_vector { }; diff --git a/test/test_nist_cavs_sha1_monte.cpp b/test/test_nist_cavs_sha1_monte.cpp index 7ee1c5ad..8f2a6f38 100644 --- a/test/test_nist_cavs_sha1_monte.cpp +++ b/test/test_nist_cavs_sha1_monte.cpp @@ -14,9 +14,19 @@ auto main() -> int { nist::cavs::test_vector_container_type my_test_vectors_monte { }; + std::vector + seed_init + ( + { + 0xDDU, 0x4DU, 0xF6U, 0x44U, 0xEAU, 0xF3U, 0xD8U, 0x5BU, + 0xACU, 0xE2U, 0xB2U, 0x1AU, 0xCCU, 0xAAU, 0x22U, 0xB2U, + 0x88U, 0x21U, 0xF5U, 0xCDU + } + ); + static_cast(nist::cavs::detail::parse_file_monte("SHA1Monte.rsp", my_test_vectors_monte)); - result_is_ok = (nist::cavs::test_vectors_monte(my_test_vectors_monte) && result_is_ok); + result_is_ok = (nist::cavs::test_vectors_monte(my_test_vectors_monte, seed_init) && result_is_ok); BOOST_TEST(result_is_ok); } From 8e55eac883b4aa564d5fb821b4d824ddbaa4631b Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 15:33:57 +0200 Subject: [PATCH 4/8] Handle review comment and syntax warn --- include/boost/crypt/hash/sha1.hpp | 2 +- test/test_nist_cavs_detail.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/boost/crypt/hash/sha1.hpp b/include/boost/crypt/hash/sha1.hpp index 1f6916c1..5162eb1e 100644 --- a/include/boost/crypt/hash/sha1.hpp +++ b/include/boost/crypt/hash/sha1.hpp @@ -55,7 +55,7 @@ class sha1_hasher private: - boost::crypt::array intermediate_hash_ { UINT32_C(0x67452301), UINT32_C(0xEFCDAB89), UINT32_C(0x98BADCFE), UINT32_C(0x10325476), UINT32_C(0xC3D2E1F0) }; + boost::crypt::array intermediate_hash_ { 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0 }; boost::crypt::array buffer_ {}; boost::crypt::size_t buffer_index_ {}; diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index e21670de..1e6d1280 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -390,12 +390,12 @@ auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vecto local_array_type Seed { }; const std::size_t - max_copy + copy_len { (std::min)(static_cast(Seed.size()), static_cast(seed_init.size())) }; - std::copy(seed_init.cbegin(), seed_init.cend(), Seed.begin()); + std::copy(seed_init.cbegin(), seed_init.cbegin() + copy_len, Seed.begin()); bool result_is_ok { (!test_vectors_monte.empty()) }; From a7ecd18da6fc5c8732c40e38a8b29949d1a986b4 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 15:41:19 +0200 Subject: [PATCH 5/8] Handle yet another syntax warning --- test/test_nist_cavs_detail.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index 1e6d1280..7f750cb5 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -395,7 +395,12 @@ auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vecto (std::min)(static_cast(Seed.size()), static_cast(seed_init.size())) }; - std::copy(seed_init.cbegin(), seed_init.cbegin() + copy_len, Seed.begin()); + std::copy + ( + seed_init.cbegin(), + seed_init.cbegin() + static_cast::difference_type>(copy_len), + Seed.begin() + ); bool result_is_ok { (!test_vectors_monte.empty()) }; From 59d89789bf7885e9f00dec7303519cd00ea2e331 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 16:04:54 +0200 Subject: [PATCH 6/8] Try handle syntax issue on GCC 7 --- test/test_nist_cavs_detail.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index 7f750cb5..72b318c7 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -426,7 +426,7 @@ auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vecto const local_wide_array_type Mi = [&MD, &dummy_array]() { - std::vector result_vector { }; + std::vector result_vector; result_vector.reserve(dummy_array.size() * 3U); @@ -434,7 +434,7 @@ auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vecto result_vector.insert(result_vector.end(), MD[1U].cbegin(), MD[1U].cend()); result_vector.insert(result_vector.end(), MD[2U].cbegin(), MD[2U].cend()); - local_wide_array_type result { }; + local_wide_array_type result = {{ static_cast(0U) }}; std::copy(result_vector.cbegin(), result_vector.cend(), result.begin()); From 942d62d383af802e7281c58c696d424aedb7dfe9 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 16:29:23 +0200 Subject: [PATCH 7/8] Reduce coding complexity for GCC 7 --- test/test_nist_cavs_detail.hpp | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index 72b318c7..79085a97 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -423,35 +423,25 @@ auto test_vectors_monte(const nist::cavs::test_vector_container_type& test_vecto { using local_wide_array_type = boost::crypt::array; - const local_wide_array_type Mi = - [&MD, &dummy_array]() - { - std::vector result_vector; - - result_vector.reserve(dummy_array.size() * 3U); + std::vector result_vector; - result_vector.insert(result_vector.end(), MD[0U].cbegin(), MD[0U].cend()); - result_vector.insert(result_vector.end(), MD[1U].cbegin(), MD[1U].cend()); - result_vector.insert(result_vector.end(), MD[2U].cbegin(), MD[2U].cend()); + result_vector.reserve(dummy_array.size() * 3U); - local_wide_array_type result = {{ static_cast(0U) }}; + result_vector.insert(result_vector.end(), MD[0U].cbegin(), MD[0U].cend()); + result_vector.insert(result_vector.end(), MD[1U].cbegin(), MD[1U].cend()); + result_vector.insert(result_vector.end(), MD[2U].cbegin(), MD[2U].cend()); - std::copy(result_vector.cbegin(), result_vector.cend(), result.begin()); + local_wide_array_type Mi { }; - return result; - }(); + std::copy(result_vector.cbegin(), result_vector.cend(), Mi.begin()); - MDi = - [&Mi]() - { - local_hasher_type this_hash { }; + local_hasher_type this_hash { }; - this_hash.init(); + this_hash.init(); - this_hash.process_bytes(Mi.data(), Mi.size()); + this_hash.process_bytes(Mi.data(), Mi.size()); - return this_hash.get_digest(); - }(); + MDi = this_hash.get_digest(); MD[0U] = MD[1U]; MD[1U] = MD[2U]; From 2be2c7ff273300dec489a3b1360a785ec205bb17 Mon Sep 17 00:00:00 2001 From: ckormanyos Date: Mon, 21 Oct 2024 18:42:04 +0200 Subject: [PATCH 8/8] Upgrade coverage for this PR --- test/test_nist_cavs_detail.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/test_nist_cavs_detail.hpp b/test/test_nist_cavs_detail.hpp index 79085a97..d05d9135 100644 --- a/test/test_nist_cavs_detail.hpp +++ b/test/test_nist_cavs_detail.hpp @@ -46,9 +46,12 @@ struct test_object_hash test_object_hash() = delete; - // Construct hash test object with result only (no message and no length). + // Construct this hash test object by setting the result only. + // There is no message and there is no length available for + // this hash test object. + explicit test_object_hash(const std::string& str_result) - : my_result + : my_result // LCOV_EXCL_LINE { [&str_result]() { @@ -58,7 +61,8 @@ struct test_object_hash } { } - // Construct hash test object with all of message, length and result. + // Construct this hash test object with all of message, length and result. + explicit test_object_hash(const std::string& str_data, const std::string& str_result) : my_length { str_data.size() / static_cast(UINT8_C(2)) }, my_msg