Skip to content
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

Initial implementation of OpenPGP EdDSA and usage of the Curve25519 in ECDH #282

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

filipnavara
Copy link

@filipnavara filipnavara commented Dec 4, 2020

Also implements broader - but still incomplete - support for S expression keys in non-canonical format.

The endianness of Curve25519 keys in ECDH is a mess. Unlike all other ECDH keys the points are represented as little-endian for private keys. This was cross-checked with GnuPG. Some discussion about the standards is at openpgpjs/elliptic#1 (comment).

@filipnavara filipnavara marked this pull request as ready for review December 13, 2020 12:06
@filipnavara filipnavara marked this pull request as draft December 13, 2020 12:15
@filipnavara filipnavara marked this pull request as ready for review December 13, 2020 12:48
filipnavara added a commit to 1hub/springburg that referenced this pull request Dec 16, 2020
@michakinchen1988
Copy link

Deploy

Fixed signature bytes array length for EdDSA22519
@oseack
Copy link

oseack commented Dec 7, 2021

Is there a plan to merge this? Thanks.
If you are busy and need help, please let me know.

@filipnavara
Copy link
Author

filipnavara commented Dec 7, 2021

I haven't heard a single word from the maintainers. Until that happens we are running a fork for ourselves.

cc @peterdettman

@oseack
Copy link

oseack commented Dec 7, 2021

@filipnavara I really appreciate your work. Hope this can get merged some day.
@michakinchen1988 Any plan to make it happen? Looking forward to this fix. Thanks

@peterdettman
Copy link
Collaborator

@filipnavara Was this based on the equivalent code in bc-java or written independently?

@filipnavara
Copy link
Author

Independently, bc-java didn't have the functionality when I wrote it (not sure if it has it now).

@oseack
Copy link

oseack commented Dec 7, 2021

@peterdettman Do you prefer bc-java equivalent?

@peterdettman
Copy link
Collaborator

@oseack We do prefer to keep the codebases similar for ease of maintenance, but I am not asking for anyone to redo this. I will just substitute any bc-java stuff where appropriate.

@oseack
Copy link

oseack commented Dec 7, 2021

@peterdettman that'd be great. Please let me know if you need help!

@fnajera-rac-de
Copy link

Thanks @filipnavara for your code! I have put your changes on top of the current master and also migrated the corresponding Java tests - which are also successful (see fnajera-rac-de@f10df3a).

@peterdettman
Copy link
Collaborator

As mentioned at #345, the EdDSA/XDH stuff has been ported from bc-java.

Comparing to this PR, the only thing missing appears to be the SExpr class changes, which I plan to come back to after we get the v2 release out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants