-
Notifications
You must be signed in to change notification settings - Fork 31
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
add ecdh #199
base: main
Are you sure you want to change the base?
add ecdh #199
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just nitted the living hell out of you -- sorry.
This is looking really good. I notice your comment about groups/curves/types. Is there a change you have in mind? Ronk has grown a bit and I do think we could stand a refactor to simplify and clean up. I'm finding our interfaces are just not quite there.
What specifically do we need? A pairing friendly curve type? Perhaps we can make a finer grained trait or something:
pub trait PairingCurve: EllipticCurve { .. }
re: types tbh there's a few directions we could go, depends on how absurd you wanna go w it. like breaking out pairing types & having diff curves compatible w diff pairing types. ie but that may be a lil too funky for a simple educational resource i'm down to just use the more fine type for now |
diffs
added:
FiniteField
andCurveGroup
PlutoScalarField
andPluto*Curve
typesPlutoScalarField
andPluto*Curve
typesnotes:
i used
PlutoScalarField
andPluto*Curve
types bc the pairing fn takes a finer type thanCurveGroup
. maybe there's a better type to use?also, base
ecdh
passes smoke check,tp_ecdh
does not. perhaps it's a math bug on my end? it's computed atm as follows.closes #81