-
Notifications
You must be signed in to change notification settings - Fork 556
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
base: master
Are you sure you want to change the base?
Conversation
…f the syntax used by GnuPG
Add SXprWriter to help writing canonical S expression Fix decoding AES-OCB encrypted S expression keys
Deploy |
Fixed signature bytes array length for EdDSA22519
Is there a plan to merge this? Thanks. |
I haven't heard a single word from the maintainers. Until that happens we are running a fork for ourselves. |
@filipnavara I really appreciate your work. Hope this can get merged some day. |
@filipnavara Was this based on the equivalent code in bc-java or written independently? |
Independently, bc-java didn't have the functionality when I wrote it (not sure if it has it now). |
@peterdettman Do you prefer bc-java equivalent? |
@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. |
@peterdettman that'd be great. Please let me know if you need help! |
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). |
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. |
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).