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