X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/aac19f0d10e3e1a41ddb5ca3fdbdaab97d2d439d..HEAD:/symm/Makefile.am diff --git a/symm/Makefile.am b/symm/Makefile.am index 24a0afcc..e87d7411 100644 --- a/symm/Makefile.am +++ b/symm/Makefile.am @@ -133,13 +133,14 @@ endif BLKCS += cast128 cast256 libsymm_la_SOURCES += cast-s.c cast-sk.c cast-base.h cast256.log: t/cast256 -EXTRA_DIST += t/cast256.aes +EXTRA_DIST += t/cast256.aes t/cast256.local MAINTAINERCLEANFILES += $(srcdir)/t/cast256 -t/cast256: t/cast256.aes - $(AM_V_GEN)$(srcdir)/aes-trans CAST256 \ - <$(srcdir)/t/cast256.aes \ - >$(srcdir)/t/cast256.new && \ - mv $(srcdir)/t/cast256.new $(srcdir)/t/cast256 +t/cast256: t/cast256.aes t/cast256.local + $(AM_V_GEN)cd $(srcdir) && \ + { ./aes-trans CAST256 t/cast256.new && \ + mv t/cast256.new t/cast256 ## IBM's `DES' block cipher, by Feistel, Coppersmith, and others. BLKCS += des des3 @@ -175,13 +176,14 @@ $(precomp)/symm/mars-tab.c: mv $(precomp)/symm/mars-tab.c.new $(precomp)/symm/mars-tab.c endif mars.log: t/mars -EXTRA_DIST += t/mars.aes +EXTRA_DIST += t/mars.aes t/mars.local MAINTAINERCLEANFILES += $(srcdir)/t/mars -t/mars: t/mars.aes - $(AM_V_GEN)$(srcdir)/aes-trans Mars \ - <$(srcdir)/t/mars.aes \ - >$(srcdir)/t/mars.new && \ - mv $(srcdir)/t/mars.new $(srcdir)/t/mars +t/mars: t/mars.aes t/mars.local + $(AM_V_GEN)cd $(srcdir) && \ + { ./aes-trans Mars t/mars.new && \ + mv t/mars.new t/mars ## Daemen, Peeters, Van Assche and Rijmen's `Noekeon'. BLKCS += noekeon @@ -222,13 +224,14 @@ $(precomp)/symm/rijndael-tab.c: $(precomp)/symm/rijndael-tab.c endif rijndael.log: t/rijndael -EXTRA_DIST += t/rijndael.aes +EXTRA_DIST += t/rijndael.aes t/rijndael.local MAINTAINERCLEANFILES += $(srcdir)/t/rijndael -t/rijndael: t/rijndael.aes - $(AM_V_GEN)$(srcdir)/aes-trans Rijndael \ - <$(srcdir)/t/rijndael.aes \ - >$(srcdir)/t/rijndael.new && \ - mv $(srcdir)/t/rijndael.new $(srcdir)/t/rijndael +t/rijndael: t/rijndael.aes t/rijndael.local + $(AM_V_GEN)cd $(srcdir) && \ + { ./aes-trans Rijndael t/rijndael.new && \ + mv t/rijndael.new t/rijndael ## Massey's `SAFER' block ciphers. BLKCS += safer safersk @@ -252,13 +255,14 @@ libsymm_la_SOURCES += serpent-sbox.h check_PROGRAMS += serpent-check TESTS += serpent-check serpent.log: t/serpent -EXTRA_DIST += t/serpent.aes +EXTRA_DIST += t/serpent.aes t/serpent.local MAINTAINERCLEANFILES += $(srcdir)/t/serpent -t/serpent: t/serpent.aes - $(AM_V_GEN)$(srcdir)/aes-trans Serpent -v rev=1 \ - <$(srcdir)/t/serpent.aes \ - >$(srcdir)/t/serpent.new && \ - mv $(srcdir)/t/serpent.new $(srcdir)/t/serpent +t/serpent: t/serpent.aes t/serpent.local + $(AM_V_GEN)cd $(srcdir) && \ + { ./aes-trans Serpent -v rev=1 t/serpent.new && \ + mv t/serpent.new t/serpent ## The National Security Agency's `Skipjack' block cipher. You don't want to ## use this. @@ -297,13 +301,14 @@ $(precomp)/symm/twofish-tab.c: $(precomp)/symm/twofish-tab.c endif twofish.log: t/twofish -EXTRA_DIST += t/twofish.aes +EXTRA_DIST += t/twofish.aes t/twofish.local MAINTAINERCLEANFILES += $(srcdir)/t/twofish -t/twofish: t/twofish.aes - $(AM_V_GEN)$(srcdir)/aes-trans Twofish \ - <$(srcdir)/t/twofish.aes \ - >$(srcdir)/t/twofish.new && \ - mv $(srcdir)/t/twofish.new $(srcdir)/t/twofish +t/twofish: t/twofish.aes t/twofish.local + $(AM_V_GEN)cd $(srcdir) && \ + { ./aes-trans Twofish t/twofish.new && \ + mv t/twofish.new t/twofish ## The old NIST modes for DES. BLKCCIPHERMODES += cbc cfb ecb ofb @@ -311,6 +316,29 @@ BLKCCIPHERMODES += cbc cfb ecb ofb ## Counter mode. BLKCCIPHERMODES += counter +## CMAC mode. +BLKCMACMODES += cmac pmac1 + +## Various AEAD modes. +pkginclude_HEADERS += ocb.h +BLKCAEADMODES += ccm eax gcm ocb1 ocb3 +libsymm_la_SOURCES += ccm.c gcm.c ocb.c +if CPUFAM_X86 +libsymm_la_SOURCES += gcm-x86ish-pclmul.S +endif +if CPUFAM_AMD64 +libsymm_la_SOURCES += gcm-x86ish-pclmul.S +endif +if CPUFAM_ARMEL +libsymm_la_SOURCES += gcm-arm-crypto.S +endif +if CPUFAM_ARM64 +libsymm_la_SOURCES += gcm-arm64-pmull.S +endif + +TESTS += gcm.t$(EXEEXT) +EXTRA_DIST += t/gcm + ###-------------------------------------------------------------------------- ### Hash functions. @@ -448,6 +476,12 @@ $(srcdir)/t/sha3: $(SHA3_TESTS) sha3-trans t/sha3.local cat t/sha3.local; } >t/sha3.new && \ mv t/sha3.new t/sha3 +## Mike Hamburg's STROBE protocol framework. +pkginclude_HEADERS += strobe.h +libsymm_la_SOURCES += strobe.c +TESTS += strobe.t$(EXEEXT) +EXTRA_DIST += t/strobe + ## Bellare, Canetti and Krawczyk's `HMAC' mode for message authentication. HASHMACMODES += hmac @@ -559,12 +593,13 @@ pkginclude_HEADERS += poly1305.h libsymm_la_SOURCES += poly1305.c TESTS += poly1305.t$(EXEEXT) TESTS += poly1305-p11.t$(EXEEXT) -EXTRA_DIST += t/poly1305 +EXTRA_DIST += t/poly1305 t/poly1305.slow 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) @@ -576,12 +611,21 @@ libsymmtest_la_SOURCES += latinpoly-test.c latinpoly-test.h ALL_AEADS += chacha20-poly1305 salsa20-poly1305 ALL_AEADS += chacha12-poly1305 salsa2012-poly1305 ALL_AEADS += chacha8-poly1305 salsa208-poly1305 +ALL_AEADS += chacha20-naclbox salsa20-naclbox +ALL_AEADS += chacha12-naclbox salsa2012-naclbox +ALL_AEADS += chacha8-naclbox salsa208-naclbox STUBS_HDR += ChaCha20-Poly1305,chacha20-poly1305,latinpoly STUBS_HDR += ChaCha12-Poly1305,chacha12-poly1305,latinpoly STUBS_HDR += ChaCha8-Poly1305,chacha8-poly1305,latinpoly STUBS_HDR += Salsa20-Poly1305,salsa20-poly1305,latinpoly STUBS_HDR += Salsa20/12-Poly1305,salsa2012-poly1305,latinpoly STUBS_HDR += Salsa20/8-Poly1305,salsa208-poly1305,latinpoly +STUBS_HDR += ChaCha20-NaClBox,chacha20-naclbox,latinpoly +STUBS_HDR += ChaCha12-NaClBox,chacha12-naclbox,latinpoly +STUBS_HDR += ChaCha8-NaClBox,chacha8-naclbox,latinpoly +STUBS_HDR += Salsa20-NaClBox,salsa20-naclbox,latinpoly +STUBS_HDR += Salsa20/12-NaClBox,salsa2012-naclbox,latinpoly +STUBS_HDR += Salsa20/8-NaClBox,salsa208-naclbox,latinpoly TESTS += chacha-poly1305.t$(EXEEXT) TESTS += salsa20-poly1305.t$(EXEEXT)