Initial implementation of OpenPGP EdDSA and usage of the Curve25519 in ECDH#282
Initial implementation of OpenPGP EdDSA and usage of the Curve25519 in ECDH#282filipnavara wants to merge 8 commits intobcgit:masterfrom
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. |
Hi Peter, I am wondering if this fix is integrated? Thanks. |
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).