Thank you Vladislav, I've merged this now via github, https://secure.ucc.asn.au/hg/dropbear/rev/d32bcb5c557d
It's a nice clean and thorough implementation. Cheers, Matt > On Fri 6/3/2020, at 10:45 pm, Vladislav Grishenko <themiron...@gmail.com> > wrote: > > Hello, > > Initially inspired by Péter Szabó work from 2017, 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, but still need corresponding data from > dropbear-fuzzcorpus > · Man, license, commens updated to fit Ed25519 > > So far, DROPBEAR_CURVE25519 increases dropbear binary by ~2,5Kb on X86-64 vs > ~8Kb of current curve25519_donna implementation. > DROPBEAR_ED25519 adds ~7,5Kb to dropbear and ~1kB to dropbearconvert for > OpenSSH import/export. > > Related PR against current sources is here > https://github.com/mkj/dropbear/pull/91 > <https://github.com/mkj/dropbear/pull/91>, patches are attached. > Review and/or any suggestios will be highly appreciated. > > Thank you and > Best Regards, Vladislav Grishenko > > <0001-Add-support-for-Ed25519-as-a-public-key-type.patch><0002-Add-curve25519-and-ed25519-fuzzers.patch><0003-Add-import-and-export-of-Ed25519-keys.patch>