General context (see core#18000):
This is a step in the way of implementing an index of coin statistics with the goal of making the response time of the `gettxoutsetinfo` RPC call dramatically faster. Currently, this RPC is scanning the full UTXO set every time it is called which makes it hard to use for users that want to continually check the coin supply or compare UTXO set hashes between different nodes. It is especially challenging in periods of multiple quickly mined blocks, even relatively fast machines.
> crypto: Add Num3072 implementation
>
> Num3072 is a specialized bignum implementation used in MuHash3072.
https://github.com/bitcoin/bitcoin/pull/19055/commits/0b4d290bf5b0a4d156c523431bf89aaa9ffe92e5
> crypto: Add MuHash3072 implementation
https://github.com/bitcoin/bitcoin/pull/19055/commits/adc708c98dbf03b1735edc91f813a36580781a95
> test: Add MuHash3072 unit tests
https://github.com/bitcoin/bitcoin/pull/19055/commits/7b1242229d1fcc9277238a3aefb3431061c82bfa
> test: Change MuHash Python implementation to match cpp version again
https://github.com/bitcoin/bitcoin/pull/19055/commits/9815332d5158d69a94abeaf465a2c07bd8e43359
Co-authored-by: Pieter Wuille <pieter.wuille@gmail.com>
Co-authored-by: Anthony Towns <aj@erisian.com.au>
This is a partial backport of [[https://github.com/bitcoin/bitcoin/pull/19055 | core#19055]]