serai/crypto/dalek-ff-group
Luke Parker ee29f6d6d8
Implement Bulletproofs in Rust (#69)
* Initial attempt at Bulletproofs

I don't know why this doesn't work. The generators and hash_cache lines
up without issue. AFAICT, the inner product proof is valid as well, as
are all included formulas.

* Add yinvpow asserts

* Clean code

* Correct bad imports

* Fix the definition of TWO_N

Bulletproofs work now :D

* Tidy up a bit

* fmt + clippy

* Compile a variety of XMR dependencies with optimizations, even under dev

The Rust bulletproof implementation is 8% slower than C right now, under 
release. This is acceptable, even if suboptimal. Under debug, they take 
a quarter of a second to two seconds though, depending on the amount of 
outputs, which justifies this move.

* Remove unnecessary deref in BPs
2022-07-26 02:05:15 -05:00
..
src Implement Bulletproofs in Rust (#69) 2022-07-26 02:05:15 -05:00
Cargo.toml Version bump and synchronize packages 2022-07-12 03:38:59 -04:00
LICENSE Rename sign folder to crypto 2022-05-03 00:46:50 -04:00
README.md Add READMEs to Serai and Monero 2022-07-08 16:23:26 -04:00

Dalek FF/Group

ff/group bindings around curve25519-dalek with a from_hash/random function based around modern dependencies.

Some functions currently remain unimplemented.