X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/9c1437f372e62f0b3b3a7162aabee73bdc96ce4b..6a024d24d97cb5d42c0091571735475b849f59f4:/symm/Makefile.am diff --git a/symm/Makefile.am b/symm/Makefile.am index c30fd7e5..6a0683cb 100644 --- a/symm/Makefile.am +++ b/symm/Makefile.am @@ -69,7 +69,7 @@ $(srcdir)/modes.am: modes.am.in Makefile.am hashmacmode="$(HASHMACMODES)" $(srcdir)/stubs.am: stubs.am.in Makefile.am $(AM_V_GEN)$(multigen) -g $(srcdir)/stubs.am.in $(srcdir)/stubs.am \ - descr,hname,base="$(STUBS_HDR)" cname="$(STUBS_SRC)" + descr,hname,base="$(STUBS_HDR)" cname,cbase="$(STUBS_SRC)" ## Initialize lists of known classes. ALL_CIPHERS = $(CIPHER_MODES) @@ -193,6 +193,9 @@ if CPUFAM_ARMEL libsymm_la_SOURCES += rijndael-arm-crypto.S endif endif +if CPUFAM_ARM64 +libsymm_la_SOURCES += rijndael-arm64-crypto.S +endif nodist_libsymm_la_SOURCES += ../precomp/symm/rijndael-tab.c PRECOMPS += $(precomp)/symm/rijndael-tab.c PRECOMP_PROGS += rijndael-mktab @@ -219,6 +222,7 @@ nodist_libsymm_la_SOURCES += ../precomp/symm/safer-tab.c PRECOMPS += $(precomp)/symm/safer-tab.c PRECOMP_PROGS += safer-mktab STUBS_HDR += SAFER-SK,safersk,safer +STUBS_SRC += safersk,safer if !CROSS_COMPILING $(precomp)/symm/safer-tab.c: $(AM_V_at)$(MKDIR_P) $(precomp)/symm @@ -327,9 +331,15 @@ HASHES += sha ## The National Security Agency's `SHA-2' suite. HASHES += sha224 sha256 -HASHES += sha384 sha512 +HASHES += sha384 sha512 sha512/224 sha512/256 STUBS_HDR += SHA-224,sha224,sha256 STUBS_HDR += SHA-384,sha384,sha512 +STUBS_HDR += SHA-512/256,sha512-256,sha512 +STUBS_HDR += SHA-512/224,sha512-224,sha512 +STUBS_SRC += sha224,sha256 +STUBS_SRC += sha384,sha512 +STUBS_SRC += sha512-256,sha512 +STUBS_SRC += sha512-224,sha512 ## Anderson and Biham's `Tiger' hash function. HASHES += tiger @@ -352,6 +362,7 @@ nodist_libsymm_la_SOURCES += ../precomp/symm/whirlpool-tab.c PRECOMPS += $(precomp)/symm/whirlpool-tab.c PRECOMP_PROGS += whirlpool-mktab STUBS_HDR += Whirlpool-256,whirlpool256,whirlpool +STUBS_SRC += whirlpool256,whirlpool if !CROSS_COMPILING $(precomp)/symm/whirlpool-tab.c: $(AM_V_at)$(MKDIR_P) $(precomp)/symm @@ -362,6 +373,67 @@ $(precomp)/symm/whirlpool-tab.c: $(precomp)/symm/whirlpool-tab.c endif +## Bertoni, Daemen, Peeters, and Van Assche's `Keccak', selected as the basis +## for SHA-3. +pkginclude_HEADERS += keccak1600.h +libsymm_la_SOURCES += keccak1600.c +TESTS += keccak1600.t$(EXEEXT) +EXTRA_DIST += t/keccak1600 + +pkginclude_HEADERS += sha3.h +libsymm_la_SOURCES += sha3.c + +HASHES += sha3-224 sha3-256 sha3-384 sha3-512 +STUBS_HDR += SHA3-224,sha3-224,sha3 +STUBS_HDR += SHA3-256,sha3-256,sha3 +STUBS_HDR += SHA3-384,sha3-384,sha3 +STUBS_HDR += SHA3-512,sha3-512,sha3 +STUBS_SRC += sha3-224,sha3 +STUBS_SRC += sha3-256,sha3 +STUBS_SRC += sha3-384,sha3 +STUBS_SRC += sha3-512,sha3 + +STUBS_HDR += SHAKE128,shake128,sha3 +STUBS_HDR += SHAKE256,shake256,sha3 + +STUBS_HDR += SHAKE128-XOF,shake128-xof,sha3 +STUBS_HDR += SHAKE256-XOF,shake256-xof,sha3 + +STUBS_HDR += KMAC128,kmac128,sha3 +STUBS_HDR += KMAC256,kmac256,sha3 + +ALL_HASHES += shake128 shake256 +ALL_CIPHERS += shake128-xof shake256-xof +ALL_MACS += kmac128 kmac256 + +TESTS += sha3.t$(EXEEXT) +SHA3_TESTS = t/SHA3_224ShortMsg.rsp +SHA3_TESTS += t/SHA3_224LongMsg.rsp +SHA3_TESTS += t/SHA3_256ShortMsg.rsp +SHA3_TESTS += t/SHA3_256LongMsg.rsp +SHA3_TESTS += t/SHA3_384ShortMsg.rsp +SHA3_TESTS += t/SHA3_384LongMsg.rsp +SHA3_TESTS += t/SHA3_512ShortMsg.rsp +SHA3_TESTS += t/SHA3_512LongMsg.rsp +SHA3_TESTS += t/SHA3_224Monte.rsp +SHA3_TESTS += t/SHA3_256Monte.rsp +SHA3_TESTS += t/SHA3_384Monte.rsp +SHA3_TESTS += t/SHA3_512Monte.rsp +SHA3_TESTS += t/SHAKE128ShortMsg.rsp +SHA3_TESTS += t/SHAKE128LongMsg.rsp +SHA3_TESTS += t/SHAKE128VariableOut.rsp +SHA3_TESTS += t/SHAKE256ShortMsg.rsp +SHA3_TESTS += t/SHAKE256LongMsg.rsp +SHA3_TESTS += t/SHAKE256VariableOut.rsp +EXTRA_DIST += $(SHA3_TESTS) sha3-trans t/sha3.local t/sha3 +MAINTAINERCLEANFILES += $(srcdir)/t/sha3 +sha3.log: t/sha3 +$(srcdir)/t/sha3: $(SHA3_TESTS) sha3-trans t/sha3.local + $(AM_V_GEN)cd $(srcdir) && \ + { ./sha3-trans $(SHA3_TESTS); \ + cat t/sha3.local; } >t/sha3.new && \ + mv t/sha3.new t/sha3 + ## Bellare, Canetti and Krawczyk's `HMAC' mode for message authentication. HASHMACMODES += hmac @@ -408,6 +480,9 @@ endif if CPUFAM_ARMEL libsymm_la_SOURCES += salsa20-arm-neon.S endif +if CPUFAM_ARM64 +libsymm_la_SOURCES += salsa20-arm64.S +endif TESTS += salsa20.t$(EXEEXT) ALL_CIPHERS += salsa20 salsa2012 salsa208 ALL_CIPHERS += salsa20-ietf salsa2012-ietf salsa208-ietf @@ -447,6 +522,9 @@ endif if CPUFAM_ARMEL libsymm_la_SOURCES += chacha-arm-neon.S endif +if CPUFAM_ARM64 +libsymm_la_SOURCES += chacha-arm64.S +endif TESTS += chacha.t$(EXEEXT) EXTRA_DIST += t/chacha ALL_CIPHERS += chacha20 chacha12 chacha8 @@ -473,6 +551,7 @@ check_PROGRAMS += poly1305-p11.t poly1305_p11_t_SOURCES = poly1305.c poly1305_p11_t_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_RIG -DSRCDIR="\"$(srcdir)\"" poly1305_p11_t_CPPFLAGS += -DPOLY1305_IMPL=11 +poly1305_p11_t_LDFLAGS = $(TEST_LDFLAGS) poly1305_p11_t_LDADD = $(TEST_LIBS) $(top_builddir)/libcatacomb.la poly1305_p11_t_LDADD += $(mLib_LIBS) $(CATACOMB_LIBS) $(LIBS) @@ -486,16 +565,16 @@ MAINTAINERCLEANFILES += modes/gen-stamp modes/gen-stamp: Makefile.am $(AM_V_at)$(MKDIR_P) $(srcdir)/modes $(AM_V_GEN)$(multigen) -g $(srcdir)/mode.c.in \ - $(srcdir)/modes/@base-@mode.c \ + $(srcdir)/modes/@{base:f}-@mode.c \ base="$(BLKCS)" mode="$(BLKCMODES)" $(AM_V_at)$(multigen) -g $(srcdir)/mode.h.in \ - $(srcdir)/modes/@base-@mode.h \ + $(srcdir)/modes/@{base:f}-@mode.h \ base="$(BLKCS)" mode="$(BLKCMODES)" $(AM_V_at)$(multigen) -g $(srcdir)/mode.c.in \ - $(srcdir)/modes/@base-@mode.c \ + $(srcdir)/modes/@{base:f}-@mode.c \ base="$(HASHES)" mode="$(HASHMODES)" $(AM_V_at)$(multigen) -g $(srcdir)/mode.h.in \ - $(srcdir)/modes/@base-@mode.h \ + $(srcdir)/modes/@{base:f}-@mode.h \ base="$(HASHES)" mode="$(HASHMODES)" $(AM_V_at)touch $(srcdir)/modes/gen-stamp @@ -526,7 +605,7 @@ stubs.gen-stamp: Makefile.am $(AM_V_GEN)$(multigen) -g $(srcdir)/stub.h.in \ $(srcdir)/@name.h descr,name,base="$(STUBS_HDR)" $(AM_V_GEN)$(multigen) -g $(srcdir)/stub.c.in \ - $(srcdir)/@name.c name="$(STUBS_SRC)" + $(srcdir)/@name.c name,base="$(STUBS_SRC)" $(AM_V_at)touch $(srcdir)/stubs.gen-stamp ## Generated stub headers.