botan
botan copied to clipboard
[WIP] Add pairings over 256-bit Barreto Naehrig curve
- [ ] Provide an abstract interface that can be implemented across several pairing types (eg BLS or BN-448). TBH I'm not even sure how to approach this in C++ given the need for several sub classes (G1,G2,GT) which are associated with the pairing. But it would be useful to implement things like BF-IBE or BLS signatures just once and then use them across multiple pairing types.
- [x] Should use
Montgomery_Int
from #1461 instead of GFp1 - [ ] Add hashing on the curve (APIs are there but not implemented)
- [ ] Documentation
- [ ] More tests (going to fuzz vs dclxvi implementation to generate test vectors and provide more assurance of correctness)
- [ ] Demo, maybe BLS short signatures
Codecov Report
Merging #1432 into master will increase coverage by
0.02%
. The diff coverage is87.83%
.
@@ Coverage Diff @@
## master #1432 +/- ##
==========================================
+ Coverage 92.03% 92.05% +0.02%
==========================================
Files 517 519 +2
Lines 55140 55839 +699
Branches 5740 5754 +14
==========================================
+ Hits 50748 51403 +655
- Misses 4392 4436 +44
Impacted Files | Coverage Δ | |
---|---|---|
src/tests/test_bn256.cpp | 100% <100%> (ø) |
|
src/cli/speed.cpp | 87.92% <3.22%> (-2.83%) |
:arrow_down: |
src/lib/pairings/bn256/bn256.cpp | 91.24% <91.24%> (ø) |
|
src/lib/math/bigint/big_ops2.cpp | 96.47% <0%> (+0.7%) |
:arrow_up: |
src/lib/pubkey/mce/mceliece_key.cpp | 86.51% <0%> (+1.12%) |
:arrow_up: |
src/lib/misc/cryptobox/cryptobox.cpp | 95.23% <0%> (+1.58%) |
:arrow_up: |
src/lib/math/numbertheory/monty.cpp | 81.46% <0%> (+15.94%) |
:arrow_up: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 4b1252b...4f27f8f. Read the comment docs.