serai/coins/monero/src/ringct
Luke Parker a66994aade
Use FCMP implementation of BP+ in monero-serai (#344)
* Add in an implementation of BP+ based off the paper, intended for clarity and review

This was done as part of my work on FCMPs from Monero, and is copied from https://github.com/kayabaNerve/full-chain-membership-proofs

* Remove crate structure of BP+

* Remove arithmetic circuit code

* Remove AC/VC generators code

* Remove generator transcript

Monero uses non-transcripted static generators.

* Further trimming of generators

* Remove the single range proof

It's unused by Monero and accordingly unhelpful.

* Work on getting BP+ to compile in its new env

* Correct BP+ folder name

* Further tweaks to get closer to compiling

* Remove the ScalarMatrix file

It's only used for AC proofs

* Compiles, with tests passing

* Lock BP+ to Ed25519 instead of the generic Ciphersuite

* Resolve most warnings in BP+

* Make existing bulletproofs test easier to read

* Further strip generators

* Swap G/H as Monero did

* Replace RangeCommitment with Commitment

* Hard-code BP+ h to Ed25519's generator

* Use pub(crate) for BP+, not pub

* Replace initial_transcript with hash_plus

* Rename hash_plus to initial_transcript

* Finish integrating the FCMP BP+ impl

* Move BP+ folder

* Correct no-std support

* Rename "long_n" to eta

* Add note on non-prime order dfg points
2023-08-27 15:33:17 -04:00
..
bulletproofs Use FCMP implementation of BP+ in monero-serai (#344) 2023-08-27 15:33:17 -04:00
clsag dalek 4.0 2023-07-23 14:32:14 -04:00
borromean.rs Meaningful changes from aggressive-clippy 2023-07-08 11:29:07 -04:00
hash_to_point.rs Initial documentation for the Monero libraries (#122) 2022-09-28 07:44:49 -05:00
mlsag.rs Meaningful changes from aggressive-clippy 2023-07-08 11:29:07 -04:00
mod.rs dalek 4.0 2023-07-23 14:32:14 -04:00