all::
+V = 0
+v_tag = $(call v_tag_$V,$1)
+v_tag_0 = @printf " %-8s %s\n" "$1" "$@";
+V_AT = $(V_AT_$V)
+V_AT_0 = @
+
misc128_K0 = 000102030405060708090a0b0c0d0e0f
misc128_K1 = 0f0e0d0c0b0a09080706050403020100
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
$(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)))
auto.mk: Makefile
- set -e; exec >$@.new; \
+ $(call v_tag,GEN)set -e; exec >$@.new; \
echo '### -*-makefile-*- AUTOMATICALLY GENERATED: DO NOT EDIT'; \
$(foreach b,$(BLKSZS),b$b_N0=$(b$b_N0); ) \
\
\
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"; \
TARGETS += $(OCBKAT0)
OCBKAT0 = $(foreach b,$(BLKC), ocb3-$b-t$(b$($b_BLKSZ)_TSZ0)-n$(b$($b_BLKSZ)_NSZ0).kat)
$(OCBKAT0): ocb3-%: ocbgen Makefile
- ./ocbgen >$@.new ocb3 $(call blkc-name,$*) kat \
+ $(call v_tag,KAT)./ocbgen >$@.new ocb3 $(call blkc-name,$*) kat \
$(call blkc-k0,$*) $(call blkc-n0,$*)+ \
$$(( $(call blkc-tsz0,$*)/8 )) $(call blkc-hmszs,$*)
- mv $@.new $@
+ $(V_AT)mv $@.new $@
TARGETS += $(OCBKAT1)
OCBKAT1 = $(foreach b,$(BLKC), ocb3-$b-t$(b$($b_BLKSZ)_TSZ1)-n$(b$($b_BLKSZ)_NSZ0).kat)
$(OCBKAT1): ocb3-%: ocbgen Makefile
- ./ocbgen >$@.new ocb3 $(call blkc-name,$*) kat \
+ $(call v_tag,KAT)./ocbgen >$@.new ocb3 $(call blkc-name,$*) kat \
$(call blkc-k1,$*) $(call blkc-n0,$*)+ \
$$(( $(call blkc-tsz1,$*)/8 )) $(call blkc-hmszs,$*)
- mv $@.new $@
+ $(V_AT)mv $@.new $@
TARGETS += $(OCBVERBOSE)
OCBVERBOSE = $(foreach b,$(BLKC), ocb3-$b-t$(b$($b_BLKSZ)_TSZ0)-n$(b$($b_BLKSZ)_NSZ0).verbose)
$(OCBVERBOSE): ocb3-%: ocbgen Makefile
- ./ocbgen >$@.new -v ocb3 $(call blkc-name,$*) kat \
+ $(call v_tag,VERBOSE)./ocbgen >$@.new -v ocb3 $(call blkc-name,$*) kat \
$(call blkc-k0,$*) $(call blkc-n1,$*) \
$$(( $(call blkc-tsz0,$*)/8 )) $(call blkc-hmszv,$*)
- mv $@.new $@
+ $(V_AT)mv $@.new $@
TARGETS += $(OCBMCT)
OCBMCT = $(foreach b,$(BLKC), ocb3-$b-n$(b$($b_BLKSZ)_NSZ0).mct)
$(OCBMCT): ocb3-%: ocbgen Makefile
- set -e; \
+ $(call v_tag,MCT)set -e; \
for t in \
$(call blkc-tsz0,$*) \
$(call blkc-tsz1,$*) \
./ocbgen ocb3 $(call blkc-name,$*) mct \
$$(( $$k/8 )) $$(( $(call blkc-nsz0,$*)/8 )) $$(( $$t/8 )); \
done; \
- done >$@.new; \
- mv $@.new $@
+ done >$@.new
+ $(V_AT)mv $@.new $@
lraes64_M0 = 0011223344556677
lraes96_M0 = 00112233445566778899aabb
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
- ./ocbgen >$@.new ocb3 rijndael lraes $$(( $*/8 )) \
- $(lraes$*_K0) $(lraes$*_M0) && \
- mv $@.new $@
+ $(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)