misc256_K0 = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
misc256_K1 = 1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
+misc512_K0 = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
+misc512_K1 = 3f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
+
b64_N0 = 554433221100
b96_N0 = 887766554433221100
b128_N0 = bbaa99887766554433221100
b192_N0 = 2110ffeeddccbbaa99887766554433221100
b256_N0 = 8776655443322110ffeeddccbbaa99887766554433221100
+b512_N0 = aa9998887776665554443332221110000ffeeddccbbaa9988776655443322110ffeeddccbbaa99887766554433221100
BLKC += des3
des3_PRETTY = 3DES
rijndael256_K1 = $(misc256_K1)
rijndael256_KSZS = $(aes_KSZS)
+ifdef HAVE_KALYNA
+BLKC += $(KALYNA)
+endif
+
+KALYNA += kalyna128
+kalyna128_PRETTY = Kalyna-128
+kalyna128_NAME = kalyna128
+kalyna128_BLKSZ = 128
+kalyna128_K0 = $(misc128_K0)
+kalyna128_K1 = $(misc128_K1)
+kalyna128_KSZS = 128 256
+
+KALYNA += kalyna256
+kalyna256_PRETTY = Kalyna-256
+kalyna256_NAME = kalyna256
+kalyna256_BLKSZ = 256
+kalyna256_K0 = $(misc256_K0)
+kalyna256_K1 = $(misc256_K1)
+kalyna256_KSZS = 256 512
+
+KALYNA += kalyna512
+kalyna512_PRETTY = Kalyna-512
+kalyna512_NAME = kalyna512
+kalyna512_BLKSZ = 512
+kalyna512_K0 = $(misc512_K0)
+kalyna512_K1 = $(misc512_K1)
+kalyna512_KSZS = 512
+
define def-lraes
LRAES += $1
BLKC += lraes$1
$(eval $(call def-lraes,192,192))
$(eval $(call def-lraes,256,256))
+BLKC += dlraes512
+dlraes512_PRETTY = DLRAES512
+dlraes512_NAME = dlraes512
+dlraes512_BLKSZ = 512
+dlraes512_K0 = $(misc256_K0)
+dlraes512_K1 = $(misc256_K1)
+dlraes512_KSZS = $(aes_KSZS)
+
BLKSZS = $(sort $(foreach c,$(BLKC),$($c_BLKSZ)))
+DIST += Makefile
+
auto.mk: Makefile
$(call v_tag,GEN)set -e; exec >$@.new; \
echo '### -*-makefile-*- AUTOMATICALLY GENERATED: DO NOT EDIT'; \
\
eval n0=\$$b$${blksz}_N0; \
N0=$$(echo $$n0 | tr a-f A-F); \
- n1=$$(echo "16o 16i $$N0 D + p" | dc | tr A-F a-f); \
+ n1=$$(echo "16o 16i $$N0 D + p" | dc | tr A-F a-f | tr -d '\\\n'); \
nsz=$$(( 4*($$(echo $$n0 | wc -c) - 1) )); \
echo "b$${blksz}_N1 = $$n1"; \
echo "b$${blksz}_NSZ0 = $$nsz"; \
blkc-n1 = $(b$(call blkc-blksz,$1)_N1)
blkc-nsz0 = $(b$(call blkc-blksz,$1)_NSZ0)
+DIST += ocbgen
+
TARGETS += $(OCBKAT0)
OCBKAT0 = $(foreach b,$(BLKC), ocb3-$b-t$(b$($b_BLKSZ)_TSZ0)-n$(b$($b_BLKSZ)_NSZ0).kat)
$(OCBKAT0): ocb3-%: ocbgen Makefile
lraes128_M0 = 00112233445566778899aabbccddeeff
lraes192_M0 = 00112233445566778899aabbccddeeff0112233445566778
lraes256_M0 = 00112233445566778899aabbccddeeff0112233445566778899aabbccddeeff0
+lraes512_M0 = 00112233445566778899aabbccddeeff0112233445566778899aabbccddeeff00000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff
TARGETS += $(LRAESVERBOSE)
-LRAESVERBOSE = $(foreach k,$(LRAES), lraes$k.verbose)
+LRAESVERBOSE = $(foreach w,$(LRAES), lraes$w.verbose)
$(LRAESVERBOSE): lraes%.verbose: ocbgen Makefile
$(call v_tag,LRAES)./ocbgen >$@.new ocb3 rijndael lraes $$(( $*/8 )) \
$(lraes$*_K0) $(lraes$*_M0)
$(V_AT)mv $@.new $@
+TARGETS += dlraes512.verbose
+dlraes512.verbose: ocbgen Makefile
+ $(call v_tag,LRAES)./ocbgen >$@.new ocb3 lraes256 lraes 64 \
+ $(dlraes512_K0) $(lraes512_M0)
+ $(V_AT)mv $@.new $@
+
all:: $(TARGETS)
+DIST += README
+
+DISTDIR = ocb-tv
+
+dist: all
+ rm -rf $(DISTDIR)
+ mkdir $(DISTDIR)
+ for i in $(DIST); do ln $$i $(DISTDIR)/; done
+ for i in $(TARGETS); do ln $$i $(DISTDIR)/; done
+ tar cvfa $(DISTDIR).tar.gz $(DISTDIR)
+ rm -rf $(DISTDIR)
+
CLEAN += $(TARGETS)
clean::; rm -f $(CLEAN)