Comments (5)
We use https://eprint.iacr.org/2015/1060 for bls12_381
; we may as well use it here too.
from pasta_curves.
Also, looking at the code, we already use dbl-2009-l
for Pallas and Vesta doubling (and dbl-2007-bl
for the general doubling code for the Iso points).
from pasta_curves.
Reminded myself how https://eprint.iacr.org/2015/1060 works, and it uses homogeneous coordinates; we currently use Jacobian coordinates because of the tie-in with hash-to-curve. So I think using these addition formulas (which would be concretely faster than the Jacobian ones, per section 4.2 of that paper) is a good idea, as point addition is used significantly more.
from pasta_curves.
Reminded myself how https://eprint.iacr.org/2015/1060 works, and it uses homogeneous coordinates; we currently use Jacobian coordinates because of the tie-in with hash-to-curve. So I think using these addition formulas (which would be concretely faster than the Jacobian ones, per section 4.2 of that paper) is a good idea, as point addition is used significantly more.
you can still do Jacobian hash to curves/groups. The output is in affine anyway so it does not really matter right?
from pasta_curves.
I'd like to note the importance of this given the current addition function isn't constant time, enabling side channel attacks. While I can create a dedicated issue/PR for that, ideally that's handled with this IMO.
from pasta_curves.
Related Issues (20)
- Add shift operators to FieldExt HOT 1
- Add `ec-gpu` support HOT 3
- Release 0.3.0
- Add `alloc` feature flag HOT 2
- Remove `std` feature flag
- Add constructor for `Coordinates` HOT 2
- Enable `ec-gpu` to generate MSM and FFT code for `pasta_curves`
- Book deployment is broken HOT 1
- Kill `CurveExt` and `CurveAffine` traits
- Kill `FieldExt` trait
- alloc independent `hash_to_curve` API HOT 3
- Reduce code duplication in field implementations HOT 3
- Worth consider asmffi asm implementation for pasta fields?
- Release pasta_curves 0.5.1 with 32-bit sqrt fix HOT 1
- Check whether the libsecp256k1 optimization that uses an isomorphic curve is applicable
- Consider implementing (de)serialization for base types (Fp, Fq) HOT 1
- Add security audit status and warnings to README
- Move `lazy_static/spin_no_std` out of default features and behind a separate feature flag
- Replace `lazy_static` with `core::cell::OnceCell` once MSRV is at least 1.70
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pasta_curves.