mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-15 12:51:00 +02:00
Merge be3af4f310 into merged_master (Bitcoin PR #19934)
This commit is contained in:
commit
42ec9ecdbe
1 changed files with 17 additions and 1 deletions
|
|
@ -7,6 +7,7 @@
|
|||
#include <crypto/ripemd160.h>
|
||||
#include <crypto/sha1.h>
|
||||
#include <crypto/sha256.h>
|
||||
#include <crypto/sha3.h>
|
||||
#include <crypto/sha512.h>
|
||||
#include <hash.h>
|
||||
#include <test/fuzz/FuzzedDataProvider.h>
|
||||
|
|
@ -32,6 +33,7 @@ void test_one_input(const std::vector<uint8_t>& buffer)
|
|||
CSHA1 sha1;
|
||||
CSHA256 sha256;
|
||||
CSHA512 sha512;
|
||||
SHA3_256 sha3;
|
||||
CSipHasher sip_hasher{fuzzed_data_provider.ConsumeIntegral<uint64_t>(), fuzzed_data_provider.ConsumeIntegral<uint64_t>()};
|
||||
|
||||
while (fuzzed_data_provider.ConsumeBool()) {
|
||||
|
|
@ -51,6 +53,7 @@ void test_one_input(const std::vector<uint8_t>& buffer)
|
|||
(void)ripemd160.Write(data.data(), data.size());
|
||||
(void)sha1.Write(data.data(), data.size());
|
||||
(void)sha256.Write(data.data(), data.size());
|
||||
(void)sha3.Write(data);
|
||||
(void)sha512.Write(data.data(), data.size());
|
||||
(void)sip_hasher.Write(data.data(), data.size());
|
||||
|
||||
|
|
@ -65,11 +68,12 @@ void test_one_input(const std::vector<uint8_t>& buffer)
|
|||
(void)ripemd160.Reset();
|
||||
(void)sha1.Reset();
|
||||
(void)sha256.Reset();
|
||||
(void)sha3.Reset();
|
||||
(void)sha512.Reset();
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
switch (fuzzed_data_provider.ConsumeIntegralInRange<int>(0, 8)) {
|
||||
switch (fuzzed_data_provider.ConsumeIntegralInRange<int>(0, 9)) {
|
||||
case 0: {
|
||||
data.resize(CHash160::OUTPUT_SIZE);
|
||||
hash160.Finalize(data);
|
||||
|
|
@ -115,9 +119,21 @@ void test_one_input(const std::vector<uint8_t>& buffer)
|
|||
data[0] = sip_hasher.Finalize() % 256;
|
||||
break;
|
||||
}
|
||||
case 9: {
|
||||
data.resize(SHA3_256::OUTPUT_SIZE);
|
||||
sha3.Finalize(data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (fuzzed_data_provider.ConsumeBool()) {
|
||||
uint64_t state[25];
|
||||
for (size_t i = 0; i < 25; ++i) {
|
||||
state[i] = fuzzed_data_provider.ConsumeIntegral<uint64_t>();
|
||||
}
|
||||
KeccakF(state);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue