-
Notifications
You must be signed in to change notification settings - Fork 191
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
Use Group
instead of Curve
when appropriate
#1177
Comments
I think you're confusing
As for getting everything to work with Ristretto255, that will probably take some refactoring and maybe some combinations of features just don't make sense. But it's definitely not just as simple as |
How so? Do you mean because I was proposing to use
As far as I could tell, it would take some major restructuring and I'm clueless enough not to really be able to say what direction this should go. Taking So removing I'm not sure how to circumvent this and my lack of cryptographic knowledge really hinders me to put a vision on this, I'm happy for any input about a direction to go for this. Apologies in advance if I'm just getting something totally wrong here. |
Yeah, The This is pretty different from The This all could likely be refactored and simplified. The integration with I think it makes sense to implement |
Yes Personally I would at least need: I would like to point out that some refactoring might be needed for Ed25519/Curve25519 as well, as it doesn't have an affine representation in curve25519-dalek. What is going to be the move here? Actually implement an affine representation or is curve25519-dalek just not going to be compatible for the foreseeable future? |
Is there a reason you can't use |
We can. If Most of my requirements here come from voprf and opaque-ke, which do want to use Ristretto255 and Curve25519 but have to make their own types to wrap over the differences between the elliptic-curve and curve25519-dalek ecosystem. It would be nice not to have to make your own HPKE is another example, if you look at hpke, they had to make a new trait with an associated type for But generally speaking every time I'm working on cryptographic libraries and I want to use Ristretto255 or Curve25519, I have to re-implement a lot of great types provided by elliptic-curve. It would be nice if these two ecosystems fit together better. For clarification though, this issue doesn't prevent anything right now. As you can see there are plenty of workarounds. I understand that this is a very tall order and might not be appropriate for elliptic-curve in the first place. |
FWIW, I proposed renaming |
With dalek-cryptography/curve25519-dalek#473 hopefully getting done, it would be nice to use more types with Ristretto255.
Unfortunately types like
PublicKey
,SecretKey
,NonZeroScalar
,hash2curve::GroupDigest
, and theecdh
module all work overCurve
, which can not be implemented over Ristretto255 (as far as I understand).So transitioning these types to use
Group
instead could allow us to use these types with Ristretto255 too.The text was updated successfully, but these errors were encountered: