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.
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
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)
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)