BP Verification (#75)

* Use a struct in an enum for Bulletproofs

* verification bp working for just one proof

* add some more assert tests

* Clean BP verification

* Implement batch verification

* Add a debug assertion w_cache isn't 0

It's initially set to 0 and if not updated, this would be broken.

* Correct Monero workflow yaml

* Again try to corrent Monero workflow yaml

* Again

* Finally

* Re-apply weights as required by Bulletproofs

Removing these was insecure and my fault.

Co-authored-by: DangerousFreedom <dangfreed@tutanota.com>
This commit is contained in:
Luke Parker
2022-07-31 21:45:53 -05:00
committed by GitHub
parent 0453b6cbc1
commit 6340607827
7 changed files with 348 additions and 75 deletions

View File

@@ -25,7 +25,7 @@ curve25519-dalek = { version = "3", features = ["std"] }
group = { version = "0.12" }
dalek-ff-group = { path = "../../crypto/dalek-ff-group" }
multiexp = { path = "../../crypto/multiexp" }
multiexp = { path = "../../crypto/multiexp", features = ["batch"] }
transcript = { package = "flexible-transcript", path = "../../crypto/transcript", features = ["recommended"], optional = true }
frost = { package = "modular-frost", path = "../../crypto/frost", features = ["ed25519"], optional = true }