-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generic EC #186
base: master
Are you sure you want to change the base?
Generic EC #186
Conversation
…e::Scalar. So this goes back to the old `Scalar(BackendScalar)` type and makes it generic over the curve.
Patch sec1 crate v0.7.3 to impl ModulusSize for U8
Make Point generic over scheme params
Yes, that looks correct, I added a comment in Also, there are three remaining comments mentioning |
Make
synderion
generic over the elliptic curve type.Very noisy PR, but the gist of it is that we make the
SchemeParams
trait agnostic over the elliptic curve used and thread that change across the code base while removing all explicit dependencies onk256
.Introduces a new generic parameter
P: SchemeParams
in many places, hence most of the noise.The main areas to consider during review are:
#[serde(bound(deserialize(STUFF))]
are necessary or even why they work beyond "serde magic". Not great.HashOutput
associated type onSchemeParams
should be considered temporary. The goal is to remove the need for it and then we can remove it entirely.WideCurveUint
associated type onSchemeParams
is there to allow reduced bias when generating scalars from extendable hashes. It's not great to have to do this, but I have found no better way. :/One outstanding question not addressed here is how to tweak the
TestParams
for optimal speed. ForTinyCurve64
these settings seem to work:…along with a
PRIME_BITS
setting of256
.Closes #27.