Add Muhash3072 implementation in Python
Summary:
PR description:
This is the second in a series of pull requests to implement an Index for UTXO set statistics.
This pull request adds a Python implementation of Muhash3072, a homomorphic hashing algorithm to be used for hashing the UTXO set. The Python implementation can then be used to compare behavior with the C++ version.
test: Move modinv to util and add unit test
https://github.com/bitcoin/bitcoin/pull/19105/commits/ab30cece0e84a8b917cb9a219c2466574362f300
test: Add Python MuHash3072 implementation to test framework
https://github.com/bitcoin/bitcoin/pull/19105/commits/b85543cb7361d6ba27c0eeca756eec9fd5395b36
test: Add basic Python/C++ Muhash implementation parity unit test
https://github.com/bitcoin/bitcoin/pull/19105/commits/0e2b400fea890e769b75da5b55fa1902fd9f9851
test: Add chacha20 test vectors in muhash
https://github.com/bitcoin/bitcoin/pull/19105/commits/36ec9801a4edb9663ef9ce9ad298233766b903e8
This is a backport of core#19105
Backport note: the C++ implementation will be merged much later (core#19055)
Test Plan: ninja check-functional
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D10166