tests: miscellaneous hex / std::byte improvements

This commit is contained in:
Pieter Wuille 2023-07-18 16:52:08 -04:00
parent bdcbc8594c
commit da0ec62e34

View file

@ -226,10 +226,9 @@ static void TestPoly1305(const std::string &hexmessage, const std::string &hexke
{
auto key = ParseHex<std::byte>(hexkey);
auto m = ParseHex<std::byte>(hexmessage);
auto tag = ParseHex<std::byte>(hextag);
std::vector<std::byte> tagres(Poly1305::TAGLEN);
Poly1305{key}.Update(m).Finalize(tagres);
BOOST_CHECK(tag == tagres);
BOOST_CHECK_EQUAL(HexStr(tagres), hextag);
// Test incremental interface
for (int splits = 0; splits < 10; ++splits) {
@ -243,7 +242,7 @@ static void TestPoly1305(const std::string &hexmessage, const std::string &hexke
}
tagres.assign(Poly1305::TAGLEN, std::byte{});
poly1305.Update(data).Finalize(tagres);
BOOST_CHECK(tag == tagres);
BOOST_CHECK_EQUAL(HexStr(tagres), hextag);
}
}
}
@ -922,15 +921,15 @@ BOOST_AUTO_TEST_CASE(poly1305_testvector)
auto total_key = ParseHex<std::byte>("01020304050607fffefdfcfbfaf9ffffffffffffffffffffffffffff00000000");
Poly1305 total_ctx(total_key);
for (unsigned i = 0; i < 256; ++i) {
std::vector<std::byte> key(32, std::byte{(uint8_t)i});
std::vector<std::byte> msg(i, std::byte{(uint8_t)i});
std::vector<std::byte> key(32, std::byte{uint8_t(i)});
std::vector<std::byte> msg(i, std::byte{uint8_t(i)});
std::array<std::byte, Poly1305::TAGLEN> tag;
Poly1305{key}.Update(msg).Finalize(tag);
total_ctx.Update(tag);
}
std::vector<std::byte> total_tag(Poly1305::TAGLEN);
total_ctx.Finalize(total_tag);
BOOST_CHECK(total_tag == ParseHex<std::byte>("64afe2e8d6ad7bbdd287f97c44623d39"));
BOOST_CHECK_EQUAL(HexStr(total_tag), "64afe2e8d6ad7bbdd287f97c44623d39");
}
// Tests with sparse messages and random keys.