Skip to content

Switch to Ed25519+Cv25519 in v1.1#393

Merged
Valodim merged 2 commits intomasterfrom
ecc
Jan 28, 2019
Merged

Switch to Ed25519+Cv25519 in v1.1#393
Valodim merged 2 commits intomasterfrom
ecc

Conversation

@Valodim
Copy link
Contributor

@Valodim Valodim commented Nov 9, 2018

As discussed at the meeting.

RSA remains a SHOULD. I put a remark about older versions into a note, that seemed like the appropriate place.

@Valodim Valodim requested review from azul, hpk42 and pbrunschwig November 9, 2018 13:08
@Valodim Valodim added this to the Level 1.1 spec milestone Nov 9, 2018
Copy link
Contributor

@azul azul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Good idea to point out the previous situation in a note.

3072-bit RSA public keys. It MAY support other OpenPGP key formats
found in an Autocrypt header (for example, by passing it agnostically
to an OpenPGP backend for handling).
A Level 1 MUA MUST be capable of processing and handling Ed25519
Copy link
Contributor

@r10s r10s Nov 11, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this read "A Level 1.1 MUA ..."?
EDIT: okay, i recall and understand :) the level is the "level of protection" in general, so, probably this is fine.
however, seeing these two different requirements, both belonging to the same "Level", as a diff below each other, may be a bit confusing. maybe we should add the version number or so, sth. as "level 1, version 1.1".

Copy link
Contributor Author

@Valodim Valodim Nov 11, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope. This is still level 1, but version 1.1 of it. Since all implementations are on board with this in practice, and this is mostly an update to the "how" rather than the "what", we thought that there's no point making a whole "level" out of it :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, as mentioned, i understand. but still find this confusing ;)
but it's fine for me :)

Copy link
Contributor

@pbrunschwig pbrunschwig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine with me.

@r10s The Level is an overall concept, whereas the version is the revision of the document.

@hpk42
Copy link
Contributor

hpk42 commented Nov 12, 2018 via email

@Valodim Valodim requested a review from dkg November 12, 2018 08:25
configuration. Support for elliptic curve cryptography in deployed
OpenPGP implementations improved since then, and the switch to ECC
was made in version 1.1 (December 2018) due to message size
considerations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i remain fine with this, good note 👍

Copy link
Contributor

@hpk42 hpk42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think this is fine to merge. thanks @Valodim for working this out!

@dkg
Copy link
Member

dkg commented Dec 20, 2018

The typical way that i'd expect such a change to happen in a protocol doc with wider adoption is to require support for handling the new crypto primitives (when seen from communications peers) in version X+1, and then mandate generation of the new key types in version X+2.

Perhaps we're small enough and we have a wide enough canvas already that we can just jump ahead, though it makes me slightly nervous. PGPy still doesn't support cv25519 and ed25519, for instance, though perhaps its current stagnation is a warning about that library itself. :(

I'm open to the idea, though -- i definitely like the size improvements we're seeing with the ECC keys.

This change should not be merged without updates to the appendix, though -- the example keys and messages should all be re-created using 25519.

@oliverFU
Copy link
Contributor

Hey,

when do you plan to switch?
Our prototype still only supports RSA and I am actually figuring out how easy it is to move to ed25519. We are currently using ObjectivePGP: https://github.com/krzyzanowskim/ObjectivePGP

Best
Oliver

@Valodim
Copy link
Contributor Author

Valodim commented Jan 22, 2019

I updated the examples. I already double-checked myself, anyone care to double-double-check? Also added a script for generation. It works, but better not look at that too closely ;)

@Valodim Valodim merged commit dbf3ac6 into master Jan 28, 2019
@Valodim Valodim deleted the ecc branch January 28, 2019 10:47
@Valodim
Copy link
Contributor Author

Valodim commented Jan 28, 2019

@oliverFU now :)

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.

7 participants