Mercurial > dropbear
comparison Makefile.in @ 1659:d32bcb5c557d
Add Ed25519 support (#91)
* Add support for Ed25519 as a public key type
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.
* Add curve25519 and ed25519 fuzzers
* Add import and export of Ed25519 keys
author | Vladislav Grishenko <themiron@users.noreply.github.com> |
---|---|
date | Wed, 11 Mar 2020 21:09:45 +0500 |
parents | f52919ffd3b1 |
children | 3a97f14c0235 90fffce0ee99 |
comparison
equal
deleted
inserted
replaced
1658:7402218141d4 | 1659:d32bcb5c557d |
---|---|
34 dss.o bignum.o \ | 34 dss.o bignum.o \ |
35 signkey.o rsa.o dbrandom.o \ | 35 signkey.o rsa.o dbrandom.o \ |
36 queue.o \ | 36 queue.o \ |
37 atomicio.o compat.o fake-rfc2553.o \ | 37 atomicio.o compat.o fake-rfc2553.o \ |
38 ltc_prng.o ecc.o ecdsa.o crypto_desc.o \ | 38 ltc_prng.o ecc.o ecdsa.o crypto_desc.o \ |
39 curve25519.o ed25519.o \ | |
39 dbmalloc.o \ | 40 dbmalloc.o \ |
40 gensignkey.o gendss.o genrsa.o | 41 gensignkey.o gendss.o genrsa.o gened25519.o |
41 | 42 |
42 SVROBJS=svr-kex.o svr-auth.o sshpty.o \ | 43 SVROBJS=svr-kex.o svr-auth.o sshpty.o \ |
43 svr-authpasswd.o svr-authpubkey.o svr-authpubkeyoptions.o svr-session.o svr-service.o \ | 44 svr-authpasswd.o svr-authpubkey.o svr-authpubkeyoptions.o svr-session.o svr-service.o \ |
44 svr-chansession.o svr-runopts.o svr-agentfwd.o svr-main.o svr-x11fwd.o\ | 45 svr-chansession.o svr-runopts.o svr-agentfwd.o svr-main.o svr-x11fwd.o\ |
45 svr-tcpfwd.o svr-authpam.o | 46 svr-tcpfwd.o svr-authpam.o |
50 cli-agentfwd.o | 51 cli-agentfwd.o |
51 | 52 |
52 CLISVROBJS=common-session.o packet.o common-algo.o common-kex.o \ | 53 CLISVROBJS=common-session.o packet.o common-algo.o common-kex.o \ |
53 common-channel.o common-chansession.o termcodes.o loginrec.o \ | 54 common-channel.o common-chansession.o termcodes.o loginrec.o \ |
54 tcp-accept.o listener.o process-packet.o dh_groups.o \ | 55 tcp-accept.o listener.o process-packet.o dh_groups.o \ |
55 common-runopts.o circbuffer.o curve25519-donna.o list.o netio.o | 56 common-runopts.o circbuffer.o list.o netio.o |
56 | 57 |
57 KEYOBJS=dropbearkey.o | 58 KEYOBJS=dropbearkey.o |
58 | 59 |
59 CONVERTOBJS=dropbearconvert.o keyimport.o | 60 CONVERTOBJS=dropbearconvert.o keyimport.o |
60 | 61 |
262 -rm -f *~ *.gcov */*~ | 263 -rm -f *~ *.gcov */*~ |
263 | 264 |
264 ## Fuzzing targets | 265 ## Fuzzing targets |
265 | 266 |
266 # list of fuzz targets | 267 # list of fuzz targets |
267 FUZZ_TARGETS=fuzzer-preauth fuzzer-pubkey fuzzer-verify fuzzer-preauth_nomaths fuzzer-kexdh fuzzer-kexecdh | 268 FUZZ_TARGETS=fuzzer-preauth fuzzer-pubkey fuzzer-verify fuzzer-preauth_nomaths fuzzer-kexdh fuzzer-kexecdh fuzzer-kexcurve25519 |
268 | 269 |
269 FUZZER_OPTIONS = $(addsuffix .options, $(FUZZ_TARGETS)) | 270 FUZZER_OPTIONS = $(addsuffix .options, $(FUZZ_TARGETS)) |
270 | 271 |
271 list-fuzz-targets: | 272 list-fuzz-targets: |
272 @echo $(FUZZ_TARGETS) | 273 @echo $(FUZZ_TARGETS) |
299 | 300 |
300 fuzzer-kexdh: fuzzer-kexdh.o fuzz-harness.o | 301 fuzzer-kexdh: fuzzer-kexdh.o fuzz-harness.o |
301 $(CXX) $(CXXFLAGS) [email protected] $(LDFLAGS) $(svrfuzzobjs) -o $@$(EXEEXT) $(LIBTOM_LIBS) $(LIBS) $(FUZZLIB) @CRYPTLIB@ | 302 $(CXX) $(CXXFLAGS) [email protected] $(LDFLAGS) $(svrfuzzobjs) -o $@$(EXEEXT) $(LIBTOM_LIBS) $(LIBS) $(FUZZLIB) @CRYPTLIB@ |
302 | 303 |
303 fuzzer-kexecdh: fuzzer-kexecdh.o fuzz-harness.o | 304 fuzzer-kexecdh: fuzzer-kexecdh.o fuzz-harness.o |
305 $(CXX) $(CXXFLAGS) [email protected] $(LDFLAGS) $(svrfuzzobjs) -o $@$(EXEEXT) $(LIBTOM_LIBS) $(LIBS) $(FUZZLIB) @CRYPTLIB@ | |
306 | |
307 fuzzer-kexcurve25519: fuzzer-kexcurve25519.o fuzz-harness.o | |
304 $(CXX) $(CXXFLAGS) [email protected] $(LDFLAGS) $(svrfuzzobjs) -o $@$(EXEEXT) $(LIBTOM_LIBS) $(LIBS) $(FUZZLIB) @CRYPTLIB@ | 308 $(CXX) $(CXXFLAGS) [email protected] $(LDFLAGS) $(svrfuzzobjs) -o $@$(EXEEXT) $(LIBTOM_LIBS) $(LIBS) $(FUZZLIB) @CRYPTLIB@ |
305 | 309 |
306 fuzzer-%.options: Makefile | 310 fuzzer-%.options: Makefile |
307 echo "[libfuzzer]" > $@ | 311 echo "[libfuzzer]" > $@ |
308 echo "max_len = 50000" >> $@ | 312 echo "max_len = 50000" >> $@ |
311 # hostkeys.c is checked in to hg. | 315 # hostkeys.c is checked in to hg. |
312 fuzz-hostkeys: | 316 fuzz-hostkeys: |
313 dropbearkey -t rsa -f keyr | 317 dropbearkey -t rsa -f keyr |
314 dropbearkey -t dss -f keyd | 318 dropbearkey -t dss -f keyd |
315 dropbearkey -t ecdsa -size 256 -f keye | 319 dropbearkey -t ecdsa -size 256 -f keye |
320 dropbearkey -t ed25519 -f keyed25519 | |
316 echo > hostkeys.c | 321 echo > hostkeys.c |
317 /usr/bin/xxd -i -a keyr >> hostkeys.c | 322 /usr/bin/xxd -i -a keyr >> hostkeys.c |
318 /usr/bin/xxd -i -a keye >> hostkeys.c | 323 /usr/bin/xxd -i -a keye >> hostkeys.c |
319 /usr/bin/xxd -i -a keyd >> hostkeys.c | 324 /usr/bin/xxd -i -a keyd >> hostkeys.c |
325 /usr/bin/xxd -i -a keyed25519 >> hostkeys.c |