Move function requiring AffinePoint from EdwardsPoint to AffinePoint#1333
Move function requiring AffinePoint from EdwardsPoint to AffinePoint#1333tarcieri merged 2 commits intoRustCrypto:masterfrom
AffinePoint from EdwardsPoint to AffinePoint#1333Conversation
deecb76 to
6b929cf
Compare
c452dc0 to
ab14e29
Compare
|
This is definitely pushing my knowledge of both Edwards curves and Ed448-Goldilocks, and sent me on a rabbit hole reading the paper. I think both versions of
Edit: opened an issue about this #1349, and it seems to be the reason you weren't seeing speedups using twisted scalar multiplication in #1337 |
|
To expound on that:
Conversions look like: ...but I think it's fine to preserve methods like Likewise, scalar multiplication would ideally do a more direct conversion from |
|
I hope I'm on the right track here? I'm kinda trying to align things with the other RustCrypto crates, where most types have very few methods and its all mostly implemented through traits. It also makes sense to me, because otherwise we have all those duplicate methods. |
|
Putting on draft until I rebase. Still working on those optimized implementations from #1316. |
d3c7806 to
e3f2bb4
Compare
A bunch of functionality implemented on
EdwardsPointinternally just converts toAffinePoint. This functionality should rather live inAffinePoint.This PR also implement
BatchNormalizeforEdwardsPoint, which wouldn't have much of a point without these changes to begin with.