You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arnaucube
91767c7b61
Add goff to BabyJubJub point addition
```
Benchmarks (On a Intel(R) Core(TM) i7-8705G CPU @ 3.10GHz, with 32 GB of RAM):
- Old (commit: e04ca5764a ):
BenchmarkBabyjub/AddConst-8 1000000 1072 ns/op
BenchmarkBabyjub/AddRnd-8 93417 12943 ns/op
BenchmarkBabyjub/MulRnd-8 252 4797810 ns/op
BenchmarkBabyjub/Compress-8 7291580 166 ns/op
BenchmarkBabyjub/InCurve-8 611137 1999 ns/op
BenchmarkBabyjub/InSubGroup-8 615792 2021 ns/op
BenchmarkBabyjubEddsa/SignMimc7-8 126 9358542 ns/op
BenchmarkBabyjubEddsa/VerifyMimc7-8 124 9484005 ns/op
BenchmarkBabyjubEddsa/SignPoseidon-8 126 9486484 ns/op
BenchmarkBabyjubEddsa/VerifyPoseidon-8 126 9622807 ns/op
- With new point addition algorithm (commit: aab1a681dd4b00cab49f39f9e30d6f28034589c1):
BenchmarkBabyjub/AddConst-8 1356836 881 ns/op
BenchmarkBabyjub/AddRnd-8 274112 4220 ns/op
BenchmarkBabyjub/MulRnd-8 492 2474412 ns/op
BenchmarkBabyjub/Compress-8 6964855 197 ns/op
BenchmarkBabyjub/InCurve-8 608169 2008 ns/op
BenchmarkBabyjub/InSubGroup-8 618772 1954 ns/op
BenchmarkBabyjubEddsa/SignMimc7-8 238 4962397 ns/op
BenchmarkBabyjubEddsa/VerifyMimc7-8 235 5234883 ns/op
BenchmarkBabyjubEddsa/SignPoseidon-8 240 5028720 ns/op
BenchmarkBabyjubEddsa/VerifyPoseidon-8 243 5226654 ns/op
Point Addition: ~3x
Point scalar Mul: ~1.9x
Signature (poseidon): ~1.88x
Verification (poseidon): ~1.84x
- With new point addition algorithm & goff (current commit):
BenchmarkBabyjub/AddConst-8 3000531 400 ns/op
BenchmarkBabyjub/AddRnd-8 2770335 428 ns/op
BenchmarkBabyjub/MulRnd-8 6636 175522 ns/op
BenchmarkBabyjub/Compress-8 7358768 180 ns/op
BenchmarkBabyjub/InCurve-8 539193 1950 ns/op
BenchmarkBabyjub/InSubGroup-8 601402 1958 ns/op
BenchmarkBabyjubEddsa/SignMimc7-8 2940 409487 ns/op
BenchmarkBabyjubEddsa/VerifyMimc7-8 2908 414407 ns/op
BenchmarkBabyjubEddsa/SignPoseidon-8 2395 493165 ns/op
BenchmarkBabyjubEddsa/VerifyPoseidon-8 2491 494849 ns/op
Point Addition: ~9.86x
Point scalar Mul: ~14x
Signature (poseidon): ~10.2x
Verification (poseidon): ~10.56x
---
Total improvement (from old to current):
Point Addition: ~30.24x
Point scalar Mul: ~27.33x
Signature (poseidon): ~19.24x
Verification (poseidon): ~19.44x
```
|
4 years ago |
.. |
babyjub.go
|
Add goff to BabyJubJub point addition
|
4 years ago |
babyjub_test.go
|
Add add-2008-bbjlp for point addition
|
4 years ago |
eddsa.go
|
Add add-2008-bbjlp for point addition
|
4 years ago |
eddsa_test.go
|
Update Poseidon to new circomlib version & https://extgit.iaik.tugraz.at/krypto/hadeshash
|
4 years ago |
helpers.go
|
Fix linters errors
|
4 years ago |