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
Description: Binary data
0002-Add-curve25519-and-ed25519-fuzzers.patch
Description: Binary data
0003-Add-import-and-export-of-Ed25519-keys.patch
Description: Binary data