symm/latinpoly.c, etc.: AEADs based on Salsa20 and ChaCha with Poly1305.
[catacomb] / symm / Makefile.am
index 0de914f..24a0afc 100644 (file)
@@ -68,6 +68,7 @@ $(srcdir)/modes.am: modes.am.in Makefile.am
                blkc="$(BLKCS)" \
                        blkcmode="$(BLKCMODES)" \
                        blkcciphermode="$(BLKCCIPHERMODES)" \
+                       blkcaeadmode="$(BLKCAEADMODES)" \
                        blkcmacmode="$(BLKCMACMODES)" \
                hash="$(HASHES)" \
                        hashmode="$(HASHMODES)" \
@@ -79,6 +80,7 @@ $(srcdir)/stubs.am: stubs.am.in Makefile.am
 
 ## Initialize lists of known classes.
 ALL_CIPHERS             = $(CIPHER_MODES)
+ALL_AEADS               = $(AEAD_MODES)
 ALL_HASHES              = $(HASHES)
 ALL_MACS                = $(MAC_MODES)
 
@@ -95,6 +97,9 @@ BLKCMODES              =
 BLKCCIPHERMODES                 =
 BLKCMODES              += $(BLKCCIPHERMODES)
 
+BLKCAEADMODES           =
+BLKCMODES              += $(BLKCAEADMODES)
+
 BLKCMACMODES            =
 BLKCMODES              += $(BLKCMACMODES)
 
@@ -563,6 +568,23 @@ poly1305_p11_t_CPPFLAGS    += -DPOLY1305_IMPL=11
 poly1305_p11_t_LDADD    = $(TEST_LIBS) $(top_builddir)/libcatacomb.la
 poly1305_p11_t_LDADD   += $(mLib_LIBS) $(CATACOMB_LIBS) $(LIBS)
 
+## Combining Salsa20/ChaCha with Poly1305.
+pkginclude_HEADERS     += latinpoly.h latinpoly-def.h
+libsymm_la_SOURCES     += latinpoly.c chacha-poly1305.c salsa20-poly1305.c
+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
+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
+TESTS                  += chacha-poly1305.t$(EXEEXT)
+TESTS                  += salsa20-poly1305.t$(EXEEXT)
+
 ###--------------------------------------------------------------------------
 ### Autogenerated mode implementations.
 
@@ -639,6 +661,15 @@ gciphertab.c: gthingtab.c.in Makefile.am
        $(AM_V_GEN)$(multigen) -g $(srcdir)/gthingtab.c.in gciphertab.c \
                what=gcipher cls=gccipher thing="$(ALL_CIPHERS)"
 
+## Table of AEAD classes.
+pkginclude_HEADERS     += gaead.h
+CLEANFILES             += gaeadtab.c
+libsymm_la_SOURCES     += gaead.c
+nodist_libsymm_la_SOURCES += gaeadtab.c
+gaeadtab.c: gthingtab.c.in Makefile.am
+       $(AM_V_GEN)$(multigen) -g $(srcdir)/gthingtab.c.in gaeadtab.c \
+               what=gaead cls=gcaead thing="$(ALL_AEADS)"
+
 ## Table of hash classes.
 pkginclude_HEADERS     += ghash.h ghash-def.h
 CLEANFILES             += ghashtab.c