mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
Refactor the chacha20 differential fuzz test
This commit is contained in:
@@ -314,9 +314,7 @@ FUZZ_TARGET(crypto_diff_fuzz_chacha20)
|
|||||||
chacha20.Keystream(output.data(), output.size());
|
chacha20.Keystream(output.data(), output.size());
|
||||||
std::vector<uint8_t> djb_output(integralInRange);
|
std::vector<uint8_t> djb_output(integralInRange);
|
||||||
ECRYPT_keystream_bytes(&ctx, djb_output.data(), djb_output.size());
|
ECRYPT_keystream_bytes(&ctx, djb_output.data(), djb_output.size());
|
||||||
if (output.data() != NULL && djb_output.data() != NULL) {
|
assert(output == djb_output);
|
||||||
assert(memcmp(output.data(), djb_output.data(), integralInRange) == 0);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
[&] {
|
[&] {
|
||||||
uint32_t integralInRange = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096);
|
uint32_t integralInRange = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 4096);
|
||||||
@@ -325,6 +323,7 @@ FUZZ_TARGET(crypto_diff_fuzz_chacha20)
|
|||||||
chacha20.Crypt(input.data(), output.data(), input.size());
|
chacha20.Crypt(input.data(), output.data(), input.size());
|
||||||
std::vector<uint8_t> djb_output(integralInRange);
|
std::vector<uint8_t> djb_output(integralInRange);
|
||||||
ECRYPT_encrypt_bytes(&ctx, input.data(), djb_output.data(), input.size());
|
ECRYPT_encrypt_bytes(&ctx, input.data(), djb_output.data(), input.size());
|
||||||
|
assert(output == djb_output);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user