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

Add Ed25519 support #91

Merged
merged 3 commits into from
Mar 11, 2020
Merged

Add Ed25519 support #91

merged 3 commits into from
Mar 11, 2020

Conversation

themiron
Copy link
Contributor

@themiron themiron commented Mar 5, 2020

Initially inspired by @pts work and #75 pr, but made with general approach:

  • Curve25519/Ed25519 implementation based on TweetNaCl version 20140427, old Google's curve25519_donna dropped as unnecessary, saves a lot of size.
  • SHA512 reused from LibTomCrypt, no need to keep own copy
  • Sign/Verify require no additional memory allocation
  • Dropbear's API made ~similar to LibTomCrypt devel to ease possible switch, if necessary. Anyway, LibTomCrypt is based on TweetNaCl as well.
  • Default private key path is key/etc/dropbear/dropbear_ed25519_host_key
  • Implemented general import from / export to OpenSSH private keys, can be reused for other key types on necessary
  • Implemented *25519 fuzzers
  • Man, license, commens updated

So far, DROPBEAR_CURVE25519 increases binary by ~2,5Kb on X86-64, DROPBEAR_ED25519 adds 7,5Kb more vs ~8Kb for DROPBEAR_CURVE25519 only.

Ed25519 is a elliptic curve signature scheme that offers
better security than ECDSA and DSA and good performance. It may be
used for both user and host keys.

OpenSSH key import and fuzzer are not supported yet.

Initially inspired by Peter Szabo.
@geor-g
Copy link

geor-g commented May 31, 2020

@mkj Any chance of a new release including ed25519 support?

LICENSE Show resolved Hide resolved
ejiektpobehuk added a commit to ejiektpobehuk/openzfs-docs that referenced this pull request Mar 7, 2021
ejiektpobehuk added a commit to ejiektpobehuk/openzfs-docs that referenced this pull request Mar 9, 2021
Signed-off-by: Vlad Petrov <ejiek@mail.ru>

ed25519 support: mkj/dropbear#91
ejiektpobehuk added a commit to ejiektpobehuk/openzfs-docs that referenced this pull request Mar 9, 2021
ed25519 support: mkj/dropbear#91

Signed-off-by: Vlad Petrov <ejiek@mail.ru>
ejiektpobehuk added a commit to ejiektpobehuk/openzfs-docs that referenced this pull request Mar 23, 2021
ed25519 support: mkj/dropbear#91

Signed-off-by: Vlad Petrov <ejiek@mail.ru>
ejiektpobehuk added a commit to ejiektpobehuk/openzfs-docs that referenced this pull request Mar 23, 2021
ed25519 support: mkj/dropbear#91

Signed-off-by: Vlad Petrov <ejiek@mail.ru>
rlaager pushed a commit to openzfs/openzfs-docs that referenced this pull request Mar 24, 2021
ed25519 support: mkj/dropbear#91

Closes #131

Signed-off-by: Vlad Petrov <ejiek@mail.ru>
Signed-off-by: Maurice Zhou <ja@apvc.uk>
[more concise wording; fix rst formatting]
Signed-off-by: Richard Laager <rlaager@wiktel.com>
jwk404 pushed a commit to openzfs/zfs that referenced this pull request Nov 4, 2021
Note that Dropbear supports ed25519 keys since version 2020.79.

See mkj/dropbear#91

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: John Kennedy <john.kennedy@delphix.com>
Signed-off-by: Michael Franzl <michael@franzl.name>
Closes #12715
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

4 participants