HomePhabricator

Add Muhash3072 implementation in Python

Description

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

Details

Provenance
Fabian Jahr <fjahr@protonmail.com>Authored on Jun 11 2020, 12:59
PiRKCommitted on Sep 21 2021, 09:37
PiRKPushed on Sep 21 2021, 09:37
Reviewer
Restricted Project
Differential Revision
D10166: Add Muhash3072 implementation in Python
Parents
rABC72a4597820c7: rpc: Assert that RPCArg names are equal to CRPCCommand ones (rpcdump)
Branches
Unknown
Tags
Unknown