From 1a8a1c0f98e39907af61d181d318fd45f3ce93ca Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Wed, 21 Nov 2018 10:56:29 +0100 Subject: Remaniement de la gestion des tests Permettra d'ajouter un nouveau test plus facilement. --- crypto_aead/lilliputaei128v1/ref/Makefile | 18 +- .../ref/test/test-tweakey-ref/tweakey_full.txt | 1020 ++++++++++++++++++++ .../ref/test/test-tweakey-ref/tweakey_null.txt | 1020 ++++++++++++++++++++ .../ref/test/test-tweakey-ref/tweakey_order.txt | 1020 ++++++++++++++++++++ .../ref/test/test-tweakey-ref/tweakey_random.txt | 1020 ++++++++++++++++++++ .../lilliputaei128v1/ref/test/test-tweakey.c | 119 +++ .../ref/test/tweakey-ref/tweakey_full.txt | 1020 -------------------- .../ref/test/tweakey-ref/tweakey_null.txt | 1020 -------------------- .../ref/test/tweakey-ref/tweakey_order.txt | 1020 -------------------- .../ref/test/tweakey-ref/tweakey_random.txt | 1020 -------------------- crypto_aead/lilliputaei128v1/ref/test/tweakey.c | 113 --- crypto_aead/lilliputaei128v1/ref/test/tweakey.sh | 8 - 12 files changed, 4209 insertions(+), 4209 deletions(-) create mode 100644 crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_full.txt create mode 100644 crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_null.txt create mode 100644 crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_order.txt create mode 100644 crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_random.txt create mode 100644 crypto_aead/lilliputaei128v1/ref/test/test-tweakey.c delete mode 100644 crypto_aead/lilliputaei128v1/ref/test/tweakey-ref/tweakey_full.txt delete mode 100644 crypto_aead/lilliputaei128v1/ref/test/tweakey-ref/tweakey_null.txt delete mode 100644 crypto_aead/lilliputaei128v1/ref/test/tweakey-ref/tweakey_order.txt delete mode 100644 crypto_aead/lilliputaei128v1/ref/test/tweakey-ref/tweakey_random.txt delete mode 100644 crypto_aead/lilliputaei128v1/ref/test/tweakey.c delete mode 100755 crypto_aead/lilliputaei128v1/ref/test/tweakey.sh (limited to 'crypto_aead') diff --git a/crypto_aead/lilliputaei128v1/ref/Makefile b/crypto_aead/lilliputaei128v1/ref/Makefile index a921f51..3c73db8 100644 --- a/crypto_aead/lilliputaei128v1/ref/Makefile +++ b/crypto_aead/lilliputaei128v1/ref/Makefile @@ -1,4 +1,6 @@ -.PHONY: clean test-tweakey +tests = test-tweakey + +.PHONY: clean $(tests) nist_flags = -std=c99 -Wall -Wextra -Wshadow -fsanitize=address,undefined -O2 @@ -15,16 +17,16 @@ results/%.o: %.c @mkdir -p $(dir $@) gcc -c -I. $< $(nist_flags) -Werror -o $@ -results/test-%: results/test/%.o - -results/test-tweakey: results/test/tweakey.o results/tweakey.o results/constants.o | results +results/test-%: results/test/test-%.o gcc $^ $(nist_flags) -Werror -o $@ -test-tweakey: results/test-tweakey - mkdir -p results/tweakey - ./results/test-tweakey - ./test/tweakey.sh test/tweakey-ref results/tweakey +$(tests): %: results/% + mkdir -p results/$@-output + ./results/$@ results/$@-output + diff -ru test/$*-ref results/$@-output + +results/test-tweakey: results/tweakey.o results/constants.o | results results/test-tweakey.o: tweakey.h results/tweakey.o: tweakey.h constants.h diff --git a/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_full.txt b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_full.txt new file mode 100644 index 0000000..ef346d2 --- /dev/null +++ b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_full.txt @@ -0,0 +1,1020 @@ +Building Tweakey : + Tweak is : + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + + Key is : + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + + Tweakey is : + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + +Tweakey Schedule + Extracting Subtweakey round 0 + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + + Subtweakey : + ff ff ff ff ff ff ff ff + + Round Tweakey 1 + Input Tweakey : + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + fa fa fa fa fa fa fa fa + 61 61 61 61 61 61 61 61 + f2 f2 f2 f2 f2 f2 f2 f2 + 7b 7b 7b 7b 7b 7b 7b 7b + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 1 + fa fa fa fa fa fa fa fa + 61 61 61 61 61 61 61 61 + f2 f2 f2 f2 f2 f2 f2 f2 + 7b 7b 7b 7b 7b 7b 7b 7b + ff ff ff ff ff ff ff ff + + Subtweakey : + ed ed ed ed ed ed ed ec + + Round Tweakey 2 + Input Tweakey : + fa fa fa fa fa fa fa fa + 61 61 61 61 61 61 61 61 + f2 f2 f2 f2 f2 f2 f2 f2 + 7b 7b 7b 7b 7b 7b 7b 7b + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + fa fa fa fa fa fa fa fa + 61 61 61 61 61 61 61 61 + f2 f2 f2 f2 f2 f2 f2 f2 + 7b 7b 7b 7b 7b 7b 7b 7b + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 7d 7d 7d 7d 7d 7d 7d 7d + 12 12 12 12 12 12 12 12 + c6 c6 c6 c6 c6 c6 c6 c6 + f2 f2 f2 f2 f2 f2 f2 f2 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 2 + 7d 7d 7d 7d 7d 7d 7d 7d + 12 12 12 12 12 12 12 12 + c6 c6 c6 c6 c6 c6 c6 c6 + f2 f2 f2 f2 f2 f2 f2 f2 + ff ff ff ff ff ff ff ff + + Subtweakey : + a4 a4 a4 a4 a4 a4 a4 a6 + + Round Tweakey 3 + Input Tweakey : + 7d 7d 7d 7d 7d 7d 7d 7d + 12 12 12 12 12 12 12 12 + c6 c6 c6 c6 c6 c6 c6 c6 + f2 f2 f2 f2 f2 f2 f2 f2 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 7d 7d 7d 7d 7d 7d 7d 7d + 12 12 12 12 12 12 12 12 + c6 c6 c6 c6 c6 c6 c6 c6 + f2 f2 f2 f2 f2 f2 f2 f2 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + bb bb bb bb bb bb bb bb + 94 94 94 94 94 94 94 94 + 12 12 12 12 12 12 12 12 + 61 61 61 61 61 61 61 61 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 3 + bb bb bb bb bb bb bb bb + 94 94 94 94 94 94 94 94 + 12 12 12 12 12 12 12 12 + 61 61 61 61 61 61 61 61 + ff ff ff ff ff ff ff ff + + Subtweakey : + a3 a3 a3 a3 a3 a3 a3 a0 + + Round Tweakey 4 + Input Tweakey : + bb bb bb bb bb bb bb bb + 94 94 94 94 94 94 94 94 + 12 12 12 12 12 12 12 12 + 61 61 61 61 61 61 61 61 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + bb bb bb bb bb bb bb bb + 94 94 94 94 94 94 94 94 + 12 12 12 12 12 12 12 12 + 61 61 61 61 61 61 61 61 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + d9 d9 d9 d9 d9 d9 d9 d9 + 23 23 23 23 23 23 23 23 + 48 48 48 48 48 48 48 48 + c6 c6 c6 c6 c6 c6 c6 c6 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 4 + d9 d9 d9 d9 d9 d9 d9 d9 + 23 23 23 23 23 23 23 23 + 48 48 48 48 48 48 48 48 + c6 c6 c6 c6 c6 c6 c6 c6 + ff ff ff ff ff ff ff ff + + Subtweakey : + 8b 8b 8b 8b 8b 8b 8b 8f + + Round Tweakey 5 + Input Tweakey : + d9 d9 d9 d9 d9 d9 d9 d9 + 23 23 23 23 23 23 23 23 + 48 48 48 48 48 48 48 48 + c6 c6 c6 c6 c6 c6 c6 c6 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + d9 d9 d9 d9 d9 d9 d9 d9 + 23 23 23 23 23 23 23 23 + 48 48 48 48 48 48 48 48 + c6 c6 c6 c6 c6 c6 c6 c6 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + e8 e8 e8 e8 e8 e8 e8 e8 + 91 91 91 91 91 91 91 91 + a9 a9 a9 a9 a9 a9 a9 a9 + 09 09 09 09 09 09 09 09 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 5 + e8 e8 e8 e8 e8 e8 e8 e8 + 91 91 91 91 91 91 91 91 + a9 a9 a9 a9 a9 a9 a9 a9 + 09 09 09 09 09 09 09 09 + ff ff ff ff ff ff ff ff + + Subtweakey : + 26 26 26 26 26 26 26 23 + + Round Tweakey 6 + Input Tweakey : + e8 e8 e8 e8 e8 e8 e8 e8 + 91 91 91 91 91 91 91 91 + a9 a9 a9 a9 a9 a9 a9 a9 + 09 09 09 09 09 09 09 09 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + e8 e8 e8 e8 e8 e8 e8 e8 + 91 91 91 91 91 91 91 91 + a9 a9 a9 a9 a9 a9 a9 a9 + 09 09 09 09 09 09 09 09 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 74 74 74 74 74 74 74 74 + 0b 0b 0b 0b 0b 0b 0b 0b + 23 23 23 23 23 23 23 23 + 12 12 12 12 12 12 12 12 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 6 + 74 74 74 74 74 74 74 74 + 0b 0b 0b 0b 0b 0b 0b 0b + 23 23 23 23 23 23 23 23 + 12 12 12 12 12 12 12 12 + ff ff ff ff ff ff ff ff + + Subtweakey : + b1 b1 b1 b1 b1 b1 b1 b7 + + Round Tweakey 7 + Input Tweakey : + 74 74 74 74 74 74 74 74 + 0b 0b 0b 0b 0b 0b 0b 0b + 23 23 23 23 23 23 23 23 + 12 12 12 12 12 12 12 12 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 74 74 74 74 74 74 74 74 + 0b 0b 0b 0b 0b 0b 0b 0b + 23 23 23 23 23 23 23 23 + 12 12 12 12 12 12 12 12 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 3b 3b 3b 3b 3b 3b 3b 3b + 58 58 58 58 58 58 58 58 + 88 88 88 88 88 88 88 88 + 24 24 24 24 24 24 24 24 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 7 + 3b 3b 3b 3b 3b 3b 3b 3b + 58 58 58 58 58 58 58 58 + 88 88 88 88 88 88 88 88 + 24 24 24 24 24 24 24 24 + ff ff ff ff ff ff ff ff + + Subtweakey : + 30 30 30 30 30 30 30 37 + + Round Tweakey 8 + Input Tweakey : + 3b 3b 3b 3b 3b 3b 3b 3b + 58 58 58 58 58 58 58 58 + 88 88 88 88 88 88 88 88 + 24 24 24 24 24 24 24 24 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 3b 3b 3b 3b 3b 3b 3b 3b + 58 58 58 58 58 58 58 58 + 88 88 88 88 88 88 88 88 + 24 24 24 24 24 24 24 24 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 99 99 99 99 99 99 99 99 + 57 57 57 57 57 57 57 57 + a3 a3 a3 a3 a3 a3 a3 a3 + 48 48 48 48 48 48 48 48 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 8 + 99 99 99 99 99 99 99 99 + 57 57 57 57 57 57 57 57 + a3 a3 a3 a3 a3 a3 a3 a3 + 48 48 48 48 48 48 48 48 + ff ff ff ff ff ff ff ff + + Subtweakey : + da da da da da da da d2 + + Round Tweakey 9 + Input Tweakey : + 99 99 99 99 99 99 99 99 + 57 57 57 57 57 57 57 57 + a3 a3 a3 a3 a3 a3 a3 a3 + 48 48 48 48 48 48 48 48 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 99 99 99 99 99 99 99 99 + 57 57 57 57 57 57 57 57 + a3 a3 a3 a3 a3 a3 a3 a3 + 48 48 48 48 48 48 48 48 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + c8 c8 c8 c8 c8 c8 c8 c8 + 2f 2f 2f 2f 2f 2f 2f 2f + 0b 0b 0b 0b 0b 0b 0b 0b + 94 94 94 94 94 94 94 94 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 9 + c8 c8 c8 c8 c8 c8 c8 c8 + 2f 2f 2f 2f 2f 2f 2f 2f + 0b 0b 0b 0b 0b 0b 0b 0b + 94 94 94 94 94 94 94 94 + ff ff ff ff ff ff ff ff + + Subtweakey : + 87 87 87 87 87 87 87 8e + + Round Tweakey 10 + Input Tweakey : + c8 c8 c8 c8 c8 c8 c8 c8 + 2f 2f 2f 2f 2f 2f 2f 2f + 0b 0b 0b 0b 0b 0b 0b 0b + 94 94 94 94 94 94 94 94 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + c8 c8 c8 c8 c8 c8 c8 c8 + 2f 2f 2f 2f 2f 2f 2f 2f + 0b 0b 0b 0b 0b 0b 0b 0b + 94 94 94 94 94 94 94 94 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 64 64 64 64 64 64 64 64 + f1 f1 f1 f1 f1 f1 f1 f1 + 2c 2c 2c 2c 2c 2c 2c 2c + a9 a9 a9 a9 a9 a9 a9 a9 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 10 + 64 64 64 64 64 64 64 64 + f1 f1 f1 f1 f1 f1 f1 f1 + 2c 2c 2c 2c 2c 2c 2c 2c + a9 a9 a9 a9 a9 a9 a9 a9 + ff ff ff ff ff ff ff ff + + Subtweakey : + ef ef ef ef ef ef ef e5 + + Round Tweakey 11 + Input Tweakey : + 64 64 64 64 64 64 64 64 + f1 f1 f1 f1 f1 f1 f1 f1 + 2c 2c 2c 2c 2c 2c 2c 2c + a9 a9 a9 a9 a9 a9 a9 a9 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 64 64 64 64 64 64 64 64 + f1 f1 f1 f1 f1 f1 f1 f1 + 2c 2c 2c 2c 2c 2c 2c 2c + a9 a9 a9 a9 a9 a9 a9 a9 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 33 33 33 33 33 33 33 33 + 11 11 11 11 11 11 11 11 + b4 b4 b4 b4 b4 b4 b4 b4 + d3 d3 d3 d3 d3 d3 d3 d3 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 11 + 33 33 33 33 33 33 33 33 + 11 11 11 11 11 11 11 11 + b4 b4 b4 b4 b4 b4 b4 b4 + d3 d3 d3 d3 d3 d3 d3 d3 + ff ff ff ff ff ff ff ff + + Subtweakey : + ba ba ba ba ba ba ba b1 + + Round Tweakey 12 + Input Tweakey : + 33 33 33 33 33 33 33 33 + 11 11 11 11 11 11 11 11 + b4 b4 b4 b4 b4 b4 b4 b4 + d3 d3 d3 d3 d3 d3 d3 d3 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 33 33 33 33 33 33 33 33 + 11 11 11 11 11 11 11 11 + b4 b4 b4 b4 b4 b4 b4 b4 + d3 d3 d3 d3 d3 d3 d3 d3 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 9d 9d 9d 9d 9d 9d 9d 9d + 8c 8c 8c 8c 8c 8c 8c 8c + 57 57 57 57 57 57 57 57 + 23 23 23 23 23 23 23 23 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 12 + 9d 9d 9d 9d 9d 9d 9d 9d + 8c 8c 8c 8c 8c 8c 8c 8c + 57 57 57 57 57 57 57 57 + 23 23 23 23 23 23 23 23 + ff ff ff ff ff ff ff ff + + Subtweakey : + 9a 9a 9a 9a 9a 9a 9a 96 + + Round Tweakey 13 + Input Tweakey : + 9d 9d 9d 9d 9d 9d 9d 9d + 8c 8c 8c 8c 8c 8c 8c 8c + 57 57 57 57 57 57 57 57 + 23 23 23 23 23 23 23 23 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 9d 9d 9d 9d 9d 9d 9d 9d + 8c 8c 8c 8c 8c 8c 8c 8c + 57 57 57 57 57 57 57 57 + 23 23 23 23 23 23 23 23 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + cb cb cb cb cb cb cb cb + e7 e7 e7 e7 e7 e7 e7 e7 + d5 d5 d5 d5 d5 d5 d5 d5 + 46 46 46 46 46 46 46 46 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 13 + cb cb cb cb cb cb cb cb + e7 e7 e7 e7 e7 e7 e7 e7 + d5 d5 d5 d5 d5 d5 d5 d5 + 46 46 46 46 46 46 46 46 + ff ff ff ff ff ff ff ff + + Subtweakey : + 40 40 40 40 40 40 40 4d + + Round Tweakey 14 + Input Tweakey : + cb cb cb cb cb cb cb cb + e7 e7 e7 e7 e7 e7 e7 e7 + d5 d5 d5 d5 d5 d5 d5 d5 + 46 46 46 46 46 46 46 46 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + cb cb cb cb cb cb cb cb + e7 e7 e7 e7 e7 e7 e7 e7 + d5 d5 d5 d5 d5 d5 d5 d5 + 46 46 46 46 46 46 46 46 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + e1 e1 e1 e1 e1 e1 e1 e1 + a5 a5 a5 a5 a5 a5 a5 a5 + 5e 5e 5e 5e 5e 5e 5e 5e + 88 88 88 88 88 88 88 88 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 14 + e1 e1 e1 e1 e1 e1 e1 e1 + a5 a5 a5 a5 a5 a5 a5 a5 + 5e 5e 5e 5e 5e 5e 5e 5e + 88 88 88 88 88 88 88 88 + ff ff ff ff ff ff ff ff + + Subtweakey : + 6d 6d 6d 6d 6d 6d 6d 63 + + Round Tweakey 15 + Input Tweakey : + e1 e1 e1 e1 e1 e1 e1 e1 + a5 a5 a5 a5 a5 a5 a5 a5 + 5e 5e 5e 5e 5e 5e 5e 5e + 88 88 88 88 88 88 88 88 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + e1 e1 e1 e1 e1 e1 e1 e1 + a5 a5 a5 a5 a5 a5 a5 a5 + 5e 5e 5e 5e 5e 5e 5e 5e + 88 88 88 88 88 88 88 88 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + f4 f4 f4 f4 f4 f4 f4 f4 + 26 26 26 26 26 26 26 26 + f1 f1 f1 f1 f1 f1 f1 f1 + 91 91 91 91 91 91 91 91 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 15 + f4 f4 f4 f4 f4 f4 f4 f4 + 26 26 26 26 26 26 26 26 + f1 f1 f1 f1 f1 f1 f1 f1 + 91 91 91 91 91 91 91 91 + ff ff ff ff ff ff ff ff + + Subtweakey : + 4d 4d 4d 4d 4d 4d 4d 42 + + Round Tweakey 16 + Input Tweakey : + f4 f4 f4 f4 f4 f4 f4 f4 + 26 26 26 26 26 26 26 26 + f1 f1 f1 f1 f1 f1 f1 f1 + 91 91 91 91 91 91 91 91 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + f4 f4 f4 f4 f4 f4 f4 f4 + 26 26 26 26 26 26 26 26 + f1 f1 f1 f1 f1 f1 f1 f1 + 91 91 91 91 91 91 91 91 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 7b 7b 7b 7b 7b 7b 7b 7b + b9 b9 b9 b9 b9 b9 b9 b9 + ca ca ca ca ca ca ca ca + a3 a3 a3 a3 a3 a3 a3 a3 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 16 + 7b 7b 7b 7b 7b 7b 7b 7b + b9 b9 b9 b9 b9 b9 b9 b9 + ca ca ca ca ca ca ca ca + a3 a3 a3 a3 a3 a3 a3 a3 + ff ff ff ff ff ff ff ff + + Subtweakey : + 54 54 54 54 54 54 54 44 + + Round Tweakey 17 + Input Tweakey : + 7b 7b 7b 7b 7b 7b 7b 7b + b9 b9 b9 b9 b9 b9 b9 b9 + ca ca ca ca ca ca ca ca + a3 a3 a3 a3 a3 a3 a3 a3 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 7b 7b 7b 7b 7b 7b 7b 7b + b9 b9 b9 b9 b9 b9 b9 b9 + ca ca ca ca ca ca ca ca + a3 a3 a3 a3 a3 a3 a3 a3 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + b9 b9 b9 b9 b9 b9 b9 b9 + c2 c2 c2 c2 c2 c2 c2 c2 + 22 22 22 22 22 22 22 22 + c7 c7 c7 c7 c7 c7 c7 c7 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 17 + b9 b9 b9 b9 b9 b9 b9 b9 + c2 c2 c2 c2 c2 c2 c2 c2 + 22 22 22 22 22 22 22 22 + c7 c7 c7 c7 c7 c7 c7 c7 + ff ff ff ff ff ff ff ff + + Subtweakey : + 61 61 61 61 61 61 61 70 + + Round Tweakey 18 + Input Tweakey : + b9 b9 b9 b9 b9 b9 b9 b9 + c2 c2 c2 c2 c2 c2 c2 c2 + 22 22 22 22 22 22 22 22 + c7 c7 c7 c7 c7 c7 c7 c7 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + b9 b9 b9 b9 b9 b9 b9 b9 + c2 c2 c2 c2 c2 c2 c2 c2 + 22 22 22 22 22 22 22 22 + c7 c7 c7 c7 c7 c7 c7 c7 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + d8 d8 d8 d8 d8 d8 d8 d8 + 04 04 04 04 04 04 04 04 + 8c 8c 8c 8c 8c 8c 8c 8c + 0b 0b 0b 0b 0b 0b 0b 0b + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 18 + d8 d8 d8 d8 d8 d8 d8 d8 + 04 04 04 04 04 04 04 04 + 8c 8c 8c 8c 8c 8c 8c 8c + 0b 0b 0b 0b 0b 0b 0b 0b + ff ff ff ff ff ff ff ff + + Subtweakey : + a4 a4 a4 a4 a4 a4 a4 b6 + + Round Tweakey 19 + Input Tweakey : + d8 d8 d8 d8 d8 d8 d8 d8 + 04 04 04 04 04 04 04 04 + 8c 8c 8c 8c 8c 8c 8c 8c + 0b 0b 0b 0b 0b 0b 0b 0b + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + d8 d8 d8 d8 d8 d8 d8 d8 + 04 04 04 04 04 04 04 04 + 8c 8c 8c 8c 8c 8c 8c 8c + 0b 0b 0b 0b 0b 0b 0b 0b + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 6c 6c 6c 6c 6c 6c 6c 6c + 20 20 20 20 20 20 20 20 + b3 b3 b3 b3 b3 b3 b3 b3 + 16 16 16 16 16 16 16 16 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 19 + 6c 6c 6c 6c 6c 6c 6c 6c + 20 20 20 20 20 20 20 20 + b3 b3 b3 b3 b3 b3 b3 b3 + 16 16 16 16 16 16 16 16 + ff ff ff ff ff ff ff ff + + Subtweakey : + 16 16 16 16 16 16 16 05 + + Round Tweakey 20 + Input Tweakey : + 6c 6c 6c 6c 6c 6c 6c 6c + 20 20 20 20 20 20 20 20 + b3 b3 b3 b3 b3 b3 b3 b3 + 16 16 16 16 16 16 16 16 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 6c 6c 6c 6c 6c 6c 6c 6c + 20 20 20 20 20 20 20 20 + b3 b3 b3 b3 b3 b3 b3 b3 + 16 16 16 16 16 16 16 16 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 37 37 37 37 37 37 37 37 + 89 89 89 89 89 89 89 89 + 4b 4b 4b 4b 4b 4b 4b 4b + 2c 2c 2c 2c 2c 2c 2c 2c + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 20 + 37 37 37 37 37 37 37 37 + 89 89 89 89 89 89 89 89 + 4b 4b 4b 4b 4b 4b 4b 4b + 2c 2c 2c 2c 2c 2c 2c 2c + ff ff ff ff ff ff ff ff + + Subtweakey : + 26 26 26 26 26 26 26 32 + + Round Tweakey 21 + Input Tweakey : + 37 37 37 37 37 37 37 37 + 89 89 89 89 89 89 89 89 + 4b 4b 4b 4b 4b 4b 4b 4b + 2c 2c 2c 2c 2c 2c 2c 2c + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 37 37 37 37 37 37 37 37 + 89 89 89 89 89 89 89 89 + 4b 4b 4b 4b 4b 4b 4b 4b + 2c 2c 2c 2c 2c 2c 2c 2c + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 9e 9e 9e 9e 9e 9e 9e 9e + cf cf cf cf cf cf cf cf + a5 a5 a5 a5 a5 a5 a5 a5 + 58 58 58 58 58 58 58 58 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 21 + 9e 9e 9e 9e 9e 9e 9e 9e + cf cf cf cf cf cf cf cf + a5 a5 a5 a5 a5 a5 a5 a5 + 58 58 58 58 58 58 58 58 + ff ff ff ff ff ff ff ff + + Subtweakey : + 53 53 53 53 53 53 53 46 + + Round Tweakey 22 + Input Tweakey : + 9e 9e 9e 9e 9e 9e 9e 9e + cf cf cf cf cf cf cf cf + a5 a5 a5 a5 a5 a5 a5 a5 + 58 58 58 58 58 58 58 58 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 9e 9e 9e 9e 9e 9e 9e 9e + cf cf cf cf cf cf cf cf + a5 a5 a5 a5 a5 a5 a5 a5 + 58 58 58 58 58 58 58 58 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 4e 4e 4e 4e 4e 4e 4e 4e + 6c 6c 6c 6c 6c 6c 6c 6c + 13 13 13 13 13 13 13 13 + b4 b4 b4 b4 b4 b4 b4 b4 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 22 + 4e 4e 4e 4e 4e 4e 4e 4e + 6c 6c 6c 6c 6c 6c 6c 6c + 13 13 13 13 13 13 13 13 + b4 b4 b4 b4 b4 b4 b4 b4 + ff ff ff ff ff ff ff ff + + Subtweakey : + 7a 7a 7a 7a 7a 7a 7a 6c + + Round Tweakey 23 + Input Tweakey : + 4e 4e 4e 4e 4e 4e 4e 4e + 6c 6c 6c 6c 6c 6c 6c 6c + 13 13 13 13 13 13 13 13 + b4 b4 b4 b4 b4 b4 b4 b4 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 4e 4e 4e 4e 4e 4e 4e 4e + 6c 6c 6c 6c 6c 6c 6c 6c + 13 13 13 13 13 13 13 13 + b4 b4 b4 b4 b4 b4 b4 b4 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 26 26 26 26 26 26 26 26 + 7a 7a 7a 7a 7a 7a 7a 7a + 4c 4c 4c 4c 4c 4c 4c 4c + e9 e9 e9 e9 e9 e9 e9 e9 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 23 + 26 26 26 26 26 26 26 26 + 7a 7a 7a 7a 7a 7a 7a 7a + 4c 4c 4c 4c 4c 4c 4c 4c + e9 e9 e9 e9 e9 e9 e9 e9 + ff ff ff ff ff ff ff ff + + Subtweakey : + 06 06 06 06 06 06 06 11 + + Round Tweakey 24 + Input Tweakey : + 26 26 26 26 26 26 26 26 + 7a 7a 7a 7a 7a 7a 7a 7a + 4c 4c 4c 4c 4c 4c 4c 4c + e9 e9 e9 e9 e9 e9 e9 e9 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 26 26 26 26 26 26 26 26 + 7a 7a 7a 7a 7a 7a 7a 7a + 4c 4c 4c 4c 4c 4c 4c 4c + e9 e9 e9 e9 e9 e9 e9 e9 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 12 12 12 12 12 12 12 12 + ce ce ce ce ce ce ce ce + b9 b9 b9 b9 b9 b9 b9 b9 + 57 57 57 57 57 57 57 57 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 24 + 12 12 12 12 12 12 12 12 + ce ce ce ce ce ce ce ce + b9 b9 b9 b9 b9 b9 b9 b9 + 57 57 57 57 57 57 57 57 + ff ff ff ff ff ff ff ff + + Subtweakey : + cd cd cd cd cd cd cd d5 + + Round Tweakey 25 + Input Tweakey : + 12 12 12 12 12 12 12 12 + ce ce ce ce ce ce ce ce + b9 b9 b9 b9 b9 b9 b9 b9 + 57 57 57 57 57 57 57 57 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 12 12 12 12 12 12 12 12 + ce ce ce ce ce ce ce ce + b9 b9 b9 b9 b9 b9 b9 b9 + 57 57 57 57 57 57 57 57 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 09 09 09 09 09 09 09 09 + 64 64 64 64 64 64 64 64 + 63 63 63 63 63 63 63 63 + aa aa aa aa aa aa aa aa + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 25 + 09 09 09 09 09 09 09 09 + 64 64 64 64 64 64 64 64 + 63 63 63 63 63 63 63 63 + aa aa aa aa aa aa aa aa + ff ff ff ff ff ff ff ff + + Subtweakey : + 5b 5b 5b 5b 5b 5b 5b 42 + + Round Tweakey 26 + Input Tweakey : + 09 09 09 09 09 09 09 09 + 64 64 64 64 64 64 64 64 + 63 63 63 63 63 63 63 63 + aa aa aa aa aa aa aa aa + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 09 09 09 09 09 09 09 09 + 64 64 64 64 64 64 64 64 + 63 63 63 63 63 63 63 63 + aa aa aa aa aa aa aa aa + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 80 80 80 80 80 80 80 80 + 3a 3a 3a 3a 3a 3a 3a 3a + 01 01 01 01 01 01 01 01 + d5 d5 d5 d5 d5 d5 d5 d5 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 26 + 80 80 80 80 80 80 80 80 + 3a 3a 3a 3a 3a 3a 3a 3a + 01 01 01 01 01 01 01 01 + d5 d5 d5 d5 d5 d5 d5 d5 + ff ff ff ff ff ff ff ff + + Subtweakey : + 91 91 91 91 91 91 91 8b + + Round Tweakey 27 + Input Tweakey : + 80 80 80 80 80 80 80 80 + 3a 3a 3a 3a 3a 3a 3a 3a + 01 01 01 01 01 01 01 01 + d5 d5 d5 d5 d5 d5 d5 d5 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 80 80 80 80 80 80 80 80 + 3a 3a 3a 3a 3a 3a 3a 3a + 01 01 01 01 01 01 01 01 + d5 d5 d5 d5 d5 d5 d5 d5 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 40 40 40 40 40 40 40 40 + 5d 5d 5d 5d 5d 5d 5d 5d + 04 04 04 04 04 04 04 04 + 2f 2f 2f 2f 2f 2f 2f 2f + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 27 + 40 40 40 40 40 40 40 40 + 5d 5d 5d 5d 5d 5d 5d 5d + 04 04 04 04 04 04 04 04 + 2f 2f 2f 2f 2f 2f 2f 2f + ff ff ff ff ff ff ff ff + + Subtweakey : + c9 c9 c9 c9 c9 c9 c9 d2 + + Round Tweakey 28 + Input Tweakey : + 40 40 40 40 40 40 40 40 + 5d 5d 5d 5d 5d 5d 5d 5d + 04 04 04 04 04 04 04 04 + 2f 2f 2f 2f 2f 2f 2f 2f + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 40 40 40 40 40 40 40 40 + 5d 5d 5d 5d 5d 5d 5d 5d + 04 04 04 04 04 04 04 04 + 2f 2f 2f 2f 2f 2f 2f 2f + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 20 20 20 20 20 20 20 20 + 7f 7f 7f 7f 7f 7f 7f 7f + 10 10 10 10 10 10 10 10 + 5e 5e 5e 5e 5e 5e 5e 5e + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 28 + 20 20 20 20 20 20 20 20 + 7f 7f 7f 7f 7f 7f 7f 7f + 10 10 10 10 10 10 10 10 + 5e 5e 5e 5e 5e 5e 5e 5e + ff ff ff ff ff ff ff ff + + Subtweakey : + ee ee ee ee ee ee ee f2 + + Round Tweakey 29 + Input Tweakey : + 20 20 20 20 20 20 20 20 + 7f 7f 7f 7f 7f 7f 7f 7f + 10 10 10 10 10 10 10 10 + 5e 5e 5e 5e 5e 5e 5e 5e + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 20 20 20 20 20 20 20 20 + 7f 7f 7f 7f 7f 7f 7f 7f + 10 10 10 10 10 10 10 10 + 5e 5e 5e 5e 5e 5e 5e 5e + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 10 10 10 10 10 10 10 10 + e6 e6 e6 e6 e6 e6 e6 e6 + 40 40 40 40 40 40 40 40 + b8 b8 b8 b8 b8 b8 b8 b8 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 29 + 10 10 10 10 10 10 10 10 + e6 e6 e6 e6 e6 e6 e6 e6 + 40 40 40 40 40 40 40 40 + b8 b8 b8 b8 b8 b8 b8 b8 + ff ff ff ff ff ff ff ff + + Subtweakey : + f1 f1 f1 f1 f1 f1 f1 ec + + Round Tweakey 30 + Input Tweakey : + 10 10 10 10 10 10 10 10 + e6 e6 e6 e6 e6 e6 e6 e6 + 40 40 40 40 40 40 40 40 + b8 b8 b8 b8 b8 b8 b8 b8 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 10 10 10 10 10 10 10 10 + e6 e6 e6 e6 e6 e6 e6 e6 + 40 40 40 40 40 40 40 40 + b8 b8 b8 b8 b8 b8 b8 b8 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 08 08 08 08 08 08 08 08 + ad ad ad ad ad ad ad ad + 89 89 89 89 89 89 89 89 + f1 f1 f1 f1 f1 f1 f1 f1 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 30 + 08 08 08 08 08 08 08 08 + ad ad ad ad ad ad ad ad + 89 89 89 89 89 89 89 89 + f1 f1 f1 f1 f1 f1 f1 f1 + ff ff ff ff ff ff ff ff + + Subtweakey : + 22 22 22 22 22 22 22 3c + + Round Tweakey 31 + Input Tweakey : + 08 08 08 08 08 08 08 08 + ad ad ad ad ad ad ad ad + 89 89 89 89 89 89 89 89 + f1 f1 f1 f1 f1 f1 f1 f1 + ff ff ff ff ff ff ff ff + + Post permutation Tweakey : + 08 08 08 08 08 08 08 08 + ad ad ad ad ad ad ad ad + 89 89 89 89 89 89 89 89 + f1 f1 f1 f1 f1 f1 f1 f1 + ff ff ff ff ff ff ff ff + + Post multiplication Tweakey : + 04 04 04 04 04 04 04 04 + 66 66 66 66 66 66 66 66 + a7 a7 a7 a7 a7 a7 a7 a7 + 67 67 67 67 67 67 67 67 + ff ff ff ff ff ff ff ff + + Extracting Subtweakey round 31 + 04 04 04 04 04 04 04 04 + 66 66 66 66 66 66 66 66 + a7 a7 a7 a7 a7 a7 a7 a7 + 67 67 67 67 67 67 67 67 + ff ff ff ff ff ff ff ff + + Subtweakey : + 5d 5d 5d 5d 5d 5d 5d 42 + diff --git a/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_null.txt b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_null.txt new file mode 100644 index 0000000..ed7938b --- /dev/null +++ b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_null.txt @@ -0,0 +1,1020 @@ +Building Tweakey : + Tweak is : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Key is : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Tweakey is : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + +Tweakey Schedule + Extracting Subtweakey round 0 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 00 + + Round Tweakey 1 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 1 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 01 + + Round Tweakey 2 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 2 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 02 + + Round Tweakey 3 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 3 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 03 + + Round Tweakey 4 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 4 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 04 + + Round Tweakey 5 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 5 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 05 + + Round Tweakey 6 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 6 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 06 + + Round Tweakey 7 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 7 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 07 + + Round Tweakey 8 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 8 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 08 + + Round Tweakey 9 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 9 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 09 + + Round Tweakey 10 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 10 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 0a + + Round Tweakey 11 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 11 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 0b + + Round Tweakey 12 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 12 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 0c + + Round Tweakey 13 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 13 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 0d + + Round Tweakey 14 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 14 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 0e + + Round Tweakey 15 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 15 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 0f + + Round Tweakey 16 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 16 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 10 + + Round Tweakey 17 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 17 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 11 + + Round Tweakey 18 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 18 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 12 + + Round Tweakey 19 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 19 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 13 + + Round Tweakey 20 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 20 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 14 + + Round Tweakey 21 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 21 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 15 + + Round Tweakey 22 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 22 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 16 + + Round Tweakey 23 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 23 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 17 + + Round Tweakey 24 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 24 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 18 + + Round Tweakey 25 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 25 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 19 + + Round Tweakey 26 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 26 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 1a + + Round Tweakey 27 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 27 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 1b + + Round Tweakey 28 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 28 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 1c + + Round Tweakey 29 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 29 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 1d + + Round Tweakey 30 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 30 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 1e + + Round Tweakey 31 + Input Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post permutation Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Post multiplication Tweakey : + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Extracting Subtweakey round 31 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 + + Subtweakey : + 00 00 00 00 00 00 00 1f + diff --git a/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_order.txt b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_order.txt new file mode 100644 index 0000000..b727244 --- /dev/null +++ b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_order.txt @@ -0,0 +1,1020 @@ +Building Tweakey : + Tweak is : + 17 16 15 14 13 12 11 10 + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + + Key is : + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + + Tweakey is : + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + 17 16 15 14 13 12 11 10 + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + +Tweakey Schedule + Extracting Subtweakey round 0 + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + 17 16 15 14 13 12 11 10 + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + + Subtweakey : + 17 16 15 14 13 12 11 10 + + Round Tweakey 1 + Input Tweakey : + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + 17 16 15 14 13 12 11 10 + 0f 0e 0d 0c 0b 0a 09 08 + 07 06 05 04 03 02 01 00 + + Post permutation Tweakey : + 0f 0b 0e 0a 0d 09 08 0c + 07 03 06 02 05 01 00 04 + 17 13 16 12 15 11 10 14 + 0f 0b 0e 0a 0d 09 08 0c + 07 03 06 02 05 01 00 04 + + Post multiplication Tweakey : + 82 81 06 05 83 80 04 07 + 38 18 30 10 28 08 00 20 + 5c 4c 58 48 54 44 40 50 + 1e 16 1c 14 1a 12 10 18 + 07 03 06 02 05 01 00 04 + + Extracting Subtweakey round 1 + 82 81 06 05 83 80 04 07 + 38 18 30 10 28 08 00 20 + 5c 4c 58 48 54 44 40 50 + 1e 16 1c 14 1a 12 10 18 + 07 03 06 02 05 01 00 04 + + Subtweakey : + ff c0 74 4b e0 df 54 6a + + Round Tweakey 2 + Input Tweakey : + 82 81 06 05 83 80 04 07 + 38 18 30 10 28 08 00 20 + 5c 4c 58 48 54 44 40 50 + 1e 16 1c 14 1a 12 10 18 + 07 03 06 02 05 01 00 04 + + Post permutation Tweakey : + 82 83 81 80 06 04 07 05 + 38 28 18 08 30 00 20 10 + 5c 54 4c 44 58 40 50 48 + 1e 1a 16 12 1c 10 18 14 + 07 05 03 01 06 00 04 02 + + Post multiplication Tweakey : + 41 c5 c4 40 02 03 86 87 + 4d c9 c4 40 0d 00 89 84 + f9 d9 b9 99 e9 89 c9 a9 + 3c 34 2c 24 38 20 30 28 + 07 05 03 01 06 00 04 02 + + Extracting Subtweakey round 2 + 41 c5 c4 40 02 03 86 87 + 4d c9 c4 40 0d 00 89 84 + f9 d9 b9 99 e9 89 c9 a9 + 3c 34 2c 24 38 20 30 28 + 07 05 03 01 06 00 04 02 + + Subtweakey : + ce e4 96 bc d8 aa f2 82 + + Round Tweakey 3 + Input Tweakey : + 41 c5 c4 40 02 03 86 87 + 4d c9 c4 40 0d 00 89 84 + f9 d9 b9 99 e9 89 c9 a9 + 3c 34 2c 24 38 20 30 28 + 07 05 03 01 06 00 04 02 + + Post permutation Tweakey : + 41 02 c5 03 c4 86 87 40 + 4d 0d c9 00 c4 89 84 40 + f9 e9 d9 89 b9 c9 a9 99 + 3c 38 34 20 2c 30 28 24 + 07 06 05 00 03 04 02 01 + + Post multiplication Tweakey : + a4 01 e7 85 63 42 c6 20 + fb 68 5c 00 34 cf a7 93 + ea aa 6e a7 63 2e 23 e7 + 78 70 68 40 58 60 50 48 + 07 06 05 00 03 04 02 01 + + Extracting Subtweakey round 3 + a4 01 e7 85 63 42 c6 20 + fb 68 5c 00 34 cf a7 93 + ea aa 6e a7 63 2e 23 e7 + 78 70 68 40 58 60 50 48 + 07 06 05 00 03 04 02 01 + + Subtweakey : + ca b5 b8 62 6f c7 10 1e + + Round Tweakey 4 + Input Tweakey : + a4 01 e7 85 63 42 c6 20 + fb 68 5c 00 34 cf a7 93 + ea aa 6e a7 63 2e 23 e7 + 78 70 68 40 58 60 50 48 + 07 06 05 00 03 04 02 01 + + Post permutation Tweakey : + a4 63 01 42 e7 c6 20 85 + fb 34 68 cf 5c a7 93 00 + ea 63 aa 2e 6e 23 e7 a7 + 78 58 70 60 68 50 48 40 + 07 03 06 04 05 02 01 00 + + Post multiplication Tweakey : + 53 b5 84 21 f6 62 10 c7 + 41 2d 5a 6c 77 36 1b 00 + a6 01 2f bc 35 88 92 1b + f4 b4 e4 c4 d4 a4 94 84 + 07 03 06 04 05 02 01 00 + + Extracting Subtweakey round 4 + 53 b5 84 21 f6 62 10 c7 + 41 2d 5a 6c 77 36 1b 00 + a6 01 2f bc 35 88 92 1b + f4 b4 e4 c4 d4 a4 94 84 + 07 03 06 04 05 02 01 00 + + Subtweakey : + 47 2e 13 31 65 7a 0c 5c + + Round Tweakey 5 + Input Tweakey : + 53 b5 84 21 f6 62 10 c7 + 41 2d 5a 6c 77 36 1b 00 + a6 01 2f bc 35 88 92 1b + f4 b4 e4 c4 d4 a4 94 84 + 07 03 06 04 05 02 01 00 + + Post permutation Tweakey : + 53 f6 b5 62 84 10 c7 21 + 41 77 2d 36 5a 1b 00 6c + a6 35 01 88 2f 92 1b bc + f4 d4 b4 a4 e4 94 84 c4 + 07 05 03 02 06 01 00 04 + + Post multiplication Tweakey : + ad 7a df 31 43 08 e6 94 + 9b a6 e1 3d 47 dc 00 7a + 1f d0 04 a3 b8 cb 6c 77 + 6d 2d e9 c9 4d a9 89 0d + 07 05 03 02 06 01 00 04 + + Extracting Subtweakey round 5 + ad 7a df 31 43 08 e6 94 + 9b a6 e1 3d 47 dc 00 7a + 1f d0 04 a3 b8 cb 6c 77 + 6d 2d e9 c9 4d a9 89 0d + 07 05 03 02 06 01 00 04 + + Subtweakey : + 43 24 d0 64 f7 b7 03 95 + + Round Tweakey 6 + Input Tweakey : + ad 7a df 31 43 08 e6 94 + 9b a6 e1 3d 47 dc 00 7a + 1f d0 04 a3 b8 cb 6c 77 + 6d 2d e9 c9 4d a9 89 0d + 07 05 03 02 06 01 00 04 + + Post permutation Tweakey : + ad 43 7a 08 df e6 94 31 + 9b 47 a6 dc e1 00 7a 3d + 1f b8 d0 cb 04 6c 77 a3 + 6d 4d 2d a9 e9 89 0d c9 + 07 06 05 01 03 00 04 02 + + Post multiplication Tweakey : + d3 a5 3d 04 ea 72 4b 9c + 5b ab 3e f0 95 00 ce 65 + 7c 67 4a 26 10 3d 51 0b + de 9e 5a d3 57 93 1a 17 + 07 06 05 01 03 00 04 02 + + Extracting Subtweakey round 6 + d3 a5 3d 04 ea 72 4b 9c + 5b ab 3e f0 95 00 ce 65 + 7c 67 4a 26 10 3d 51 0b + de 9e 5a d3 57 93 1a 17 + 07 06 05 01 03 00 04 02 + + Subtweakey : + 2d f1 16 00 3b dc ca e1 + + Round Tweakey 7 + Input Tweakey : + d3 a5 3d 04 ea 72 4b 9c + 5b ab 3e f0 95 00 ce 65 + 7c 67 4a 26 10 3d 51 0b + de 9e 5a d3 57 93 1a 17 + 07 06 05 01 03 00 04 02 + + Post permutation Tweakey : + d3 ea a5 72 3d 4b 9c 04 + 5b 95 ab 00 3e ce 65 f0 + 7c 10 67 3d 4a 51 0b 26 + de 57 9e 93 5a 1a 17 d3 + 07 03 06 00 05 04 02 01 + + Post multiplication Tweakey : + ed 75 d7 39 9b a1 4f 03 + 4f 2b 56 00 7d 64 32 19 + 7d 40 11 f0 a1 cd 2c 9c + 39 aa bd a7 b0 34 2e 23 + 07 03 06 00 05 04 02 01 + + Extracting Subtweakey round 7 + ed 75 d7 39 9b a1 4f 03 + 4f 2b 56 00 7d 64 32 19 + 7d 40 11 f0 a1 cd 2c 9c + 39 aa bd a7 b0 34 2e 23 + 07 03 06 00 05 04 02 01 + + Subtweakey : + e1 b7 2b 6e f2 38 7d a3 + + Round Tweakey 8 + Input Tweakey : + ed 75 d7 39 9b a1 4f 03 + 4f 2b 56 00 7d 64 32 19 + 7d 40 11 f0 a1 cd 2c 9c + 39 aa bd a7 b0 34 2e 23 + 07 03 06 00 05 04 02 01 + + Post permutation Tweakey : + ed 9b 75 a1 d7 4f 03 39 + 4f 7d 2b 64 56 32 19 00 + 7d a1 40 cd 11 2c 9c f0 + 39 b0 aa 34 bd 2e 23 a7 + 07 05 03 04 06 02 01 00 + + Post multiplication Tweakey : + f3 c9 bf d4 ee a2 85 98 + eb f6 d1 3a 27 1d cc 00 + 79 03 89 3e 44 b4 f3 ce + 72 e1 d5 68 fb 5c 46 cf + 07 05 03 04 06 02 01 00 + + Extracting Subtweakey round 8 + f3 c9 bf d4 ee a2 85 98 + eb f6 d1 3a 27 1d cc 00 + 79 03 89 3e 44 b4 f3 ce + 72 e1 d5 68 fb 5c 46 cf + 07 05 03 04 06 02 01 00 + + Subtweakey : + 14 d8 31 bc 70 55 fd 91 + + Round Tweakey 9 + Input Tweakey : + f3 c9 bf d4 ee a2 85 98 + eb f6 d1 3a 27 1d cc 00 + 79 03 89 3e 44 b4 f3 ce + 72 e1 d5 68 fb 5c 46 cf + 07 05 03 04 06 02 01 00 + + Post permutation Tweakey : + f3 ee c9 a2 bf 85 98 d4 + eb 27 f6 1d d1 cc 00 3a + 79 44 03 b4 89 f3 ce 3e + 72 fb e1 5c d5 46 cf 68 + 07 06 05 02 03 01 00 04 + + Post multiplication Tweakey : + fd 76 e0 51 da c7 4c 6b + c5 b1 29 ec 98 74 00 5d + 69 99 0c 57 a7 c2 32 fc + e0 73 47 bc 2f 88 1b d4 + 07 06 05 02 03 01 00 04 + + Extracting Subtweakey round 9 + fd 76 e0 51 da c7 4c 6b + c5 b1 29 ec 98 74 00 5d + 69 99 0c 57 a7 c2 32 fc + e0 73 47 bc 2f 88 1b d4 + 07 06 05 02 03 01 00 04 + + Subtweakey : + b6 2b 87 54 c9 f8 65 13 + + Round Tweakey 10 + Input Tweakey : + fd 76 e0 51 da c7 4c 6b + c5 b1 29 ec 98 74 00 5d + 69 99 0c 57 a7 c2 32 fc + e0 73 47 bc 2f 88 1b d4 + 07 06 05 02 03 01 00 04 + + Post permutation Tweakey : + fd da 76 c7 e0 4c 6b 51 + c5 98 b1 74 29 00 5d ec + 69 a7 99 c2 0c 32 fc 57 + e0 2f 73 88 47 1b d4 bc + 07 03 06 01 05 00 04 02 + + Post multiplication Tweakey : + fb 6d 3a e6 70 27 b1 ac + 3c 43 82 be c1 00 7f fd + 29 1b e7 02 30 cc fe d5 + 45 5e e2 91 8a 36 2d f9 + 07 03 06 01 05 00 04 02 + + Extracting Subtweakey round 10 + fb 6d 3a e6 70 27 b1 ac + 3c 43 82 be c1 00 7f fd + 29 1b e7 02 30 cc fe d5 + 45 5e e2 91 8a 36 2d f9 + 07 03 06 01 05 00 04 02 + + Subtweakey : + ac 68 bb ca 0e dd 19 75 + + Round Tweakey 11 + Input Tweakey : + fb 6d 3a e6 70 27 b1 ac + 3c 43 82 be c1 00 7f fd + 29 1b e7 02 30 cc fe d5 + 45 5e e2 91 8a 36 2d f9 + 07 03 06 01 05 00 04 02 + + Post permutation Tweakey : + fb 70 6d 27 3a b1 ac e6 + 3c c1 43 00 82 7f fd be + 29 30 1b cc e7 fe d5 02 + 45 8a 5e 36 e2 2d f9 91 + 07 05 03 00 06 04 02 01 + + Post multiplication Tweakey : + f9 38 b3 96 1d dc 57 72 + 6d 1c 8b 00 97 e6 71 fa + a0 c4 6c 3a 92 f6 5e 08 + 8e 95 b8 6c 41 5a 77 a3 + 07 05 03 00 06 04 02 01 + + Extracting Subtweakey round 11 + f9 38 b3 96 1d dc 57 72 + 6d 1c 8b 00 97 e6 71 fa + a0 c4 6c 3a 92 f6 5e 08 + 8e 95 b8 6c 41 5a 77 a3 + 07 05 03 00 06 04 02 01 + + Subtweakey : + bd 70 ef c0 5f 92 0d 29 + + Round Tweakey 12 + Input Tweakey : + f9 38 b3 96 1d dc 57 72 + 6d 1c 8b 00 97 e6 71 fa + a0 c4 6c 3a 92 f6 5e 08 + 8e 95 b8 6c 41 5a 77 a3 + 07 05 03 00 06 04 02 01 + + Post permutation Tweakey : + f9 1d 38 dc b3 57 72 96 + 6d 97 1c e6 8b 71 fa 00 + a0 92 c4 f6 6c 5e 08 3a + 8e 41 95 5a b8 77 a3 6c + 07 06 05 04 03 02 01 00 + + Post multiplication Tweakey : + f8 8b 1c 6f dd ae 39 4a + 72 3b e4 ad df 96 49 00 + 07 cb 1a d6 3d f1 20 ec + 9d 86 ab b0 f1 ea c7 dc + 07 06 05 04 03 02 01 00 + + Extracting Subtweakey round 12 + f8 8b 1c 6f dd ae 39 4a + 72 3b e4 ad df 96 49 00 + 07 cb 1a d6 3d f1 20 ec + 9d 86 ab b0 f1 ea c7 dc + 07 06 05 04 03 02 01 00 + + Subtweakey : + 17 fb 4c a0 cd 21 96 76 + + Round Tweakey 13 + Input Tweakey : + f8 8b 1c 6f dd ae 39 4a + 72 3b e4 ad df 96 49 00 + 07 cb 1a d6 3d f1 20 ec + 9d 86 ab b0 f1 ea c7 dc + 07 06 05 04 03 02 01 00 + + Post permutation Tweakey : + f8 dd 8b ae 1c 39 4a 6f + 72 df 3b 96 e4 49 00 ad + 07 3d cb f1 1a 20 ec d6 + 9d f1 86 ea ab c7 dc b0 + 07 03 06 02 05 01 00 04 + + Post multiplication Tweakey : + 7c eb c1 56 0f 98 25 b2 + 8e e8 55 33 bd db 00 66 + 1c f0 26 ca 68 84 be 52 + bb 67 8d 51 d7 0b 3d e1 + 07 03 06 02 05 01 00 04 + + Extracting Subtweakey round 13 + 7c eb c1 56 0f 98 25 b2 + 8e e8 55 33 bd db 00 66 + 1c f0 26 ca 68 84 be 52 + bb 67 8d 51 d7 0b 3d e1 + 07 03 06 02 05 01 00 04 + + Subtweakey : + 52 97 39 fc 08 cd a6 6e + + Round Tweakey 14 + Input Tweakey : + 7c eb c1 56 0f 98 25 b2 + 8e e8 55 33 bd db 00 66 + 1c f0 26 ca 68 84 be 52 + bb 67 8d 51 d7 0b 3d e1 + 07 03 06 02 05 01 00 04 + + Post permutation Tweakey : + 7c 0f eb 98 c1 25 b2 56 + 8e bd e8 db 55 00 66 33 + 1c 68 f0 84 26 be 52 ca + bb d7 67 0b 8d 3d e1 51 + 07 05 03 01 06 00 04 02 + + Post multiplication Tweakey : + 3f 82 f1 4c e4 97 59 2a + f7 e2 dd c8 3f 00 2a 15 + 70 2d ce 93 9c 7f c1 22 + f7 2b ca 16 9b 7a 47 a6 + 07 05 03 01 06 00 04 02 + + Extracting Subtweakey round 14 + 3f 82 f1 4c e4 97 59 2a + f7 e2 dd c8 3f 00 2a 15 + 70 2d ce 93 9c 7f c1 22 + f7 2b ca 16 9b 7a 47 a6 + 07 05 03 01 06 00 04 02 + + Subtweakey : + 48 63 2b 00 da 92 f1 b7 + + Round Tweakey 15 + Input Tweakey : + 3f 82 f1 4c e4 97 59 2a + f7 e2 dd c8 3f 00 2a 15 + 70 2d ce 93 9c 7f c1 22 + f7 2b ca 16 9b 7a 47 a6 + 07 05 03 01 06 00 04 02 + + Post permutation Tweakey : + 3f e4 82 97 f1 59 2a 4c + f7 3f e2 00 dd 2a 15 c8 + 70 9c 2d 7f ce c1 22 93 + f7 9b 2b 7a ca 47 a6 16 + 07 06 05 00 03 04 02 01 + + Post multiplication Tweakey : + 9a 73 41 ce fc a8 15 27 + 21 75 8d 00 f8 d9 ac 54 + 4d f3 b0 71 32 0e 8c cf + 6b b7 56 f0 11 8a cd 2c + 07 06 05 00 03 04 02 01 + + Extracting Subtweakey round 15 + 9a 73 41 ce fc a8 15 27 + 21 75 8d 00 f8 d9 ac 54 + 4d f3 b0 71 32 0e 8c cf + 6b b7 56 f0 11 8a cd 2c + 07 06 05 00 03 04 02 01 + + Subtweakey : + 9a 44 2f 4f 24 f1 fa 9e + + Round Tweakey 16 + Input Tweakey : + 9a 73 41 ce fc a8 15 27 + 21 75 8d 00 f8 d9 ac 54 + 4d f3 b0 71 32 0e 8c cf + 6b b7 56 f0 11 8a cd 2c + 07 06 05 00 03 04 02 01 + + Post permutation Tweakey : + 9a fc 73 a8 41 15 27 ce + 21 f8 75 d9 8d ac 54 00 + 4d 32 f3 0e b0 8c cf 71 + 6b 11 b7 8a 56 cd 2c f0 + 07 03 06 04 05 02 01 00 + + Post multiplication Tweakey : + 4d 7f bd 54 a4 8f 96 66 + 81 59 b6 d8 ef 6e 37 00 + bd cc c2 38 47 b3 36 49 + d2 22 ef 95 a8 1f 58 65 + 07 03 06 04 05 02 01 00 + + Extracting Subtweakey round 16 + 4d 7f bd 54 a4 8f 96 66 + 81 59 b6 d8 ef 6e 37 00 + bd cc c2 38 47 b3 36 49 + d2 22 ef 95 a8 1f 58 65 + 07 03 06 04 05 02 01 00 + + Subtweakey : + a4 cb 20 25 a1 4f ce 5a + + Round Tweakey 17 + Input Tweakey : + 4d 7f bd 54 a4 8f 96 66 + 81 59 b6 d8 ef 6e 37 00 + bd cc c2 38 47 b3 36 49 + d2 22 ef 95 a8 1f 58 65 + 07 03 06 04 05 02 01 00 + + Post permutation Tweakey : + 4d a4 7f 8f bd 96 66 54 + 81 ef 59 6e b6 37 00 d8 + bd 47 cc b3 c2 36 49 38 + d2 a8 22 1f ef 58 65 95 + 07 05 03 02 06 01 00 04 + + Post multiplication Tweakey : + a3 53 ba c2 db 4a 32 2b + 8f e5 5f 6a ba 35 00 d0 + 73 95 3a 4b 02 dc ad e4 + 21 d1 44 3e 5b b4 ce ab + 07 05 03 02 06 01 00 04 + + Extracting Subtweakey round 17 + a3 53 ba c2 db 4a 32 2b + 8f e5 5f 6a ba 35 00 d0 + 73 95 3a 4b 02 dc ad e4 + 21 d1 44 3e 5b b4 ce ab + 07 05 03 02 06 01 00 04 + + Subtweakey : + 79 f7 98 df 3e 16 51 a1 + + Round Tweakey 18 + Input Tweakey : + a3 53 ba c2 db 4a 32 2b + 8f e5 5f 6a ba 35 00 d0 + 73 95 3a 4b 02 dc ad e4 + 21 d1 44 3e 5b b4 ce ab + 07 05 03 02 06 01 00 04 + + Post permutation Tweakey : + a3 db 53 4a ba 32 2b c2 + 8f ba e5 35 5f 00 d0 6a + 73 02 95 dc 3a ad e4 4b + 21 5b d1 b4 44 ce ab 3e + 07 06 05 01 03 00 04 02 + + Post multiplication Tweakey : + d5 e9 ad 25 5d 19 91 61 + ff da b5 25 6f 00 90 4a + 41 08 d7 7a ec 33 9e a5 + 42 b2 27 e9 8c 19 d7 7c + 07 06 05 01 03 00 04 02 + + Extracting Subtweakey round 18 + d5 e9 ad 25 5d 19 91 61 + ff da b5 25 6f 00 90 4a + 41 08 d7 7a ec 33 9e a5 + 42 b2 27 e9 8c 19 d7 7c + 07 06 05 01 03 00 04 02 + + Subtweakey : + 2e 8f ed 92 51 33 4c e2 + + Round Tweakey 19 + Input Tweakey : + d5 e9 ad 25 5d 19 91 61 + ff da b5 25 6f 00 90 4a + 41 08 d7 7a ec 33 9e a5 + 42 b2 27 e9 8c 19 d7 7c + 07 06 05 01 03 00 04 02 + + Post permutation Tweakey : + d5 5d e9 19 ad 91 61 25 + ff 6f da 00 b5 90 4a 25 + 41 ec 08 33 d7 9e a5 7a + 42 8c b2 19 27 d7 7c e9 + 07 03 06 00 05 04 02 01 + + Post multiplication Tweakey : + ef ab f0 88 d3 cc b4 97 + 61 62 c0 00 a2 03 c3 a1 + 8d be 20 c8 56 fb 13 65 + 80 99 e5 32 4e 2b fc 57 + 07 03 06 00 05 04 02 01 + + Extracting Subtweakey round 19 + ef ab f0 88 d3 cc b4 97 + 61 62 c0 00 a2 03 c3 a1 + 8d be 20 c8 56 fb 13 65 + 80 99 e5 32 4e 2b fc 57 + 07 03 06 00 05 04 02 01 + + Subtweakey : + 84 ed f3 72 6c 1b 9a 16 + + Round Tweakey 20 + Input Tweakey : + ef ab f0 88 d3 cc b4 97 + 61 62 c0 00 a2 03 c3 a1 + 8d be 20 c8 56 fb 13 65 + 80 99 e5 32 4e 2b fc 57 + 07 03 06 00 05 04 02 01 + + Post permutation Tweakey : + ef d3 ab cc f0 b4 97 88 + 61 a2 62 03 c0 c3 a1 00 + 8d 56 be fb 20 13 65 c8 + 80 4e 99 2b e5 fc 57 32 + 07 05 03 04 06 02 01 00 + + Post multiplication Tweakey : + f2 ed d1 67 78 5b ce 44 + 12 1e 0a 18 14 0c 06 00 + b7 d1 7f e2 84 4c 19 2a + 81 98 b3 56 4f 7d aa 64 + 07 05 03 04 06 02 01 00 + + Extracting Subtweakey round 20 + f2 ed d1 67 78 5b ce 44 + 12 1e 0a 18 14 0c 06 00 + b7 d1 7f e2 84 4c 19 2a + 81 98 b3 56 4f 7d aa 64 + 07 05 03 04 06 02 01 00 + + Subtweakey : + d1 bf 14 cf a1 64 7a 1e + + Round Tweakey 21 + Input Tweakey : + f2 ed d1 67 78 5b ce 44 + 12 1e 0a 18 14 0c 06 00 + b7 d1 7f e2 84 4c 19 2a + 81 98 b3 56 4f 7d aa 64 + 07 05 03 04 06 02 01 00 + + Post permutation Tweakey : + f2 78 ed 5b d1 ce 44 67 + 12 14 1e 0c 0a 06 00 18 + b7 84 d1 4c 7f 19 2a e2 + 81 4f 98 7d b3 aa 64 56 + 07 06 05 02 03 01 00 04 + + Post multiplication Tweakey : + 79 3c f3 a9 ec 66 23 b6 + 94 a4 f4 60 50 30 00 c4 + 5b 93 4e b9 71 64 ac 86 + 83 9a b1 fe e7 d5 cc a8 + 07 06 05 02 03 01 00 04 + + Extracting Subtweakey round 21 + 79 3c f3 a9 ec 66 23 b6 + 94 a4 f4 60 50 30 00 c4 + 5b 93 4e b9 71 64 ac 86 + 83 9a b1 fe e7 d5 cc a8 + 07 06 05 02 03 01 00 04 + + Subtweakey : + 32 97 fd 8c 29 e6 43 4d + + Round Tweakey 22 + Input Tweakey : + 79 3c f3 a9 ec 66 23 b6 + 94 a4 f4 60 50 30 00 c4 + 5b 93 4e b9 71 64 ac 86 + 83 9a b1 fe e7 d5 cc a8 + 07 06 05 02 03 01 00 04 + + Post permutation Tweakey : + 79 ec 3c 66 f3 23 b6 a9 + 94 50 a4 30 f4 00 c4 60 + 5b 71 93 64 4e ac 86 b9 + 83 e7 9a d5 b1 cc a8 fe + 07 03 06 01 05 00 04 02 + + Post multiplication Tweakey : + b8 77 1f 32 fd 95 5a d0 + 23 17 2e 0d 39 00 34 1a + e5 49 cf 1d b1 37 9b 63 + 87 4b b5 2f e3 1d d1 79 + 07 03 06 01 05 00 04 02 + + Extracting Subtweakey round 22 + b8 77 1f 32 fd 95 5a d0 + 23 17 2e 0d 39 00 34 1a + e5 49 cf 1d b1 37 9b 63 + 87 4b b5 2f e3 1d d1 79 + 07 03 06 01 05 00 04 02 + + Subtweakey : + fe 61 4d 0c 93 bf 20 c4 + + Round Tweakey 23 + Input Tweakey : + b8 77 1f 32 fd 95 5a d0 + 23 17 2e 0d 39 00 34 1a + e5 49 cf 1d b1 37 9b 63 + 87 4b b5 2f e3 1d d1 79 + 07 03 06 01 05 00 04 02 + + Post permutation Tweakey : + b8 fd 77 95 1f 5a d0 32 + 23 39 17 00 2e 34 1a 0d + e5 b1 49 37 cf 9b 63 1d + 87 e3 4b 1d b5 d1 79 2f + 07 05 03 00 06 04 02 01 + + Post multiplication Tweakey : + 5c fb be cf 8a 2d 68 19 + 91 45 bc 00 f9 2d d4 68 + 9a 43 ad d8 36 ef 01 74 + 8f 43 92 3a eb 27 f6 5e + 07 05 03 00 06 04 02 01 + + Extracting Subtweakey round 23 + 5c fb be cf 8a 2d 68 19 + 91 45 bc 00 f9 2d d4 68 + 9a 43 ad d8 36 ef 01 74 + 8f 43 92 3a eb 27 f6 5e + 07 05 03 00 06 04 02 01 + + Subtweakey : + df bb 3e 2d a8 cc 49 4d + + Round Tweakey 24 + Input Tweakey : + 5c fb be cf 8a 2d 68 19 + 91 45 bc 00 f9 2d d4 68 + 9a 43 ad d8 36 ef 01 74 + 8f 43 92 3a eb 27 f6 5e + 07 05 03 00 06 04 02 01 + + Post permutation Tweakey : + 5c 8a fb 2d be 68 19 cf + 91 f9 45 2d bc d4 68 00 + 9a 36 43 ef ad 01 74 d8 + 8f eb 43 27 92 f6 5e 3a + 07 06 05 04 03 02 01 00 + + Post multiplication Tweakey : + 2f 45 f9 93 5e 34 88 e2 + 0b 51 bb e1 ea b0 5a 00 + eb dc 85 b2 33 04 5d 6a + 9f 53 82 4e a5 69 b8 74 + 07 06 05 04 03 02 01 00 + + Extracting Subtweakey round 24 + 2f 45 f9 93 5e 34 88 e2 + 0b 51 bb e1 ea b0 5a 00 + eb dc 85 b2 33 04 5d 6a + 9f 53 82 4e a5 69 b8 74 + 07 06 05 04 03 02 01 00 + + Subtweakey : + 57 9d 40 8a 21 eb 36 e4 + + Round Tweakey 25 + Input Tweakey : + 2f 45 f9 93 5e 34 88 e2 + 0b 51 bb e1 ea b0 5a 00 + eb dc 85 b2 33 04 5d 6a + 9f 53 82 4e a5 69 b8 74 + 07 06 05 04 03 02 01 00 + + Post permutation Tweakey : + 2f 5e 45 34 f9 88 e2 93 + 0b ea 51 b0 bb 5a 00 e1 + eb 33 dc 04 85 5d 6a b2 + 9f a5 53 69 82 b8 74 4e + 07 03 06 02 05 01 00 04 + + Post multiplication Tweakey : + 92 2e a7 1b f8 44 71 cd + 58 cd 1f 8a d2 47 00 95 + a2 c8 7a 10 97 fd 25 4f + bf cb a2 d6 85 f1 ec 98 + 07 03 06 02 05 01 00 04 + + Extracting Subtweakey round 25 + 92 2e a7 1b f8 44 71 cd + 58 cd 1f 8a d2 47 00 95 + a2 c8 7a 10 97 fd 25 4f + bf cb a2 d6 85 f1 ec 98 + 07 03 06 02 05 01 00 04 + + Subtweakey : + d0 e3 66 55 3d 0e b8 92 + + Round Tweakey 26 + Input Tweakey : + 92 2e a7 1b f8 44 71 cd + 58 cd 1f 8a d2 47 00 95 + a2 c8 7a 10 97 fd 25 4f + bf cb a2 d6 85 f1 ec 98 + 07 03 06 02 05 01 00 04 + + Post permutation Tweakey : + 92 f8 2e 44 a7 71 cd 1b + 58 d2 cd 47 1f 00 95 8a + a2 97 c8 fd 7a 25 4f 10 + bf 85 cb f1 a2 ec 98 d6 + 07 05 03 01 06 00 04 02 + + Post multiplication Tweakey : + 49 7c 16 23 d6 bc e3 89 + 57 80 7c ab fc 00 2b d7 + 0f df 2a fa 65 90 b5 40 + ff 8b 13 67 c5 5d b1 29 + 07 05 03 01 06 00 04 02 + + Extracting Subtweakey round 26 + 49 7c 16 23 d6 bc e3 89 + 57 80 7c ab fc 00 2b d7 + 0f df 2a fa 65 90 b5 40 + ff 8b 13 67 c5 5d b1 29 + 07 05 03 01 06 00 04 02 + + Subtweakey : + e9 ad 50 14 8c 71 c8 2f + + Round Tweakey 27 + Input Tweakey : + 49 7c 16 23 d6 bc e3 89 + 57 80 7c ab fc 00 2b d7 + 0f df 2a fa 65 90 b5 40 + ff 8b 13 67 c5 5d b1 29 + 07 05 03 01 06 00 04 02 + + Post permutation Tweakey : + 49 d6 7c bc 16 e3 89 23 + 57 fc 80 00 7c 2b d7 ab + 0f 65 df 90 2a b5 40 fa + ff c5 8b 5d 13 b1 29 67 + 07 06 05 00 03 04 02 01 + + Post multiplication Tweakey : + a0 6a 3f 5f 0a f5 c0 95 + 2f 79 87 00 fe d1 a8 56 + 3c 19 76 c3 ac 53 89 e6 + 7b 0f 97 be 26 e3 52 ca + 07 06 05 00 03 04 02 01 + + Extracting Subtweakey round 27 + a0 6a 3f 5f 0a f5 c0 95 + 2f 79 87 00 fe d1 a8 56 + 3c 19 76 c3 ac 53 89 e6 + 7b 0f 97 be 26 e3 52 ca + 07 06 05 00 03 04 02 01 + + Subtweakey : + cf 03 5c 22 7d 90 b1 f5 + + Round Tweakey 28 + Input Tweakey : + a0 6a 3f 5f 0a f5 c0 95 + 2f 79 87 00 fe d1 a8 56 + 3c 19 76 c3 ac 53 89 e6 + 7b 0f 97 be 26 e3 52 ca + 07 06 05 00 03 04 02 01 + + Post permutation Tweakey : + a0 0a 6a f5 3f c0 95 5f + 2f fe 79 d1 87 a8 56 00 + 3c ac 19 53 76 89 e6 c3 + 7b 26 0f e3 97 52 ca be + 07 03 06 04 05 02 01 00 + + Post multiplication Tweakey : + 50 05 35 ff 9a 60 cf aa + f1 69 d6 98 bf 4e 27 00 + f4 37 64 c5 55 a7 96 06 + f2 4c 1e 43 af a0 11 fd + 07 03 06 04 05 02 01 00 + + Extracting Subtweakey round 28 + 50 05 35 ff 9a 60 cf aa + f1 69 d6 98 bf 4e 27 00 + f4 37 64 c5 55 a7 96 06 + f2 4c 1e 43 af a0 11 fd + 07 03 06 04 05 02 01 00 + + Subtweakey : + a0 14 9f e5 da 2b 6e 4d + + Round Tweakey 29 + Input Tweakey : + 50 05 35 ff 9a 60 cf aa + f1 69 d6 98 bf 4e 27 00 + f4 37 64 c5 55 a7 96 06 + f2 4c 1e 43 af a0 11 fd + 07 03 06 04 05 02 01 00 + + Post permutation Tweakey : + 50 9a 05 60 35 cf aa ff + f1 bf 69 4e d6 27 00 98 + f4 55 37 a7 64 96 06 c5 + f2 af 4c a0 1e 11 fd 43 + 07 05 03 02 06 01 00 04 + + Post multiplication Tweakey : + 28 4d 87 30 9f e2 55 fa + 11 f2 52 e3 a0 b1 00 43 + de dd d8 1b 1d db 18 1e + 61 df 9c c1 3c 22 7f 82 + 07 05 03 02 06 01 00 04 + + Extracting Subtweakey round 29 + 28 4d 87 30 9f e2 55 fa + 11 f2 52 e3 a0 b1 00 43 + de dd d8 1b 1d db 18 1e + 61 df 9c c1 3c 22 7f 82 + 07 05 03 02 06 01 00 04 + + Subtweakey : + 81 b8 92 0b 18 ab 32 3c + + Round Tweakey 30 + Input Tweakey : + 28 4d 87 30 9f e2 55 fa + 11 f2 52 e3 a0 b1 00 43 + de dd d8 1b 1d db 18 1e + 61 df 9c c1 3c 22 7f 82 + 07 05 03 02 06 01 00 04 + + Post permutation Tweakey : + 28 9f 4d e2 87 55 fa 30 + 11 a0 f2 b1 52 00 43 e3 + de 1d dd db d8 18 1e 1b + 61 3c df 22 9c 7f 82 c1 + 07 06 05 01 03 00 04 02 + + Post multiplication Tweakey : + 14 ca a3 71 c6 af 7d 18 + 8c 0e 09 82 07 00 8b 85 + 72 74 7e 66 6a 60 78 6c + c6 78 3b 44 b9 fa 85 07 + 07 06 05 01 03 00 04 02 + + Extracting Subtweakey round 30 + 14 ca a3 71 c6 af 7d 18 + 8c 0e 09 82 07 00 8b 85 + 72 74 7e 66 6a 60 78 6c + c6 78 3b 44 b9 fa 85 07 + 07 06 05 01 03 00 04 02 + + Subtweakey : + 2b ce ea d0 11 35 0f ea + + Round Tweakey 31 + Input Tweakey : + 14 ca a3 71 c6 af 7d 18 + 8c 0e 09 82 07 00 8b 85 + 72 74 7e 66 6a 60 78 6c + c6 78 3b 44 b9 fa 85 07 + 07 06 05 01 03 00 04 02 + + Post permutation Tweakey : + 14 c6 ca af a3 7d 18 71 + 8c 07 0e 00 09 8b 85 82 + 72 6a 74 60 7e 78 6c 66 + c6 b9 78 fa 3b 85 07 44 + 07 03 06 00 05 04 02 01 + + Post multiplication Tweakey : + 0b 62 65 d2 d5 bb 0c bc + e7 38 70 00 48 df af 97 + 45 25 5d 0d 75 6d 3d 15 + 09 f3 f4 71 76 8b 0e 8c + 07 03 06 00 05 04 02 01 + + Extracting Subtweakey round 31 + 0b 62 65 d2 d5 bb 0c bc + e7 38 70 00 48 df af 97 + 45 25 5d 0d 75 6d 3d 15 + 09 f3 f4 71 76 8b 0e 8c + 07 03 06 00 05 04 02 01 + + Subtweakey : + a7 8f ba ae 9b 86 92 ac + diff --git a/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_random.txt b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_random.txt new file mode 100644 index 0000000..529e39d --- /dev/null +++ b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey-ref/tweakey_random.txt @@ -0,0 +1,1020 @@ +Building Tweakey : + Tweak is : + 4d d2 b3 2a 12 43 8d 7d + 21 26 90 90 fa 2e f8 df + 84 1c 11 81 10 f3 43 a8 + + Key is : + 9b f9 d5 3d 4d 23 f4 7f + 68 91 73 02 0a c6 96 c1 + + Tweakey is : + 9b f9 d5 3d 4d 23 f4 7f + 68 91 73 02 0a c6 96 c1 + 4d d2 b3 2a 12 43 8d 7d + 21 26 90 90 fa 2e f8 df + 84 1c 11 81 10 f3 43 a8 + +Tweakey Schedule + Extracting Subtweakey round 0 + 9b f9 d5 3d 4d 23 f4 7f + 68 91 73 02 0a c6 96 c1 + 4d d2 b3 2a 12 43 8d 7d + 21 26 90 90 fa 2e f8 df + 84 1c 11 81 10 f3 43 a8 + + Subtweakey : + 1b 80 94 04 bf 7b 54 b4 + + Round Tweakey 1 + Input Tweakey : + 9b f9 d5 3d 4d 23 f4 7f + 68 91 73 02 0a c6 96 c1 + 4d d2 b3 2a 12 43 8d 7d + 21 26 90 90 fa 2e f8 df + 84 1c 11 81 10 f3 43 a8 + + Post permutation Tweakey : + 9b 4d f9 23 d5 f4 7f 3d + 68 0a 91 c6 73 96 c1 02 + 4d 12 d2 43 b3 8d 7d 2a + 21 fa 26 2e 90 f8 df 90 + 84 10 1c f3 11 43 a8 81 + + Post multiplication Tweakey : + c9 a3 f8 95 ef 7b ba 9b + 5a 50 0b 24 86 33 1c 10 + bd 48 42 85 4b b7 79 ac + 42 71 4c 5c a1 75 3b a1 + 84 10 1c f3 11 43 a8 81 + + Extracting Subtweakey round 1 + c9 a3 f8 95 ef 7b ba 9b + 5a 50 0b 24 86 33 1c 10 + bd 48 42 85 4b b7 79 ac + 42 71 4c 5c a1 75 3b a1 + 84 10 1c f3 11 43 a8 81 + + Subtweakey : + e8 da e1 9b 92 c9 4c 06 + + Round Tweakey 2 + Input Tweakey : + c9 a3 f8 95 ef 7b ba 9b + 5a 50 0b 24 86 33 1c 10 + bd 48 42 85 4b b7 79 ac + 42 71 4c 5c a1 75 3b a1 + 84 10 1c f3 11 43 a8 81 + + Post permutation Tweakey : + c9 ef a3 7b f8 ba 9b 95 + 5a 86 50 33 0b 1c 10 24 + bd 4b 48 b7 42 79 ac 85 + 42 a1 71 75 4c 3b a1 5c + 84 11 10 43 1c a8 81 f3 + + Post multiplication Tweakey : + e0 f2 d5 b9 7c 5d c9 cf + 47 b7 17 15 58 e4 84 a9 + 73 a5 a9 5b 81 69 37 97 + 80 c3 e6 ee 9c 76 c3 bc + 84 11 10 43 1c a8 81 f3 + + Extracting Subtweakey round 2 + e0 f2 d5 b9 7c 5d c9 cf + 47 b7 17 15 58 e4 84 a9 + 73 a5 a9 5b 81 69 37 97 + 80 c3 e6 ee 9c 76 c3 bc + 84 11 10 43 1c a8 81 f3 + + Subtweakey : + d0 32 9d 5a 25 0e 38 bc + + Round Tweakey 3 + Input Tweakey : + e0 f2 d5 b9 7c 5d c9 cf + 47 b7 17 15 58 e4 84 a9 + 73 a5 a9 5b 81 69 37 97 + 80 c3 e6 ee 9c 76 c3 bc + 84 11 10 43 1c a8 81 f3 + + Post permutation Tweakey : + e0 7c f2 5d d5 c9 cf b9 + 47 58 b7 e4 17 84 a9 15 + 73 81 a5 69 a9 37 97 5b + 80 9c c3 76 e6 c3 bc ee + 84 1c 11 a8 10 81 f3 43 + + Post multiplication Tweakey : + 70 3f 79 ab ef e0 e2 d8 + ab 57 b2 bd bc a7 46 ac + 41 87 13 29 23 d8 df e5 + 81 b9 03 e8 49 03 f9 59 + 84 1c 11 a8 10 81 f3 43 + + Extracting Subtweakey round 3 + 70 3f 79 ab ef e0 e2 d8 + ab 57 b2 bd bc a7 46 ac + 41 87 13 29 23 d8 df e5 + 81 b9 03 e8 49 03 f9 59 + 84 1c 11 a8 10 81 f3 43 + + Subtweakey : + 9f 4a ca 7f 29 1d 71 88 + + Round Tweakey 4 + Input Tweakey : + 70 3f 79 ab ef e0 e2 d8 + ab 57 b2 bd bc a7 46 ac + 41 87 13 29 23 d8 df e5 + 81 b9 03 e8 49 03 f9 59 + 84 1c 11 a8 10 81 f3 43 + + Post permutation Tweakey : + 70 ef 3f e0 79 e2 d8 ab + ab bc 57 a7 b2 46 ac bd + 41 23 87 d8 13 df e5 29 + 81 49 b9 03 03 f9 59 e8 + 84 10 1c 81 11 f3 43 a8 + + Post multiplication Tweakey : + 38 f2 9a 70 b8 71 6c d1 + 56 ea 2f 36 9a a3 6e e2 + 8d 88 9f 6a 4c 76 9a a0 + 83 96 f3 06 06 77 b6 55 + 84 10 1c 81 11 f3 43 a8 + + Extracting Subtweakey round 4 + 38 f2 9a 70 b8 71 6c d1 + 56 ea 2f 36 9a a3 6e e2 + 8d 88 9f 6a 4c 76 9a a0 + 83 96 f3 06 06 77 b6 55 + 84 10 1c 81 11 f3 43 a8 + + Subtweakey : + e4 16 c5 ab 79 20 6d 6a + + Round Tweakey 5 + Input Tweakey : + 38 f2 9a 70 b8 71 6c d1 + 56 ea 2f 36 9a a3 6e e2 + 8d 88 9f 6a 4c 76 9a a0 + 83 96 f3 06 06 77 b6 55 + 84 10 1c 81 11 f3 43 a8 + + Post permutation Tweakey : + 38 b8 f2 71 9a 6c d1 70 + 56 9a ea a3 2f 6e e2 36 + 8d 4c 88 76 9f 9a a0 6a + 83 06 96 77 f3 b6 55 06 + 84 11 10 f3 1c 43 a8 81 + + Post multiplication Tweakey : + 1c 5c 79 bc 4d 37 ec 38 + 27 53 cd 16 f1 6a 8d 3d + b7 b9 a3 55 ff eb 07 25 + 87 0c ad ea 63 ed ae 0c + 84 11 10 f3 1c 43 a8 81 + + Extracting Subtweakey round 5 + 1c 5c 79 bc 4d 37 ec 38 + 27 53 cd 16 f1 6a 8d 3d + b7 b9 a3 55 ff eb 07 25 + 87 0c ad ea 63 ed ae 0c + 84 11 10 f3 1c 43 a8 81 + + Subtweakey : + 8f ab aa e6 3c 18 60 a8 + + Round Tweakey 6 + Input Tweakey : + 1c 5c 79 bc 4d 37 ec 38 + 27 53 cd 16 f1 6a 8d 3d + b7 b9 a3 55 ff eb 07 25 + 87 0c ad ea 63 ed ae 0c + 84 11 10 f3 1c 43 a8 81 + + Post permutation Tweakey : + 1c 4d 5c 37 79 ec 38 bc + 27 f1 53 6a cd 8d 3d 16 + b7 ff b9 eb a3 07 25 55 + 87 63 0c ed ad ae 0c ea + 84 1c 11 43 10 a8 81 f3 + + Post multiplication Tweakey : + 0f a3 2f 9e b8 77 1c 5f + b1 11 0f 4a 7c ef 65 b4 + 5b f2 63 a2 0b 1c 90 dd + 8f c2 18 5f db dd 18 51 + 84 1c 11 43 10 a8 81 f3 + + Extracting Subtweakey round 6 + 0f a3 2f 9e b8 77 1c 5f + b1 11 0f 4a 7c ef 65 b4 + 5b f2 63 a2 0b 1c 90 dd + 8f c2 18 5f db dd 18 51 + 84 1c 11 43 10 a8 81 f3 + + Subtweakey : + ee 9e 4a 6a 04 f1 70 92 + + Round Tweakey 7 + Input Tweakey : + 0f a3 2f 9e b8 77 1c 5f + b1 11 0f 4a 7c ef 65 b4 + 5b f2 63 a2 0b 1c 90 dd + 8f c2 18 5f db dd 18 51 + 84 1c 11 43 10 a8 81 f3 + + Post permutation Tweakey : + 0f b8 a3 77 2f 1c 5f 9e + b1 7c 11 ef 0f 65 b4 4a + 5b 0b f2 1c 63 90 dd a2 + 8f db c2 dd 18 18 51 5f + 84 10 1c a8 11 81 f3 43 + + Post multiplication Tweakey : + 82 5c d5 be 92 0f aa 4e + 82 fe 8c e5 78 32 aa c3 + e5 2c c6 70 01 c3 7e 0f + 9f 33 01 3f 30 30 a6 ba + 84 10 1c a8 11 81 f3 43 + + Extracting Subtweakey round 7 + 82 5c d5 be 92 0f aa 4e + 82 fe 8c e5 78 32 aa c3 + e5 2c c6 70 01 c3 7e 0f + 9f 33 01 3f 30 30 a6 ba + 84 10 1c a8 11 81 f3 43 + + Subtweakey : + fe ad 82 bc ca 4f 2b 7c + + Round Tweakey 8 + Input Tweakey : + 82 5c d5 be 92 0f aa 4e + 82 fe 8c e5 78 32 aa c3 + e5 2c c6 70 01 c3 7e 0f + 9f 33 01 3f 30 30 a6 ba + 84 10 1c a8 11 81 f3 43 + + Post permutation Tweakey : + 82 92 5c 0f d5 aa 4e be + 82 78 fe 32 8c aa c3 e5 + e5 01 2c c3 c6 7e 0f 70 + 9f 30 33 30 01 a6 ba 3f + 84 11 10 81 1c f3 43 a8 + + Post multiplication Tweakey : + 41 49 2f 82 ef 55 26 5e + 97 de 69 1d e7 5e 0c b5 + 9a 04 b4 06 12 75 3c 4d + bf 60 66 60 02 cd f5 7e + 84 11 10 81 1c f3 43 a8 + + Extracting Subtweakey round 8 + 41 49 2f 82 ef 55 26 5e + 97 de 69 1d e7 5e 0c b5 + 9a 04 b4 06 12 75 3c 4d + bf 60 66 60 02 cd f5 7e + 84 11 10 81 1c f3 43 a8 + + Subtweakey : + 77 e2 84 78 04 40 a0 78 + + Round Tweakey 9 + Input Tweakey : + 41 49 2f 82 ef 55 26 5e + 97 de 69 1d e7 5e 0c b5 + 9a 04 b4 06 12 75 3c 4d + bf 60 66 60 02 cd f5 7e + 84 11 10 81 1c f3 43 a8 + + Post permutation Tweakey : + 41 ef 49 55 2f 26 5e 82 + 97 e7 de 5e 69 0c b5 1d + 9a 12 04 75 b4 3c 4d 06 + bf 02 60 cd 66 f5 7e 60 + 84 1c 11 f3 10 43 a8 81 + + Post multiplication Tweakey : + a4 f2 a0 af 92 12 2e 41 + 3b a5 e0 67 52 60 a2 ec + eb 48 10 59 57 f4 bd 18 + ff 04 c4 1f c8 6f f8 c4 + 84 1c 11 f3 10 43 a8 81 + + Extracting Subtweakey round 9 + a4 f2 a0 af 92 12 2e 41 + 3b a5 e0 67 52 60 a2 ec + eb 48 10 59 57 f4 bd 18 + ff 04 c4 1f c8 6f f8 c4 + 84 1c 11 f3 10 43 a8 81 + + Subtweakey : + 0f 07 85 7d 4f aa 61 f9 + + Round Tweakey 10 + Input Tweakey : + a4 f2 a0 af 92 12 2e 41 + 3b a5 e0 67 52 60 a2 ec + eb 48 10 59 57 f4 bd 18 + ff 04 c4 1f c8 6f f8 c4 + 84 1c 11 f3 10 43 a8 81 + + Post permutation Tweakey : + a4 92 f2 12 a0 2e 41 af + 3b 52 a5 60 e0 a2 ec 67 + eb 57 48 f4 10 bd 18 59 + ff c8 04 6f c4 f8 c4 1f + 84 10 1c 43 11 a8 81 f3 + + Post multiplication Tweakey : + 53 49 79 09 50 16 a4 d2 + 55 07 26 1a 9d 1e fd 22 + a2 d5 a9 de 40 73 60 ed + 7b 15 08 da 0d 75 0d 3e + 84 10 1c 43 11 a8 81 f3 + + Extracting Subtweakey round 10 + 53 49 79 09 50 16 a4 d2 + 55 07 26 1a 9d 1e fd 22 + a2 d5 a9 de 40 73 60 ed + 7b 15 08 da 0d 75 0d 3e + 84 10 1c 43 11 a8 81 f3 + + Subtweakey : + 5b 9e e2 54 91 a6 b5 da + + Round Tweakey 11 + Input Tweakey : + 53 49 79 09 50 16 a4 d2 + 55 07 26 1a 9d 1e fd 22 + a2 d5 a9 de 40 73 60 ed + 7b 15 08 da 0d 75 0d 3e + 84 10 1c 43 11 a8 81 f3 + + Post permutation Tweakey : + 53 50 49 16 79 a4 d2 09 + 55 9d 07 1e 26 fd 22 1a + a2 40 d5 73 a9 60 ed de + 7b 0d 15 75 08 0d 3e da + 84 11 10 a8 1c 81 f3 43 + + Post multiplication Tweakey : + ad 28 a0 0a b8 53 69 80 + 3f 6b 38 f4 b9 71 99 d4 + 0f 89 5e 41 23 0d ba 72 + f2 1a 2a ee 10 1a 7c 31 + 84 11 10 a8 1c 81 f3 43 + + Extracting Subtweakey round 11 + ad 28 a0 0a b8 53 69 80 + 3f 6b 38 f4 b9 71 99 d4 + 0f 89 5e 41 23 0d ba 72 + f2 1a 2a ee 10 1a 7c 31 + 84 11 10 a8 1c 81 f3 43 + + Subtweakey : + eb c1 fc f9 2e b4 c5 5f + + Round Tweakey 12 + Input Tweakey : + ad 28 a0 0a b8 53 69 80 + 3f 6b 38 f4 b9 71 99 d4 + 0f 89 5e 41 23 0d ba 72 + f2 1a 2a ee 10 1a 7c 31 + 84 11 10 a8 1c 81 f3 43 + + Post permutation Tweakey : + ad b8 28 53 a0 69 80 0a + 3f b9 6b 71 38 99 d4 f4 + 0f 23 89 0d 5e ba 72 41 + f2 10 1a 1a 2a 7c 31 ee + 84 1c 11 81 10 f3 43 a8 + + Post multiplication Tweakey : + d3 5c 14 ad 50 b0 40 05 + 75 c2 42 96 4d 4b b0 39 + 3c 88 a7 34 f1 6f 45 8d + 61 20 34 34 54 fc 62 59 + 84 1c 11 81 10 f3 43 a8 + + Extracting Subtweakey round 12 + d3 5c 14 ad 50 b0 40 05 + 75 c2 42 96 4d 4b b0 39 + 3c 88 a7 34 f1 6f 45 8d + 61 20 34 34 54 fc 62 59 + 84 1c 11 81 10 f3 43 a8 + + Subtweakey : + 7f 2a d4 ba a8 9b 94 4c + + Round Tweakey 13 + Input Tweakey : + d3 5c 14 ad 50 b0 40 05 + 75 c2 42 96 4d 4b b0 39 + 3c 88 a7 34 f1 6f 45 8d + 61 20 34 34 54 fc 62 59 + 84 1c 11 81 10 f3 43 a8 + + Post permutation Tweakey : + d3 50 5c b0 14 40 05 ad + 75 4d c2 4b 42 b0 39 96 + 3c f1 88 6f a7 45 8d 34 + 61 54 20 fc 34 62 59 34 + 84 10 1c f3 11 43 a8 81 + + Post multiplication Tweakey : + ed 28 2f 58 0b 20 87 d3 + b6 fb 04 cb 83 8a 45 33 + f4 ca a3 31 1b 9d b7 d4 + c6 ac 40 7d 68 c0 b6 68 + 84 10 1c f3 11 43 a8 81 + + Extracting Subtweakey round 13 + ed 28 2f 58 0b 20 87 d3 + b6 fb 04 cb 83 8a 45 33 + f4 ca a3 31 1b 9d b7 d4 + c6 ac 40 7d 68 c0 b6 68 + 84 10 1c f3 11 43 a8 81 + + Subtweakey : + ed a5 d4 2c ea b4 6b d0 + + Round Tweakey 14 + Input Tweakey : + ed 28 2f 58 0b 20 87 d3 + b6 fb 04 cb 83 8a 45 33 + f4 ca a3 31 1b 9d b7 d4 + c6 ac 40 7d 68 c0 b6 68 + 84 10 1c f3 11 43 a8 81 + + Post permutation Tweakey : + ed 0b 28 20 2f 87 d3 58 + b6 83 fb 8a 04 45 33 cb + f4 1b ca 9d a3 b7 d4 31 + c6 68 ac c0 40 b6 68 7d + 84 11 10 43 1c a8 81 f3 + + Post multiplication Tweakey : + f3 81 14 10 92 c6 ed 2c + ba 9f 41 d7 20 bb 15 4c + de 6c 22 f7 0b 5b 5a c0 + 09 d4 d9 05 84 ed d4 fe + 84 11 10 43 1c a8 81 f3 + + Extracting Subtweakey round 14 + f3 81 14 10 92 c6 ed 2c + ba 9f 41 d7 20 bb 15 4c + de 6c 22 f7 0b 5b 5a c0 + 09 d4 d9 05 84 ed d4 fe + 84 11 10 43 1c a8 81 f3 + + Subtweakey : + 1a b7 be 76 21 63 f7 a3 + + Round Tweakey 15 + Input Tweakey : + f3 81 14 10 92 c6 ed 2c + ba 9f 41 d7 20 bb 15 4c + de 6c 22 f7 0b 5b 5a c0 + 09 d4 d9 05 84 ed d4 fe + 84 11 10 43 1c a8 81 f3 + + Post permutation Tweakey : + f3 92 81 c6 14 ed 2c 10 + ba 20 9f bb 41 15 4c d7 + de 0b 6c 5b 22 5a c0 f7 + 09 84 d4 ed d9 d4 fe 05 + 84 1c 11 a8 10 81 f3 43 + + Post multiplication Tweakey : + fd 49 c4 62 0b f3 17 08 + da 89 7b d2 9b ac f3 a8 + 72 2c 3d e5 8c e1 0a d2 + 12 89 2d 5f 37 2d 79 0a + 84 1c 11 a8 10 81 f3 43 + + Extracting Subtweakey round 15 + fd 49 c4 62 0b f3 17 08 + da 89 7b d2 9b ac f3 a8 + 72 2c 3d e5 8c e1 0a d2 + 12 89 2d 5f 37 2d 79 0a + 84 1c 11 a8 10 81 f3 43 + + Subtweakey : + c3 79 be a2 3b 12 64 34 + + Round Tweakey 16 + Input Tweakey : + fd 49 c4 62 0b f3 17 08 + da 89 7b d2 9b ac f3 a8 + 72 2c 3d e5 8c e1 0a d2 + 12 89 2d 5f 37 2d 79 0a + 84 1c 11 a8 10 81 f3 43 + + Post permutation Tweakey : + fd 0b 49 f3 c4 17 08 62 + da 9b 89 ac 7b f3 a8 d2 + 72 8c 2c e1 3d 0a d2 e5 + 12 37 89 2d 2d 79 0a 5f + 84 10 1c 81 11 f3 43 a8 + + Post multiplication Tweakey : + fb 81 a0 fd 63 8e 04 31 + c0 5b cf 6e c6 01 4e 80 + 45 b3 b4 8a f0 28 42 9a + 24 6e 93 5a 5a f6 14 ba + 84 10 1c 81 11 f3 43 a8 + + Extracting Subtweakey round 16 + fb 81 a0 fd 63 8e 04 31 + c0 5b cf 6e c6 01 4e 80 + 45 b3 b4 8a f0 28 42 9a + 24 6e 93 5a 5a f6 14 ba + 84 10 1c 81 11 f3 43 a8 + + Subtweakey : + de 17 54 c2 1e a2 5f 29 + + Round Tweakey 17 + Input Tweakey : + fb 81 a0 fd 63 8e 04 31 + c0 5b cf 6e c6 01 4e 80 + 45 b3 b4 8a f0 28 42 9a + 24 6e 93 5a 5a f6 14 ba + 84 10 1c 81 11 f3 43 a8 + + Post permutation Tweakey : + fb 63 81 8e a0 04 31 fd + c0 c6 5b 01 cf 4e 80 6e + 45 f0 b3 28 b4 42 9a 8a + 24 5a 6e f6 93 14 ba 5a + 84 11 10 f3 1c 43 a8 81 + + Post multiplication Tweakey : + f9 b5 c4 46 50 03 9c fb + 14 24 4f 08 6c e3 87 6a + 9d ce 4b a4 57 81 eb ab + 48 b0 d8 69 a7 28 f5 b0 + 84 11 10 f3 1c 43 a8 81 + + Extracting Subtweakey round 17 + f9 b5 c4 46 50 03 9c fb + 14 24 4f 08 6c e3 87 6a + 9d ce 4b a4 57 81 eb ab + 48 b0 d8 69 a7 28 f5 b0 + 84 11 10 f3 1c 43 a8 81 + + Subtweakey : + bc fe 08 70 d0 0a ad 1a + + Round Tweakey 18 + Input Tweakey : + f9 b5 c4 46 50 03 9c fb + 14 24 4f 08 6c e3 87 6a + 9d ce 4b a4 57 81 eb ab + 48 b0 d8 69 a7 28 f5 b0 + 84 11 10 f3 1c 43 a8 81 + + Post permutation Tweakey : + f9 50 b5 03 c4 9c fb 46 + 14 6c 24 e3 4f 87 6a 08 + 9d 57 ce 81 4b eb ab a4 + 48 a7 b0 28 d8 f5 b0 69 + 84 1c 11 43 10 a8 81 f3 + + Post multiplication Tweakey : + f8 28 df 85 63 4f f9 22 + a4 7a a9 85 eb bf 4a 40 + f7 d5 32 87 a5 a2 2b 17 + 94 cf e1 50 35 6f e1 d6 + 84 1c 11 43 10 a8 81 f3 + + Extracting Subtweakey round 18 + f8 28 df 85 63 4f f9 22 + a4 7a a9 85 eb bf 4a 40 + f7 d5 32 87 a5 a2 2b 17 + 94 cf e1 50 35 6f e1 d6 + 84 1c 11 43 10 a8 81 f3 + + Subtweakey : + bb 54 b4 94 08 95 f8 42 + + Round Tweakey 19 + Input Tweakey : + f8 28 df 85 63 4f f9 22 + a4 7a a9 85 eb bf 4a 40 + f7 d5 32 87 a5 a2 2b 17 + 94 cf e1 50 35 6f e1 d6 + 84 1c 11 43 10 a8 81 f3 + + Post permutation Tweakey : + f8 63 28 4f df f9 22 85 + a4 eb 7a bf a9 4a 40 85 + f7 a5 d5 a2 32 2b 17 87 + 94 35 cf 6f e1 e1 d6 50 + 84 10 1c a8 11 81 f3 43 + + Post multiplication Tweakey : + 7c b5 14 a2 ea f8 11 c7 + 2e c5 ce f2 46 c3 93 af + d2 13 5e 0f cc a8 5c 9f + a9 6a 1b da 47 47 29 a4 + 84 10 1c a8 11 81 f3 43 + + Extracting Subtweakey round 19 + 7c b5 14 a2 ea f8 11 c7 + 2e c5 ce f2 46 c3 93 af + d2 13 5e 0f cc a8 5c 9f + a9 6a 1b da 47 47 29 a4 + 84 10 1c a8 11 81 f3 43 + + Subtweakey : + ad 19 83 2d 36 55 04 03 + + Round Tweakey 20 + Input Tweakey : + 7c b5 14 a2 ea f8 11 c7 + 2e c5 ce f2 46 c3 93 af + d2 13 5e 0f cc a8 5c 9f + a9 6a 1b da 47 47 29 a4 + 84 10 1c a8 11 81 f3 43 + + Post permutation Tweakey : + 7c ea b5 f8 14 11 c7 a2 + 2e 46 c5 c3 ce 93 af f2 + d2 cc 13 a8 5e 5c 9f 0f + a9 47 6a 47 1b 29 a4 da + 84 11 10 81 1c f3 43 a8 + + Post multiplication Tweakey : + 3f 75 df 7c 0b 8c e6 51 + f9 a3 3c 0c 64 1b 76 09 + 42 3a 4c 27 f1 f9 ff 3c + d3 8a d0 8a 36 52 c9 31 + 84 11 10 81 1c f3 43 a8 + + Extracting Subtweakey round 20 + 3f 75 df 7c 0b 8c e6 51 + f9 a3 3c 0c 64 1b 76 09 + 42 3a 4c 27 f1 f9 ff 3c + d3 8a d0 8a 36 52 c9 31 + 84 11 10 81 1c f3 43 a8 + + Subtweakey : + d3 77 6f 5c b4 cf e5 e9 + + Round Tweakey 21 + Input Tweakey : + 3f 75 df 7c 0b 8c e6 51 + f9 a3 3c 0c 64 1b 76 09 + 42 3a 4c 27 f1 f9 ff 3c + d3 8a d0 8a 36 52 c9 31 + 84 11 10 81 1c f3 43 a8 + + Post permutation Tweakey : + 3f 0b 75 8c df e6 51 7c + f9 64 a3 1b 3c 76 09 0c + 42 f1 3a f9 4c ff 3c 27 + d3 36 8a 52 d0 c9 31 8a + 84 1c 11 f3 10 43 a8 81 + + Post multiplication Tweakey : + 9a 81 bf 47 ea 72 ac 3f + 51 3a 16 dc 6d ae 48 60 + 81 ca ec ea b9 f2 f4 98 + 23 6c 95 a0 25 17 62 95 + 84 1c 11 f3 10 43 a8 81 + + Extracting Subtweakey round 21 + 9a 81 bf 47 ea 72 ac 3f + 51 3a 16 dc 6d ae 48 60 + 81 ca ec ea b9 f2 f4 98 + 23 6c 95 a0 25 17 62 95 + 84 1c 11 f3 10 43 a8 81 + + Subtweakey : + ed 01 c1 22 0b 7a da c6 + + Round Tweakey 22 + Input Tweakey : + 9a 81 bf 47 ea 72 ac 3f + 51 3a 16 dc 6d ae 48 60 + 81 ca ec ea b9 f2 f4 98 + 23 6c 95 a0 25 17 62 95 + 84 1c 11 f3 10 43 a8 81 + + Post permutation Tweakey : + 9a ea 81 72 bf ac 3f 47 + 51 6d 3a ae 16 48 60 dc + 81 b9 ca f2 ec f4 98 ea + 23 25 6c 17 95 62 95 a0 + 84 10 1c 43 11 a8 81 f3 + + Post multiplication Tweakey : + 4d 75 c4 39 da 57 9a a6 + 1f 72 5d 7e b4 d3 1a f0 + 87 63 22 c6 be de e3 a6 + 46 4a dc 2e ab c0 ab c1 + 84 10 1c 43 11 a8 81 f3 + + Extracting Subtweakey round 22 + 4d 75 c4 39 da 57 9a a6 + 1f 72 5d 7e b4 d3 1a f0 + 87 63 22 c6 be de e3 a6 + 46 4a dc 2e ab c0 ab c1 + 84 10 1c 43 11 a8 81 f3 + + Subtweakey : + 17 3e 7b ec 6a 32 49 d4 + + Round Tweakey 23 + Input Tweakey : + 4d 75 c4 39 da 57 9a a6 + 1f 72 5d 7e b4 d3 1a f0 + 87 63 22 c6 be de e3 a6 + 46 4a dc 2e ab c0 ab c1 + 84 10 1c 43 11 a8 81 f3 + + Post permutation Tweakey : + 4d da 75 57 c4 9a a6 39 + 1f b4 72 d3 5d 1a f0 7e + 87 be 63 de 22 e3 a6 c6 + 46 ab 4a c0 dc ab c1 2e + 84 11 10 a8 1c 81 f3 43 + + Post multiplication Tweakey : + a3 6d bf ae 63 4d 52 98 + fc aa 8e 88 7f d4 19 ee + 9f 7f 01 72 8c 82 1f 12 + 88 d7 90 05 3d d7 07 5c + 84 11 10 a8 1c 81 f3 43 + + Extracting Subtweakey round 23 + a3 6d bf ae 63 4d 52 98 + fc aa 8e 88 7f d4 19 ee + 9f 7f 01 72 8c 82 1f 12 + 88 d7 90 05 3d d7 07 5c + 84 11 10 a8 1c 81 f3 43 + + Subtweakey : + cc 7e b0 f9 b1 4d a0 6c + + Round Tweakey 24 + Input Tweakey : + a3 6d bf ae 63 4d 52 98 + fc aa 8e 88 7f d4 19 ee + 9f 7f 01 72 8c 82 1f 12 + 88 d7 90 05 3d d7 07 5c + 84 11 10 a8 1c 81 f3 43 + + Post permutation Tweakey : + a3 63 6d 4d bf 52 98 ae + fc 7f aa d4 8e 19 ee 88 + 9f 8c 7f 82 01 1f 12 72 + 88 3d d7 d7 90 07 5c 05 + 84 1c 11 81 10 f3 43 a8 + + Post multiplication Tweakey : + d5 b5 b3 a3 da 29 4c 56 + 79 e6 5e b0 f7 cc ed c7 + ff b3 71 8b 04 7c 48 45 + 91 7a 2b 2b a1 0e bc 0a + 84 1c 11 81 10 f3 43 a8 + + Extracting Subtweakey round 24 + d5 b5 b3 a3 da 29 4c 56 + 79 e6 5e b0 f7 cc ed c7 + ff b3 71 8b 04 7c 48 45 + 91 7a 2b 2b a1 0e bc 0a + 84 1c 11 81 10 f3 43 a8 + + Subtweakey : + 46 86 a6 32 98 64 16 6e + + Round Tweakey 25 + Input Tweakey : + d5 b5 b3 a3 da 29 4c 56 + 79 e6 5e b0 f7 cc ed c7 + ff b3 71 8b 04 7c 48 45 + 91 7a 2b 2b a1 0e bc 0a + 84 1c 11 81 10 f3 43 a8 + + Post permutation Tweakey : + d5 da b5 29 b3 4c 56 a3 + 79 f7 e6 cc 5e ed c7 b0 + ff 04 b3 7c 71 48 45 8b + 91 a1 7a 0e 2b bc 0a 2b + 84 10 1c f3 11 43 a8 81 + + Post multiplication Tweakey : + ef 6d df 90 dd 27 2a d5 + d6 21 ad 74 67 f5 2c 8a + f2 10 4b 7d 49 a9 9d af + a3 c3 f0 1c 56 f9 14 56 + 84 10 1c f3 11 43 a8 81 + + Extracting Subtweakey round 25 + ef 6d df 90 dd 27 2a d5 + d6 21 ad 74 67 f5 2c 8a + f2 10 4b 7d 49 a9 9d af + a3 c3 f0 1c 56 f9 14 56 + 84 10 1c f3 11 43 a8 81 + + Subtweakey : + ec 8f d5 76 b4 c1 27 3e + + Round Tweakey 26 + Input Tweakey : + ef 6d df 90 dd 27 2a d5 + d6 21 ad 74 67 f5 2c 8a + f2 10 4b 7d 49 a9 9d af + a3 c3 f0 1c 56 f9 14 56 + 84 10 1c f3 11 43 a8 81 + + Post permutation Tweakey : + ef dd 6d 27 df 2a d5 90 + d6 67 21 f5 ad 2c 8a 74 + f2 49 10 a9 4b 9d af 7d + a3 56 c3 f9 f0 14 56 1c + 84 11 10 43 1c a8 81 f3 + + Post multiplication Tweakey : + f2 eb b3 96 ea 15 ef 48 + a0 22 81 31 66 e9 d7 be + c6 ad 40 23 a5 f7 3b 79 + c7 a8 03 77 65 28 a8 38 + 84 11 10 43 1c a8 81 f3 + + Extracting Subtweakey round 26 + f2 eb b3 96 ea 15 ef 48 + a0 22 81 31 66 e9 d7 be + c6 ad 40 23 a5 f7 3b 79 + c7 a8 03 77 65 28 a8 38 + 84 11 10 43 1c a8 81 f3 + + Subtweakey : + d7 dd 61 b0 50 8b 2a 5e + + Round Tweakey 27 + Input Tweakey : + f2 eb b3 96 ea 15 ef 48 + a0 22 81 31 66 e9 d7 be + c6 ad 40 23 a5 f7 3b 79 + c7 a8 03 77 65 28 a8 38 + 84 11 10 43 1c a8 81 f3 + + Post permutation Tweakey : + f2 ea eb 15 b3 ef 48 96 + a0 66 22 e9 81 d7 be 31 + c6 a5 ad f7 40 3b 79 23 + c7 65 a8 28 03 a8 38 77 + 84 1c 11 a8 10 81 f3 43 + + Post multiplication Tweakey : + 79 75 f1 8f dd f2 24 4a + 0e 2a 99 d5 8f a8 fa 05 + 12 13 33 d2 89 e8 69 88 + 0b ce d1 50 06 d1 70 ea + 84 1c 11 a8 10 81 f3 43 + + Extracting Subtweakey round 27 + 79 75 f1 8f dd f2 24 4a + 0e 2a 99 d5 8f a8 fa 05 + 12 13 33 d2 89 e8 69 88 + 0b ce d1 50 06 d1 70 ea + 84 1c 11 a8 10 81 f3 43 + + Subtweakey : + ea 9e 9b 70 cd e2 34 75 + + Round Tweakey 28 + Input Tweakey : + 79 75 f1 8f dd f2 24 4a + 0e 2a 99 d5 8f a8 fa 05 + 12 13 33 d2 89 e8 69 88 + 0b ce d1 50 06 d1 70 ea + 84 1c 11 a8 10 81 f3 43 + + Post permutation Tweakey : + 79 dd 75 f2 f1 24 4a 8f + 0e 8f 2a a8 99 fa 05 d5 + 12 89 13 e8 33 69 88 d2 + 0b 06 ce d1 d1 70 ea 50 + 84 10 1c 81 11 f3 43 a8 + + Post multiplication Tweakey : + b8 eb bf 79 fc 13 25 c2 + 70 ff d9 4e 4b 49 28 b8 + 48 a7 4c ae c8 29 a3 42 + 16 0c 19 27 27 e4 51 a4 + 84 10 1c 81 11 f3 43 a8 + + Extracting Subtweakey round 28 + b8 eb bf 79 fc 13 25 c2 + 70 ff d9 4e 4b 49 28 b8 + 48 a7 4c ae c8 29 a3 42 + 16 0c 19 27 27 e4 51 a4 + 84 10 1c 81 11 f3 43 a8 + + Subtweakey : + 12 af 2f 3f 49 64 bc 28 + + Round Tweakey 29 + Input Tweakey : + b8 eb bf 79 fc 13 25 c2 + 70 ff d9 4e 4b 49 28 b8 + 48 a7 4c ae c8 29 a3 42 + 16 0c 19 27 27 e4 51 a4 + 84 10 1c 81 11 f3 43 a8 + + Post permutation Tweakey : + b8 fc eb 13 bf 25 c2 79 + 70 4b ff 49 d9 28 b8 4e + 48 c8 a7 29 4c a3 42 ae + 16 27 0c e4 19 51 a4 27 + 84 11 10 f3 1c 43 a8 81 + + Post multiplication Tweakey : + 5c 7f f1 8d da 97 61 b8 + 9e cb 61 db d8 c9 ca e3 + a9 2a 1b a0 b9 0b 81 3f + 2c 4e 18 4d 32 a6 c9 4e + 84 11 10 f3 1c 43 a8 81 + + Extracting Subtweakey round 29 + 5c 7f f1 8d da 97 61 b8 + 9e cb 61 db d8 c9 ca e3 + a9 2a 1b a0 b9 0b 81 3f + 2c 4e 18 4d 32 a6 c9 4e + 84 11 10 f3 1c 43 a8 81 + + Subtweakey : + c3 c1 83 48 95 b0 4b b6 + + Round Tweakey 30 + Input Tweakey : + 5c 7f f1 8d da 97 61 b8 + 9e cb 61 db d8 c9 ca e3 + a9 2a 1b a0 b9 0b 81 3f + 2c 4e 18 4d 32 a6 c9 4e + 84 11 10 f3 1c 43 a8 81 + + Post permutation Tweakey : + 5c da 7f 97 f1 61 b8 8d + 9e d8 cb c9 61 ca e3 db + a9 b9 2a 0b 1b 81 3f a0 + 2c 32 4e a6 18 c9 4e 4d + 84 1c 11 43 10 a8 81 f3 + + Post multiplication Tweakey : + 2f 6d ba ce fc b4 5c c3 + 73 d0 4c 5c 12 44 85 c8 + 23 63 ac 2c 6c 87 f8 07 + 58 64 98 cd 30 17 98 9e + 84 1c 11 43 10 a8 81 f3 + + Extracting Subtweakey round 30 + 2f 6d ba ce fc b4 5c c3 + 73 d0 4c 5c 12 44 85 c8 + 23 63 ac 2c 6c 87 f8 07 + 58 64 98 cd 30 17 98 9e + 84 1c 11 43 10 a8 81 f3 + + Subtweakey : + a3 a6 d3 30 a2 c8 38 7f + + Round Tweakey 31 + Input Tweakey : + 2f 6d ba ce fc b4 5c c3 + 73 d0 4c 5c 12 44 85 c8 + 23 63 ac 2c 6c 87 f8 07 + 58 64 98 cd 30 17 98 9e + 84 1c 11 43 10 a8 81 f3 + + Post permutation Tweakey : + 2f fc 6d b4 ba 5c c3 ce + 73 12 d0 44 4c 85 c8 5c + 23 6c 63 87 ac f8 07 2c + 58 30 64 17 98 98 9e cd + 84 10 1c a8 11 81 f3 43 + + Post multiplication Tweakey : + 92 7f b3 5b 5d 2f e5 66 + 86 94 90 b3 f3 af 54 77 + 88 3d 01 9f 37 ee 1c b4 + b4 60 cc 2e b1 b1 bd 1f + 84 10 1c a8 11 81 f3 43 + + Extracting Subtweakey round 31 + 92 7f b3 5b 5d 2f e5 66 + 86 94 90 b3 f3 af 54 77 + 88 3d 01 9f 37 ee 1c b4 + b4 60 cc 2e b1 b1 bd 1f + 84 10 1c a8 11 81 f3 43 + + Subtweakey : + ac a6 f2 f1 39 5e e3 e6 + diff --git a/crypto_aead/lilliputaei128v1/ref/test/test-tweakey.c b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey.c new file mode 100644 index 0000000..53ea14c --- /dev/null +++ b/crypto_aead/lilliputaei128v1/ref/test/test-tweakey.c @@ -0,0 +1,119 @@ +#include +#include + +#include "tweakey.h" + + +#define ARRAY_NB(A) (sizeof(A)/sizeof(A[0])) +#define ARRAY_END(A) (A+ARRAY_NB(A)) + + +#define ROUNDS 32 + + +struct vector_input +{ + char * name; + uint8_t key[KEY_BYTES]; + uint8_t tweak[TWEAK_BYTES]; +}; + +typedef struct vector_input vector_input; + + +/* [0]: LSB */ + + +vector_input VECTORS[] = { + { + .name = "full", + .tweak = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + }, + .key = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + } + }, + { + .name = "null", + .tweak = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + .key = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + .name = "order", + .tweak = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 + }, + .key = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + } + }, + { + .name = "random", + .tweak = { + 0xa8, 0x43, 0xf3, 0x10, 0x81, 0x11, 0x1c, 0x84, + 0xdf, 0xf8, 0x2e, 0xfa, 0x90, 0x90, 0x26, 0x21, + 0x7d, 0x8d, 0x43, 0x12, 0x2a, 0xb3, 0xd2, 0x4d + }, + .key = { + 0xc1, 0x96, 0xc6, 0x0a, 0x02, 0x73, 0x91, 0x68, + 0x7f, 0xf4, 0x23, 0x4d, 0x3d, 0xd5, 0xf9, 0x9b + } + } +}; + + +FILE* open_dump_file(const char *folder, const char *name) +{ + char filename[128]; + snprintf(filename, sizeof(filename), "%s/tweakey_%s.txt", folder, name); + return fopen(filename, "w"); +} + + +int main(int argc, char const * const *argv) +{ + if (argc < 2) + { + fprintf(stderr, "usage: %s OUTPUT-FOLDER\n", argv[0]); + return 1; + } + + for (vector_input* input=VECTORS; inputname); + FILE* dump = open_dump_file(argv[1], input->name); + + fprintf(dump, "Building Tweakey :\n"); + + tweakey_state tk; + tweakey_state_init(&tk, input->key, input->tweak, dump); + + fprintf(dump, "Tweakey Schedule\n"); + + uint8_t rtk[ROUND_TWEAKEY_BYTES]; + tweakey_state_extract(&tk, rtk, 0); + + for (uint8_t i=1; i -#include - -#include "tweakey.h" - - -#define ARRAY_NB(A) (sizeof(A)/sizeof(A[0])) -#define ARRAY_END(A) (A+ARRAY_NB(A)) - - -#define ROUNDS 32 - - -struct vector_input -{ - char * name; - uint8_t key[KEY_BYTES]; - uint8_t tweak[TWEAK_BYTES]; -}; - -typedef struct vector_input vector_input; - - -/* [0]: LSB */ - - -vector_input VECTORS[] = { - { - .name = "full", - .tweak = { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - }, - .key = { - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - } - }, - { - .name = "null", - .tweak = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - .key = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } - }, - { - .name = "order", - .tweak = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 - }, - .key = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f - } - }, - { - .name = "random", - .tweak = { - 0xa8, 0x43, 0xf3, 0x10, 0x81, 0x11, 0x1c, 0x84, - 0xdf, 0xf8, 0x2e, 0xfa, 0x90, 0x90, 0x26, 0x21, - 0x7d, 0x8d, 0x43, 0x12, 0x2a, 0xb3, 0xd2, 0x4d - }, - .key = { - 0xc1, 0x96, 0xc6, 0x0a, 0x02, 0x73, 0x91, 0x68, - 0x7f, 0xf4, 0x23, 0x4d, 0x3d, 0xd5, 0xf9, 0x9b - } - } -}; - - -FILE* open_dump_file(const char * name) -{ - char filename[128]; - snprintf(filename, sizeof(filename), "results/tweakey/tweakey_%s.txt", name); - return fopen(filename, "w"); -} - - -int main() -{ - for (vector_input* input=VECTORS; inputname); - FILE* dump = open_dump_file(input->name); - - fprintf(dump, "Building Tweakey :\n"); - - tweakey_state tk; - tweakey_state_init(&tk, input->key, input->tweak, dump); - - fprintf(dump, "Tweakey Schedule\n"); - - uint8_t rtk[ROUND_TWEAKEY_BYTES]; - tweakey_state_extract(&tk, rtk, 0); - - for (uint8_t i=1; i