aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-15 15:35:19 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-15 15:35:19 -0500
commit1ed55eac3b1fc30b29cdb52251e0f13b24fc344c (patch)
treeb7a4c67f2e29f8aa418708c5da871e64c511f3ff /crypto
parent08242bc2210938761230f79c5288dbcf72e94808 (diff)
parenta2c0911c09190125f52c9941b9d187f601c2f7be (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu: - Added aesni/avx/x86_64 implementations for camellia. - Optimised AVX code for cast5/serpent/twofish/cast6. - Fixed vmac bug with unaligned input. - Allow compression algorithms in FIPS mode. - Optimised crc32c implementation for Intel. - Misc fixes. * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (32 commits) crypto: caam - Updated SEC-4.0 device tree binding for ERA information. crypto: testmgr - remove superfluous initializers for xts(aes) crypto: testmgr - allow compression algs in fips mode crypto: testmgr - add larger crc32c test vector to test FPU path in crc32c_intel crypto: testmgr - clean alg_test_null entries in alg_test_descs[] crypto: testmgr - remove fips_allowed flag from camellia-aesni null-tests crypto: cast5/cast6 - move lookup tables to shared module padata: use __this_cpu_read per-cpu helper crypto: s5p-sss - Fix compilation error crypto: picoxcell - Add terminating entry for platform_device_id table crypto: omap-aes - select BLKCIPHER2 crypto: camellia - add AES-NI/AVX/x86_64 assembler implementation of camellia cipher crypto: camellia-x86_64 - share common functions and move structures and function definitions to header file crypto: tcrypt - add async speed test for camellia cipher crypto: tegra-aes - fix error-valued pointer dereference crypto: tegra - fix missing unlock on error case crypto: cast5/avx - avoid using temporary stack buffers crypto: serpent/avx - avoid using temporary stack buffers crypto: twofish/avx - avoid using temporary stack buffers crypto: cast6/avx - avoid using temporary stack buffers ...
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Kconfig42
-rw-r--r--crypto/Makefile1
-rw-r--r--crypto/cast5_generic.c277
-rw-r--r--crypto/cast6_generic.c280
-rw-r--r--crypto/cast_common.c290
-rw-r--r--crypto/tcrypt.c29
-rw-r--r--crypto/testmgr.c369
-rw-r--r--crypto/testmgr.h5876
-rw-r--r--crypto/vmac.c47
9 files changed, 6184 insertions, 1027 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 6563366bae8..4641d95651d 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -324,9 +324,19 @@ config CRYPTO_CRC32C
324 by iSCSI for header and data digests and by others. 324 by iSCSI for header and data digests and by others.
325 See Castagnoli93. Module will be crc32c. 325 See Castagnoli93. Module will be crc32c.
326 326
327config CRYPTO_CRC32C_X86_64
328 bool
329 depends on X86 && 64BIT
330 select CRYPTO_HASH
331 help
332 In Intel processor with SSE4.2 supported, the processor will
333 support CRC32C calculation using hardware accelerated CRC32
334 instruction optimized with PCLMULQDQ instruction when available.
335
327config CRYPTO_CRC32C_INTEL 336config CRYPTO_CRC32C_INTEL
328 tristate "CRC32c INTEL hardware acceleration" 337 tristate "CRC32c INTEL hardware acceleration"
329 depends on X86 338 depends on X86
339 select CRYPTO_CRC32C_X86_64 if 64BIT
330 select CRYPTO_HASH 340 select CRYPTO_HASH
331 help 341 help
332 In Intel processor with SSE4.2 supported, the processor will 342 In Intel processor with SSE4.2 supported, the processor will
@@ -793,6 +803,28 @@ config CRYPTO_CAMELLIA_X86_64
793 See also: 803 See also:
794 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 804 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
795 805
806config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
807 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)"
808 depends on X86 && 64BIT
809 depends on CRYPTO
810 select CRYPTO_ALGAPI
811 select CRYPTO_CRYPTD
812 select CRYPTO_ABLK_HELPER_X86
813 select CRYPTO_GLUE_HELPER_X86
814 select CRYPTO_CAMELLIA_X86_64
815 select CRYPTO_LRW
816 select CRYPTO_XTS
817 help
818 Camellia cipher algorithm module (x86_64/AES-NI/AVX).
819
820 Camellia is a symmetric key block cipher developed jointly
821 at NTT and Mitsubishi Electric Corporation.
822
823 The Camellia specifies three key sizes: 128, 192 and 256 bits.
824
825 See also:
826 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
827
796config CRYPTO_CAMELLIA_SPARC64 828config CRYPTO_CAMELLIA_SPARC64
797 tristate "Camellia cipher algorithm (SPARC64)" 829 tristate "Camellia cipher algorithm (SPARC64)"
798 depends on SPARC64 830 depends on SPARC64
@@ -809,9 +841,16 @@ config CRYPTO_CAMELLIA_SPARC64
809 See also: 841 See also:
810 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 842 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
811 843
844config CRYPTO_CAST_COMMON
845 tristate
846 help
847 Common parts of the CAST cipher algorithms shared by the
848 generic c and the assembler implementations.
849
812config CRYPTO_CAST5 850config CRYPTO_CAST5
813 tristate "CAST5 (CAST-128) cipher algorithm" 851 tristate "CAST5 (CAST-128) cipher algorithm"
814 select CRYPTO_ALGAPI 852 select CRYPTO_ALGAPI
853 select CRYPTO_CAST_COMMON
815 help 854 help
816 The CAST5 encryption algorithm (synonymous with CAST-128) is 855 The CAST5 encryption algorithm (synonymous with CAST-128) is
817 described in RFC2144. 856 described in RFC2144.
@@ -822,6 +861,7 @@ config CRYPTO_CAST5_AVX_X86_64
822 select CRYPTO_ALGAPI 861 select CRYPTO_ALGAPI
823 select CRYPTO_CRYPTD 862 select CRYPTO_CRYPTD
824 select CRYPTO_ABLK_HELPER_X86 863 select CRYPTO_ABLK_HELPER_X86
864 select CRYPTO_CAST_COMMON
825 select CRYPTO_CAST5 865 select CRYPTO_CAST5
826 help 866 help
827 The CAST5 encryption algorithm (synonymous with CAST-128) is 867 The CAST5 encryption algorithm (synonymous with CAST-128) is
@@ -833,6 +873,7 @@ config CRYPTO_CAST5_AVX_X86_64
833config CRYPTO_CAST6 873config CRYPTO_CAST6
834 tristate "CAST6 (CAST-256) cipher algorithm" 874 tristate "CAST6 (CAST-256) cipher algorithm"
835 select CRYPTO_ALGAPI 875 select CRYPTO_ALGAPI
876 select CRYPTO_CAST_COMMON
836 help 877 help
837 The CAST6 encryption algorithm (synonymous with CAST-256) is 878 The CAST6 encryption algorithm (synonymous with CAST-256) is
838 described in RFC2612. 879 described in RFC2612.
@@ -844,6 +885,7 @@ config CRYPTO_CAST6_AVX_X86_64
844 select CRYPTO_CRYPTD 885 select CRYPTO_CRYPTD
845 select CRYPTO_ABLK_HELPER_X86 886 select CRYPTO_ABLK_HELPER_X86
846 select CRYPTO_GLUE_HELPER_X86 887 select CRYPTO_GLUE_HELPER_X86
888 select CRYPTO_CAST_COMMON
847 select CRYPTO_CAST6 889 select CRYPTO_CAST6
848 select CRYPTO_LRW 890 select CRYPTO_LRW
849 select CRYPTO_XTS 891 select CRYPTO_XTS
diff --git a/crypto/Makefile b/crypto/Makefile
index 8cf61ffe351..d59dec74980 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -68,6 +68,7 @@ obj-$(CONFIG_CRYPTO_TWOFISH_COMMON) += twofish_common.o
68obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o 68obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o
69obj-$(CONFIG_CRYPTO_AES) += aes_generic.o 69obj-$(CONFIG_CRYPTO_AES) += aes_generic.o
70obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o 70obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o
71obj-$(CONFIG_CRYPTO_CAST_COMMON) += cast_common.o
71obj-$(CONFIG_CRYPTO_CAST5) += cast5_generic.o 72obj-$(CONFIG_CRYPTO_CAST5) += cast5_generic.o
72obj-$(CONFIG_CRYPTO_CAST6) += cast6_generic.o 73obj-$(CONFIG_CRYPTO_CAST6) += cast6_generic.o
73obj-$(CONFIG_CRYPTO_ARC4) += arc4.o 74obj-$(CONFIG_CRYPTO_ARC4) += arc4.o
diff --git a/crypto/cast5_generic.c b/crypto/cast5_generic.c
index bc525dbd8a4..5558f630a0e 100644
--- a/crypto/cast5_generic.c
+++ b/crypto/cast5_generic.c
@@ -30,275 +30,6 @@
30#include <linux/types.h> 30#include <linux/types.h>
31#include <crypto/cast5.h> 31#include <crypto/cast5.h>
32 32
33
34const u32 cast5_s1[256] = {
35 0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f,
36 0x9c004dd3, 0x6003e540, 0xcf9fc949,
37 0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0,
38 0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
39 0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3,
40 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
41 0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1,
42 0xaa54166b, 0x22568e3a, 0xa2d341d0,
43 0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac,
44 0x4a97c1d8, 0x527644b7, 0xb5f437a7,
45 0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0,
46 0x90ecf52e, 0x22b0c054, 0xbc8e5935,
47 0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290,
48 0xe93b159f, 0xb48ee411, 0x4bff345d,
49 0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad,
50 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
51 0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f,
52 0xc59c5319, 0xb949e354, 0xb04669fe,
53 0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5,
54 0x6a390493, 0xe63d37e0, 0x2a54f6b3,
55 0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5,
56 0xf61b1891, 0xbb72275e, 0xaa508167,
57 0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427,
58 0xa2d1936b, 0x2ad286af, 0xaa56d291,
59 0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d,
60 0x73e2bb14, 0xa0bebc3c, 0x54623779,
61 0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e,
62 0x89fe78e6, 0x3fab0950, 0x325ff6c2,
63 0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf,
64 0x380782d5, 0xc7fa5cf6, 0x8ac31511,
65 0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241,
66 0x051ef495, 0xaa573b04, 0x4a805d8d,
67 0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b,
68 0x50afd341, 0xa7c13275, 0x915a0bf5,
69 0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265,
70 0xab85c5f3, 0x1b55db94, 0xaad4e324,
71 0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3,
72 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
73 0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6,
74 0x22513f1e, 0xaa51a79b, 0x2ad344cc,
75 0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6,
76 0x032268d4, 0xc9600acc, 0xce387e6d,
77 0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da,
78 0x4736f464, 0x5ad328d8, 0xb347cc96,
79 0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc,
80 0xbfc5fe4a, 0xa70aec10, 0xac39570a,
81 0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f,
82 0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
83 0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4,
84 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
85 0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af,
86 0x51c85f4d, 0x56907596, 0xa5bb15e6,
87 0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a,
88 0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
89 0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf,
90 0x700b45e1, 0xd5ea50f1, 0x85a92872,
91 0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198,
92 0x0cd0ede7, 0x26470db8, 0xf881814c,
93 0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db,
94 0xab838653, 0x6e2f1e23, 0x83719c9e,
95 0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c,
96 0xe1e696ff, 0xb141ab08, 0x7cca89b9,
97 0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c,
98 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf
99};
100EXPORT_SYMBOL_GPL(cast5_s1);
101const u32 cast5_s2[256] = {
102 0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a,
103 0xeec5207a, 0x55889c94, 0x72fc0651,
104 0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef,
105 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
106 0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086,
107 0xef944459, 0xba83ccb3, 0xe0c3cdfb,
108 0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb,
109 0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
110 0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f,
111 0x77e83f4e, 0x79929269, 0x24fa9f7b,
112 0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154,
113 0x0d554b63, 0x5d681121, 0xc866c359,
114 0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181,
115 0x39f7627f, 0x361e3084, 0xe4eb573b,
116 0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c,
117 0x99847ab4, 0xa0e3df79, 0xba6cf38c,
118 0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a,
119 0x8f458c74, 0xd9e0a227, 0x4ec73a34,
120 0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c,
121 0x1d804366, 0x721d9bfd, 0xa58684bb,
122 0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1,
123 0x27e19ba5, 0xd5a6c252, 0xe49754bd,
124 0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9,
125 0xe0b56714, 0x21f043b7, 0xe5d05860,
126 0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf,
127 0x68561be6, 0x83ca6b94, 0x2d6ed23b,
128 0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c,
129 0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
130 0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122,
131 0xb96726d1, 0x8049a7e8, 0x22b7da7b,
132 0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402,
133 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
134 0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53,
135 0xe3214517, 0xb4542835, 0x9f63293c,
136 0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6,
137 0x30a22c95, 0x31a70850, 0x60930f13,
138 0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6,
139 0xa02b1741, 0x7cbad9a2, 0x2180036f,
140 0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676,
141 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
142 0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb,
143 0x846a3bae, 0x8ff77888, 0xee5d60f6,
144 0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54,
145 0x157fd7fa, 0xef8579cc, 0xd152de58,
146 0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5,
147 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
148 0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8,
149 0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
150 0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc,
151 0x301e16e6, 0x273be979, 0xb0ffeaa6,
152 0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a,
153 0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
154 0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e,
155 0x1a513742, 0xef6828bc, 0x520365d6,
156 0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb,
157 0x5eea29cb, 0x145892f5, 0x91584f7f,
158 0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4,
159 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
160 0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3,
161 0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
162 0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589,
163 0xa345415e, 0x5c038323, 0x3e5d3bb9,
164 0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539,
165 0x73bfbe70, 0x83877605, 0x4523ecf1
166};
167EXPORT_SYMBOL_GPL(cast5_s2);
168const u32 cast5_s3[256] = {
169 0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff,
170 0x369fe44b, 0x8c1fc644, 0xaececa90,
171 0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806,
172 0xf0ad0548, 0xe13c8d83, 0x927010d5,
173 0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820,
174 0xfade82e0, 0xa067268b, 0x8272792e,
175 0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee,
176 0x825b1bfd, 0x9255c5ed, 0x1257a240,
177 0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf,
178 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
179 0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1,
180 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
181 0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c,
182 0x4a012d6e, 0xc5884a28, 0xccc36f71,
183 0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850,
184 0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
185 0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e,
186 0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
187 0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0,
188 0x1eac5790, 0x796fb449, 0x8252dc15,
189 0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403,
190 0xe83ec305, 0x4f91751a, 0x925669c2,
191 0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574,
192 0x927985b2, 0x8276dbcb, 0x02778176,
193 0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83,
194 0x340ce5c8, 0x96bbb682, 0x93b4b148,
195 0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20,
196 0x8437aa88, 0x7d29dc96, 0x2756d3dc,
197 0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e,
198 0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
199 0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9,
200 0xbda8229c, 0x127dadaa, 0x438a074e,
201 0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff,
202 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
203 0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a,
204 0x76a2e214, 0xb9a40368, 0x925d958f,
205 0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623,
206 0x193cbcfa, 0x27627545, 0x825cf47a,
207 0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7,
208 0x8272a972, 0x9270c4a8, 0x127de50b,
209 0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb,
210 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
211 0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11,
212 0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
213 0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c,
214 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
215 0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40,
216 0x7c34671c, 0x02717ef6, 0x4feb5536,
217 0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1,
218 0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
219 0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33,
220 0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
221 0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff,
222 0x856302e0, 0x72dbd92b, 0xee971b69,
223 0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2,
224 0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
225 0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38,
226 0x0ff0443d, 0x606e6dc6, 0x60543a49,
227 0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f,
228 0x68458425, 0x99833be5, 0x600d457d,
229 0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31,
230 0x9c305a00, 0x52bce688, 0x1b03588a,
231 0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636,
232 0xa133c501, 0xe9d3531c, 0xee353783
233};
234EXPORT_SYMBOL_GPL(cast5_s3);
235const u32 cast5_s4[256] = {
236 0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb,
237 0x64ad8c57, 0x85510443, 0xfa020ed1,
238 0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43,
239 0x6497b7b1, 0xf3641f63, 0x241e4adf,
240 0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30,
241 0xc0a5374f, 0x1d2d00d9, 0x24147b15,
242 0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f,
243 0x0c13fefe, 0x081b08ca, 0x05170121,
244 0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f,
245 0x06df4261, 0xbb9e9b8a, 0x7293ea25,
246 0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400,
247 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
248 0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061,
249 0x11b638e1, 0x72500e03, 0xf80eb2bb,
250 0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400,
251 0x6920318f, 0x081dbb99, 0xffc304a5,
252 0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea,
253 0x9f926f91, 0x9f46222f, 0x3991467d,
254 0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8,
255 0x3fb6180c, 0x18f8931e, 0x281658e6,
256 0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25,
257 0x79098b02, 0xe4eabb81, 0x28123b23,
258 0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9,
259 0x0014377b, 0x041e8ac8, 0x09114003,
260 0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de,
261 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
262 0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0,
263 0x56c8c391, 0x6b65811c, 0x5e146119,
264 0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d,
265 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
266 0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a,
267 0xeca1d7c7, 0x041afa32, 0x1d16625a,
268 0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb,
269 0xc70b8b46, 0xd9e66a48, 0x56e55a79,
270 0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3,
271 0xedda04eb, 0x17a9be04, 0x2c18f4df,
272 0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254,
273 0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
274 0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2,
275 0x0418f2c8, 0x001a96a6, 0x0d1526ab,
276 0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86,
277 0x311170a7, 0x3e9b640c, 0xcc3e10d7,
278 0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1,
279 0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
280 0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca,
281 0xb4be31cd, 0xd8782806, 0x12a3a4e2,
282 0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5,
283 0x9711aac5, 0x001d7b95, 0x82e5e7d2,
284 0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415,
285 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
286 0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7,
287 0x0ce454a9, 0xd60acd86, 0x015f1919,
288 0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe,
289 0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
290 0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb,
291 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
292 0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8,
293 0x296b299e, 0x492fc295, 0x9266beab,
294 0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee,
295 0xf65324e6, 0x6afce36c, 0x0316cc04,
296 0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979,
297 0x932bcdf6, 0xb657c34d, 0x4edfd282,
298 0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0,
299 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2
300};
301EXPORT_SYMBOL_GPL(cast5_s4);
302static const u32 s5[256] = { 33static const u32 s5[256] = {
303 0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911, 0xb86a7fff, 34 0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911, 0xb86a7fff,
304 0x1dd358f5, 0x44dd9d44, 0x1731167f, 35 0x1dd358f5, 0x44dd9d44, 0x1731167f,
@@ -564,10 +295,10 @@ static const u32 sb8[256] = {
564 0xeaee6801, 0x8db2a283, 0xea8bf59e 295 0xeaee6801, 0x8db2a283, 0xea8bf59e
565}; 296};
566 297
567#define s1 cast5_s1 298#define s1 cast_s1
568#define s2 cast5_s2 299#define s2 cast_s2
569#define s3 cast5_s3 300#define s3 cast_s3
570#define s4 cast5_s4 301#define s4 cast_s4
571 302
572#define F1(D, m, r) ((I = ((m) + (D))), (I = rol32(I, (r))), \ 303#define F1(D, m, r) ((I = ((m) + (D))), (I = rol32(I, (r))), \
573 (((s1[I >> 24] ^ s2[(I>>16)&0xff]) - s3[(I>>8)&0xff]) + s4[I&0xff])) 304 (((s1[I >> 24] ^ s2[(I>>16)&0xff]) - s3[(I>>8)&0xff]) + s4[I&0xff]))
diff --git a/crypto/cast6_generic.c b/crypto/cast6_generic.c
index 1acd2f1c48f..de732528a43 100644
--- a/crypto/cast6_generic.c
+++ b/crypto/cast6_generic.c
@@ -27,10 +27,10 @@
27#include <linux/types.h> 27#include <linux/types.h>
28#include <crypto/cast6.h> 28#include <crypto/cast6.h>
29 29
30#define s1 cast6_s1 30#define s1 cast_s1
31#define s2 cast6_s2 31#define s2 cast_s2
32#define s3 cast6_s3 32#define s3 cast_s3
33#define s4 cast6_s4 33#define s4 cast_s4
34 34
35#define F1(D, r, m) ((I = ((m) + (D))), (I = rol32(I, (r))), \ 35#define F1(D, r, m) ((I = ((m) + (D))), (I = rol32(I, (r))), \
36 (((s1[I >> 24] ^ s2[(I>>16)&0xff]) - s3[(I>>8)&0xff]) + s4[I&0xff])) 36 (((s1[I >> 24] ^ s2[(I>>16)&0xff]) - s3[(I>>8)&0xff]) + s4[I&0xff]))
@@ -39,278 +39,6 @@
39#define F3(D, r, m) ((I = ((m) - (D))), (I = rol32(I, (r))), \ 39#define F3(D, r, m) ((I = ((m) - (D))), (I = rol32(I, (r))), \
40 (((s1[I >> 24] + s2[(I>>16)&0xff]) ^ s3[(I>>8)&0xff]) - s4[I&0xff])) 40 (((s1[I >> 24] + s2[(I>>16)&0xff]) ^ s3[(I>>8)&0xff]) - s4[I&0xff]))
41 41
42const u32 cast6_s1[256] = {
43 0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f,
44 0x9c004dd3, 0x6003e540, 0xcf9fc949,
45 0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0,
46 0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
47 0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3,
48 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
49 0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1,
50 0xaa54166b, 0x22568e3a, 0xa2d341d0,
51 0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac,
52 0x4a97c1d8, 0x527644b7, 0xb5f437a7,
53 0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0,
54 0x90ecf52e, 0x22b0c054, 0xbc8e5935,
55 0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290,
56 0xe93b159f, 0xb48ee411, 0x4bff345d,
57 0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad,
58 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
59 0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f,
60 0xc59c5319, 0xb949e354, 0xb04669fe,
61 0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5,
62 0x6a390493, 0xe63d37e0, 0x2a54f6b3,
63 0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5,
64 0xf61b1891, 0xbb72275e, 0xaa508167,
65 0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427,
66 0xa2d1936b, 0x2ad286af, 0xaa56d291,
67 0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d,
68 0x73e2bb14, 0xa0bebc3c, 0x54623779,
69 0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e,
70 0x89fe78e6, 0x3fab0950, 0x325ff6c2,
71 0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf,
72 0x380782d5, 0xc7fa5cf6, 0x8ac31511,
73 0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241,
74 0x051ef495, 0xaa573b04, 0x4a805d8d,
75 0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b,
76 0x50afd341, 0xa7c13275, 0x915a0bf5,
77 0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265,
78 0xab85c5f3, 0x1b55db94, 0xaad4e324,
79 0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3,
80 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
81 0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6,
82 0x22513f1e, 0xaa51a79b, 0x2ad344cc,
83 0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6,
84 0x032268d4, 0xc9600acc, 0xce387e6d,
85 0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da,
86 0x4736f464, 0x5ad328d8, 0xb347cc96,
87 0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc,
88 0xbfc5fe4a, 0xa70aec10, 0xac39570a,
89 0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f,
90 0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
91 0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4,
92 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
93 0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af,
94 0x51c85f4d, 0x56907596, 0xa5bb15e6,
95 0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a,
96 0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
97 0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf,
98 0x700b45e1, 0xd5ea50f1, 0x85a92872,
99 0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198,
100 0x0cd0ede7, 0x26470db8, 0xf881814c,
101 0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db,
102 0xab838653, 0x6e2f1e23, 0x83719c9e,
103 0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c,
104 0xe1e696ff, 0xb141ab08, 0x7cca89b9,
105 0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c,
106 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf
107};
108EXPORT_SYMBOL_GPL(cast6_s1);
109
110const u32 cast6_s2[256] = {
111 0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a,
112 0xeec5207a, 0x55889c94, 0x72fc0651,
113 0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef,
114 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
115 0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086,
116 0xef944459, 0xba83ccb3, 0xe0c3cdfb,
117 0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb,
118 0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
119 0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f,
120 0x77e83f4e, 0x79929269, 0x24fa9f7b,
121 0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154,
122 0x0d554b63, 0x5d681121, 0xc866c359,
123 0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181,
124 0x39f7627f, 0x361e3084, 0xe4eb573b,
125 0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c,
126 0x99847ab4, 0xa0e3df79, 0xba6cf38c,
127 0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a,
128 0x8f458c74, 0xd9e0a227, 0x4ec73a34,
129 0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c,
130 0x1d804366, 0x721d9bfd, 0xa58684bb,
131 0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1,
132 0x27e19ba5, 0xd5a6c252, 0xe49754bd,
133 0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9,
134 0xe0b56714, 0x21f043b7, 0xe5d05860,
135 0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf,
136 0x68561be6, 0x83ca6b94, 0x2d6ed23b,
137 0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c,
138 0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
139 0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122,
140 0xb96726d1, 0x8049a7e8, 0x22b7da7b,
141 0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402,
142 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
143 0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53,
144 0xe3214517, 0xb4542835, 0x9f63293c,
145 0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6,
146 0x30a22c95, 0x31a70850, 0x60930f13,
147 0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6,
148 0xa02b1741, 0x7cbad9a2, 0x2180036f,
149 0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676,
150 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
151 0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb,
152 0x846a3bae, 0x8ff77888, 0xee5d60f6,
153 0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54,
154 0x157fd7fa, 0xef8579cc, 0xd152de58,
155 0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5,
156 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
157 0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8,
158 0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
159 0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc,
160 0x301e16e6, 0x273be979, 0xb0ffeaa6,
161 0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a,
162 0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
163 0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e,
164 0x1a513742, 0xef6828bc, 0x520365d6,
165 0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb,
166 0x5eea29cb, 0x145892f5, 0x91584f7f,
167 0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4,
168 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
169 0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3,
170 0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
171 0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589,
172 0xa345415e, 0x5c038323, 0x3e5d3bb9,
173 0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539,
174 0x73bfbe70, 0x83877605, 0x4523ecf1
175};
176EXPORT_SYMBOL_GPL(cast6_s2);
177
178const u32 cast6_s3[256] = {
179 0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff,
180 0x369fe44b, 0x8c1fc644, 0xaececa90,
181 0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806,
182 0xf0ad0548, 0xe13c8d83, 0x927010d5,
183 0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820,
184 0xfade82e0, 0xa067268b, 0x8272792e,
185 0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee,
186 0x825b1bfd, 0x9255c5ed, 0x1257a240,
187 0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf,
188 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
189 0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1,
190 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
191 0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c,
192 0x4a012d6e, 0xc5884a28, 0xccc36f71,
193 0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850,
194 0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
195 0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e,
196 0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
197 0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0,
198 0x1eac5790, 0x796fb449, 0x8252dc15,
199 0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403,
200 0xe83ec305, 0x4f91751a, 0x925669c2,
201 0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574,
202 0x927985b2, 0x8276dbcb, 0x02778176,
203 0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83,
204 0x340ce5c8, 0x96bbb682, 0x93b4b148,
205 0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20,
206 0x8437aa88, 0x7d29dc96, 0x2756d3dc,
207 0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e,
208 0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
209 0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9,
210 0xbda8229c, 0x127dadaa, 0x438a074e,
211 0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff,
212 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
213 0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a,
214 0x76a2e214, 0xb9a40368, 0x925d958f,
215 0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623,
216 0x193cbcfa, 0x27627545, 0x825cf47a,
217 0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7,
218 0x8272a972, 0x9270c4a8, 0x127de50b,
219 0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb,
220 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
221 0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11,
222 0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
223 0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c,
224 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
225 0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40,
226 0x7c34671c, 0x02717ef6, 0x4feb5536,
227 0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1,
228 0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
229 0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33,
230 0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
231 0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff,
232 0x856302e0, 0x72dbd92b, 0xee971b69,
233 0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2,
234 0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
235 0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38,
236 0x0ff0443d, 0x606e6dc6, 0x60543a49,
237 0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f,
238 0x68458425, 0x99833be5, 0x600d457d,
239 0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31,
240 0x9c305a00, 0x52bce688, 0x1b03588a,
241 0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636,
242 0xa133c501, 0xe9d3531c, 0xee353783
243};
244EXPORT_SYMBOL_GPL(cast6_s3);
245
246const u32 cast6_s4[256] = {
247 0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb,
248 0x64ad8c57, 0x85510443, 0xfa020ed1,
249 0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43,
250 0x6497b7b1, 0xf3641f63, 0x241e4adf,
251 0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30,
252 0xc0a5374f, 0x1d2d00d9, 0x24147b15,
253 0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f,
254 0x0c13fefe, 0x081b08ca, 0x05170121,
255 0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f,
256 0x06df4261, 0xbb9e9b8a, 0x7293ea25,
257 0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400,
258 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
259 0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061,
260 0x11b638e1, 0x72500e03, 0xf80eb2bb,
261 0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400,
262 0x6920318f, 0x081dbb99, 0xffc304a5,
263 0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea,
264 0x9f926f91, 0x9f46222f, 0x3991467d,
265 0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8,
266 0x3fb6180c, 0x18f8931e, 0x281658e6,
267 0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25,
268 0x79098b02, 0xe4eabb81, 0x28123b23,
269 0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9,
270 0x0014377b, 0x041e8ac8, 0x09114003,
271 0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de,
272 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
273 0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0,
274 0x56c8c391, 0x6b65811c, 0x5e146119,
275 0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d,
276 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
277 0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a,
278 0xeca1d7c7, 0x041afa32, 0x1d16625a,
279 0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb,
280 0xc70b8b46, 0xd9e66a48, 0x56e55a79,
281 0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3,
282 0xedda04eb, 0x17a9be04, 0x2c18f4df,
283 0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254,
284 0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
285 0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2,
286 0x0418f2c8, 0x001a96a6, 0x0d1526ab,
287 0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86,
288 0x311170a7, 0x3e9b640c, 0xcc3e10d7,
289 0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1,
290 0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
291 0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca,
292 0xb4be31cd, 0xd8782806, 0x12a3a4e2,
293 0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5,
294 0x9711aac5, 0x001d7b95, 0x82e5e7d2,
295 0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415,
296 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
297 0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7,
298 0x0ce454a9, 0xd60acd86, 0x015f1919,
299 0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe,
300 0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
301 0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb,
302 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
303 0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8,
304 0x296b299e, 0x492fc295, 0x9266beab,
305 0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee,
306 0xf65324e6, 0x6afce36c, 0x0316cc04,
307 0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979,
308 0x932bcdf6, 0xb657c34d, 0x4edfd282,
309 0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0,
310 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2
311};
312EXPORT_SYMBOL_GPL(cast6_s4);
313
314static const u32 Tm[24][8] = { 42static const u32 Tm[24][8] = {
315 { 0x5a827999, 0xc95c653a, 0x383650db, 0xa7103c7c, 0x15ea281d, 43 { 0x5a827999, 0xc95c653a, 0x383650db, 0xa7103c7c, 0x15ea281d,
316 0x84c413be, 0xf39dff5f, 0x6277eb00 } , 44 0x84c413be, 0xf39dff5f, 0x6277eb00 } ,
diff --git a/crypto/cast_common.c b/crypto/cast_common.c
new file mode 100644
index 00000000000..a15f523d5f5
--- /dev/null
+++ b/crypto/cast_common.c
@@ -0,0 +1,290 @@
1/*
2 * Common lookup tables for CAST-128 (cast5) and CAST-256 (cast6)
3 *
4 * Copyright © 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
5 * Copyright © 2003 Kartikey Mahendra Bhatt <kartik_me@hotmail.com>
6 * Copyright © 2012 Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of GNU General Public License as published by the Free
10 * Software Foundation; either version 2 of the License, or (at your option)
11 * any later version.
12 *
13 */
14
15#include <linux/module.h>
16#include <crypto/cast_common.h>
17
18const u32 cast_s1[256] = {
19 0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f,
20 0x9c004dd3, 0x6003e540, 0xcf9fc949,
21 0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0,
22 0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
23 0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3,
24 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
25 0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1,
26 0xaa54166b, 0x22568e3a, 0xa2d341d0,
27 0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac,
28 0x4a97c1d8, 0x527644b7, 0xb5f437a7,
29 0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0,
30 0x90ecf52e, 0x22b0c054, 0xbc8e5935,
31 0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290,
32 0xe93b159f, 0xb48ee411, 0x4bff345d,
33 0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad,
34 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
35 0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f,
36 0xc59c5319, 0xb949e354, 0xb04669fe,
37 0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5,
38 0x6a390493, 0xe63d37e0, 0x2a54f6b3,
39 0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5,
40 0xf61b1891, 0xbb72275e, 0xaa508167,
41 0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427,
42 0xa2d1936b, 0x2ad286af, 0xaa56d291,
43 0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d,
44 0x73e2bb14, 0xa0bebc3c, 0x54623779,
45 0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e,
46 0x89fe78e6, 0x3fab0950, 0x325ff6c2,
47 0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf,
48 0x380782d5, 0xc7fa5cf6, 0x8ac31511,
49 0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241,
50 0x051ef495, 0xaa573b04, 0x4a805d8d,
51 0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b,
52 0x50afd341, 0xa7c13275, 0x915a0bf5,
53 0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265,
54 0xab85c5f3, 0x1b55db94, 0xaad4e324,
55 0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3,
56 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
57 0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6,
58 0x22513f1e, 0xaa51a79b, 0x2ad344cc,
59 0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6,
60 0x032268d4, 0xc9600acc, 0xce387e6d,
61 0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da,
62 0x4736f464, 0x5ad328d8, 0xb347cc96,
63 0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc,
64 0xbfc5fe4a, 0xa70aec10, 0xac39570a,
65 0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f,
66 0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
67 0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4,
68 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
69 0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af,
70 0x51c85f4d, 0x56907596, 0xa5bb15e6,
71 0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a,
72 0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
73 0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf,
74 0x700b45e1, 0xd5ea50f1, 0x85a92872,
75 0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198,
76 0x0cd0ede7, 0x26470db8, 0xf881814c,
77 0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db,
78 0xab838653, 0x6e2f1e23, 0x83719c9e,
79 0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c,
80 0xe1e696ff, 0xb141ab08, 0x7cca89b9,
81 0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c,
82 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf
83};
84EXPORT_SYMBOL_GPL(cast_s1);
85
86const u32 cast_s2[256] = {
87 0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a,
88 0xeec5207a, 0x55889c94, 0x72fc0651,
89 0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef,
90 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
91 0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086,
92 0xef944459, 0xba83ccb3, 0xe0c3cdfb,
93 0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb,
94 0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
95 0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f,
96 0x77e83f4e, 0x79929269, 0x24fa9f7b,
97 0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154,
98 0x0d554b63, 0x5d681121, 0xc866c359,
99 0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181,
100 0x39f7627f, 0x361e3084, 0xe4eb573b,
101 0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c,
102 0x99847ab4, 0xa0e3df79, 0xba6cf38c,
103 0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a,
104 0x8f458c74, 0xd9e0a227, 0x4ec73a34,
105 0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c,
106 0x1d804366, 0x721d9bfd, 0xa58684bb,
107 0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1,
108 0x27e19ba5, 0xd5a6c252, 0xe49754bd,
109 0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9,
110 0xe0b56714, 0x21f043b7, 0xe5d05860,
111 0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf,
112 0x68561be6, 0x83ca6b94, 0x2d6ed23b,
113 0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c,
114 0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
115 0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122,
116 0xb96726d1, 0x8049a7e8, 0x22b7da7b,
117 0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402,
118 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
119 0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53,
120 0xe3214517, 0xb4542835, 0x9f63293c,
121 0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6,
122 0x30a22c95, 0x31a70850, 0x60930f13,
123 0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6,
124 0xa02b1741, 0x7cbad9a2, 0x2180036f,
125 0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676,
126 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
127 0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb,
128 0x846a3bae, 0x8ff77888, 0xee5d60f6,
129 0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54,
130 0x157fd7fa, 0xef8579cc, 0xd152de58,
131 0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5,
132 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
133 0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8,
134 0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
135 0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc,
136 0x301e16e6, 0x273be979, 0xb0ffeaa6,
137 0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a,
138 0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
139 0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e,
140 0x1a513742, 0xef6828bc, 0x520365d6,
141 0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb,
142 0x5eea29cb, 0x145892f5, 0x91584f7f,
143 0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4,
144 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
145 0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3,
146 0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
147 0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589,
148 0xa345415e, 0x5c038323, 0x3e5d3bb9,
149 0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539,
150 0x73bfbe70, 0x83877605, 0x4523ecf1
151};
152EXPORT_SYMBOL_GPL(cast_s2);
153
154const u32 cast_s3[256] = {
155 0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff,
156 0x369fe44b, 0x8c1fc644, 0xaececa90,
157 0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806,
158 0xf0ad0548, 0xe13c8d83, 0x927010d5,
159 0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820,
160 0xfade82e0, 0xa067268b, 0x8272792e,
161 0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee,
162 0x825b1bfd, 0x9255c5ed, 0x1257a240,
163 0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf,
164 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
165 0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1,
166 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
167 0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c,
168 0x4a012d6e, 0xc5884a28, 0xccc36f71,
169 0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850,
170 0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
171 0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e,
172 0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
173 0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0,
174 0x1eac5790, 0x796fb449, 0x8252dc15,
175 0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403,
176 0xe83ec305, 0x4f91751a, 0x925669c2,
177 0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574,
178 0x927985b2, 0x8276dbcb, 0x02778176,
179 0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83,
180 0x340ce5c8, 0x96bbb682, 0x93b4b148,
181 0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20,
182 0x8437aa88, 0x7d29dc96, 0x2756d3dc,
183 0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e,
184 0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
185 0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9,
186 0xbda8229c, 0x127dadaa, 0x438a074e,
187 0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff,
188 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
189 0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a,
190 0x76a2e214, 0xb9a40368, 0x925d958f,
191 0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623,
192 0x193cbcfa, 0x27627545, 0x825cf47a,
193 0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7,
194 0x8272a972, 0x9270c4a8, 0x127de50b,
195 0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb,
196 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
197 0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11,
198 0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
199 0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c,
200 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
201 0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40,
202 0x7c34671c, 0x02717ef6, 0x4feb5536,
203 0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1,
204 0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
205 0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33,
206 0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
207 0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff,
208 0x856302e0, 0x72dbd92b, 0xee971b69,
209 0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2,
210 0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
211 0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38,
212 0x0ff0443d, 0x606e6dc6, 0x60543a49,
213 0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f,
214 0x68458425, 0x99833be5, 0x600d457d,
215 0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31,
216 0x9c305a00, 0x52bce688, 0x1b03588a,
217 0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636,
218 0xa133c501, 0xe9d3531c, 0xee353783
219};
220EXPORT_SYMBOL_GPL(cast_s3);
221
222const u32 cast_s4[256] = {
223 0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb,
224 0x64ad8c57, 0x85510443, 0xfa020ed1,
225 0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43,
226 0x6497b7b1, 0xf3641f63, 0x241e4adf,
227 0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30,
228 0xc0a5374f, 0x1d2d00d9, 0x24147b15,
229 0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f,
230 0x0c13fefe, 0x081b08ca, 0x05170121,
231 0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f,
232 0x06df4261, 0xbb9e9b8a, 0x7293ea25,
233 0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400,
234 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
235 0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061,
236 0x11b638e1, 0x72500e03, 0xf80eb2bb,
237 0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400,
238 0x6920318f, 0x081dbb99, 0xffc304a5,
239 0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea,
240 0x9f926f91, 0x9f46222f, 0x3991467d,
241 0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8,
242 0x3fb6180c, 0x18f8931e, 0x281658e6,
243 0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25,
244 0x79098b02, 0xe4eabb81, 0x28123b23,
245 0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9,
246 0x0014377b, 0x041e8ac8, 0x09114003,
247 0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de,
248 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
249 0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0,
250 0x56c8c391, 0x6b65811c, 0x5e146119,
251 0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d,
252 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
253 0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a,
254 0xeca1d7c7, 0x041afa32, 0x1d16625a,
255 0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb,
256 0xc70b8b46, 0xd9e66a48, 0x56e55a79,
257 0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3,
258 0xedda04eb, 0x17a9be04, 0x2c18f4df,
259 0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254,
260 0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
261 0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2,
262 0x0418f2c8, 0x001a96a6, 0x0d1526ab,
263 0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86,
264 0x311170a7, 0x3e9b640c, 0xcc3e10d7,
265 0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1,
266 0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
267 0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca,
268 0xb4be31cd, 0xd8782806, 0x12a3a4e2,
269 0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5,
270 0x9711aac5, 0x001d7b95, 0x82e5e7d2,
271 0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415,
272 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
273 0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7,
274 0x0ce454a9, 0xd60acd86, 0x015f1919,
275 0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe,
276 0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
277 0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb,
278 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
279 0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8,
280 0x296b299e, 0x492fc295, 0x9266beab,
281 0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee,
282 0xf65324e6, 0x6afce36c, 0x0316cc04,
283 0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979,
284 0x932bcdf6, 0xb657c34d, 0x4edfd282,
285 0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0,
286 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2
287};
288EXPORT_SYMBOL_GPL(cast_s4);
289
290MODULE_LICENSE("GPL");
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index e87fa60f583..7ae2130e1b0 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -971,11 +971,13 @@ static int do_test(int m)
971 case 3: 971 case 3:
972 ret += tcrypt_test("ecb(des)"); 972 ret += tcrypt_test("ecb(des)");
973 ret += tcrypt_test("cbc(des)"); 973 ret += tcrypt_test("cbc(des)");
974 ret += tcrypt_test("ctr(des)");
974 break; 975 break;
975 976
976 case 4: 977 case 4:
977 ret += tcrypt_test("ecb(des3_ede)"); 978 ret += tcrypt_test("ecb(des3_ede)");
978 ret += tcrypt_test("cbc(des3_ede)"); 979 ret += tcrypt_test("cbc(des3_ede)");
980 ret += tcrypt_test("ctr(des3_ede)");
979 break; 981 break;
980 982
981 case 5: 983 case 5:
@@ -1479,6 +1481,10 @@ static int do_test(int m)
1479 test_hash_speed("ghash-generic", sec, hash_speed_template_16); 1481 test_hash_speed("ghash-generic", sec, hash_speed_template_16);
1480 if (mode > 300 && mode < 400) break; 1482 if (mode > 300 && mode < 400) break;
1481 1483
1484 case 319:
1485 test_hash_speed("crc32c", sec, generic_hash_speed_template);
1486 if (mode > 300 && mode < 400) break;
1487
1482 case 399: 1488 case 399:
1483 break; 1489 break;
1484 1490
@@ -1722,6 +1728,29 @@ static int do_test(int m)
1722 speed_template_32_64); 1728 speed_template_32_64);
1723 break; 1729 break;
1724 1730
1731 case 508:
1732 test_acipher_speed("ecb(camellia)", ENCRYPT, sec, NULL, 0,
1733 speed_template_16_32);
1734 test_acipher_speed("ecb(camellia)", DECRYPT, sec, NULL, 0,
1735 speed_template_16_32);
1736 test_acipher_speed("cbc(camellia)", ENCRYPT, sec, NULL, 0,
1737 speed_template_16_32);
1738 test_acipher_speed("cbc(camellia)", DECRYPT, sec, NULL, 0,
1739 speed_template_16_32);
1740 test_acipher_speed("ctr(camellia)", ENCRYPT, sec, NULL, 0,
1741 speed_template_16_32);
1742 test_acipher_speed("ctr(camellia)", DECRYPT, sec, NULL, 0,
1743 speed_template_16_32);
1744 test_acipher_speed("lrw(camellia)", ENCRYPT, sec, NULL, 0,
1745 speed_template_32_48);
1746 test_acipher_speed("lrw(camellia)", DECRYPT, sec, NULL, 0,
1747 speed_template_32_48);
1748 test_acipher_speed("xts(camellia)", ENCRYPT, sec, NULL, 0,
1749 speed_template_32_64);
1750 test_acipher_speed("xts(camellia)", DECRYPT, sec, NULL, 0,
1751 speed_template_32_64);
1752 break;
1753
1725 case 1000: 1754 case 1000:
1726 test_available(); 1755 test_available();
1727 break; 1756 break;
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 941d75cd1f7..edf4a081877 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1638,270 +1638,66 @@ static const struct alg_test_desc alg_test_descs[] = {
1638 { 1638 {
1639 .alg = "__cbc-cast5-avx", 1639 .alg = "__cbc-cast5-avx",
1640 .test = alg_test_null, 1640 .test = alg_test_null,
1641 .suite = {
1642 .cipher = {
1643 .enc = {
1644 .vecs = NULL,
1645 .count = 0
1646 },
1647 .dec = {
1648 .vecs = NULL,
1649 .count = 0
1650 }
1651 }
1652 }
1653 }, { 1641 }, {
1654 .alg = "__cbc-cast6-avx", 1642 .alg = "__cbc-cast6-avx",
1655 .test = alg_test_null, 1643 .test = alg_test_null,
1656 .suite = {
1657 .cipher = {
1658 .enc = {
1659 .vecs = NULL,
1660 .count = 0
1661 },
1662 .dec = {
1663 .vecs = NULL,
1664 .count = 0
1665 }
1666 }
1667 }
1668 }, { 1644 }, {
1669 .alg = "__cbc-serpent-avx", 1645 .alg = "__cbc-serpent-avx",
1670 .test = alg_test_null, 1646 .test = alg_test_null,
1671 .suite = {
1672 .cipher = {
1673 .enc = {
1674 .vecs = NULL,
1675 .count = 0
1676 },
1677 .dec = {
1678 .vecs = NULL,
1679 .count = 0
1680 }
1681 }
1682 }
1683 }, { 1647 }, {
1684 .alg = "__cbc-serpent-sse2", 1648 .alg = "__cbc-serpent-sse2",
1685 .test = alg_test_null, 1649 .test = alg_test_null,
1686 .suite = {
1687 .cipher = {
1688 .enc = {
1689 .vecs = NULL,
1690 .count = 0
1691 },
1692 .dec = {
1693 .vecs = NULL,
1694 .count = 0
1695 }
1696 }
1697 }
1698 }, { 1650 }, {
1699 .alg = "__cbc-twofish-avx", 1651 .alg = "__cbc-twofish-avx",
1700 .test = alg_test_null, 1652 .test = alg_test_null,
1701 .suite = {
1702 .cipher = {
1703 .enc = {
1704 .vecs = NULL,
1705 .count = 0
1706 },
1707 .dec = {
1708 .vecs = NULL,
1709 .count = 0
1710 }
1711 }
1712 }
1713 }, { 1653 }, {
1714 .alg = "__driver-cbc-aes-aesni", 1654 .alg = "__driver-cbc-aes-aesni",
1715 .test = alg_test_null, 1655 .test = alg_test_null,
1716 .fips_allowed = 1, 1656 .fips_allowed = 1,
1717 .suite = { 1657 }, {
1718 .cipher = { 1658 .alg = "__driver-cbc-camellia-aesni",
1719 .enc = { 1659 .test = alg_test_null,
1720 .vecs = NULL,
1721 .count = 0
1722 },
1723 .dec = {
1724 .vecs = NULL,
1725 .count = 0
1726 }
1727 }
1728 }
1729 }, { 1660 }, {
1730 .alg = "__driver-cbc-cast5-avx", 1661 .alg = "__driver-cbc-cast5-avx",
1731 .test = alg_test_null, 1662 .test = alg_test_null,
1732 .suite = {
1733 .cipher = {
1734 .enc = {
1735 .vecs = NULL,
1736 .count = 0
1737 },
1738 .dec = {
1739 .vecs = NULL,
1740 .count = 0
1741 }
1742 }
1743 }
1744 }, { 1663 }, {
1745 .alg = "__driver-cbc-cast6-avx", 1664 .alg = "__driver-cbc-cast6-avx",
1746 .test = alg_test_null, 1665 .test = alg_test_null,
1747 .suite = {
1748 .cipher = {
1749 .enc = {
1750 .vecs = NULL,
1751 .count = 0
1752 },
1753 .dec = {
1754 .vecs = NULL,
1755 .count = 0
1756 }
1757 }
1758 }
1759 }, { 1666 }, {
1760 .alg = "__driver-cbc-serpent-avx", 1667 .alg = "__driver-cbc-serpent-avx",
1761 .test = alg_test_null, 1668 .test = alg_test_null,
1762 .suite = {
1763 .cipher = {
1764 .enc = {
1765 .vecs = NULL,
1766 .count = 0
1767 },
1768 .dec = {
1769 .vecs = NULL,
1770 .count = 0
1771 }
1772 }
1773 }
1774 }, { 1669 }, {
1775 .alg = "__driver-cbc-serpent-sse2", 1670 .alg = "__driver-cbc-serpent-sse2",
1776 .test = alg_test_null, 1671 .test = alg_test_null,
1777 .suite = {
1778 .cipher = {
1779 .enc = {
1780 .vecs = NULL,
1781 .count = 0
1782 },
1783 .dec = {
1784 .vecs = NULL,
1785 .count = 0
1786 }
1787 }
1788 }
1789 }, { 1672 }, {
1790 .alg = "__driver-cbc-twofish-avx", 1673 .alg = "__driver-cbc-twofish-avx",
1791 .test = alg_test_null, 1674 .test = alg_test_null,
1792 .suite = {
1793 .cipher = {
1794 .enc = {
1795 .vecs = NULL,
1796 .count = 0
1797 },
1798 .dec = {
1799 .vecs = NULL,
1800 .count = 0
1801 }
1802 }
1803 }
1804 }, { 1675 }, {
1805 .alg = "__driver-ecb-aes-aesni", 1676 .alg = "__driver-ecb-aes-aesni",
1806 .test = alg_test_null, 1677 .test = alg_test_null,
1807 .fips_allowed = 1, 1678 .fips_allowed = 1,
1808 .suite = { 1679 }, {
1809 .cipher = { 1680 .alg = "__driver-ecb-camellia-aesni",
1810 .enc = { 1681 .test = alg_test_null,
1811 .vecs = NULL,
1812 .count = 0
1813 },
1814 .dec = {
1815 .vecs = NULL,
1816 .count = 0
1817 }
1818 }
1819 }
1820 }, { 1682 }, {
1821 .alg = "__driver-ecb-cast5-avx", 1683 .alg = "__driver-ecb-cast5-avx",
1822 .test = alg_test_null, 1684 .test = alg_test_null,
1823 .suite = {
1824 .cipher = {
1825 .enc = {
1826 .vecs = NULL,
1827 .count = 0
1828 },
1829 .dec = {
1830 .vecs = NULL,
1831 .count = 0
1832 }
1833 }
1834 }
1835 }, { 1685 }, {
1836 .alg = "__driver-ecb-cast6-avx", 1686 .alg = "__driver-ecb-cast6-avx",
1837 .test = alg_test_null, 1687 .test = alg_test_null,
1838 .suite = {
1839 .cipher = {
1840 .enc = {
1841 .vecs = NULL,
1842 .count = 0
1843 },
1844 .dec = {
1845 .vecs = NULL,
1846 .count = 0
1847 }
1848 }
1849 }
1850 }, { 1688 }, {
1851 .alg = "__driver-ecb-serpent-avx", 1689 .alg = "__driver-ecb-serpent-avx",
1852 .test = alg_test_null, 1690 .test = alg_test_null,
1853 .suite = {
1854 .cipher = {
1855 .enc = {
1856 .vecs = NULL,
1857 .count = 0
1858 },
1859 .dec = {
1860 .vecs = NULL,
1861 .count = 0
1862 }
1863 }
1864 }
1865 }, { 1691 }, {
1866 .alg = "__driver-ecb-serpent-sse2", 1692 .alg = "__driver-ecb-serpent-sse2",
1867 .test = alg_test_null, 1693 .test = alg_test_null,
1868 .suite = {
1869 .cipher = {
1870 .enc = {
1871 .vecs = NULL,
1872 .count = 0
1873 },
1874 .dec = {
1875 .vecs = NULL,
1876 .count = 0
1877 }
1878 }
1879 }
1880 }, { 1694 }, {
1881 .alg = "__driver-ecb-twofish-avx", 1695 .alg = "__driver-ecb-twofish-avx",
1882 .test = alg_test_null, 1696 .test = alg_test_null,
1883 .suite = {
1884 .cipher = {
1885 .enc = {
1886 .vecs = NULL,
1887 .count = 0
1888 },
1889 .dec = {
1890 .vecs = NULL,
1891 .count = 0
1892 }
1893 }
1894 }
1895 }, { 1697 }, {
1896 .alg = "__ghash-pclmulqdqni", 1698 .alg = "__ghash-pclmulqdqni",
1897 .test = alg_test_null, 1699 .test = alg_test_null,
1898 .fips_allowed = 1, 1700 .fips_allowed = 1,
1899 .suite = {
1900 .hash = {
1901 .vecs = NULL,
1902 .count = 0
1903 }
1904 }
1905 }, { 1701 }, {
1906 .alg = "ansi_cprng", 1702 .alg = "ansi_cprng",
1907 .test = alg_test_cprng, 1703 .test = alg_test_cprng,
@@ -2130,135 +1926,39 @@ static const struct alg_test_desc alg_test_descs[] = {
2130 .alg = "cryptd(__driver-cbc-aes-aesni)", 1926 .alg = "cryptd(__driver-cbc-aes-aesni)",
2131 .test = alg_test_null, 1927 .test = alg_test_null,
2132 .fips_allowed = 1, 1928 .fips_allowed = 1,
2133 .suite = { 1929 }, {
2134 .cipher = { 1930 .alg = "cryptd(__driver-cbc-camellia-aesni)",
2135 .enc = { 1931 .test = alg_test_null,
2136 .vecs = NULL,
2137 .count = 0
2138 },
2139 .dec = {
2140 .vecs = NULL,
2141 .count = 0
2142 }
2143 }
2144 }
2145 }, { 1932 }, {
2146 .alg = "cryptd(__driver-ecb-aes-aesni)", 1933 .alg = "cryptd(__driver-ecb-aes-aesni)",
2147 .test = alg_test_null, 1934 .test = alg_test_null,
2148 .fips_allowed = 1, 1935 .fips_allowed = 1,
2149 .suite = { 1936 }, {
2150 .cipher = { 1937 .alg = "cryptd(__driver-ecb-camellia-aesni)",
2151 .enc = { 1938 .test = alg_test_null,
2152 .vecs = NULL,
2153 .count = 0
2154 },
2155 .dec = {
2156 .vecs = NULL,
2157 .count = 0
2158 }
2159 }
2160 }
2161 }, { 1939 }, {
2162 .alg = "cryptd(__driver-ecb-cast5-avx)", 1940 .alg = "cryptd(__driver-ecb-cast5-avx)",
2163 .test = alg_test_null, 1941 .test = alg_test_null,
2164 .suite = {
2165 .cipher = {
2166 .enc = {
2167 .vecs = NULL,
2168 .count = 0
2169 },
2170 .dec = {
2171 .vecs = NULL,
2172 .count = 0
2173 }
2174 }
2175 }
2176 }, { 1942 }, {
2177 .alg = "cryptd(__driver-ecb-cast6-avx)", 1943 .alg = "cryptd(__driver-ecb-cast6-avx)",
2178 .test = alg_test_null, 1944 .test = alg_test_null,
2179 .suite = {
2180 .cipher = {
2181 .enc = {
2182 .vecs = NULL,
2183 .count = 0
2184 },
2185 .dec = {
2186 .vecs = NULL,
2187 .count = 0
2188 }
2189 }
2190 }
2191 }, { 1945 }, {
2192 .alg = "cryptd(__driver-ecb-serpent-avx)", 1946 .alg = "cryptd(__driver-ecb-serpent-avx)",
2193 .test = alg_test_null, 1947 .test = alg_test_null,
2194 .suite = {
2195 .cipher = {
2196 .enc = {
2197 .vecs = NULL,
2198 .count = 0
2199 },
2200 .dec = {
2201 .vecs = NULL,
2202 .count = 0
2203 }
2204 }
2205 }
2206 }, { 1948 }, {
2207 .alg = "cryptd(__driver-ecb-serpent-sse2)", 1949 .alg = "cryptd(__driver-ecb-serpent-sse2)",
2208 .test = alg_test_null, 1950 .test = alg_test_null,
2209 .suite = {
2210 .cipher = {
2211 .enc = {
2212 .vecs = NULL,
2213 .count = 0
2214 },
2215 .dec = {
2216 .vecs = NULL,
2217 .count = 0
2218 }
2219 }
2220 }
2221 }, { 1951 }, {
2222 .alg = "cryptd(__driver-ecb-twofish-avx)", 1952 .alg = "cryptd(__driver-ecb-twofish-avx)",
2223 .test = alg_test_null, 1953 .test = alg_test_null,
2224 .suite = {
2225 .cipher = {
2226 .enc = {
2227 .vecs = NULL,
2228 .count = 0
2229 },
2230 .dec = {
2231 .vecs = NULL,
2232 .count = 0
2233 }
2234 }
2235 }
2236 }, { 1954 }, {
2237 .alg = "cryptd(__driver-gcm-aes-aesni)", 1955 .alg = "cryptd(__driver-gcm-aes-aesni)",
2238 .test = alg_test_null, 1956 .test = alg_test_null,
2239 .fips_allowed = 1, 1957 .fips_allowed = 1,
2240 .suite = {
2241 .cipher = {
2242 .enc = {
2243 .vecs = NULL,
2244 .count = 0
2245 },
2246 .dec = {
2247 .vecs = NULL,
2248 .count = 0
2249 }
2250 }
2251 }
2252 }, { 1958 }, {
2253 .alg = "cryptd(__ghash-pclmulqdqni)", 1959 .alg = "cryptd(__ghash-pclmulqdqni)",
2254 .test = alg_test_null, 1960 .test = alg_test_null,
2255 .fips_allowed = 1, 1961 .fips_allowed = 1,
2256 .suite = {
2257 .hash = {
2258 .vecs = NULL,
2259 .count = 0
2260 }
2261 }
2262 }, { 1962 }, {
2263 .alg = "ctr(aes)", 1963 .alg = "ctr(aes)",
2264 .test = alg_test_skcipher, 1964 .test = alg_test_skcipher,
@@ -2336,6 +2036,36 @@ static const struct alg_test_desc alg_test_descs[] = {
2336 } 2036 }
2337 } 2037 }
2338 }, { 2038 }, {
2039 .alg = "ctr(des)",
2040 .test = alg_test_skcipher,
2041 .suite = {
2042 .cipher = {
2043 .enc = {
2044 .vecs = des_ctr_enc_tv_template,
2045 .count = DES_CTR_ENC_TEST_VECTORS
2046 },
2047 .dec = {
2048 .vecs = des_ctr_dec_tv_template,
2049 .count = DES_CTR_DEC_TEST_VECTORS
2050 }
2051 }
2052 }
2053 }, {
2054 .alg = "ctr(des3_ede)",
2055 .test = alg_test_skcipher,
2056 .suite = {
2057 .cipher = {
2058 .enc = {
2059 .vecs = des3_ede_ctr_enc_tv_template,
2060 .count = DES3_EDE_CTR_ENC_TEST_VECTORS
2061 },
2062 .dec = {
2063 .vecs = des3_ede_ctr_dec_tv_template,
2064 .count = DES3_EDE_CTR_DEC_TEST_VECTORS
2065 }
2066 }
2067 }
2068 }, {
2339 .alg = "ctr(serpent)", 2069 .alg = "ctr(serpent)",
2340 .test = alg_test_skcipher, 2070 .test = alg_test_skcipher,
2341 .suite = { 2071 .suite = {
@@ -2383,6 +2113,7 @@ static const struct alg_test_desc alg_test_descs[] = {
2383 }, { 2113 }, {
2384 .alg = "deflate", 2114 .alg = "deflate",
2385 .test = alg_test_comp, 2115 .test = alg_test_comp,
2116 .fips_allowed = 1,
2386 .suite = { 2117 .suite = {
2387 .comp = { 2118 .comp = {
2388 .comp = { 2119 .comp = {
@@ -2399,18 +2130,6 @@ static const struct alg_test_desc alg_test_descs[] = {
2399 .alg = "ecb(__aes-aesni)", 2130 .alg = "ecb(__aes-aesni)",
2400 .test = alg_test_null, 2131 .test = alg_test_null,
2401 .fips_allowed = 1, 2132 .fips_allowed = 1,
2402 .suite = {
2403 .cipher = {
2404 .enc = {
2405 .vecs = NULL,
2406 .count = 0
2407 },
2408 .dec = {
2409 .vecs = NULL,
2410 .count = 0
2411 }
2412 }
2413 }
2414 }, { 2133 }, {
2415 .alg = "ecb(aes)", 2134 .alg = "ecb(aes)",
2416 .test = alg_test_skcipher, 2135 .test = alg_test_skcipher,
@@ -2859,6 +2578,7 @@ static const struct alg_test_desc alg_test_descs[] = {
2859 }, { 2578 }, {
2860 .alg = "lzo", 2579 .alg = "lzo",
2861 .test = alg_test_comp, 2580 .test = alg_test_comp,
2581 .fips_allowed = 1,
2862 .suite = { 2582 .suite = {
2863 .comp = { 2583 .comp = {
2864 .comp = { 2584 .comp = {
@@ -3226,6 +2946,7 @@ static const struct alg_test_desc alg_test_descs[] = {
3226 }, { 2946 }, {
3227 .alg = "zlib", 2947 .alg = "zlib",
3228 .test = alg_test_pcomp, 2948 .test = alg_test_pcomp,
2949 .fips_allowed = 1,
3229 .suite = { 2950 .suite = {
3230 .pcomp = { 2951 .pcomp = {
3231 .comp = { 2952 .comp = {
diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index 76d7f6cc82f..b5721e0b979 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -41,7 +41,7 @@ struct hash_testvec {
41 char *plaintext; 41 char *plaintext;
42 char *digest; 42 char *digest;
43 unsigned char tap[MAX_TAP]; 43 unsigned char tap[MAX_TAP];
44 unsigned char psize; 44 unsigned short psize;
45 unsigned char np; 45 unsigned char np;
46 unsigned char ksize; 46 unsigned char ksize;
47}; 47};
@@ -1707,7 +1707,7 @@ static struct hash_testvec aes_xcbc128_tv_template[] = {
1707 } 1707 }
1708}; 1708};
1709 1709
1710#define VMAC_AES_TEST_VECTORS 8 1710#define VMAC_AES_TEST_VECTORS 11
1711static char vmac_string1[128] = {'\x01', '\x01', '\x01', '\x01', 1711static char vmac_string1[128] = {'\x01', '\x01', '\x01', '\x01',
1712 '\x02', '\x03', '\x02', '\x02', 1712 '\x02', '\x03', '\x02', '\x02',
1713 '\x02', '\x04', '\x01', '\x07', 1713 '\x02', '\x04', '\x01', '\x07',
@@ -1723,6 +1723,19 @@ static char vmac_string3[128] = {'a', 'b', 'c', 'a', 'b', 'c',
1723 'a', 'b', 'c', 'a', 'b', 'c', 1723 'a', 'b', 'c', 'a', 'b', 'c',
1724 }; 1724 };
1725 1725
1726static char vmac_string4[17] = {'b', 'c', 'e', 'f',
1727 'i', 'j', 'l', 'm',
1728 'o', 'p', 'r', 's',
1729 't', 'u', 'w', 'x', 'z'};
1730
1731static char vmac_string5[127] = {'r', 'm', 'b', 't', 'c',
1732 'o', 'l', 'k', ']', '%',
1733 '9', '2', '7', '!', 'A'};
1734
1735static char vmac_string6[129] = {'p', 't', '*', '7', 'l',
1736 'i', '!', '#', 'w', '0',
1737 'z', '/', '4', 'A', 'n'};
1738
1726static struct hash_testvec aes_vmac128_tv_template[] = { 1739static struct hash_testvec aes_vmac128_tv_template[] = {
1727 { 1740 {
1728 .key = "\x00\x01\x02\x03\x04\x05\x06\x07" 1741 .key = "\x00\x01\x02\x03\x04\x05\x06\x07"
@@ -1776,6 +1789,24 @@ static struct hash_testvec aes_vmac128_tv_template[] = {
1776 .digest = "\x8b\x32\x8f\xe1\xed\x8f\xfa\xd4", 1789 .digest = "\x8b\x32\x8f\xe1\xed\x8f\xfa\xd4",
1777 .psize = 128, 1790 .psize = 128,
1778 .ksize = 16, 1791 .ksize = 16,
1792 }, {
1793 .key = "a09b5cd!f#07K\x00\x00\x00",
1794 .plaintext = vmac_string4,
1795 .digest = "\xab\xa5\x0f\xea\x42\x4e\xa1\x5f",
1796 .psize = sizeof(vmac_string4),
1797 .ksize = 16,
1798 }, {
1799 .key = "a09b5cd!f#07K\x00\x00\x00",
1800 .plaintext = vmac_string5,
1801 .digest = "\x25\x31\x98\xbc\x1d\xe8\x67\x60",
1802 .psize = sizeof(vmac_string5),
1803 .ksize = 16,
1804 }, {
1805 .key = "a09b5cd!f#07K\x00\x00\x00",
1806 .plaintext = vmac_string6,
1807 .digest = "\xc4\xae\x9b\x47\x95\x65\xeb\x41",
1808 .psize = sizeof(vmac_string6),
1809 .ksize = 16,
1779 }, 1810 },
1780}; 1811};
1781 1812
@@ -1993,14 +2024,18 @@ static struct hash_testvec hmac_sha512_tv_template[] = {
1993/* 2024/*
1994 * DES test vectors. 2025 * DES test vectors.
1995 */ 2026 */
1996#define DES_ENC_TEST_VECTORS 10 2027#define DES_ENC_TEST_VECTORS 11
1997#define DES_DEC_TEST_VECTORS 4 2028#define DES_DEC_TEST_VECTORS 5
1998#define DES_CBC_ENC_TEST_VECTORS 5 2029#define DES_CBC_ENC_TEST_VECTORS 6
1999#define DES_CBC_DEC_TEST_VECTORS 4 2030#define DES_CBC_DEC_TEST_VECTORS 5
2000#define DES3_EDE_ENC_TEST_VECTORS 3 2031#define DES_CTR_ENC_TEST_VECTORS 2
2001#define DES3_EDE_DEC_TEST_VECTORS 3 2032#define DES_CTR_DEC_TEST_VECTORS 2
2002#define DES3_EDE_CBC_ENC_TEST_VECTORS 1 2033#define DES3_EDE_ENC_TEST_VECTORS 4
2003#define DES3_EDE_CBC_DEC_TEST_VECTORS 1 2034#define DES3_EDE_DEC_TEST_VECTORS 4
2035#define DES3_EDE_CBC_ENC_TEST_VECTORS 2
2036#define DES3_EDE_CBC_DEC_TEST_VECTORS 2
2037#define DES3_EDE_CTR_ENC_TEST_VECTORS 2
2038#define DES3_EDE_CTR_DEC_TEST_VECTORS 2
2004 2039
2005static struct cipher_testvec des_enc_tv_template[] = { 2040static struct cipher_testvec des_enc_tv_template[] = {
2006 { /* From Applied Cryptography */ 2041 { /* From Applied Cryptography */
@@ -2103,6 +2138,76 @@ static struct cipher_testvec des_enc_tv_template[] = {
2103 .rlen = 8, 2138 .rlen = 8,
2104 .np = 8, 2139 .np = 8,
2105 .tap = { 1, 1, 1, 1, 1, 1, 1, 1 } 2140 .tap = { 1, 1, 1, 1, 1, 1, 1, 1 }
2141 }, { /* Generated with Crypto++ */
2142 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2143 .klen = 8,
2144 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2145 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2146 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2147 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2148 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2149 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2150 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2151 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2152 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2153 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2154 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2155 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2156 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2157 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2158 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2159 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2160 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2161 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2162 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2163 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2164 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2165 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2166 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2167 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2168 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2169 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2170 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2171 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2172 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2173 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2174 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
2175 .ilen = 248,
2176 .result = "\x88\xCB\x1F\xAB\x2F\x2A\x49\x57"
2177 "\x92\xB9\x77\xFF\x2F\x47\x58\xDD"
2178 "\xD7\x8A\x91\x95\x26\x33\x78\xB2"
2179 "\x33\xBA\xB2\x3E\x02\xF5\x1F\xEF"
2180 "\x98\xC5\xA6\xD2\x7D\x79\xEC\xB3"
2181 "\x45\xF3\x4C\x61\xAC\x6C\xC2\x55"
2182 "\xE5\xD3\x06\x58\x8A\x42\x3E\xDD"
2183 "\x3D\x20\x45\xE9\x6F\x0D\x25\xA8"
2184 "\xA5\xC7\x69\xCE\xD5\x3B\x7B\xC9"
2185 "\x9E\x65\xE7\xA3\xF2\xE4\x18\x94"
2186 "\xD2\x81\xE9\x33\x2B\x2D\x49\xC4"
2187 "\xFE\xDA\x7F\xE2\xF2\x8C\x9C\xDC"
2188 "\x73\x58\x11\x1F\x81\xD7\x21\x1A"
2189 "\x80\xD0\x0D\xE8\x45\xD6\xD8\xD5"
2190 "\x2E\x51\x16\xCA\x09\x89\x54\x62"
2191 "\xF7\x04\x3D\x75\xB9\xA3\x84\xF4"
2192 "\x62\xF0\x02\x58\x83\xAF\x30\x87"
2193 "\x85\x3F\x01\xCD\x8E\x58\x42\xC4"
2194 "\x41\x73\xE0\x15\x0A\xE6\x2E\x80"
2195 "\x94\xF8\x5B\x3A\x4E\xDF\x51\xB2"
2196 "\x9D\xE4\xC4\x9D\xF7\x3F\xF8\x8E"
2197 "\x37\x22\x4D\x00\x2A\xEF\xC1\x0F"
2198 "\x14\xA0\x66\xAB\x79\x39\xD0\x8E"
2199 "\xE9\x95\x61\x74\x12\xED\x07\xD7"
2200 "\xDD\x95\xDC\x7B\x57\x25\x27\x9C"
2201 "\x51\x96\x16\xF7\x94\x61\xB8\x87"
2202 "\xF0\x21\x1B\x32\xFB\x07\x0F\x29"
2203 "\x56\xBD\x9D\x22\xA2\x9F\xA2\xB9"
2204 "\x46\x31\x4C\x5E\x2E\x95\x61\xEF"
2205 "\xE1\x58\x39\x09\xB4\x8B\x40\xAC"
2206 "\x5F\x62\xC7\x72\xD9\xFC\xCB\x9A",
2207 .rlen = 248,
2208 .also_non_np = 1,
2209 .np = 2,
2210 .tap = { 248 - 8, 8 },
2106 }, 2211 },
2107}; 2212};
2108 2213
@@ -2143,6 +2248,76 @@ static struct cipher_testvec des_dec_tv_template[] = {
2143 .rlen = 16, 2248 .rlen = 16,
2144 .np = 3, 2249 .np = 3,
2145 .tap = { 3, 12, 1 } 2250 .tap = { 3, 12, 1 }
2251 }, { /* Generated with Crypto++ */
2252 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2253 .klen = 8,
2254 .input = "\x88\xCB\x1F\xAB\x2F\x2A\x49\x57"
2255 "\x92\xB9\x77\xFF\x2F\x47\x58\xDD"
2256 "\xD7\x8A\x91\x95\x26\x33\x78\xB2"
2257 "\x33\xBA\xB2\x3E\x02\xF5\x1F\xEF"
2258 "\x98\xC5\xA6\xD2\x7D\x79\xEC\xB3"
2259 "\x45\xF3\x4C\x61\xAC\x6C\xC2\x55"
2260 "\xE5\xD3\x06\x58\x8A\x42\x3E\xDD"
2261 "\x3D\x20\x45\xE9\x6F\x0D\x25\xA8"
2262 "\xA5\xC7\x69\xCE\xD5\x3B\x7B\xC9"
2263 "\x9E\x65\xE7\xA3\xF2\xE4\x18\x94"
2264 "\xD2\x81\xE9\x33\x2B\x2D\x49\xC4"
2265 "\xFE\xDA\x7F\xE2\xF2\x8C\x9C\xDC"
2266 "\x73\x58\x11\x1F\x81\xD7\x21\x1A"
2267 "\x80\xD0\x0D\xE8\x45\xD6\xD8\xD5"
2268 "\x2E\x51\x16\xCA\x09\x89\x54\x62"
2269 "\xF7\x04\x3D\x75\xB9\xA3\x84\xF4"
2270 "\x62\xF0\x02\x58\x83\xAF\x30\x87"
2271 "\x85\x3F\x01\xCD\x8E\x58\x42\xC4"
2272 "\x41\x73\xE0\x15\x0A\xE6\x2E\x80"
2273 "\x94\xF8\x5B\x3A\x4E\xDF\x51\xB2"
2274 "\x9D\xE4\xC4\x9D\xF7\x3F\xF8\x8E"
2275 "\x37\x22\x4D\x00\x2A\xEF\xC1\x0F"
2276 "\x14\xA0\x66\xAB\x79\x39\xD0\x8E"
2277 "\xE9\x95\x61\x74\x12\xED\x07\xD7"
2278 "\xDD\x95\xDC\x7B\x57\x25\x27\x9C"
2279 "\x51\x96\x16\xF7\x94\x61\xB8\x87"
2280 "\xF0\x21\x1B\x32\xFB\x07\x0F\x29"
2281 "\x56\xBD\x9D\x22\xA2\x9F\xA2\xB9"
2282 "\x46\x31\x4C\x5E\x2E\x95\x61\xEF"
2283 "\xE1\x58\x39\x09\xB4\x8B\x40\xAC"
2284 "\x5F\x62\xC7\x72\xD9\xFC\xCB\x9A",
2285 .ilen = 248,
2286 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2287 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2288 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2289 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2290 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2291 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2292 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2293 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2294 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2295 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2296 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2297 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2298 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2299 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2300 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2301 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2302 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2303 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2304 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2305 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2306 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2307 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2308 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2309 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2310 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2311 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2312 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2313 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2314 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2315 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2316 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
2317 .rlen = 248,
2318 .also_non_np = 1,
2319 .np = 2,
2320 .tap = { 248 - 8, 8 },
2146 }, 2321 },
2147}; 2322};
2148 2323
@@ -2198,6 +2373,77 @@ static struct cipher_testvec des_cbc_enc_tv_template[] = {
2198 .rlen = 24, 2373 .rlen = 24,
2199 .np = 2, 2374 .np = 2,
2200 .tap = { 13, 11 } 2375 .tap = { 13, 11 }
2376 }, { /* Generated with Crypto++ */
2377 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2378 .klen = 8,
2379 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47",
2380 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2381 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2382 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2383 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2384 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2385 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2386 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2387 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2388 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2389 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2390 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2391 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2392 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2393 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2394 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2395 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2396 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2397 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2398 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2399 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2400 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2401 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2402 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2403 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2404 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2405 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2406 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2407 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2408 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2409 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2410 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
2411 .ilen = 248,
2412 .result = "\x71\xCC\x56\x1C\x87\x2C\x43\x20"
2413 "\x1C\x20\x13\x09\xF9\x2B\x40\x47"
2414 "\x99\x10\xD1\x1B\x65\x33\x33\xBA"
2415 "\x88\x0D\xA2\xD1\x86\xFF\x4D\xF4"
2416 "\x5A\x0C\x12\x96\x32\x57\xAA\x26"
2417 "\xA7\xF4\x32\x8D\xBC\x10\x31\x9E"
2418 "\x81\x72\x74\xDE\x30\x19\x69\x49"
2419 "\x54\x9C\xC3\xEB\x0B\x97\xDD\xD1"
2420 "\xE8\x6D\x0D\x05\x83\xA5\x12\x08"
2421 "\x47\xF8\x88\x03\x86\x51\x3C\xEF"
2422 "\xE7\x11\x73\x4D\x44\x2B\xE2\x16"
2423 "\xE8\xA5\x06\x50\x66\x70\x0E\x14"
2424 "\xBA\x21\x3B\xD5\x23\x5B\xA7\x8F"
2425 "\x56\xB6\xA7\x44\xDB\x86\xAB\x69"
2426 "\x33\x3C\xBE\x64\xC4\x22\xD3\xFE"
2427 "\x49\x90\x88\x6A\x09\x8F\x76\x59"
2428 "\xCB\xB7\xA0\x2D\x79\x75\x92\x8A"
2429 "\x82\x1D\xC2\xFE\x09\x1F\x78\x6B"
2430 "\x2F\xD6\xA4\x87\x1E\xC4\x53\x63"
2431 "\x80\x02\x61\x2F\xE3\x46\xB6\xB5"
2432 "\xAA\x95\xF4\xEE\xA7\x64\x2B\x4F"
2433 "\x20\xCF\xD2\x47\x4E\x39\x65\xB3"
2434 "\x11\x87\xA2\x6C\x49\x7E\x36\xC7"
2435 "\x62\x8B\x48\x0D\x6A\x64\x00\xBD"
2436 "\x71\x91\x8C\xE9\x70\x19\x01\x4F"
2437 "\x4E\x68\x23\xBA\xDA\x24\x2E\x45"
2438 "\x02\x14\x33\x21\xAE\x58\x4B\xCF"
2439 "\x3B\x4B\xE8\xF8\xF6\x4F\x34\x93"
2440 "\xD7\x07\x8A\xD7\x18\x92\x36\x8C"
2441 "\x82\xA9\xBD\x6A\x31\x91\x39\x11"
2442 "\xC6\x4A\xF3\x55\xC7\x29\x2E\x63",
2443 .rlen = 248,
2444 .also_non_np = 1,
2445 .np = 2,
2446 .tap = { 248 - 8, 8 },
2201 }, 2447 },
2202}; 2448};
2203 2449
@@ -2236,6 +2482,369 @@ static struct cipher_testvec des_cbc_dec_tv_template[] = {
2236 .rlen = 8, 2482 .rlen = 8,
2237 .np = 2, 2483 .np = 2,
2238 .tap = { 4, 4 } 2484 .tap = { 4, 4 }
2485 }, { /* Generated with Crypto++ */
2486 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2487 .klen = 8,
2488 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47",
2489 .input = "\x71\xCC\x56\x1C\x87\x2C\x43\x20"
2490 "\x1C\x20\x13\x09\xF9\x2B\x40\x47"
2491 "\x99\x10\xD1\x1B\x65\x33\x33\xBA"
2492 "\x88\x0D\xA2\xD1\x86\xFF\x4D\xF4"
2493 "\x5A\x0C\x12\x96\x32\x57\xAA\x26"
2494 "\xA7\xF4\x32\x8D\xBC\x10\x31\x9E"
2495 "\x81\x72\x74\xDE\x30\x19\x69\x49"
2496 "\x54\x9C\xC3\xEB\x0B\x97\xDD\xD1"
2497 "\xE8\x6D\x0D\x05\x83\xA5\x12\x08"
2498 "\x47\xF8\x88\x03\x86\x51\x3C\xEF"
2499 "\xE7\x11\x73\x4D\x44\x2B\xE2\x16"
2500 "\xE8\xA5\x06\x50\x66\x70\x0E\x14"
2501 "\xBA\x21\x3B\xD5\x23\x5B\xA7\x8F"
2502 "\x56\xB6\xA7\x44\xDB\x86\xAB\x69"
2503 "\x33\x3C\xBE\x64\xC4\x22\xD3\xFE"
2504 "\x49\x90\x88\x6A\x09\x8F\x76\x59"
2505 "\xCB\xB7\xA0\x2D\x79\x75\x92\x8A"
2506 "\x82\x1D\xC2\xFE\x09\x1F\x78\x6B"
2507 "\x2F\xD6\xA4\x87\x1E\xC4\x53\x63"
2508 "\x80\x02\x61\x2F\xE3\x46\xB6\xB5"
2509 "\xAA\x95\xF4\xEE\xA7\x64\x2B\x4F"
2510 "\x20\xCF\xD2\x47\x4E\x39\x65\xB3"
2511 "\x11\x87\xA2\x6C\x49\x7E\x36\xC7"
2512 "\x62\x8B\x48\x0D\x6A\x64\x00\xBD"
2513 "\x71\x91\x8C\xE9\x70\x19\x01\x4F"
2514 "\x4E\x68\x23\xBA\xDA\x24\x2E\x45"
2515 "\x02\x14\x33\x21\xAE\x58\x4B\xCF"
2516 "\x3B\x4B\xE8\xF8\xF6\x4F\x34\x93"
2517 "\xD7\x07\x8A\xD7\x18\x92\x36\x8C"
2518 "\x82\xA9\xBD\x6A\x31\x91\x39\x11"
2519 "\xC6\x4A\xF3\x55\xC7\x29\x2E\x63",
2520 .ilen = 248,
2521 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2522 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2523 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2524 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2525 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2526 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2527 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2528 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2529 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2530 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2531 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2532 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2533 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2534 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2535 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2536 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2537 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2538 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2539 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2540 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2541 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2542 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2543 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2544 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2545 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2546 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2547 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2548 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2549 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2550 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2551 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
2552 .rlen = 248,
2553 .also_non_np = 1,
2554 .np = 2,
2555 .tap = { 248 - 8, 8 },
2556 },
2557};
2558
2559static struct cipher_testvec des_ctr_enc_tv_template[] = {
2560 { /* Generated with Crypto++ */
2561 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2562 .klen = 8,
2563 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
2564 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2565 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2566 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2567 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2568 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2569 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2570 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2571 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2572 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2573 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2574 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2575 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2576 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2577 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2578 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2579 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2580 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2581 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2582 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2583 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2584 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2585 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2586 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2587 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2588 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2589 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2590 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2591 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2592 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2593 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2594 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
2595 .ilen = 248,
2596 .result = "\x2F\x96\x06\x0F\x50\xC9\x68\x03"
2597 "\x0F\x31\xD4\x64\xA5\x29\x77\x35"
2598 "\xBC\x7A\x9F\x19\xE7\x0D\x33\x3E"
2599 "\x12\x0B\x8C\xAE\x48\xAE\xD9\x02"
2600 "\x0A\xD4\xB0\xD6\x37\xB2\x65\x1C"
2601 "\x4B\x65\xEB\x24\xB5\x8E\xAD\x47"
2602 "\x0D\xDA\x79\x77\xA0\x29\xA0\x2B"
2603 "\xC8\x0F\x85\xDC\x03\x13\xA9\x04"
2604 "\x19\x40\xBE\xBE\x5C\x49\x4A\x69"
2605 "\xED\xE8\xE1\x9E\x14\x43\x74\xDE"
2606 "\xEC\x6E\x11\x3F\x36\xEF\x7B\xFB"
2607 "\xBE\x4C\x91\x43\x22\x65\x72\x48"
2608 "\xE2\x12\xED\x88\xAC\xA7\xC9\x91"
2609 "\x14\xA2\x36\x1C\x29\xFF\xC8\x4F"
2610 "\x72\x5C\x4B\xB0\x1E\x93\xC2\xFA"
2611 "\x9D\x53\x86\xA0\xAE\xC6\xB7\x3C"
2612 "\x59\x0C\xD0\x8F\xA6\xD8\xA4\x31"
2613 "\xB7\x30\x1C\x21\x38\xFB\x68\x8C"
2614 "\x2E\xF5\x6E\x73\xC3\x16\x5F\x12"
2615 "\x0C\x33\xB9\x1E\x7B\x70\xDE\x86"
2616 "\x32\xB3\xC1\x16\xAB\xD9\x49\x0B"
2617 "\x96\x28\x72\x6B\xF3\x30\xA9\xEB"
2618 "\x69\xE2\x1E\x58\x46\xA2\x8E\xC7"
2619 "\xC0\xEF\x07\xB7\x77\x2C\x00\x05"
2620 "\x46\xBD\xFE\x53\x81\x8B\xA4\x03"
2621 "\x20\x0F\xDB\x78\x0B\x1F\x53\x04"
2622 "\x4C\x60\x4C\xC3\x2A\x86\x86\x7E"
2623 "\x13\xD2\x26\xED\x5D\x3E\x9C\xF2"
2624 "\x5C\xC4\x15\xC9\x9A\x21\xC5\xCD"
2625 "\x19\x7F\x99\x19\x53\xCE\x1D\x14"
2626 "\x69\x74\xA1\x06\x46\x0F\x4E\x75",
2627 .rlen = 248,
2628 .also_non_np = 1,
2629 .np = 2,
2630 .tap = { 248 - 8, 8 },
2631 }, { /* Generated with Crypto++ */
2632 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2633 .klen = 8,
2634 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47",
2635 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2636 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2637 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2638 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2639 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2640 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2641 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2642 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2643 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2644 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2645 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2646 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2647 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2648 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2649 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2650 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2651 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2652 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2653 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2654 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2655 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2656 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2657 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2658 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2659 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2660 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2661 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2662 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2663 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2664 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2665 "\xC6\x2F\xBB\x24\x8D\x19\x82",
2666 .ilen = 247,
2667 .result = "\x62\xE5\xF4\xDC\x99\xE7\x89\xE3"
2668 "\xF4\x10\xCC\x21\x99\xEB\xDC\x15"
2669 "\x19\x13\x93\x27\x9D\xB6\x6F\x45"
2670 "\x17\x55\x61\x72\xC8\xD3\x7F\xA5"
2671 "\x32\xD0\xD3\x02\x15\xA4\x05\x23"
2672 "\x9C\x23\x61\x60\x77\x7B\x6C\x95"
2673 "\x26\x49\x42\x2E\xF3\xC1\x8C\x6D"
2674 "\xC8\x47\xD5\x94\xE7\x53\xC8\x23"
2675 "\x1B\xA5\x0B\xCB\x12\xD3\x7A\x12"
2676 "\xA4\x42\x15\x34\xF7\x5F\xDC\x58"
2677 "\x5B\x58\x4C\xAD\xD1\x33\x8E\xE6"
2678 "\xE5\xA0\xDA\x4D\x94\x3D\x63\xA8"
2679 "\x02\x82\xBB\x16\xB8\xDC\xB5\x58"
2680 "\xC3\x2D\x79\xE4\x25\x79\x43\xF9"
2681 "\x6D\xD3\xCA\xC0\xE8\x12\xD4\x7E"
2682 "\x04\x25\x79\xFD\x27\xFB\xC4\xEA"
2683 "\x32\x94\x48\x92\xF3\x68\x1A\x7F"
2684 "\x36\x33\x43\x79\xF7\xCA\xC2\x38"
2685 "\xC0\x68\xD4\x53\xA9\xCC\x43\x0C"
2686 "\x40\x57\x3E\xED\x00\x9F\x22\x6E"
2687 "\x80\x99\x0B\xCC\x40\x63\x46\x8A"
2688 "\xE8\xC4\x9B\x6D\x7A\x08\x6E\xA9"
2689 "\x6F\x84\xBC\xB3\xF4\x95\x0B\x2D"
2690 "\x6A\xBA\x37\x50\xC3\xCF\x9F\x7C"
2691 "\x59\x5E\xDE\x0B\x30\xFA\x34\x8A"
2692 "\xF8\xD1\xA2\xF8\x4E\xBD\x5D\x5E"
2693 "\x7D\x71\x99\xE0\xF6\xE5\x7C\xE0"
2694 "\x6D\xEE\x82\x89\x92\xD4\xF5\xD7"
2695 "\xDF\x85\x2D\xE1\xB2\xD6\xAB\x94"
2696 "\xA5\xA6\xE7\xB0\x51\x36\x52\x37"
2697 "\x91\x45\x05\x3E\x58\xBF\x32",
2698 .rlen = 247,
2699 .also_non_np = 1,
2700 .np = 2,
2701 .tap = { 247 - 8, 8 },
2702 },
2703};
2704
2705static struct cipher_testvec des_ctr_dec_tv_template[] = {
2706 { /* Generated with Crypto++ */
2707 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2708 .klen = 8,
2709 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
2710 .input = "\x2F\x96\x06\x0F\x50\xC9\x68\x03"
2711 "\x0F\x31\xD4\x64\xA5\x29\x77\x35"
2712 "\xBC\x7A\x9F\x19\xE7\x0D\x33\x3E"
2713 "\x12\x0B\x8C\xAE\x48\xAE\xD9\x02"
2714 "\x0A\xD4\xB0\xD6\x37\xB2\x65\x1C"
2715 "\x4B\x65\xEB\x24\xB5\x8E\xAD\x47"
2716 "\x0D\xDA\x79\x77\xA0\x29\xA0\x2B"
2717 "\xC8\x0F\x85\xDC\x03\x13\xA9\x04"
2718 "\x19\x40\xBE\xBE\x5C\x49\x4A\x69"
2719 "\xED\xE8\xE1\x9E\x14\x43\x74\xDE"
2720 "\xEC\x6E\x11\x3F\x36\xEF\x7B\xFB"
2721 "\xBE\x4C\x91\x43\x22\x65\x72\x48"
2722 "\xE2\x12\xED\x88\xAC\xA7\xC9\x91"
2723 "\x14\xA2\x36\x1C\x29\xFF\xC8\x4F"
2724 "\x72\x5C\x4B\xB0\x1E\x93\xC2\xFA"
2725 "\x9D\x53\x86\xA0\xAE\xC6\xB7\x3C"
2726 "\x59\x0C\xD0\x8F\xA6\xD8\xA4\x31"
2727 "\xB7\x30\x1C\x21\x38\xFB\x68\x8C"
2728 "\x2E\xF5\x6E\x73\xC3\x16\x5F\x12"
2729 "\x0C\x33\xB9\x1E\x7B\x70\xDE\x86"
2730 "\x32\xB3\xC1\x16\xAB\xD9\x49\x0B"
2731 "\x96\x28\x72\x6B\xF3\x30\xA9\xEB"
2732 "\x69\xE2\x1E\x58\x46\xA2\x8E\xC7"
2733 "\xC0\xEF\x07\xB7\x77\x2C\x00\x05"
2734 "\x46\xBD\xFE\x53\x81\x8B\xA4\x03"
2735 "\x20\x0F\xDB\x78\x0B\x1F\x53\x04"
2736 "\x4C\x60\x4C\xC3\x2A\x86\x86\x7E"
2737 "\x13\xD2\x26\xED\x5D\x3E\x9C\xF2"
2738 "\x5C\xC4\x15\xC9\x9A\x21\xC5\xCD"
2739 "\x19\x7F\x99\x19\x53\xCE\x1D\x14"
2740 "\x69\x74\xA1\x06\x46\x0F\x4E\x75",
2741 .ilen = 248,
2742 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2743 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2744 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2745 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2746 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2747 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2748 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2749 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2750 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2751 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2752 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2753 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2754 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2755 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2756 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2757 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2758 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2759 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2760 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2761 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2762 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2763 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2764 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2765 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2766 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2767 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2768 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2769 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2770 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2771 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2772 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
2773 .rlen = 248,
2774 .also_non_np = 1,
2775 .np = 2,
2776 .tap = { 248 - 8, 8 },
2777 }, { /* Generated with Crypto++ */
2778 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
2779 .klen = 8,
2780 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47",
2781 .input = "\x62\xE5\xF4\xDC\x99\xE7\x89\xE3"
2782 "\xF4\x10\xCC\x21\x99\xEB\xDC\x15"
2783 "\x19\x13\x93\x27\x9D\xB6\x6F\x45"
2784 "\x17\x55\x61\x72\xC8\xD3\x7F\xA5"
2785 "\x32\xD0\xD3\x02\x15\xA4\x05\x23"
2786 "\x9C\x23\x61\x60\x77\x7B\x6C\x95"
2787 "\x26\x49\x42\x2E\xF3\xC1\x8C\x6D"
2788 "\xC8\x47\xD5\x94\xE7\x53\xC8\x23"
2789 "\x1B\xA5\x0B\xCB\x12\xD3\x7A\x12"
2790 "\xA4\x42\x15\x34\xF7\x5F\xDC\x58"
2791 "\x5B\x58\x4C\xAD\xD1\x33\x8E\xE6"
2792 "\xE5\xA0\xDA\x4D\x94\x3D\x63\xA8"
2793 "\x02\x82\xBB\x16\xB8\xDC\xB5\x58"
2794 "\xC3\x2D\x79\xE4\x25\x79\x43\xF9"
2795 "\x6D\xD3\xCA\xC0\xE8\x12\xD4\x7E"
2796 "\x04\x25\x79\xFD\x27\xFB\xC4\xEA"
2797 "\x32\x94\x48\x92\xF3\x68\x1A\x7F"
2798 "\x36\x33\x43\x79\xF7\xCA\xC2\x38"
2799 "\xC0\x68\xD4\x53\xA9\xCC\x43\x0C"
2800 "\x40\x57\x3E\xED\x00\x9F\x22\x6E"
2801 "\x80\x99\x0B\xCC\x40\x63\x46\x8A"
2802 "\xE8\xC4\x9B\x6D\x7A\x08\x6E\xA9"
2803 "\x6F\x84\xBC\xB3\xF4\x95\x0B\x2D"
2804 "\x6A\xBA\x37\x50\xC3\xCF\x9F\x7C"
2805 "\x59\x5E\xDE\x0B\x30\xFA\x34\x8A"
2806 "\xF8\xD1\xA2\xF8\x4E\xBD\x5D\x5E"
2807 "\x7D\x71\x99\xE0\xF6\xE5\x7C\xE0"
2808 "\x6D\xEE\x82\x89\x92\xD4\xF5\xD7"
2809 "\xDF\x85\x2D\xE1\xB2\xD6\xAB\x94"
2810 "\xA5\xA6\xE7\xB0\x51\x36\x52\x37"
2811 "\x91\x45\x05\x3E\x58\xBF\x32",
2812 .ilen = 247,
2813 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
2814 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
2815 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
2816 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
2817 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
2818 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
2819 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
2820 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
2821 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
2822 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
2823 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
2824 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
2825 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
2826 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
2827 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
2828 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
2829 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
2830 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
2831 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
2832 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
2833 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
2834 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
2835 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
2836 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
2837 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
2838 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
2839 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
2840 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
2841 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
2842 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
2843 "\xC6\x2F\xBB\x24\x8D\x19\x82",
2844 .rlen = 247,
2845 .also_non_np = 1,
2846 .np = 2,
2847 .tap = { 247 - 8, 8 },
2239 }, 2848 },
2240}; 2849};
2241 2850
@@ -2267,6 +2876,140 @@ static struct cipher_testvec des3_ede_enc_tv_template[] = {
2267 .ilen = 8, 2876 .ilen = 8,
2268 .result = "\xe1\xef\x62\xc3\x32\xfe\x82\x5b", 2877 .result = "\xe1\xef\x62\xc3\x32\xfe\x82\x5b",
2269 .rlen = 8, 2878 .rlen = 8,
2879 }, { /* Generated with Crypto++ */
2880 .key = "\xF3\x9C\xD6\xF3\x9C\xB9\x5A\x67"
2881 "\x00\x5A\x67\x00\x2D\xCE\xEB\x2D"
2882 "\xCE\xEB\xB4\x51\x72\xB4\x51\x72",
2883 .klen = 24,
2884 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
2885 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
2886 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
2887 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
2888 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
2889 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
2890 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
2891 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
2892 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
2893 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
2894 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
2895 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
2896 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
2897 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
2898 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
2899 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
2900 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
2901 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
2902 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
2903 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
2904 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
2905 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
2906 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
2907 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
2908 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
2909 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
2910 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
2911 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
2912 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
2913 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
2914 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
2915 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
2916 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
2917 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
2918 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
2919 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
2920 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
2921 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
2922 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
2923 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
2924 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
2925 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
2926 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
2927 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
2928 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
2929 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
2930 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
2931 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
2932 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
2933 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
2934 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
2935 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
2936 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
2937 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
2938 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
2939 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
2940 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
2941 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
2942 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
2943 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
2944 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
2945 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
2946 .ilen = 496,
2947 .result = "\x4E\x9A\x40\x3D\x61\x7D\x17\xFA"
2948 "\x16\x86\x88\x0B\xD8\xAE\xF8\xE4"
2949 "\x81\x01\x04\x00\x76\xFA\xED\xD3"
2950 "\x44\x7E\x21\x9D\xF0\xFB\x2B\x64"
2951 "\xCA\x4E\x90\xE0\xC0\x63\x28\x92"
2952 "\xF3\x1F\xA4\x53\x2C\x77\xCC\x77"
2953 "\x69\x56\xD0\x19\xAD\x00\x2D\x97"
2954 "\xBC\xDE\x49\x6A\x82\xBC\x16\xE2"
2955 "\x2F\x3E\x72\xEE\xD1\xCE\xFC\x1B"
2956 "\xEA\x32\x56\xE4\x0B\xAF\x27\x36"
2957 "\xAF\x08\xB9\x61\xB7\x48\x23\x27"
2958 "\xEE\x4D\xC8\x79\x56\x06\xEB\xC7"
2959 "\x5B\xCA\x0A\xC6\x5E\x5C\xCB\xB6"
2960 "\x9D\xDA\x04\x59\xE2\x09\x48\x7E"
2961 "\x6B\x37\xC6\xFE\x92\xA9\x1E\x6E"
2962 "\x0D\x19\xFA\x33\x0F\xEE\x36\x68"
2963 "\x11\xBB\xF9\x5A\x73\xAB\x3A\xEA"
2964 "\xAC\x28\xD8\xD5\x27\xE8\x6B\x16"
2965 "\x45\x86\x50\x01\x70\x35\x99\x92"
2966 "\xDF\x0C\x07\x88\x8B\x7F\x9E\x4B"
2967 "\xD2\x04\x84\x90\xC4\x27\xDF\x0A"
2968 "\x49\xA8\xA7\x1A\x6D\x78\x16\xCA"
2969 "\xB3\x18\x5C\xC3\x93\x63\x5A\x68"
2970 "\x77\x02\xBA\xED\x62\x71\xB1\xD9"
2971 "\x5E\xE5\x6F\x1A\xCC\x1D\xBE\x2E"
2972 "\x11\xF3\xA6\x97\xCA\x8E\xBF\xB4"
2973 "\x56\xA1\x36\x6B\xB1\x0A\x3E\x70"
2974 "\xEA\xD7\xCD\x72\x7B\x79\xC8\xAD"
2975 "\x6B\xFE\xFB\xBA\x64\xAE\x19\xC1"
2976 "\x82\xCF\x8A\xA1\x50\x17\x7F\xB2"
2977 "\x6F\x7B\x0F\x52\xC5\x3E\x4A\x52"
2978 "\x3F\xD9\x3F\x01\xA6\x41\x1A\xB3"
2979 "\xB3\x7A\x0E\x8E\x75\xB2\xB1\x5F"
2980 "\xDB\xEA\x84\x13\x26\x6C\x85\x4E"
2981 "\xAE\x6B\xDC\xE7\xE7\xAD\xB0\x06"
2982 "\x5C\xBA\x92\xD0\x30\xBB\x8D\xD2"
2983 "\xAE\x4C\x70\x85\xA0\x07\xE3\x2C"
2984 "\xD1\x27\x9C\xCF\xDB\x13\xB7\xE5"
2985 "\xF9\x6A\x02\xD0\x39\x9D\xB6\xE7"
2986 "\xD1\x17\x25\x08\xF9\xA9\xA6\x67"
2987 "\x38\x80\xD1\x22\xAB\x1A\xD7\x26"
2988 "\xAD\xCA\x19\x1B\xFA\x18\xA7\x57"
2989 "\x31\xEC\xC9\xED\xDB\x79\xC0\x48"
2990 "\xAC\x31\x9F\x03\x8B\x62\x5B\x7E"
2991 "\x0E\xA6\xD0\x64\xEE\xEA\x00\xFC"
2992 "\x58\xC8\xDE\x51\x4E\x17\x15\x11"
2993 "\x66\x58\xB6\x90\xDC\xDF\xA1\x49"
2994 "\xCA\x79\xE9\x31\x31\x42\xDC\x56"
2995 "\x0B\xCD\xB6\x0D\xC7\x64\xF7\x19"
2996 "\xD9\x42\x05\x7F\xBC\x2F\xFC\x90"
2997 "\xAE\x29\x86\xAA\x43\x7A\x4F\x6B"
2998 "\xCE\xEA\xBC\x31\x8D\x65\x9D\x46"
2999 "\xEA\x77\xB4\xF9\x58\xEA\x5D\x84"
3000 "\xE4\xDC\x14\xBB\xBD\x15\x0E\xDA"
3001 "\xD8\xE4\xA4\x5D\x61\xF9\x58\x0F"
3002 "\xE4\x82\x77\xCE\x87\xC0\x09\xF0"
3003 "\xD6\x10\x9E\x34\xE1\x0C\x67\x55"
3004 "\x7B\x6D\xD5\x51\x4B\x00\xEE\xBA"
3005 "\xF2\x7B\xBE\x75\x07\x42\x9D\x99"
3006 "\x12\xE1\x71\x4A\xF9\x2A\xF5\xF6"
3007 "\x93\x03\xD7\x51\x09\xFA\xBE\x68"
3008 "\xD8\x45\xFF\x33\xBA\xBB\x2B\x63",
3009 .rlen = 496,
3010 .also_non_np = 1,
3011 .np = 2,
3012 .tap = { 496 - 16, 16 },
2270 }, 3013 },
2271}; 3014};
2272 3015
@@ -2298,6 +3041,140 @@ static struct cipher_testvec des3_ede_dec_tv_template[] = {
2298 .ilen = 8, 3041 .ilen = 8,
2299 .result = "\x00\x00\x00\x00\x00\x00\x00\x00", 3042 .result = "\x00\x00\x00\x00\x00\x00\x00\x00",
2300 .rlen = 8, 3043 .rlen = 8,
3044 }, { /* Generated with Crypto++ */
3045 .key = "\xF3\x9C\xD6\xF3\x9C\xB9\x5A\x67"
3046 "\x00\x5A\x67\x00\x2D\xCE\xEB\x2D"
3047 "\xCE\xEB\xB4\x51\x72\xB4\x51\x72",
3048 .klen = 24,
3049 .input = "\x4E\x9A\x40\x3D\x61\x7D\x17\xFA"
3050 "\x16\x86\x88\x0B\xD8\xAE\xF8\xE4"
3051 "\x81\x01\x04\x00\x76\xFA\xED\xD3"
3052 "\x44\x7E\x21\x9D\xF0\xFB\x2B\x64"
3053 "\xCA\x4E\x90\xE0\xC0\x63\x28\x92"
3054 "\xF3\x1F\xA4\x53\x2C\x77\xCC\x77"
3055 "\x69\x56\xD0\x19\xAD\x00\x2D\x97"
3056 "\xBC\xDE\x49\x6A\x82\xBC\x16\xE2"
3057 "\x2F\x3E\x72\xEE\xD1\xCE\xFC\x1B"
3058 "\xEA\x32\x56\xE4\x0B\xAF\x27\x36"
3059 "\xAF\x08\xB9\x61\xB7\x48\x23\x27"
3060 "\xEE\x4D\xC8\x79\x56\x06\xEB\xC7"
3061 "\x5B\xCA\x0A\xC6\x5E\x5C\xCB\xB6"
3062 "\x9D\xDA\x04\x59\xE2\x09\x48\x7E"
3063 "\x6B\x37\xC6\xFE\x92\xA9\x1E\x6E"
3064 "\x0D\x19\xFA\x33\x0F\xEE\x36\x68"
3065 "\x11\xBB\xF9\x5A\x73\xAB\x3A\xEA"
3066 "\xAC\x28\xD8\xD5\x27\xE8\x6B\x16"
3067 "\x45\x86\x50\x01\x70\x35\x99\x92"
3068 "\xDF\x0C\x07\x88\x8B\x7F\x9E\x4B"
3069 "\xD2\x04\x84\x90\xC4\x27\xDF\x0A"
3070 "\x49\xA8\xA7\x1A\x6D\x78\x16\xCA"
3071 "\xB3\x18\x5C\xC3\x93\x63\x5A\x68"
3072 "\x77\x02\xBA\xED\x62\x71\xB1\xD9"
3073 "\x5E\xE5\x6F\x1A\xCC\x1D\xBE\x2E"
3074 "\x11\xF3\xA6\x97\xCA\x8E\xBF\xB4"
3075 "\x56\xA1\x36\x6B\xB1\x0A\x3E\x70"
3076 "\xEA\xD7\xCD\x72\x7B\x79\xC8\xAD"
3077 "\x6B\xFE\xFB\xBA\x64\xAE\x19\xC1"
3078 "\x82\xCF\x8A\xA1\x50\x17\x7F\xB2"
3079 "\x6F\x7B\x0F\x52\xC5\x3E\x4A\x52"
3080 "\x3F\xD9\x3F\x01\xA6\x41\x1A\xB3"
3081 "\xB3\x7A\x0E\x8E\x75\xB2\xB1\x5F"
3082 "\xDB\xEA\x84\x13\x26\x6C\x85\x4E"
3083 "\xAE\x6B\xDC\xE7\xE7\xAD\xB0\x06"
3084 "\x5C\xBA\x92\xD0\x30\xBB\x8D\xD2"
3085 "\xAE\x4C\x70\x85\xA0\x07\xE3\x2C"
3086 "\xD1\x27\x9C\xCF\xDB\x13\xB7\xE5"
3087 "\xF9\x6A\x02\xD0\x39\x9D\xB6\xE7"
3088 "\xD1\x17\x25\x08\xF9\xA9\xA6\x67"
3089 "\x38\x80\xD1\x22\xAB\x1A\xD7\x26"
3090 "\xAD\xCA\x19\x1B\xFA\x18\xA7\x57"
3091 "\x31\xEC\xC9\xED\xDB\x79\xC0\x48"
3092 "\xAC\x31\x9F\x03\x8B\x62\x5B\x7E"
3093 "\x0E\xA6\xD0\x64\xEE\xEA\x00\xFC"
3094 "\x58\xC8\xDE\x51\x4E\x17\x15\x11"
3095 "\x66\x58\xB6\x90\xDC\xDF\xA1\x49"
3096 "\xCA\x79\xE9\x31\x31\x42\xDC\x56"
3097 "\x0B\xCD\xB6\x0D\xC7\x64\xF7\x19"
3098 "\xD9\x42\x05\x7F\xBC\x2F\xFC\x90"
3099 "\xAE\x29\x86\xAA\x43\x7A\x4F\x6B"
3100 "\xCE\xEA\xBC\x31\x8D\x65\x9D\x46"
3101 "\xEA\x77\xB4\xF9\x58\xEA\x5D\x84"
3102 "\xE4\xDC\x14\xBB\xBD\x15\x0E\xDA"
3103 "\xD8\xE4\xA4\x5D\x61\xF9\x58\x0F"
3104 "\xE4\x82\x77\xCE\x87\xC0\x09\xF0"
3105 "\xD6\x10\x9E\x34\xE1\x0C\x67\x55"
3106 "\x7B\x6D\xD5\x51\x4B\x00\xEE\xBA"
3107 "\xF2\x7B\xBE\x75\x07\x42\x9D\x99"
3108 "\x12\xE1\x71\x4A\xF9\x2A\xF5\xF6"
3109 "\x93\x03\xD7\x51\x09\xFA\xBE\x68"
3110 "\xD8\x45\xFF\x33\xBA\xBB\x2B\x63",
3111 .ilen = 496,
3112 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3113 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3114 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3115 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3116 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3117 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3118 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3119 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3120 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3121 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3122 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3123 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3124 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3125 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3126 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3127 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3128 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3129 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3130 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3131 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3132 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3133 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3134 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3135 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3136 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3137 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3138 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3139 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3140 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3141 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3142 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3143 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3144 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3145 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3146 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3147 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3148 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3149 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3150 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3151 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3152 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3153 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3154 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3155 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3156 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3157 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3158 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3159 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3160 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3161 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3162 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3163 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3164 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3165 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3166 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3167 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3168 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3169 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3170 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3171 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3172 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3173 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3174 .rlen = 496,
3175 .also_non_np = 1,
3176 .np = 2,
3177 .tap = { 496 - 16, 16 },
2301 }, 3178 },
2302}; 3179};
2303 3180
@@ -2342,6 +3219,142 @@ static struct cipher_testvec des3_ede_cbc_enc_tv_template[] = {
2342 "\x9d\xde\xa5\x70\xe9\x42\x45\x8a" 3219 "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
2343 "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19", 3220 "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19",
2344 .rlen = 128, 3221 .rlen = 128,
3222 }, { /* Generated with Crypto++ */
3223 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3224 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3225 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3226 .klen = 24,
3227 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3228 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3229 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3230 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3231 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3232 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3233 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3234 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3235 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3236 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3237 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3238 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3239 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3240 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3241 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3242 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3243 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3244 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3245 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3246 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3247 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3248 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3249 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3250 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3251 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3252 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3253 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3254 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3255 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3256 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3257 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3258 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3259 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3260 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3261 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3262 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3263 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3264 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3265 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3266 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3267 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3268 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3269 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3270 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3271 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3272 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3273 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3274 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3275 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3276 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3277 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3278 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3279 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3280 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3281 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3282 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3283 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3284 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3285 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3286 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3287 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3288 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3289 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3290 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3291 .ilen = 496,
3292 .result = "\xF8\xF6\xB5\x60\x5C\x5A\x75\x84"
3293 "\x87\x81\x53\xBA\xC9\x6F\xEC\xD5"
3294 "\x1E\x68\x8E\x85\x12\x86\x1D\x38"
3295 "\x1C\x91\x40\xCC\x69\x6A\xD5\x35"
3296 "\x0D\x7C\xB5\x07\x7C\x7B\x2A\xAF"
3297 "\x32\xBC\xA1\xB3\x84\x31\x1B\x3C"
3298 "\x0A\x2B\xFA\xD3\x9F\xB0\x8C\x37"
3299 "\x8F\x9D\xA7\x6D\x6C\xFA\xD7\x90"
3300 "\xE3\x69\x54\xED\x3A\xC4\xF1\x6B"
3301 "\xB1\xCC\xFB\x7D\xD8\x8E\x17\x0B"
3302 "\x9C\xF6\x4C\xD6\xFF\x03\x4E\xD9"
3303 "\xE6\xA5\xAD\x25\xE6\x17\x69\x63"
3304 "\x11\x35\x61\x94\x88\x7B\x1C\x48"
3305 "\xF1\x24\x20\x29\x6B\x93\x1A\x8E"
3306 "\x43\x03\x89\xD8\xB1\xDA\x47\x7B"
3307 "\x79\x3A\x83\x76\xDA\xAE\xC6\xBB"
3308 "\x22\xF8\xE8\x3D\x9A\x65\x54\xD8"
3309 "\x4C\xE9\xE7\xE4\x63\x2F\x5C\x73"
3310 "\x5A\xC3\xAE\x46\xA8\xCD\x57\xE6"
3311 "\x67\x88\xA5\x20\x6F\x5F\x97\xC7"
3312 "\xCC\x15\xA2\x0A\x93\xEA\x33\xE7"
3313 "\x03\x5F\xEC\x64\x30\x6F\xEE\xD7"
3314 "\x7E\xDF\xD6\xE9\x6F\x3F\xD6\x1E"
3315 "\xBE\x67\x6C\x5B\x97\xA0\x09\xE6"
3316 "\xEE\xFE\x55\xA3\x29\x65\xE0\x12"
3317 "\xA1\x6A\x8A\x6F\xF2\xE6\xF1\x96"
3318 "\x87\xFB\x9C\x05\xDD\x80\xEC\xFF"
3319 "\xC5\xED\x50\xFE\xFC\x91\xCD\xCE"
3320 "\x25\x2C\x5F\xD9\xAD\x95\x7D\x99"
3321 "\xF0\x05\xC4\x71\x46\x5F\xF9\x0D"
3322 "\xD2\x63\xDF\x9B\x96\x2E\x2B\xA6"
3323 "\x2B\x1C\xD5\xFB\x96\x24\x60\x60"
3324 "\x54\x40\xB8\x62\xA4\xF8\x46\x95"
3325 "\x73\x28\xA3\xA6\x16\x2B\x17\xE7"
3326 "\x7A\xF8\x62\x54\x3B\x64\x69\xE1"
3327 "\x71\x34\x29\x5B\x4E\x05\x9B\xFA"
3328 "\x5E\xF1\x96\xB7\xCE\x16\x9B\x59"
3329 "\xF1\x1A\x4C\x51\x26\xFD\x79\xE2"
3330 "\x3B\x8E\x71\x69\x6A\x91\xB6\x65"
3331 "\x32\x09\xB8\xE4\x09\x1F\xEA\x39"
3332 "\xCE\x20\x65\x9F\xD6\xD1\xC7\xF0"
3333 "\x73\x50\x08\x56\x20\x9B\x94\x23"
3334 "\x14\x39\xB7\x2B\xB1\x2D\x6D\x6F"
3335 "\x41\x5B\xCC\xE2\x18\xAE\x62\x89"
3336 "\x78\x8E\x67\x23\xD0\xFB\x2B\xE5"
3337 "\x25\xC9\x48\x97\xB5\xD3\x17\xD5"
3338 "\x6A\x9F\xA7\x48\x0C\x2B\x73\x3B"
3339 "\x57\x08\xAE\x91\xF2\xB7\x57\x89"
3340 "\xF4\xD0\xB0\x07\xB0\x42\x6C\xAF"
3341 "\x98\x1A\xE7\xD1\xAC\x1E\xB5\x02"
3342 "\xD4\x56\x42\x79\x79\x7F\x2A\x77"
3343 "\x25\xE9\x7D\xC1\x88\x19\x2B\x49"
3344 "\x6F\x46\x59\xAB\x56\x1F\x61\xE0"
3345 "\x0C\x24\x9C\xC9\x5B\x63\xA9\x12"
3346 "\xCF\x88\x96\xB6\xA8\x24\xC6\xA8"
3347 "\x21\x85\x1A\x62\x7E\x34\xBB\xEB"
3348 "\xBD\x02\x2A\xC7\xD8\x89\x80\xC5"
3349 "\xB1\xBB\x60\xA5\x22\xFC\x6F\x38"
3350 "\x02\x80\xA3\x28\x22\x75\xE1\xE9"
3351 "\x90\xE9\xFA\x4B\x00\x10\xAC\x58"
3352 "\x83\x70\xFF\x86\xE6\xAA\x0F\x1F"
3353 "\x95\x63\x73\xA2\x44\xAC\xF8\xA5",
3354 .rlen = 496,
3355 .also_non_np = 1,
3356 .np = 2,
3357 .tap = { 496 - 16, 16 },
2345 }, 3358 },
2346}; 3359};
2347 3360
@@ -2386,6 +3399,698 @@ static struct cipher_testvec des3_ede_cbc_dec_tv_template[] = {
2386 "\x63\x65\x65\x72\x73\x74\x54\x20" 3399 "\x63\x65\x65\x72\x73\x74\x54\x20"
2387 "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79", 3400 "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
2388 .rlen = 128, 3401 .rlen = 128,
3402 }, { /* Generated with Crypto++ */
3403 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3404 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3405 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3406 .klen = 24,
3407 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3408 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3409 .input = "\xF8\xF6\xB5\x60\x5C\x5A\x75\x84"
3410 "\x87\x81\x53\xBA\xC9\x6F\xEC\xD5"
3411 "\x1E\x68\x8E\x85\x12\x86\x1D\x38"
3412 "\x1C\x91\x40\xCC\x69\x6A\xD5\x35"
3413 "\x0D\x7C\xB5\x07\x7C\x7B\x2A\xAF"
3414 "\x32\xBC\xA1\xB3\x84\x31\x1B\x3C"
3415 "\x0A\x2B\xFA\xD3\x9F\xB0\x8C\x37"
3416 "\x8F\x9D\xA7\x6D\x6C\xFA\xD7\x90"
3417 "\xE3\x69\x54\xED\x3A\xC4\xF1\x6B"
3418 "\xB1\xCC\xFB\x7D\xD8\x8E\x17\x0B"
3419 "\x9C\xF6\x4C\xD6\xFF\x03\x4E\xD9"
3420 "\xE6\xA5\xAD\x25\xE6\x17\x69\x63"
3421 "\x11\x35\x61\x94\x88\x7B\x1C\x48"
3422 "\xF1\x24\x20\x29\x6B\x93\x1A\x8E"
3423 "\x43\x03\x89\xD8\xB1\xDA\x47\x7B"
3424 "\x79\x3A\x83\x76\xDA\xAE\xC6\xBB"
3425 "\x22\xF8\xE8\x3D\x9A\x65\x54\xD8"
3426 "\x4C\xE9\xE7\xE4\x63\x2F\x5C\x73"
3427 "\x5A\xC3\xAE\x46\xA8\xCD\x57\xE6"
3428 "\x67\x88\xA5\x20\x6F\x5F\x97\xC7"
3429 "\xCC\x15\xA2\x0A\x93\xEA\x33\xE7"
3430 "\x03\x5F\xEC\x64\x30\x6F\xEE\xD7"
3431 "\x7E\xDF\xD6\xE9\x6F\x3F\xD6\x1E"
3432 "\xBE\x67\x6C\x5B\x97\xA0\x09\xE6"
3433 "\xEE\xFE\x55\xA3\x29\x65\xE0\x12"
3434 "\xA1\x6A\x8A\x6F\xF2\xE6\xF1\x96"
3435 "\x87\xFB\x9C\x05\xDD\x80\xEC\xFF"
3436 "\xC5\xED\x50\xFE\xFC\x91\xCD\xCE"
3437 "\x25\x2C\x5F\xD9\xAD\x95\x7D\x99"
3438 "\xF0\x05\xC4\x71\x46\x5F\xF9\x0D"
3439 "\xD2\x63\xDF\x9B\x96\x2E\x2B\xA6"
3440 "\x2B\x1C\xD5\xFB\x96\x24\x60\x60"
3441 "\x54\x40\xB8\x62\xA4\xF8\x46\x95"
3442 "\x73\x28\xA3\xA6\x16\x2B\x17\xE7"
3443 "\x7A\xF8\x62\x54\x3B\x64\x69\xE1"
3444 "\x71\x34\x29\x5B\x4E\x05\x9B\xFA"
3445 "\x5E\xF1\x96\xB7\xCE\x16\x9B\x59"
3446 "\xF1\x1A\x4C\x51\x26\xFD\x79\xE2"
3447 "\x3B\x8E\x71\x69\x6A\x91\xB6\x65"
3448 "\x32\x09\xB8\xE4\x09\x1F\xEA\x39"
3449 "\xCE\x20\x65\x9F\xD6\xD1\xC7\xF0"
3450 "\x73\x50\x08\x56\x20\x9B\x94\x23"
3451 "\x14\x39\xB7\x2B\xB1\x2D\x6D\x6F"
3452 "\x41\x5B\xCC\xE2\x18\xAE\x62\x89"
3453 "\x78\x8E\x67\x23\xD0\xFB\x2B\xE5"
3454 "\x25\xC9\x48\x97\xB5\xD3\x17\xD5"
3455 "\x6A\x9F\xA7\x48\x0C\x2B\x73\x3B"
3456 "\x57\x08\xAE\x91\xF2\xB7\x57\x89"
3457 "\xF4\xD0\xB0\x07\xB0\x42\x6C\xAF"
3458 "\x98\x1A\xE7\xD1\xAC\x1E\xB5\x02"
3459 "\xD4\x56\x42\x79\x79\x7F\x2A\x77"
3460 "\x25\xE9\x7D\xC1\x88\x19\x2B\x49"
3461 "\x6F\x46\x59\xAB\x56\x1F\x61\xE0"
3462 "\x0C\x24\x9C\xC9\x5B\x63\xA9\x12"
3463 "\xCF\x88\x96\xB6\xA8\x24\xC6\xA8"
3464 "\x21\x85\x1A\x62\x7E\x34\xBB\xEB"
3465 "\xBD\x02\x2A\xC7\xD8\x89\x80\xC5"
3466 "\xB1\xBB\x60\xA5\x22\xFC\x6F\x38"
3467 "\x02\x80\xA3\x28\x22\x75\xE1\xE9"
3468 "\x90\xE9\xFA\x4B\x00\x10\xAC\x58"
3469 "\x83\x70\xFF\x86\xE6\xAA\x0F\x1F"
3470 "\x95\x63\x73\xA2\x44\xAC\xF8\xA5",
3471 .ilen = 496,
3472 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3473 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3474 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3475 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3476 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3477 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3478 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3479 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3480 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3481 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3482 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3483 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3484 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3485 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3486 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3487 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3488 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3489 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3490 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3491 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3492 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3493 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3494 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3495 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3496 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3497 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3498 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3499 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3500 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3501 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3502 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3503 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3504 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3505 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3506 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3507 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3508 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3509 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3510 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3511 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3512 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3513 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3514 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3515 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3516 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3517 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3518 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3519 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3520 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3521 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3522 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3523 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3524 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3525 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3526 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3527 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3528 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3529 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3530 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3531 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3532 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3533 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3534 .rlen = 496,
3535 .also_non_np = 1,
3536 .np = 2,
3537 .tap = { 496 - 16, 16 },
3538 },
3539};
3540
3541static struct cipher_testvec des3_ede_ctr_enc_tv_template[] = {
3542 { /* Generated with Crypto++ */
3543 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3544 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3545 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3546 .klen = 24,
3547 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
3548 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
3549 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3550 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3551 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3552 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3553 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3554 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3555 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3556 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3557 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3558 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3559 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3560 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3561 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3562 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3563 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3564 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3565 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3566 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3567 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3568 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3569 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3570 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3571 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3572 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3573 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3574 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3575 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3576 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3577 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3578 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3579 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3580 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3581 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3582 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3583 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3584 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3585 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3586 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3587 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3588 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3589 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3590 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3591 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3592 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3593 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3594 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3595 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3596 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3597 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3598 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3599 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3600 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3601 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3602 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3603 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3604 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3605 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3606 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3607 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3608 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3609 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3610 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3611 .ilen = 496,
3612 .result = "\x07\xC2\x08\x20\x72\x1F\x49\xEF"
3613 "\x19\xCD\x6F\x32\x53\x05\x22\x15"
3614 "\xA2\x85\x2B\xDB\x85\xD2\xD8\xB9"
3615 "\xDD\x0D\x1B\x45\xCB\x69\x11\xD4"
3616 "\xEA\xBE\xB2\x45\x5D\x0C\xAE\xBE"
3617 "\xA0\xC1\x27\xAC\x65\x9F\x53\x7E"
3618 "\xAF\xC2\x1B\xB5\xB8\x6D\x36\x0C"
3619 "\x25\xC0\xF8\x6D\x0B\x29\x01\xDA"
3620 "\x13\x78\xDC\x89\x12\x12\x43\xFA"
3621 "\xF6\x12\xEF\x8D\x87\x62\x78\x83"
3622 "\xE2\xBE\x41\x20\x4C\x6D\x35\x1B"
3623 "\xD1\x0C\x30\xCF\xE2\xDE\x2B\x03"
3624 "\xBF\x45\x73\xD4\xE5\x59\x95\xD1"
3625 "\xB3\x9B\x27\x62\x97\xBD\xDE\x7F"
3626 "\xA4\xD2\x39\x80\xAA\x50\x23\xF0"
3627 "\x74\x88\x3D\xA8\x6A\x18\x79\x3B"
3628 "\xC4\x96\x6C\x8D\x22\x40\x92\x6E"
3629 "\xD6\xAD\x2A\x1F\xDE\x63\xC0\xE7"
3630 "\x07\xF7\x2D\xF7\xB5\xF3\xF0\xCC"
3631 "\x01\x7C\x2A\x9B\xC2\x10\xCA\xAA"
3632 "\xFD\x2B\x3F\xC5\xF3\xF6\xFC\x9B"
3633 "\x45\xDB\x53\xE4\x5B\xF3\xC9\x7B"
3634 "\x8E\x52\xFF\xC8\x02\xB8\xAC\x9D"
3635 "\xA1\x00\x39\xDA\x3D\x2D\x0E\x01"
3636 "\x09\x7D\x8D\x5E\xBE\x53\xB9\xB0"
3637 "\x8E\xE7\xE2\x96\x6A\xB2\x78\xEA"
3638 "\xDE\x23\x8B\xA5\xFA\x5C\xE3\xDA"
3639 "\xBF\x8E\x31\x6A\x55\xD1\x6A\xB2"
3640 "\xB5\x46\x6F\xA5\xF0\xEE\xBA\x1F"
3641 "\x9F\x98\xB0\x66\x4F\xD0\x3F\xA9"
3642 "\xDF\x5F\x58\xC4\xF4\xFF\x75\x5C"
3643 "\x40\x3A\x09\x7E\x6E\x1C\x97\xD4"
3644 "\xCC\xE7\xE7\x71\xCF\x0B\x15\x08"
3645 "\x71\xFA\x07\x97\xCD\xE6\xCA\x1D"
3646 "\x14\x28\x0C\xCF\x99\x13\x7A\xF1"
3647 "\xEB\xFA\xFA\x92\x07\xDE\x1D\xA1"
3648 "\xD3\x36\x69\xFE\x51\x4D\x9F\x2E"
3649 "\x83\x37\x4F\x1F\x48\x30\xED\x04"
3650 "\x4D\xA4\xEF\x3A\xCA\x76\xF4\x1C"
3651 "\x41\x8F\x63\x37\x78\x2F\x86\xA6"
3652 "\xEF\x41\x7E\xD2\xAF\x88\xAB\x67"
3653 "\x52\x71\xC3\x8E\xF8\x26\x93\x72"
3654 "\xAA\xD6\x0E\xE7\x0B\x46\xB1\x3A"
3655 "\xB4\x08\xA9\xA8\xA0\xCF\x20\x0C"
3656 "\x52\xBC\x8B\x05\x56\xB2\xBC\x31"
3657 "\x9B\x74\xB9\x29\x29\x96\x9A\x50"
3658 "\xDC\x45\xDC\x1A\xEB\x0C\x64\xD4"
3659 "\xD3\x05\x7E\x59\x55\xC3\xF4\x90"
3660 "\xC2\xAB\xF8\x9B\x8A\xDA\xCE\xA1"
3661 "\xC3\xF4\xAD\x77\xDD\x44\xC8\xAC"
3662 "\xA3\xF1\xC9\xD2\x19\x5C\xB0\xCA"
3663 "\xA2\x34\xC1\xF7\x6C\xFD\xAC\x65"
3664 "\x32\xDC\x48\xC4\xF2\x00\x6B\x77"
3665 "\xF1\x7D\x76\xAC\xC0\x31\x63\x2A"
3666 "\xA5\x3A\x62\xC8\x91\xB1\x03\x65"
3667 "\xCB\x43\xD1\x06\xDF\xC3\x67\xBC"
3668 "\xDC\xE0\xCD\x35\xCE\x49\x65\xA0"
3669 "\x52\x7B\xA7\x0D\x07\xA9\x1B\xB0"
3670 "\x40\x77\x72\xC2\xEA\x0E\x3A\x78"
3671 "\x46\xB9\x91\xB6\xE7\x3D\x51\x42"
3672 "\xFD\x51\xB0\xC6\x2C\x63\x13\x78"
3673 "\x5C\xEE\xFC\xCF\xC4\x70\x00\x34",
3674 .rlen = 496,
3675 .also_non_np = 1,
3676 .np = 2,
3677 .tap = { 496 - 16, 16 },
3678 }, { /* Generated with Crypto++ */
3679 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3680 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3681 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3682 .klen = 24,
3683 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3684 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3685 .input = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3686 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3687 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3688 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3689 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3690 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3691 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3692 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3693 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3694 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3695 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3696 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3697 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3698 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3699 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3700 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3701 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3702 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3703 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3704 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3705 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3706 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3707 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3708 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3709 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3710 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3711 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3712 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3713 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3714 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3715 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3716 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3717 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3718 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3719 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3720 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3721 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3722 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3723 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3724 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3725 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3726 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3727 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3728 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3729 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3730 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3731 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3732 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3733 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3734 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3735 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3736 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3737 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3738 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3739 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3740 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3741 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3742 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3743 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3744 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3745 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3746 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47"
3747 "\x2E\xB1\x18",
3748 .ilen = 499,
3749 .result = "\x23\xFF\x5C\x99\x75\xBB\x1F\xD4"
3750 "\xBC\x27\x9D\x36\x60\xA9\xC9\xF7"
3751 "\x94\x9D\x1B\xFF\x8E\x95\x57\x89"
3752 "\x8C\x2E\x33\x70\x43\x61\xE6\xD2"
3753 "\x82\x33\x63\xB6\xC4\x34\x5E\xF8"
3754 "\x96\x07\xA7\xD2\x3B\x8E\xC9\xAA"
3755 "\x7C\xA0\x55\x89\x2E\xE1\x85\x25"
3756 "\x14\x04\xDA\x6B\xE0\xEE\x56\xCF"
3757 "\x08\x2E\x69\xD4\x54\xDE\x22\x84"
3758 "\x69\xA6\xA7\xD3\x3A\x9A\xE8\x05"
3759 "\x63\xDB\xBF\x46\x3A\x26\x2E\x0F"
3760 "\x58\x5C\x46\xEA\x07\x40\xDA\xE1"
3761 "\x14\x1D\xCD\x4F\x06\xC0\xCA\x54"
3762 "\x1E\xC9\x45\x85\x67\x7C\xC2\xB5"
3763 "\x97\x5D\x61\x78\x2E\x46\xEC\x6A"
3764 "\x53\xF4\xD0\xAE\xFA\xB4\x86\x29"
3765 "\x9F\x17\x33\x24\xD8\xB9\xB2\x05"
3766 "\x93\x88\xEA\xF7\xA0\x70\x69\x49"
3767 "\x88\x6B\x73\x40\x41\x8D\xD9\xD9"
3768 "\x7E\x78\xE9\xBE\x6C\x14\x22\x7A"
3769 "\x66\xE1\xDA\xED\x10\xFF\x69\x1D"
3770 "\xB9\xAA\xF2\x56\x72\x1B\x23\xE2"
3771 "\x45\x54\x8B\xA3\x70\x23\xB4\x5E"
3772 "\x8E\x96\xC9\x05\x00\xB3\xB6\xC2"
3773 "\x2A\x02\x43\x7A\x62\xD5\xC8\xD2"
3774 "\xC2\xD0\xE4\x78\xA1\x7B\x3E\xE8"
3775 "\x9F\x7F\x7D\x40\x54\x30\x3B\xC0"
3776 "\xA5\x54\xFD\xCA\x25\xEC\x44\x3E"
3777 "\x1A\x54\x7F\x88\xD0\xE1\xFE\x71"
3778 "\xCE\x05\x49\x89\xBA\xD6\x72\xE7"
3779 "\xD6\x5D\x3F\xA2\xD9\xAB\xC5\x02"
3780 "\xD6\x43\x22\xAF\xA2\xE4\x80\x85"
3781 "\xD7\x87\xB9\xEA\x43\xDB\xC8\xEF"
3782 "\x5C\x82\x2E\x98\x0D\x30\x41\x6B"
3783 "\x08\x48\x8D\xF0\xF8\x60\xD7\x9D"
3784 "\xE9\xDE\x40\xAD\x0D\xAD\x0D\x58"
3785 "\x2A\x98\x35\xFE\xF7\xDD\x4B\x40"
3786 "\xDE\xB0\x05\xD9\x7B\x09\x4D\xBC"
3787 "\x42\xC0\xF1\x15\x0B\xFA\x26\x6B"
3788 "\xC6\x12\x13\x4F\xCB\x35\xBA\x35"
3789 "\xDD\x7A\x36\x9C\x12\x57\x55\x83"
3790 "\x78\x58\x09\xD0\xB0\xCF\x7C\x5C"
3791 "\x38\xCF\xBD\x79\x5B\x13\x4D\x97"
3792 "\xC1\x85\x6F\x97\xC9\xE8\xC2\xA4"
3793 "\x98\xE2\xBD\x77\x6B\x53\x39\x1A"
3794 "\x28\x10\xE7\xE0\xE7\xDE\x9D\x69"
3795 "\x78\x6F\x8E\xD2\xD9\x5D\xD2\x15"
3796 "\x9E\xB5\x4D\x8C\xC0\x78\x22\x2F"
3797 "\x17\x11\x2E\x99\xD7\xE3\xA4\x4F"
3798 "\x65\xA5\x6B\x03\x2C\x35\x6F\xDA"
3799 "\x8A\x19\x08\xE1\x08\x48\x59\x51"
3800 "\x53\x4B\xD1\xDF\xDA\x14\x50\x5F"
3801 "\xDF\xB5\x8C\xDF\xC6\xFD\x85\xFA"
3802 "\xD4\xF9\x64\x45\x65\x0D\x7D\xF4"
3803 "\xC8\xCD\x3F\x32\xAF\xDD\x30\xED"
3804 "\x7B\xAA\xAC\xF0\xDA\x7F\xDF\x75"
3805 "\x1C\xA4\xF1\xCB\x5E\x4F\x0B\xB4"
3806 "\x97\x73\x28\xDE\xCF\xAF\x82\xBD"
3807 "\xC4\xBA\xB4\x9C\x0D\x16\x77\x42"
3808 "\x42\x39\x7C\x53\xA4\xD4\xDD\x40"
3809 "\x5C\x60\x1F\x6E\xA7\xE2\xDC\xE7"
3810 "\x32\x0F\x05\x2F\xF2\x4C\x95\x3B"
3811 "\xF2\x79\xD9",
3812 .rlen = 499,
3813 .also_non_np = 1,
3814 .np = 2,
3815 .tap = { 499 - 16, 16 },
3816 },
3817};
3818
3819static struct cipher_testvec des3_ede_ctr_dec_tv_template[] = {
3820 { /* Generated with Crypto++ */
3821 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3822 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3823 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3824 .klen = 24,
3825 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
3826 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
3827 .input = "\x07\xC2\x08\x20\x72\x1F\x49\xEF"
3828 "\x19\xCD\x6F\x32\x53\x05\x22\x15"
3829 "\xA2\x85\x2B\xDB\x85\xD2\xD8\xB9"
3830 "\xDD\x0D\x1B\x45\xCB\x69\x11\xD4"
3831 "\xEA\xBE\xB2\x45\x5D\x0C\xAE\xBE"
3832 "\xA0\xC1\x27\xAC\x65\x9F\x53\x7E"
3833 "\xAF\xC2\x1B\xB5\xB8\x6D\x36\x0C"
3834 "\x25\xC0\xF8\x6D\x0B\x29\x01\xDA"
3835 "\x13\x78\xDC\x89\x12\x12\x43\xFA"
3836 "\xF6\x12\xEF\x8D\x87\x62\x78\x83"
3837 "\xE2\xBE\x41\x20\x4C\x6D\x35\x1B"
3838 "\xD1\x0C\x30\xCF\xE2\xDE\x2B\x03"
3839 "\xBF\x45\x73\xD4\xE5\x59\x95\xD1"
3840 "\xB3\x9B\x27\x62\x97\xBD\xDE\x7F"
3841 "\xA4\xD2\x39\x80\xAA\x50\x23\xF0"
3842 "\x74\x88\x3D\xA8\x6A\x18\x79\x3B"
3843 "\xC4\x96\x6C\x8D\x22\x40\x92\x6E"
3844 "\xD6\xAD\x2A\x1F\xDE\x63\xC0\xE7"
3845 "\x07\xF7\x2D\xF7\xB5\xF3\xF0\xCC"
3846 "\x01\x7C\x2A\x9B\xC2\x10\xCA\xAA"
3847 "\xFD\x2B\x3F\xC5\xF3\xF6\xFC\x9B"
3848 "\x45\xDB\x53\xE4\x5B\xF3\xC9\x7B"
3849 "\x8E\x52\xFF\xC8\x02\xB8\xAC\x9D"
3850 "\xA1\x00\x39\xDA\x3D\x2D\x0E\x01"
3851 "\x09\x7D\x8D\x5E\xBE\x53\xB9\xB0"
3852 "\x8E\xE7\xE2\x96\x6A\xB2\x78\xEA"
3853 "\xDE\x23\x8B\xA5\xFA\x5C\xE3\xDA"
3854 "\xBF\x8E\x31\x6A\x55\xD1\x6A\xB2"
3855 "\xB5\x46\x6F\xA5\xF0\xEE\xBA\x1F"
3856 "\x9F\x98\xB0\x66\x4F\xD0\x3F\xA9"
3857 "\xDF\x5F\x58\xC4\xF4\xFF\x75\x5C"
3858 "\x40\x3A\x09\x7E\x6E\x1C\x97\xD4"
3859 "\xCC\xE7\xE7\x71\xCF\x0B\x15\x08"
3860 "\x71\xFA\x07\x97\xCD\xE6\xCA\x1D"
3861 "\x14\x28\x0C\xCF\x99\x13\x7A\xF1"
3862 "\xEB\xFA\xFA\x92\x07\xDE\x1D\xA1"
3863 "\xD3\x36\x69\xFE\x51\x4D\x9F\x2E"
3864 "\x83\x37\x4F\x1F\x48\x30\xED\x04"
3865 "\x4D\xA4\xEF\x3A\xCA\x76\xF4\x1C"
3866 "\x41\x8F\x63\x37\x78\x2F\x86\xA6"
3867 "\xEF\x41\x7E\xD2\xAF\x88\xAB\x67"
3868 "\x52\x71\xC3\x8E\xF8\x26\x93\x72"
3869 "\xAA\xD6\x0E\xE7\x0B\x46\xB1\x3A"
3870 "\xB4\x08\xA9\xA8\xA0\xCF\x20\x0C"
3871 "\x52\xBC\x8B\x05\x56\xB2\xBC\x31"
3872 "\x9B\x74\xB9\x29\x29\x96\x9A\x50"
3873 "\xDC\x45\xDC\x1A\xEB\x0C\x64\xD4"
3874 "\xD3\x05\x7E\x59\x55\xC3\xF4\x90"
3875 "\xC2\xAB\xF8\x9B\x8A\xDA\xCE\xA1"
3876 "\xC3\xF4\xAD\x77\xDD\x44\xC8\xAC"
3877 "\xA3\xF1\xC9\xD2\x19\x5C\xB0\xCA"
3878 "\xA2\x34\xC1\xF7\x6C\xFD\xAC\x65"
3879 "\x32\xDC\x48\xC4\xF2\x00\x6B\x77"
3880 "\xF1\x7D\x76\xAC\xC0\x31\x63\x2A"
3881 "\xA5\x3A\x62\xC8\x91\xB1\x03\x65"
3882 "\xCB\x43\xD1\x06\xDF\xC3\x67\xBC"
3883 "\xDC\xE0\xCD\x35\xCE\x49\x65\xA0"
3884 "\x52\x7B\xA7\x0D\x07\xA9\x1B\xB0"
3885 "\x40\x77\x72\xC2\xEA\x0E\x3A\x78"
3886 "\x46\xB9\x91\xB6\xE7\x3D\x51\x42"
3887 "\xFD\x51\xB0\xC6\x2C\x63\x13\x78"
3888 "\x5C\xEE\xFC\xCF\xC4\x70\x00\x34",
3889 .ilen = 496,
3890 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
3891 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
3892 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
3893 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
3894 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
3895 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
3896 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
3897 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
3898 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
3899 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
3900 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
3901 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
3902 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
3903 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
3904 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
3905 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
3906 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
3907 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
3908 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
3909 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
3910 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
3911 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
3912 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
3913 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
3914 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
3915 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
3916 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
3917 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
3918 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
3919 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
3920 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
3921 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
3922 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
3923 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
3924 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
3925 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
3926 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
3927 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
3928 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
3929 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
3930 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
3931 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
3932 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
3933 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
3934 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
3935 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
3936 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
3937 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
3938 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
3939 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
3940 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
3941 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
3942 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
3943 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
3944 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
3945 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
3946 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
3947 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
3948 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
3949 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
3950 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
3951 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
3952 .rlen = 496,
3953 .also_non_np = 1,
3954 .np = 2,
3955 .tap = { 496 - 16, 16 },
3956 }, { /* Generated with Crypto++ */
3957 .key = "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
3958 "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
3959 "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
3960 .klen = 24,
3961 .iv = "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
3962 "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
3963 .input = "\x23\xFF\x5C\x99\x75\xBB\x1F\xD4"
3964 "\xBC\x27\x9D\x36\x60\xA9\xC9\xF7"
3965 "\x94\x9D\x1B\xFF\x8E\x95\x57\x89"
3966 "\x8C\x2E\x33\x70\x43\x61\xE6\xD2"
3967 "\x82\x33\x63\xB6\xC4\x34\x5E\xF8"
3968 "\x96\x07\xA7\xD2\x3B\x8E\xC9\xAA"
3969 "\x7C\xA0\x55\x89\x2E\xE1\x85\x25"
3970 "\x14\x04\xDA\x6B\xE0\xEE\x56\xCF"
3971 "\x08\x2E\x69\xD4\x54\xDE\x22\x84"
3972 "\x69\xA6\xA7\xD3\x3A\x9A\xE8\x05"
3973 "\x63\xDB\xBF\x46\x3A\x26\x2E\x0F"
3974 "\x58\x5C\x46\xEA\x07\x40\xDA\xE1"
3975 "\x14\x1D\xCD\x4F\x06\xC0\xCA\x54"
3976 "\x1E\xC9\x45\x85\x67\x7C\xC2\xB5"
3977 "\x97\x5D\x61\x78\x2E\x46\xEC\x6A"
3978 "\x53\xF4\xD0\xAE\xFA\xB4\x86\x29"
3979 "\x9F\x17\x33\x24\xD8\xB9\xB2\x05"
3980 "\x93\x88\xEA\xF7\xA0\x70\x69\x49"
3981 "\x88\x6B\x73\x40\x41\x8D\xD9\xD9"
3982 "\x7E\x78\xE9\xBE\x6C\x14\x22\x7A"
3983 "\x66\xE1\xDA\xED\x10\xFF\x69\x1D"
3984 "\xB9\xAA\xF2\x56\x72\x1B\x23\xE2"
3985 "\x45\x54\x8B\xA3\x70\x23\xB4\x5E"
3986 "\x8E\x96\xC9\x05\x00\xB3\xB6\xC2"
3987 "\x2A\x02\x43\x7A\x62\xD5\xC8\xD2"
3988 "\xC2\xD0\xE4\x78\xA1\x7B\x3E\xE8"
3989 "\x9F\x7F\x7D\x40\x54\x30\x3B\xC0"
3990 "\xA5\x54\xFD\xCA\x25\xEC\x44\x3E"
3991 "\x1A\x54\x7F\x88\xD0\xE1\xFE\x71"
3992 "\xCE\x05\x49\x89\xBA\xD6\x72\xE7"
3993 "\xD6\x5D\x3F\xA2\xD9\xAB\xC5\x02"
3994 "\xD6\x43\x22\xAF\xA2\xE4\x80\x85"
3995 "\xD7\x87\xB9\xEA\x43\xDB\xC8\xEF"
3996 "\x5C\x82\x2E\x98\x0D\x30\x41\x6B"
3997 "\x08\x48\x8D\xF0\xF8\x60\xD7\x9D"
3998 "\xE9\xDE\x40\xAD\x0D\xAD\x0D\x58"
3999 "\x2A\x98\x35\xFE\xF7\xDD\x4B\x40"
4000 "\xDE\xB0\x05\xD9\x7B\x09\x4D\xBC"
4001 "\x42\xC0\xF1\x15\x0B\xFA\x26\x6B"
4002 "\xC6\x12\x13\x4F\xCB\x35\xBA\x35"
4003 "\xDD\x7A\x36\x9C\x12\x57\x55\x83"
4004 "\x78\x58\x09\xD0\xB0\xCF\x7C\x5C"
4005 "\x38\xCF\xBD\x79\x5B\x13\x4D\x97"
4006 "\xC1\x85\x6F\x97\xC9\xE8\xC2\xA4"
4007 "\x98\xE2\xBD\x77\x6B\x53\x39\x1A"
4008 "\x28\x10\xE7\xE0\xE7\xDE\x9D\x69"
4009 "\x78\x6F\x8E\xD2\xD9\x5D\xD2\x15"
4010 "\x9E\xB5\x4D\x8C\xC0\x78\x22\x2F"
4011 "\x17\x11\x2E\x99\xD7\xE3\xA4\x4F"
4012 "\x65\xA5\x6B\x03\x2C\x35\x6F\xDA"
4013 "\x8A\x19\x08\xE1\x08\x48\x59\x51"
4014 "\x53\x4B\xD1\xDF\xDA\x14\x50\x5F"
4015 "\xDF\xB5\x8C\xDF\xC6\xFD\x85\xFA"
4016 "\xD4\xF9\x64\x45\x65\x0D\x7D\xF4"
4017 "\xC8\xCD\x3F\x32\xAF\xDD\x30\xED"
4018 "\x7B\xAA\xAC\xF0\xDA\x7F\xDF\x75"
4019 "\x1C\xA4\xF1\xCB\x5E\x4F\x0B\xB4"
4020 "\x97\x73\x28\xDE\xCF\xAF\x82\xBD"
4021 "\xC4\xBA\xB4\x9C\x0D\x16\x77\x42"
4022 "\x42\x39\x7C\x53\xA4\xD4\xDD\x40"
4023 "\x5C\x60\x1F\x6E\xA7\xE2\xDC\xE7"
4024 "\x32\x0F\x05\x2F\xF2\x4C\x95\x3B"
4025 "\xF2\x79\xD9",
4026 .ilen = 499,
4027 .result = "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
4028 "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
4029 "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
4030 "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
4031 "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
4032 "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
4033 "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
4034 "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
4035 "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
4036 "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
4037 "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
4038 "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
4039 "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
4040 "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
4041 "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
4042 "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
4043 "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
4044 "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
4045 "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
4046 "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
4047 "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
4048 "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
4049 "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
4050 "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
4051 "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
4052 "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
4053 "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
4054 "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
4055 "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
4056 "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
4057 "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
4058 "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
4059 "\x50\x3B\x82\x15\x99\x60\xCB\x52"
4060 "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
4061 "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
4062 "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
4063 "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
4064 "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
4065 "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
4066 "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
4067 "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
4068 "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
4069 "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
4070 "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
4071 "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
4072 "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
4073 "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
4074 "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
4075 "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
4076 "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
4077 "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
4078 "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
4079 "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
4080 "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
4081 "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
4082 "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
4083 "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
4084 "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
4085 "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
4086 "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
4087 "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
4088 "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47"
4089 "\x2E\xB1\x18",
4090 .rlen = 499,
4091 .also_non_np = 1,
4092 .np = 2,
4093 .tap = { 499 - 16, 16 },
2389 }, 4094 },
2390}; 4095};
2391 4096
@@ -2461,17 +4166,133 @@ static struct cipher_testvec bf_enc_tv_template[] = {
2461 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 4166 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2462 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 4167 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2463 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 4168 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2464 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", 4169 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2465 .ilen = 40, 4170 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
4171 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
4172 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
4173 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
4174 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
4175 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
4176 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
4177 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
4178 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
4179 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
4180 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
4181 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
4182 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
4183 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
4184 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
4185 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
4186 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
4187 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
4188 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
4189 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
4190 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
4191 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
4192 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
4193 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
4194 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
4195 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
4196 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
4197 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
4198 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
4199 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
4200 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
4201 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
4202 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
4203 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
4204 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
4205 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
4206 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
4207 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
4208 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
4209 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
4210 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
4211 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
4212 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
4213 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
4214 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
4215 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
4216 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
4217 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
4218 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
4219 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
4220 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
4221 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
4222 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
4223 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
4224 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
4225 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
4226 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
4227 "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
4228 .ilen = 504,
2466 .result = "\x96\x87\x3D\x0C\x7B\xFB\xBD\x1F" 4229 .result = "\x96\x87\x3D\x0C\x7B\xFB\xBD\x1F"
2467 "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D" 4230 "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D"
2468 "\xD7\x87\xA1\xF2\xDF\x51\x71\x26" 4231 "\xD7\x87\xA1\xF2\xDF\x51\x71\x26"
2469 "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40" 4232 "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40"
2470 "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B", 4233 "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B"
2471 .rlen = 40, 4234 "\xD3\xB2\xD4\x61\xC7\x9F\x06\xE9"
4235 "\xCD\xF3\x88\x39\x39\x7A\xDF\x19"
4236 "\xE8\x03\x2A\x0B\x9E\xA0\x2B\x86"
4237 "\x31\xF8\x9D\xB1\xEE\x78\x9D\xB5"
4238 "\xCD\x8B\x7C\x2E\xF5\xA2\x2D\x5D"
4239 "\x6E\x66\xAF\x38\x6C\xD3\x13\xED"
4240 "\x14\xEA\x5D\xD0\x17\x77\x0F\x4A"
4241 "\x50\xF2\xD0\x0F\xC8\xF7\x1E\x7B"
4242 "\x9D\x5B\x54\x65\x4F\x16\x8A\x97"
4243 "\xF3\xF6\xD4\xAA\x87\x36\x77\x72"
4244 "\x99\x4A\xB5\x5E\x88\xC3\xCD\x7D"
4245 "\x1D\x97\xF9\x11\xBD\xE0\x1F\x1F"
4246 "\x96\x3E\x4B\x22\xF4\xC0\xE6\xB8"
4247 "\x47\x82\x98\x23\x33\x36\xBC\x1B"
4248 "\x36\xE7\xF6\xCF\x97\x37\x16\xC0"
4249 "\x87\x31\x8B\xB0\xDB\x19\x42\xA5"
4250 "\x1F\x90\x7E\x66\x34\xDD\x5E\xE9"
4251 "\x4F\xB2\x2B\x9A\xDE\xB3\x5D\x71"
4252 "\x4D\x68\xF0\xDC\xA6\xEA\xE3\x9B"
4253 "\x60\x00\x55\x57\x06\x8B\xD5\xB3"
4254 "\x86\x30\x78\xDA\x33\x9A\x9D\xCC"
4255 "\xBA\x0B\x81\x06\x77\x43\xC7\xC9"
4256 "\xDB\x37\x60\x11\x45\x59\x6D\x2D"
4257 "\x90\x3D\x65\x3E\xD0\x13\xC6\x3C"
4258 "\x0E\x78\x7D\x9A\x00\xD6\x2F\x0B"
4259 "\x3B\x53\x19\x1E\xA8\x9B\x11\xD9"
4260 "\x98\xE4\x7F\xC3\x6E\x51\x24\x70"
4261 "\x9F\x04\x9C\xC2\x9E\x44\x84\xE3"
4262 "\xE0\x8A\x44\xA2\x5C\x94\x74\x34"
4263 "\x37\x52\x7C\x03\xE8\x8E\x97\xE1"
4264 "\x5B\x5C\x0E\xB0\x70\xFE\x54\x3F"
4265 "\xD8\x65\xA9\xC5\xCD\xEC\xF4\x45"
4266 "\x55\xC5\xA7\xA3\x19\x80\x28\x51"
4267 "\xBE\x64\x4A\xC1\xD4\xE1\xBE\xEB"
4268 "\x73\x4C\xB6\xF9\x5F\x6D\x82\xBC"
4269 "\x3E\x42\x14\x49\x88\x51\xBF\x68"
4270 "\x45\x75\x27\x1B\x0A\x72\xED\xAF"
4271 "\xDA\xC4\x4D\x67\x0D\xEE\x75\xE3"
4272 "\x34\xDD\x91\x19\x42\x3A\xCB\xDA"
4273 "\x38\xFA\x3C\x93\x62\xF2\xE3\x81"
4274 "\xB3\xE4\xBB\xF6\x0D\x0B\x1D\x09"
4275 "\x9C\x52\x0D\x50\x63\xA4\xB2\xD2"
4276 "\x82\xA0\x23\x3F\x1F\xB6\xED\x6E"
4277 "\xC2\x9C\x1C\xD0\x9A\x40\xB6\xFC"
4278 "\x36\x56\x6E\x85\x73\xD7\x52\xBA"
4279 "\x35\x5E\x32\x89\x5D\x42\xF5\x36"
4280 "\x52\x8D\x46\x7D\xC8\x71\xAD\x33"
4281 "\xE1\xAF\x6A\xA8\xEC\xBA\x1C\xDC"
4282 "\xFE\x88\xE6\x16\xE4\xC8\x13\x00"
4283 "\x3C\xDA\x59\x32\x38\x19\xD5\xEB"
4284 "\xB6\x7F\x78\x45\x1B\x8E\x07\x8C"
4285 "\x66\x52\x75\xFF\xAF\xCE\x2D\x2B"
4286 "\x22\x29\xCA\xB3\x5F\x7F\xE3\x29"
4287 "\xB2\xB8\x9D\xEB\x16\xC8\xC5\x1D"
4288 "\xC9\x0D\x59\x82\x27\x57\x9D\x42"
4289 "\x54\x59\x09\xA5\x3D\xC5\x84\x68"
4290 "\x56\xEB\x36\x77\x3D\xAA\xB8\xF5"
4291 "\xC9\x1A\xFB\x5D\xDE\xBB\x43\xF4",
4292 .rlen = 504,
2472 .also_non_np = 1, 4293 .also_non_np = 1,
2473 .np = 2, 4294 .np = 2,
2474 .tap = { 40 - 8, 8 }, 4295 .tap = { 504 - 8, 8 },
2475 }, 4296 },
2476}; 4297};
2477 4298
@@ -2537,17 +4358,133 @@ static struct cipher_testvec bf_dec_tv_template[] = {
2537 "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D" 4358 "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D"
2538 "\xD7\x87\xA1\xF2\xDF\x51\x71\x26" 4359 "\xD7\x87\xA1\xF2\xDF\x51\x71\x26"
2539 "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40" 4360 "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40"
2540 "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B", 4361 "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B"
2541 .ilen = 40, 4362 "\xD3\xB2\xD4\x61\xC7\x9F\x06\xE9"
4363 "\xCD\xF3\x88\x39\x39\x7A\xDF\x19"
4364 "\xE8\x03\x2A\x0B\x9E\xA0\x2B\x86"
4365 "\x31\xF8\x9D\xB1\xEE\x78\x9D\xB5"
4366 "\xCD\x8B\x7C\x2E\xF5\xA2\x2D\x5D"
4367 "\x6E\x66\xAF\x38\x6C\xD3\x13\xED"
4368 "\x14\xEA\x5D\xD0\x17\x77\x0F\x4A"
4369 "\x50\xF2\xD0\x0F\xC8\xF7\x1E\x7B"
4370 "\x9D\x5B\x54\x65\x4F\x16\x8A\x97"
4371 "\xF3\xF6\xD4\xAA\x87\x36\x77\x72"
4372 "\x99\x4A\xB5\x5E\x88\xC3\xCD\x7D"
4373 "\x1D\x97\xF9\x11\xBD\xE0\x1F\x1F"
4374 "\x96\x3E\x4B\x22\xF4\xC0\xE6\xB8"
4375 "\x47\x82\x98\x23\x33\x36\xBC\x1B"
4376 "\x36\xE7\xF6\xCF\x97\x37\x16\xC0"
4377 "\x87\x31\x8B\xB0\xDB\x19\x42\xA5"
4378 "\x1F\x90\x7E\x66\x34\xDD\x5E\xE9"
4379 "\x4F\xB2\x2B\x9A\xDE\xB3\x5D\x71"
4380 "\x4D\x68\xF0\xDC\xA6\xEA\xE3\x9B"
4381 "\x60\x00\x55\x57\x06\x8B\xD5\xB3"
4382 "\x86\x30\x78\xDA\x33\x9A\x9D\xCC"
4383 "\xBA\x0B\x81\x06\x77\x43\xC7\xC9"
4384 "\xDB\x37\x60\x11\x45\x59\x6D\x2D"
4385 "\x90\x3D\x65\x3E\xD0\x13\xC6\x3C"
4386 "\x0E\x78\x7D\x9A\x00\xD6\x2F\x0B"
4387 "\x3B\x53\x19\x1E\xA8\x9B\x11\xD9"
4388 "\x98\xE4\x7F\xC3\x6E\x51\x24\x70"
4389 "\x9F\x04\x9C\xC2\x9E\x44\x84\xE3"
4390 "\xE0\x8A\x44\xA2\x5C\x94\x74\x34"
4391 "\x37\x52\x7C\x03\xE8\x8E\x97\xE1"
4392 "\x5B\x5C\x0E\xB0\x70\xFE\x54\x3F"
4393 "\xD8\x65\xA9\xC5\xCD\xEC\xF4\x45"
4394 "\x55\xC5\xA7\xA3\x19\x80\x28\x51"
4395 "\xBE\x64\x4A\xC1\xD4\xE1\xBE\xEB"
4396 "\x73\x4C\xB6\xF9\x5F\x6D\x82\xBC"
4397 "\x3E\x42\x14\x49\x88\x51\xBF\x68"
4398 "\x45\x75\x27\x1B\x0A\x72\xED\xAF"
4399 "\xDA\xC4\x4D\x67\x0D\xEE\x75\xE3"
4400 "\x34\xDD\x91\x19\x42\x3A\xCB\xDA"
4401 "\x38\xFA\x3C\x93\x62\xF2\xE3\x81"
4402 "\xB3\xE4\xBB\xF6\x0D\x0B\x1D\x09"
4403 "\x9C\x52\x0D\x50\x63\xA4\xB2\xD2"
4404 "\x82\xA0\x23\x3F\x1F\xB6\xED\x6E"
4405 "\xC2\x9C\x1C\xD0\x9A\x40\xB6\xFC"
4406 "\x36\x56\x6E\x85\x73\xD7\x52\xBA"
4407 "\x35\x5E\x32\x89\x5D\x42\xF5\x36"
4408 "\x52\x8D\x46\x7D\xC8\x71\xAD\x33"
4409 "\xE1\xAF\x6A\xA8\xEC\xBA\x1C\xDC"
4410 "\xFE\x88\xE6\x16\xE4\xC8\x13\x00"
4411 "\x3C\xDA\x59\x32\x38\x19\xD5\xEB"
4412 "\xB6\x7F\x78\x45\x1B\x8E\x07\x8C"
4413 "\x66\x52\x75\xFF\xAF\xCE\x2D\x2B"
4414 "\x22\x29\xCA\xB3\x5F\x7F\xE3\x29"
4415 "\xB2\xB8\x9D\xEB\x16\xC8\xC5\x1D"
4416 "\xC9\x0D\x59\x82\x27\x57\x9D\x42"
4417 "\x54\x59\x09\xA5\x3D\xC5\x84\x68"
4418 "\x56\xEB\x36\x77\x3D\xAA\xB8\xF5"
4419 "\xC9\x1A\xFB\x5D\xDE\xBB\x43\xF4",
4420 .ilen = 504,
2542 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 4421 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
2543 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 4422 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2544 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 4423 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2545 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 4424 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2546 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", 4425 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2547 .rlen = 40, 4426 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
4427 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
4428 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
4429 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
4430 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
4431 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
4432 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
4433 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
4434 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
4435 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
4436 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
4437 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
4438 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
4439 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
4440 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
4441 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
4442 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
4443 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
4444 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
4445 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
4446 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
4447 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
4448 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
4449 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
4450 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
4451 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
4452 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
4453 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
4454 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
4455 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
4456 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
4457 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
4458 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
4459 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
4460 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
4461 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
4462 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
4463 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
4464 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
4465 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
4466 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
4467 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
4468 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
4469 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
4470 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
4471 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
4472 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
4473 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
4474 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
4475 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
4476 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
4477 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
4478 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
4479 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
4480 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
4481 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
4482 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
4483 "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
4484 .rlen = 504,
2548 .also_non_np = 1, 4485 .also_non_np = 1,
2549 .np = 2, 4486 .np = 2,
2550 .tap = { 40 - 8, 8 }, 4487 .tap = { 504 - 8, 8 },
2551 }, 4488 },
2552}; 4489};
2553 4490
@@ -2578,17 +4515,133 @@ static struct cipher_testvec bf_cbc_enc_tv_template[] = {
2578 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 4515 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2579 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 4516 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2580 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 4517 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2581 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", 4518 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2582 .ilen = 40, 4519 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
4520 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
4521 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
4522 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
4523 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
4524 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
4525 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
4526 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
4527 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
4528 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
4529 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
4530 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
4531 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
4532 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
4533 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
4534 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
4535 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
4536 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
4537 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
4538 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
4539 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
4540 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
4541 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
4542 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
4543 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
4544 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
4545 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
4546 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
4547 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
4548 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
4549 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
4550 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
4551 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
4552 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
4553 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
4554 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
4555 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
4556 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
4557 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
4558 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
4559 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
4560 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
4561 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
4562 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
4563 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
4564 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
4565 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
4566 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
4567 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
4568 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
4569 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
4570 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
4571 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
4572 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
4573 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
4574 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
4575 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
4576 "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
4577 .ilen = 504,
2583 .result = "\xB4\xFE\xA5\xBB\x3D\x2C\x27\x06" 4578 .result = "\xB4\xFE\xA5\xBB\x3D\x2C\x27\x06"
2584 "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62" 4579 "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62"
2585 "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E" 4580 "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E"
2586 "\x1B\xD9\x02\xB6\x48\xB0\x87\x25" 4581 "\x1B\xD9\x02\xB6\x48\xB0\x87\x25"
2587 "\x01\x9C\x93\x63\x51\x60\x82\xD2", 4582 "\x01\x9C\x93\x63\x51\x60\x82\xD2"
2588 .rlen = 40, 4583 "\x4D\xE5\xC2\xB7\xAE\x60\xD8\xAD"
4584 "\x9F\xAB\x6C\xFA\x20\x05\xDA\x6F"
4585 "\x1F\xD1\xD8\x36\x0F\xB5\x16\x69"
4586 "\x3C\xAF\xB3\x30\x18\x33\xE6\xB5"
4587 "\x43\x29\x9D\x94\xF4\x2F\x0A\x65"
4588 "\x40\xB2\xB2\xB2\x42\x89\xEE\x8A"
4589 "\x60\xD3\x52\xA8\xED\x91\xDF\xE1"
4590 "\x91\x73\x7C\x28\xA1\x14\xC3\x4C"
4591 "\x82\x72\x4B\x7D\x7D\x32\xD5\x19"
4592 "\xE8\xB8\x6B\x30\x21\x09\x0E\x27"
4593 "\x10\x9D\x2D\x3A\x6A\x4B\x7B\xE6"
4594 "\x8D\x4E\x02\x32\xFF\x7F\x8E\x13"
4595 "\xB0\x96\xF4\xC2\xA1\x60\x8A\x69"
4596 "\xEF\x0F\x86\xD0\x25\x13\x1A\x7C"
4597 "\x6E\xF0\x41\xA3\xFB\xB3\xAB\x40"
4598 "\x7D\x19\xA0\x11\x4F\x3E\x1D\x43"
4599 "\x65\xFE\x15\x40\xD0\x62\x41\x02"
4600 "\xEA\x0C\x7A\xC3\x84\xEE\xB0\xBE"
4601 "\xBE\xC8\x57\x51\xCD\x4F\xAD\x5C"
4602 "\xCC\x79\xBA\x0D\x85\x3A\xED\x6B"
4603 "\xAC\x6B\xA3\x4D\xBC\xE8\x02\x6A"
4604 "\xC2\x6D\xBD\x5E\x89\x95\x86\x43"
4605 "\x2C\x17\x4B\xC6\x40\xA2\xBD\x24"
4606 "\x04\xF0\x86\x08\x78\x18\x42\xE0"
4607 "\x39\x1B\x22\x9E\x89\x4C\x04\x6B"
4608 "\x65\xC5\xB6\x0E\xF6\x63\xFC\xD7"
4609 "\xAE\x9E\x87\x13\xCC\xD3\x1A\xEC"
4610 "\xF0\x51\xCC\x93\x68\xFC\xE9\x19"
4611 "\x7C\x4E\x9B\xCC\x17\xAD\xD2\xFC"
4612 "\x97\x18\x92\xFF\x15\x11\xCE\xED"
4613 "\x04\x41\x05\xA3\x92\xFF\x3B\xE6"
4614 "\xB6\x8C\x90\xC6\xCD\x15\xA0\x04"
4615 "\x25\x8B\x5D\x5B\x5F\xDB\xAE\x68"
4616 "\xEF\xB3\x61\x18\xDB\x83\x9B\x39"
4617 "\xCA\x82\xD1\x88\xF0\xA2\x5C\x02"
4618 "\x87\xBD\x8D\x8F\xBB\x62\xF0\x35"
4619 "\x75\x6F\x06\x81\x0A\x97\x4D\xF0"
4620 "\x43\x12\x73\x77\xDB\x91\x83\x5B"
4621 "\xE7\x3A\xA6\x07\x7B\xBF\x2C\x50"
4622 "\x94\xDE\x7B\x65\xDA\x1C\xF1\x9F"
4623 "\x7E\x12\x40\xB2\x3E\x19\x23\xF1"
4624 "\x7C\x1B\x5F\xA8\xF3\xAC\x63\x87"
4625 "\xEB\x3E\x0C\xBE\xA3\x63\x97\x88"
4626 "\x8D\x27\xC6\x2A\xF8\xF2\x67\x9A"
4627 "\x0D\x14\x16\x2B\x6F\xCB\xD4\x76"
4628 "\x14\x48\x2E\xDE\x2A\x44\x5E\x45"
4629 "\xF1\x97\x82\xEF\xB7\xAE\xED\x3A"
4630 "\xED\x73\xD3\x79\xF7\x38\x1D\xD0"
4631 "\xC5\xF8\x69\x83\x28\x84\x87\x56"
4632 "\x3F\xAE\x81\x04\x79\x1F\xD1\x09"
4633 "\xC5\xE5\x05\x0D\x64\x16\xCE\x42"
4634 "\xC5\xF8\xDB\x57\x89\x33\x22\xFC"
4635 "\xB4\xD7\x94\xB9\xF3\xCC\x02\x90"
4636 "\x02\xBA\x55\x1E\x24\x3E\x02\x1D"
4637 "\xC6\xCD\x8F\xD9\xBD\xED\xB0\x51"
4638 "\xCD\xE9\xD5\x0C\xFE\x12\x39\xA9"
4639 "\x93\x9B\xEE\xB5\x97\x41\xD2\xA0"
4640 "\xB4\x98\xD8\x6B\x74\xE7\x65\xF4",
4641 .rlen = 504,
2589 .also_non_np = 1, 4642 .also_non_np = 1,
2590 .np = 2, 4643 .np = 2,
2591 .tap = { 40 - 8, 8 }, 4644 .tap = { 504 - 8, 8 },
2592 }, 4645 },
2593}; 4646};
2594 4647
@@ -2619,17 +4672,133 @@ static struct cipher_testvec bf_cbc_dec_tv_template[] = {
2619 "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62" 4672 "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62"
2620 "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E" 4673 "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E"
2621 "\x1B\xD9\x02\xB6\x48\xB0\x87\x25" 4674 "\x1B\xD9\x02\xB6\x48\xB0\x87\x25"
2622 "\x01\x9C\x93\x63\x51\x60\x82\xD2", 4675 "\x01\x9C\x93\x63\x51\x60\x82\xD2"
2623 .ilen = 40, 4676 "\x4D\xE5\xC2\xB7\xAE\x60\xD8\xAD"
4677 "\x9F\xAB\x6C\xFA\x20\x05\xDA\x6F"
4678 "\x1F\xD1\xD8\x36\x0F\xB5\x16\x69"
4679 "\x3C\xAF\xB3\x30\x18\x33\xE6\xB5"
4680 "\x43\x29\x9D\x94\xF4\x2F\x0A\x65"
4681 "\x40\xB2\xB2\xB2\x42\x89\xEE\x8A"
4682 "\x60\xD3\x52\xA8\xED\x91\xDF\xE1"
4683 "\x91\x73\x7C\x28\xA1\x14\xC3\x4C"
4684 "\x82\x72\x4B\x7D\x7D\x32\xD5\x19"
4685 "\xE8\xB8\x6B\x30\x21\x09\x0E\x27"
4686 "\x10\x9D\x2D\x3A\x6A\x4B\x7B\xE6"
4687 "\x8D\x4E\x02\x32\xFF\x7F\x8E\x13"
4688 "\xB0\x96\xF4\xC2\xA1\x60\x8A\x69"
4689 "\xEF\x0F\x86\xD0\x25\x13\x1A\x7C"
4690 "\x6E\xF0\x41\xA3\xFB\xB3\xAB\x40"
4691 "\x7D\x19\xA0\x11\x4F\x3E\x1D\x43"
4692 "\x65\xFE\x15\x40\xD0\x62\x41\x02"
4693 "\xEA\x0C\x7A\xC3\x84\xEE\xB0\xBE"
4694 "\xBE\xC8\x57\x51\xCD\x4F\xAD\x5C"
4695 "\xCC\x79\xBA\x0D\x85\x3A\xED\x6B"
4696 "\xAC\x6B\xA3\x4D\xBC\xE8\x02\x6A"
4697 "\xC2\x6D\xBD\x5E\x89\x95\x86\x43"
4698 "\x2C\x17\x4B\xC6\x40\xA2\xBD\x24"
4699 "\x04\xF0\x86\x08\x78\x18\x42\xE0"
4700 "\x39\x1B\x22\x9E\x89\x4C\x04\x6B"
4701 "\x65\xC5\xB6\x0E\xF6\x63\xFC\xD7"
4702 "\xAE\x9E\x87\x13\xCC\xD3\x1A\xEC"
4703 "\xF0\x51\xCC\x93\x68\xFC\xE9\x19"
4704 "\x7C\x4E\x9B\xCC\x17\xAD\xD2\xFC"
4705 "\x97\x18\x92\xFF\x15\x11\xCE\xED"
4706 "\x04\x41\x05\xA3\x92\xFF\x3B\xE6"
4707 "\xB6\x8C\x90\xC6\xCD\x15\xA0\x04"
4708 "\x25\x8B\x5D\x5B\x5F\xDB\xAE\x68"
4709 "\xEF\xB3\x61\x18\xDB\x83\x9B\x39"
4710 "\xCA\x82\xD1\x88\xF0\xA2\x5C\x02"
4711 "\x87\xBD\x8D\x8F\xBB\x62\xF0\x35"
4712 "\x75\x6F\x06\x81\x0A\x97\x4D\xF0"
4713 "\x43\x12\x73\x77\xDB\x91\x83\x5B"
4714 "\xE7\x3A\xA6\x07\x7B\xBF\x2C\x50"
4715 "\x94\xDE\x7B\x65\xDA\x1C\xF1\x9F"
4716 "\x7E\x12\x40\xB2\x3E\x19\x23\xF1"
4717 "\x7C\x1B\x5F\xA8\xF3\xAC\x63\x87"
4718 "\xEB\x3E\x0C\xBE\xA3\x63\x97\x88"
4719 "\x8D\x27\xC6\x2A\xF8\xF2\x67\x9A"
4720 "\x0D\x14\x16\x2B\x6F\xCB\xD4\x76"
4721 "\x14\x48\x2E\xDE\x2A\x44\x5E\x45"
4722 "\xF1\x97\x82\xEF\xB7\xAE\xED\x3A"
4723 "\xED\x73\xD3\x79\xF7\x38\x1D\xD0"
4724 "\xC5\xF8\x69\x83\x28\x84\x87\x56"
4725 "\x3F\xAE\x81\x04\x79\x1F\xD1\x09"
4726 "\xC5\xE5\x05\x0D\x64\x16\xCE\x42"
4727 "\xC5\xF8\xDB\x57\x89\x33\x22\xFC"
4728 "\xB4\xD7\x94\xB9\xF3\xCC\x02\x90"
4729 "\x02\xBA\x55\x1E\x24\x3E\x02\x1D"
4730 "\xC6\xCD\x8F\xD9\xBD\xED\xB0\x51"
4731 "\xCD\xE9\xD5\x0C\xFE\x12\x39\xA9"
4732 "\x93\x9B\xEE\xB5\x97\x41\xD2\xA0"
4733 "\xB4\x98\xD8\x6B\x74\xE7\x65\xF4",
4734 .ilen = 504,
2624 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 4735 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
2625 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 4736 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2626 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 4737 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2627 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 4738 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2628 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", 4739 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2629 .rlen = 40, 4740 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
4741 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
4742 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
4743 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
4744 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
4745 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
4746 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
4747 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
4748 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
4749 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
4750 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
4751 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
4752 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
4753 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
4754 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
4755 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
4756 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
4757 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
4758 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
4759 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
4760 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
4761 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
4762 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
4763 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
4764 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
4765 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
4766 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
4767 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
4768 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
4769 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
4770 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
4771 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
4772 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
4773 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
4774 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
4775 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
4776 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
4777 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
4778 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
4779 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
4780 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
4781 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
4782 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
4783 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
4784 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
4785 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
4786 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
4787 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
4788 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
4789 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
4790 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
4791 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
4792 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
4793 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
4794 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
4795 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
4796 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
4797 "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
4798 .rlen = 504,
2630 .also_non_np = 1, 4799 .also_non_np = 1,
2631 .np = 2, 4800 .np = 2,
2632 .tap = { 40 - 8, 8 }, 4801 .tap = { 504 - 8, 8 },
2633 }, 4802 },
2634}; 4803};
2635 4804
@@ -2645,14 +4814,130 @@ static struct cipher_testvec bf_ctr_enc_tv_template[] = {
2645 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 4814 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2646 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 4815 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2647 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 4816 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2648 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", 4817 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2649 .ilen = 40, 4818 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
4819 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
4820 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
4821 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
4822 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
4823 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
4824 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
4825 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
4826 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
4827 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
4828 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
4829 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
4830 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
4831 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
4832 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
4833 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
4834 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
4835 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
4836 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
4837 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
4838 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
4839 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
4840 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
4841 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
4842 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
4843 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
4844 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
4845 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
4846 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
4847 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
4848 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
4849 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
4850 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
4851 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
4852 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
4853 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
4854 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
4855 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
4856 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
4857 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
4858 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
4859 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
4860 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
4861 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
4862 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
4863 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
4864 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
4865 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
4866 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
4867 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
4868 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
4869 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
4870 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
4871 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
4872 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
4873 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
4874 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
4875 "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
4876 .ilen = 504,
2650 .result = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D" 4877 .result = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D"
2651 "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" 4878 "\x9E\xDF\x38\x18\x83\x07\xEF\xC1"
2652 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" 4879 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC"
2653 "\x0D\x70\x86\x5A\x44\xAD\x85\x17" 4880 "\x0D\x70\x86\x5A\x44\xAD\x85\x17"
2654 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC", 4881 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC"
2655 .rlen = 40, 4882 "\x3D\xA7\xE9\x0A\x5C\x70\x4D\xDE"
4883 "\x99\x38\x07\xCA\x1D\x21\xC1\x11"
4884 "\x97\xEB\x98\x75\xC4\x73\x45\x83"
4885 "\x46\x1C\x9C\x91\x87\xC1\xA0\x56"
4886 "\x98\xA1\x8B\xDB\x22\x76\xBD\x62"
4887 "\xA4\xBC\xE8\x86\xDA\xD2\x51\x13"
4888 "\x13\xD2\x96\x68\x69\x10\x67\x0C"
4889 "\xD0\x17\x25\x7C\xB2\xAE\x4F\x93"
4890 "\xA6\x82\x20\xCF\x0F\xA6\x47\x79"
4891 "\x88\x09\x40\x59\xBD\x12\x64\xB5"
4892 "\x19\x38\x0D\xFF\x86\xD9\x42\x20"
4893 "\x81\x0D\x96\x99\xAF\x22\x1F\x94"
4894 "\x5C\x6E\xEC\xEA\xA3\x39\xCB\x09"
4895 "\x43\x19\x7F\xD0\xBB\x10\xC2\x49"
4896 "\xF7\xE9\xF2\xEE\xBF\xF7\xF8\xB3"
4897 "\x0E\x1A\xF1\x8D\x70\x82\x0C\x04"
4898 "\xFD\x29\x1A\xAC\xC0\x92\x48\x34"
4899 "\x6A\xE3\x1D\x4F\xFC\x1C\x72\x6A"
4900 "\x57\xCB\xAD\xD0\x98\xAB\xB1\x01"
4901 "\x03\x6A\x45\xDD\x07\x71\x5F\x5B"
4902 "\xB5\x4A\xE4\xE5\xB9\xB9\xBC\xAC"
4903 "\x44\xF7\x41\xA4\x5F\x2E\xE9\x28"
4904 "\xE3\x05\xD2\x94\x78\x4C\x33\x1B"
4905 "\xBD\xC1\x6E\x51\xD9\xAD\xD9\x86"
4906 "\x15\x4A\x78\xAE\x7B\xAD\x3B\xBC"
4907 "\x2F\xE0\x0E\xC5\x7B\x54\x97\x5F"
4908 "\x60\x51\x14\x65\xF9\x91\xE9\xDA"
4909 "\x9A\xBC\xFC\x19\x29\x67\xAA\x63"
4910 "\x5E\xF2\x48\x88\xEB\x79\xE1\xE4"
4911 "\xF7\xF6\x4C\xA9\xE2\x8C\x3B\xE0"
4912 "\xED\x52\xAE\x90\x8F\x5B\x98\x34"
4913 "\x29\x94\x34\x7F\xF9\x6C\x1E\xB6"
4914 "\xA4\xE7\x2D\x06\x54\x9D\xC3\x02"
4915 "\xC1\x90\xA4\x72\x31\x6B\x24\x51"
4916 "\x0B\xB3\x7C\x63\x15\xBA\xAF\x5D"
4917 "\x41\xE0\x37\x6D\xBE\x41\x58\xDE"
4918 "\xF2\x07\x62\x99\xBE\xC1\x8C\x0F"
4919 "\x0F\x28\xFB\x8F\x0E\x1D\x91\xE2"
4920 "\xDA\x99\x5C\x49\xBA\x9C\xA8\x86"
4921 "\x82\x63\x11\xB3\x54\x49\x00\x08"
4922 "\x07\xF2\xE8\x1F\x34\x49\x61\xF4"
4923 "\x81\xE9\xF6\xA9\x5A\x28\x60\x1F"
4924 "\x66\x99\x08\x06\xF2\xE8\x2D\xD1"
4925 "\xD0\x67\xBA\x32\x1F\x02\x86\x7B"
4926 "\xFB\x79\x3D\xC5\xB1\x7F\x15\xAF"
4927 "\xD7\xBF\x31\x46\x22\x7F\xAE\x5B"
4928 "\x8B\x95\x47\xC2\xB1\x62\xA1\xCE"
4929 "\x52\xAC\x9C\x8B\xC2\x49\x7F\xBC"
4930 "\x9C\x89\xB8\xB6\xCA\xE3\x8F\xEA"
4931 "\xAC\xB4\x5D\xE4\x50\xDC\x3A\xB5"
4932 "\x91\x04\x94\x99\x03\x3B\x42\x6D"
4933 "\x9C\x4A\x02\xF5\xB5\x38\x98\xA8"
4934 "\x5C\x97\x2E\x4D\x79\x67\x71\xAF"
4935 "\xF0\x70\x77\xFF\x2D\xDA\xA0\x9E"
4936 "\x23\x8D\xD6\xA6\x68\x10\x78\x9A"
4937 "\x64\xBB\x15\xB8\x56\xCF\xEE\xE5"
4938 "\x32\x44\x96\x1C\xD8\xEB\x95\xD2"
4939 "\xF3\x71\xEF\xEB\x4E\xBB\x4D\x29",
4940 .rlen = 504,
2656 }, { /* Generated with Crypto++ */ 4941 }, { /* Generated with Crypto++ */
2657 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 4942 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
2658 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 4943 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -2665,18 +4950,132 @@ static struct cipher_testvec bf_ctr_enc_tv_template[] = {
2665 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 4950 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2666 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 4951 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2667 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 4952 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2668 "\x6D\x04\x9B", 4953 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
2669 .ilen = 43, 4954 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
4955 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
4956 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
4957 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
4958 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
4959 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
4960 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
4961 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
4962 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
4963 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
4964 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
4965 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
4966 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
4967 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
4968 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
4969 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
4970 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
4971 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
4972 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
4973 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
4974 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
4975 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
4976 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
4977 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
4978 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
4979 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
4980 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
4981 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
4982 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
4983 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
4984 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
4985 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
4986 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
4987 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
4988 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
4989 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
4990 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
4991 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
4992 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
4993 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
4994 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
4995 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
4996 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
4997 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
4998 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
4999 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
5000 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
5001 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
5002 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
5003 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
5004 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
5005 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
5006 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
5007 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
5008 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
5009 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
5010 "\x2B\xC2\x59\xF0\x64\xFB\x92",
5011 .ilen = 503,
2670 .result = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D" 5012 .result = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D"
2671 "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" 5013 "\x9E\xDF\x38\x18\x83\x07\xEF\xC1"
2672 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" 5014 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC"
2673 "\x0D\x70\x86\x5A\x44\xAD\x85\x17" 5015 "\x0D\x70\x86\x5A\x44\xAD\x85\x17"
2674 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC" 5016 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC"
2675 "\x3D\xA7\xE9", 5017 "\x3D\xA7\xE9\x0A\x5C\x70\x4D\xDE"
2676 .rlen = 43, 5018 "\x99\x38\x07\xCA\x1D\x21\xC1\x11"
5019 "\x97\xEB\x98\x75\xC4\x73\x45\x83"
5020 "\x46\x1C\x9C\x91\x87\xC1\xA0\x56"
5021 "\x98\xA1\x8B\xDB\x22\x76\xBD\x62"
5022 "\xA4\xBC\xE8\x86\xDA\xD2\x51\x13"
5023 "\x13\xD2\x96\x68\x69\x10\x67\x0C"
5024 "\xD0\x17\x25\x7C\xB2\xAE\x4F\x93"
5025 "\xA6\x82\x20\xCF\x0F\xA6\x47\x79"
5026 "\x88\x09\x40\x59\xBD\x12\x64\xB5"
5027 "\x19\x38\x0D\xFF\x86\xD9\x42\x20"
5028 "\x81\x0D\x96\x99\xAF\x22\x1F\x94"
5029 "\x5C\x6E\xEC\xEA\xA3\x39\xCB\x09"
5030 "\x43\x19\x7F\xD0\xBB\x10\xC2\x49"
5031 "\xF7\xE9\xF2\xEE\xBF\xF7\xF8\xB3"
5032 "\x0E\x1A\xF1\x8D\x70\x82\x0C\x04"
5033 "\xFD\x29\x1A\xAC\xC0\x92\x48\x34"
5034 "\x6A\xE3\x1D\x4F\xFC\x1C\x72\x6A"
5035 "\x57\xCB\xAD\xD0\x98\xAB\xB1\x01"
5036 "\x03\x6A\x45\xDD\x07\x71\x5F\x5B"
5037 "\xB5\x4A\xE4\xE5\xB9\xB9\xBC\xAC"
5038 "\x44\xF7\x41\xA4\x5F\x2E\xE9\x28"
5039 "\xE3\x05\xD2\x94\x78\x4C\x33\x1B"
5040 "\xBD\xC1\x6E\x51\xD9\xAD\xD9\x86"
5041 "\x15\x4A\x78\xAE\x7B\xAD\x3B\xBC"
5042 "\x2F\xE0\x0E\xC5\x7B\x54\x97\x5F"
5043 "\x60\x51\x14\x65\xF9\x91\xE9\xDA"
5044 "\x9A\xBC\xFC\x19\x29\x67\xAA\x63"
5045 "\x5E\xF2\x48\x88\xEB\x79\xE1\xE4"
5046 "\xF7\xF6\x4C\xA9\xE2\x8C\x3B\xE0"
5047 "\xED\x52\xAE\x90\x8F\x5B\x98\x34"
5048 "\x29\x94\x34\x7F\xF9\x6C\x1E\xB6"
5049 "\xA4\xE7\x2D\x06\x54\x9D\xC3\x02"
5050 "\xC1\x90\xA4\x72\x31\x6B\x24\x51"
5051 "\x0B\xB3\x7C\x63\x15\xBA\xAF\x5D"
5052 "\x41\xE0\x37\x6D\xBE\x41\x58\xDE"
5053 "\xF2\x07\x62\x99\xBE\xC1\x8C\x0F"
5054 "\x0F\x28\xFB\x8F\x0E\x1D\x91\xE2"
5055 "\xDA\x99\x5C\x49\xBA\x9C\xA8\x86"
5056 "\x82\x63\x11\xB3\x54\x49\x00\x08"
5057 "\x07\xF2\xE8\x1F\x34\x49\x61\xF4"
5058 "\x81\xE9\xF6\xA9\x5A\x28\x60\x1F"
5059 "\x66\x99\x08\x06\xF2\xE8\x2D\xD1"
5060 "\xD0\x67\xBA\x32\x1F\x02\x86\x7B"
5061 "\xFB\x79\x3D\xC5\xB1\x7F\x15\xAF"
5062 "\xD7\xBF\x31\x46\x22\x7F\xAE\x5B"
5063 "\x8B\x95\x47\xC2\xB1\x62\xA1\xCE"
5064 "\x52\xAC\x9C\x8B\xC2\x49\x7F\xBC"
5065 "\x9C\x89\xB8\xB6\xCA\xE3\x8F\xEA"
5066 "\xAC\xB4\x5D\xE4\x50\xDC\x3A\xB5"
5067 "\x91\x04\x94\x99\x03\x3B\x42\x6D"
5068 "\x9C\x4A\x02\xF5\xB5\x38\x98\xA8"
5069 "\x5C\x97\x2E\x4D\x79\x67\x71\xAF"
5070 "\xF0\x70\x77\xFF\x2D\xDA\xA0\x9E"
5071 "\x23\x8D\xD6\xA6\x68\x10\x78\x9A"
5072 "\x64\xBB\x15\xB8\x56\xCF\xEE\xE5"
5073 "\x32\x44\x96\x1C\xD8\xEB\x95\xD2"
5074 "\xF3\x71\xEF\xEB\x4E\xBB\x4D",
5075 .rlen = 503,
2677 .also_non_np = 1, 5076 .also_non_np = 1,
2678 .np = 2, 5077 .np = 2,
2679 .tap = { 43 - 8, 8 }, 5078 .tap = { 503 - 8, 8 },
2680 }, { /* Generated with Crypto++ */ 5079 }, { /* Generated with Crypto++ */
2681 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 5080 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
2682 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 5081 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -2827,14 +5226,130 @@ static struct cipher_testvec bf_ctr_dec_tv_template[] = {
2827 "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" 5226 "\x9E\xDF\x38\x18\x83\x07\xEF\xC1"
2828 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" 5227 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC"
2829 "\x0D\x70\x86\x5A\x44\xAD\x85\x17" 5228 "\x0D\x70\x86\x5A\x44\xAD\x85\x17"
2830 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC", 5229 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC"
2831 .ilen = 40, 5230 "\x3D\xA7\xE9\x0A\x5C\x70\x4D\xDE"
5231 "\x99\x38\x07\xCA\x1D\x21\xC1\x11"
5232 "\x97\xEB\x98\x75\xC4\x73\x45\x83"
5233 "\x46\x1C\x9C\x91\x87\xC1\xA0\x56"
5234 "\x98\xA1\x8B\xDB\x22\x76\xBD\x62"
5235 "\xA4\xBC\xE8\x86\xDA\xD2\x51\x13"
5236 "\x13\xD2\x96\x68\x69\x10\x67\x0C"
5237 "\xD0\x17\x25\x7C\xB2\xAE\x4F\x93"
5238 "\xA6\x82\x20\xCF\x0F\xA6\x47\x79"
5239 "\x88\x09\x40\x59\xBD\x12\x64\xB5"
5240 "\x19\x38\x0D\xFF\x86\xD9\x42\x20"
5241 "\x81\x0D\x96\x99\xAF\x22\x1F\x94"
5242 "\x5C\x6E\xEC\xEA\xA3\x39\xCB\x09"
5243 "\x43\x19\x7F\xD0\xBB\x10\xC2\x49"
5244 "\xF7\xE9\xF2\xEE\xBF\xF7\xF8\xB3"
5245 "\x0E\x1A\xF1\x8D\x70\x82\x0C\x04"
5246 "\xFD\x29\x1A\xAC\xC0\x92\x48\x34"
5247 "\x6A\xE3\x1D\x4F\xFC\x1C\x72\x6A"
5248 "\x57\xCB\xAD\xD0\x98\xAB\xB1\x01"
5249 "\x03\x6A\x45\xDD\x07\x71\x5F\x5B"
5250 "\xB5\x4A\xE4\xE5\xB9\xB9\xBC\xAC"
5251 "\x44\xF7\x41\xA4\x5F\x2E\xE9\x28"
5252 "\xE3\x05\xD2\x94\x78\x4C\x33\x1B"
5253 "\xBD\xC1\x6E\x51\xD9\xAD\xD9\x86"
5254 "\x15\x4A\x78\xAE\x7B\xAD\x3B\xBC"
5255 "\x2F\xE0\x0E\xC5\x7B\x54\x97\x5F"
5256 "\x60\x51\x14\x65\xF9\x91\xE9\xDA"
5257 "\x9A\xBC\xFC\x19\x29\x67\xAA\x63"
5258 "\x5E\xF2\x48\x88\xEB\x79\xE1\xE4"
5259 "\xF7\xF6\x4C\xA9\xE2\x8C\x3B\xE0"
5260 "\xED\x52\xAE\x90\x8F\x5B\x98\x34"
5261 "\x29\x94\x34\x7F\xF9\x6C\x1E\xB6"
5262 "\xA4\xE7\x2D\x06\x54\x9D\xC3\x02"
5263 "\xC1\x90\xA4\x72\x31\x6B\x24\x51"
5264 "\x0B\xB3\x7C\x63\x15\xBA\xAF\x5D"
5265 "\x41\xE0\x37\x6D\xBE\x41\x58\xDE"
5266 "\xF2\x07\x62\x99\xBE\xC1\x8C\x0F"
5267 "\x0F\x28\xFB\x8F\x0E\x1D\x91\xE2"
5268 "\xDA\x99\x5C\x49\xBA\x9C\xA8\x86"
5269 "\x82\x63\x11\xB3\x54\x49\x00\x08"
5270 "\x07\xF2\xE8\x1F\x34\x49\x61\xF4"
5271 "\x81\xE9\xF6\xA9\x5A\x28\x60\x1F"
5272 "\x66\x99\x08\x06\xF2\xE8\x2D\xD1"
5273 "\xD0\x67\xBA\x32\x1F\x02\x86\x7B"
5274 "\xFB\x79\x3D\xC5\xB1\x7F\x15\xAF"
5275 "\xD7\xBF\x31\x46\x22\x7F\xAE\x5B"
5276 "\x8B\x95\x47\xC2\xB1\x62\xA1\xCE"
5277 "\x52\xAC\x9C\x8B\xC2\x49\x7F\xBC"
5278 "\x9C\x89\xB8\xB6\xCA\xE3\x8F\xEA"
5279 "\xAC\xB4\x5D\xE4\x50\xDC\x3A\xB5"
5280 "\x91\x04\x94\x99\x03\x3B\x42\x6D"
5281 "\x9C\x4A\x02\xF5\xB5\x38\x98\xA8"
5282 "\x5C\x97\x2E\x4D\x79\x67\x71\xAF"
5283 "\xF0\x70\x77\xFF\x2D\xDA\xA0\x9E"
5284 "\x23\x8D\xD6\xA6\x68\x10\x78\x9A"
5285 "\x64\xBB\x15\xB8\x56\xCF\xEE\xE5"
5286 "\x32\x44\x96\x1C\xD8\xEB\x95\xD2"
5287 "\xF3\x71\xEF\xEB\x4E\xBB\x4D\x29",
5288 .ilen = 504,
2832 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 5289 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
2833 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 5290 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2834 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 5291 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2835 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 5292 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2836 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", 5293 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2837 .rlen = 40, 5294 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
5295 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
5296 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
5297 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
5298 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
5299 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
5300 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
5301 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
5302 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
5303 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
5304 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
5305 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
5306 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
5307 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
5308 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
5309 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
5310 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
5311 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
5312 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
5313 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
5314 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
5315 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
5316 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
5317 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
5318 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
5319 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
5320 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
5321 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
5322 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
5323 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
5324 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
5325 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
5326 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
5327 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
5328 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
5329 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
5330 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
5331 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
5332 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
5333 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
5334 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
5335 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
5336 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
5337 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
5338 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
5339 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
5340 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
5341 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
5342 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
5343 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
5344 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
5345 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
5346 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
5347 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
5348 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
5349 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
5350 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
5351 "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
5352 .rlen = 504,
2838 }, { /* Generated with Crypto++ */ 5353 }, { /* Generated with Crypto++ */
2839 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 5354 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
2840 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 5355 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -2847,18 +5362,132 @@ static struct cipher_testvec bf_ctr_dec_tv_template[] = {
2847 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" 5362 "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC"
2848 "\x0D\x70\x86\x5A\x44\xAD\x85\x17" 5363 "\x0D\x70\x86\x5A\x44\xAD\x85\x17"
2849 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC" 5364 "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC"
2850 "\x3D\xA7\xE9", 5365 "\x3D\xA7\xE9\x0A\x5C\x70\x4D\xDE"
2851 .ilen = 43, 5366 "\x99\x38\x07\xCA\x1D\x21\xC1\x11"
5367 "\x97\xEB\x98\x75\xC4\x73\x45\x83"
5368 "\x46\x1C\x9C\x91\x87\xC1\xA0\x56"
5369 "\x98\xA1\x8B\xDB\x22\x76\xBD\x62"
5370 "\xA4\xBC\xE8\x86\xDA\xD2\x51\x13"
5371 "\x13\xD2\x96\x68\x69\x10\x67\x0C"
5372 "\xD0\x17\x25\x7C\xB2\xAE\x4F\x93"
5373 "\xA6\x82\x20\xCF\x0F\xA6\x47\x79"
5374 "\x88\x09\x40\x59\xBD\x12\x64\xB5"
5375 "\x19\x38\x0D\xFF\x86\xD9\x42\x20"
5376 "\x81\x0D\x96\x99\xAF\x22\x1F\x94"
5377 "\x5C\x6E\xEC\xEA\xA3\x39\xCB\x09"
5378 "\x43\x19\x7F\xD0\xBB\x10\xC2\x49"
5379 "\xF7\xE9\xF2\xEE\xBF\xF7\xF8\xB3"
5380 "\x0E\x1A\xF1\x8D\x70\x82\x0C\x04"
5381 "\xFD\x29\x1A\xAC\xC0\x92\x48\x34"
5382 "\x6A\xE3\x1D\x4F\xFC\x1C\x72\x6A"
5383 "\x57\xCB\xAD\xD0\x98\xAB\xB1\x01"
5384 "\x03\x6A\x45\xDD\x07\x71\x5F\x5B"
5385 "\xB5\x4A\xE4\xE5\xB9\xB9\xBC\xAC"
5386 "\x44\xF7\x41\xA4\x5F\x2E\xE9\x28"
5387 "\xE3\x05\xD2\x94\x78\x4C\x33\x1B"
5388 "\xBD\xC1\x6E\x51\xD9\xAD\xD9\x86"
5389 "\x15\x4A\x78\xAE\x7B\xAD\x3B\xBC"
5390 "\x2F\xE0\x0E\xC5\x7B\x54\x97\x5F"
5391 "\x60\x51\x14\x65\xF9\x91\xE9\xDA"
5392 "\x9A\xBC\xFC\x19\x29\x67\xAA\x63"
5393 "\x5E\xF2\x48\x88\xEB\x79\xE1\xE4"
5394 "\xF7\xF6\x4C\xA9\xE2\x8C\x3B\xE0"
5395 "\xED\x52\xAE\x90\x8F\x5B\x98\x34"
5396 "\x29\x94\x34\x7F\xF9\x6C\x1E\xB6"
5397 "\xA4\xE7\x2D\x06\x54\x9D\xC3\x02"
5398 "\xC1\x90\xA4\x72\x31\x6B\x24\x51"
5399 "\x0B\xB3\x7C\x63\x15\xBA\xAF\x5D"
5400 "\x41\xE0\x37\x6D\xBE\x41\x58\xDE"
5401 "\xF2\x07\x62\x99\xBE\xC1\x8C\x0F"
5402 "\x0F\x28\xFB\x8F\x0E\x1D\x91\xE2"
5403 "\xDA\x99\x5C\x49\xBA\x9C\xA8\x86"
5404 "\x82\x63\x11\xB3\x54\x49\x00\x08"
5405 "\x07\xF2\xE8\x1F\x34\x49\x61\xF4"
5406 "\x81\xE9\xF6\xA9\x5A\x28\x60\x1F"
5407 "\x66\x99\x08\x06\xF2\xE8\x2D\xD1"
5408 "\xD0\x67\xBA\x32\x1F\x02\x86\x7B"
5409 "\xFB\x79\x3D\xC5\xB1\x7F\x15\xAF"
5410 "\xD7\xBF\x31\x46\x22\x7F\xAE\x5B"
5411 "\x8B\x95\x47\xC2\xB1\x62\xA1\xCE"
5412 "\x52\xAC\x9C\x8B\xC2\x49\x7F\xBC"
5413 "\x9C\x89\xB8\xB6\xCA\xE3\x8F\xEA"
5414 "\xAC\xB4\x5D\xE4\x50\xDC\x3A\xB5"
5415 "\x91\x04\x94\x99\x03\x3B\x42\x6D"
5416 "\x9C\x4A\x02\xF5\xB5\x38\x98\xA8"
5417 "\x5C\x97\x2E\x4D\x79\x67\x71\xAF"
5418 "\xF0\x70\x77\xFF\x2D\xDA\xA0\x9E"
5419 "\x23\x8D\xD6\xA6\x68\x10\x78\x9A"
5420 "\x64\xBB\x15\xB8\x56\xCF\xEE\xE5"
5421 "\x32\x44\x96\x1C\xD8\xEB\x95\xD2"
5422 "\xF3\x71\xEF\xEB\x4E\xBB\x4D",
5423 .ilen = 503,
2852 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 5424 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
2853 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 5425 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
2854 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 5426 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
2855 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 5427 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
2856 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 5428 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
2857 "\x6D\x04\x9B", 5429 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
2858 .rlen = 43, 5430 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
5431 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
5432 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
5433 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
5434 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
5435 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
5436 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
5437 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
5438 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
5439 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
5440 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
5441 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
5442 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
5443 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
5444 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
5445 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
5446 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
5447 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
5448 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
5449 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
5450 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
5451 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
5452 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
5453 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
5454 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
5455 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
5456 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
5457 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
5458 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
5459 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
5460 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
5461 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
5462 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
5463 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
5464 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
5465 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
5466 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
5467 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
5468 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
5469 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
5470 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
5471 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
5472 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
5473 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
5474 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
5475 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
5476 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
5477 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
5478 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
5479 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
5480 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
5481 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
5482 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
5483 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
5484 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
5485 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
5486 "\x2B\xC2\x59\xF0\x64\xFB\x92",
5487 .rlen = 503,
2859 .also_non_np = 1, 5488 .also_non_np = 1,
2860 .np = 2, 5489 .np = 2,
2861 .tap = { 43 - 8, 8 }, 5490 .tap = { 503 - 8, 8 },
2862 }, { /* Generated with Crypto++ */ 5491 }, { /* Generated with Crypto++ */
2863 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 5492 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
2864 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 5493 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -5808,8 +8437,52 @@ static struct cipher_testvec serpent_enc_tv_template[] = {
5808 "\x29\xC0\x57\xEE\x62\xF9\x90\x04" 8437 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
5809 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 8438 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
5810 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 8439 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
5811 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", 8440 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
5812 .ilen = 144, 8441 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
8442 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
8443 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
8444 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
8445 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
8446 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
8447 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
8448 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
8449 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
8450 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
8451 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
8452 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
8453 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
8454 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
8455 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
8456 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
8457 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
8458 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
8459 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
8460 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
8461 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
8462 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
8463 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
8464 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
8465 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
8466 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
8467 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
8468 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
8469 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
8470 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
8471 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
8472 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
8473 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
8474 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
8475 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
8476 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
8477 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
8478 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
8479 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
8480 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
8481 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
8482 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
8483 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
8484 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
8485 .ilen = 496,
5813 .result = "\xFB\xB0\x5D\xDE\xC0\xFE\xFC\xEB" 8486 .result = "\xFB\xB0\x5D\xDE\xC0\xFE\xFC\xEB"
5814 "\xB1\x80\x10\x43\xDE\x62\x70\xBD" 8487 "\xB1\x80\x10\x43\xDE\x62\x70\xBD"
5815 "\xFA\x8A\x93\xEA\x6B\xF7\xC5\xD7" 8488 "\xFA\x8A\x93\xEA\x6B\xF7\xC5\xD7"
@@ -5827,11 +8500,55 @@ static struct cipher_testvec serpent_enc_tv_template[] = {
5827 "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD" 8500 "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD"
5828 "\x69\xDA\x7A\x01\xF5\x6A\x70\x39" 8501 "\x69\xDA\x7A\x01\xF5\x6A\x70\x39"
5829 "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39" 8502 "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39"
5830 "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6", 8503 "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6"
5831 .rlen = 144, 8504 "\xB6\x31\x36\x34\x38\x3C\x1D\x69"
8505 "\x9F\x47\x28\x9A\x1D\x96\x70\x54"
8506 "\x8E\x88\xCB\xE0\xF5\x6A\xAE\x0A"
8507 "\x3C\xD5\x93\x1C\x21\xC9\x14\x3A"
8508 "\x23\x9C\x9B\x79\xC7\x75\xC8\x39"
8509 "\xA6\xAC\x65\x9A\x99\x37\xAF\x6D"
8510 "\xBD\xB5\x32\xFD\xD8\x9C\x95\x7B"
8511 "\xC6\x6A\x80\x64\xEA\xEF\x6D\x3F"
8512 "\xA9\xFE\x5B\x16\xA3\xCF\x32\xC8"
8513 "\xEF\x50\x22\x20\x93\x30\xBE\xE2"
8514 "\x38\x05\x65\xAF\xBA\xB6\xE4\x72"
8515 "\xA9\xEE\x05\x42\x88\xBD\x9D\x49"
8516 "\xAD\x93\xCA\x4D\x45\x11\x43\x4D"
8517 "\xB8\xF5\x74\x2B\x48\xE7\x21\xE4"
8518 "\x4E\x3A\x4C\xDE\x65\x7A\x5A\xAD"
8519 "\x86\xE6\x23\xEC\x6B\xA7\x17\xE6"
8520 "\xF6\xA1\xAC\x29\xAE\xF9\x9B\x69"
8521 "\x73\x65\x65\x51\xD6\x0B\x4E\x8C"
8522 "\x17\x15\x9D\xB0\xCF\xB2\x42\x2B"
8523 "\x51\xC3\x03\xE8\xB7\x7D\x2D\x39"
8524 "\xE8\x10\x93\x16\xC8\x68\x4C\x60"
8525 "\x87\x70\x14\xD0\x01\x57\xCB\x42"
8526 "\x13\x59\xB1\x7F\x12\x4F\xBB\xC7"
8527 "\xBD\x2B\xD4\xA9\x12\x26\x4F\xDE"
8528 "\xFD\x72\xEC\xD7\x6F\x97\x14\x90"
8529 "\x0E\x37\x13\xE6\x67\x1D\xE5\xFE"
8530 "\x9E\x18\x3C\x8F\x3A\x3F\x59\x9B"
8531 "\x71\x80\x05\x35\x3F\x40\x0B\x21"
8532 "\x76\xE5\xEF\x42\x6C\xDB\x31\x05"
8533 "\x5F\x05\xCF\x14\xE3\xF0\x61\xA2"
8534 "\x49\x03\x5E\x77\x2E\x20\xBA\xA1"
8535 "\xAF\x46\x51\xC0\x2B\xC4\x64\x1E"
8536 "\x65\xCC\x51\x58\x0A\xDF\xF0\x5F"
8537 "\x75\x9F\x48\xCD\x81\xEC\xC3\xF6"
8538 "\xED\xC9\x4B\x7B\x4E\x26\x23\xE1"
8539 "\xBB\xE9\x83\x0B\xCF\xE4\xDE\x00"
8540 "\x48\xFF\xBF\x6C\xB4\x72\x16\xEF"
8541 "\xC7\x46\xEE\x48\x8C\xB8\xAF\x45"
8542 "\x91\x76\xE7\x6E\x65\x3D\x15\x86"
8543 "\x10\xF8\xDB\x66\x97\x7C\x43\x4D"
8544 "\x79\x12\x4E\xCE\x06\xD1\xD1\x6A"
8545 "\x34\xC1\xC9\xF2\x28\x4A\xCD\x02"
8546 "\x75\x55\x9B\xFF\x36\x73\xAB\x7C"
8547 "\xF4\x46\x2E\xEB\xAC\xF3\xD2\xB7",
8548 .rlen = 496,
5832 .also_non_np = 1, 8549 .also_non_np = 1,
5833 .np = 2, 8550 .np = 2,
5834 .tap = { 144 - 16, 16 }, 8551 .tap = { 496 - 16, 16 },
5835 }, 8552 },
5836}; 8553};
5837 8554
@@ -5946,8 +8663,52 @@ static struct cipher_testvec serpent_dec_tv_template[] = {
5946 "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD" 8663 "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD"
5947 "\x69\xDA\x7A\x01\xF5\x6A\x70\x39" 8664 "\x69\xDA\x7A\x01\xF5\x6A\x70\x39"
5948 "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39" 8665 "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39"
5949 "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6", 8666 "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6"
5950 .ilen = 144, 8667 "\xB6\x31\x36\x34\x38\x3C\x1D\x69"
8668 "\x9F\x47\x28\x9A\x1D\x96\x70\x54"
8669 "\x8E\x88\xCB\xE0\xF5\x6A\xAE\x0A"
8670 "\x3C\xD5\x93\x1C\x21\xC9\x14\x3A"
8671 "\x23\x9C\x9B\x79\xC7\x75\xC8\x39"
8672 "\xA6\xAC\x65\x9A\x99\x37\xAF\x6D"
8673 "\xBD\xB5\x32\xFD\xD8\x9C\x95\x7B"
8674 "\xC6\x6A\x80\x64\xEA\xEF\x6D\x3F"
8675 "\xA9\xFE\x5B\x16\xA3\xCF\x32\xC8"
8676 "\xEF\x50\x22\x20\x93\x30\xBE\xE2"
8677 "\x38\x05\x65\xAF\xBA\xB6\xE4\x72"
8678 "\xA9\xEE\x05\x42\x88\xBD\x9D\x49"
8679 "\xAD\x93\xCA\x4D\x45\x11\x43\x4D"
8680 "\xB8\xF5\x74\x2B\x48\xE7\x21\xE4"
8681 "\x4E\x3A\x4C\xDE\x65\x7A\x5A\xAD"
8682 "\x86\xE6\x23\xEC\x6B\xA7\x17\xE6"
8683 "\xF6\xA1\xAC\x29\xAE\xF9\x9B\x69"
8684 "\x73\x65\x65\x51\xD6\x0B\x4E\x8C"
8685 "\x17\x15\x9D\xB0\xCF\xB2\x42\x2B"
8686 "\x51\xC3\x03\xE8\xB7\x7D\x2D\x39"
8687 "\xE8\x10\x93\x16\xC8\x68\x4C\x60"
8688 "\x87\x70\x14\xD0\x01\x57\xCB\x42"
8689 "\x13\x59\xB1\x7F\x12\x4F\xBB\xC7"
8690 "\xBD\x2B\xD4\xA9\x12\x26\x4F\xDE"
8691 "\xFD\x72\xEC\xD7\x6F\x97\x14\x90"
8692 "\x0E\x37\x13\xE6\x67\x1D\xE5\xFE"
8693 "\x9E\x18\x3C\x8F\x3A\x3F\x59\x9B"
8694 "\x71\x80\x05\x35\x3F\x40\x0B\x21"
8695 "\x76\xE5\xEF\x42\x6C\xDB\x31\x05"
8696 "\x5F\x05\xCF\x14\xE3\xF0\x61\xA2"
8697 "\x49\x03\x5E\x77\x2E\x20\xBA\xA1"
8698 "\xAF\x46\x51\xC0\x2B\xC4\x64\x1E"
8699 "\x65\xCC\x51\x58\x0A\xDF\xF0\x5F"
8700 "\x75\x9F\x48\xCD\x81\xEC\xC3\xF6"
8701 "\xED\xC9\x4B\x7B\x4E\x26\x23\xE1"
8702 "\xBB\xE9\x83\x0B\xCF\xE4\xDE\x00"
8703 "\x48\xFF\xBF\x6C\xB4\x72\x16\xEF"
8704 "\xC7\x46\xEE\x48\x8C\xB8\xAF\x45"
8705 "\x91\x76\xE7\x6E\x65\x3D\x15\x86"
8706 "\x10\xF8\xDB\x66\x97\x7C\x43\x4D"
8707 "\x79\x12\x4E\xCE\x06\xD1\xD1\x6A"
8708 "\x34\xC1\xC9\xF2\x28\x4A\xCD\x02"
8709 "\x75\x55\x9B\xFF\x36\x73\xAB\x7C"
8710 "\xF4\x46\x2E\xEB\xAC\xF3\xD2\xB7",
8711 .ilen = 496,
5951 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 8712 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
5952 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 8713 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
5953 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 8714 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
@@ -5965,11 +8726,55 @@ static struct cipher_testvec serpent_dec_tv_template[] = {
5965 "\x29\xC0\x57\xEE\x62\xF9\x90\x04" 8726 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
5966 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 8727 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
5967 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 8728 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
5968 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", 8729 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
5969 .rlen = 144, 8730 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
8731 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
8732 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
8733 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
8734 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
8735 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
8736 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
8737 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
8738 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
8739 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
8740 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
8741 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
8742 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
8743 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
8744 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
8745 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
8746 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
8747 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
8748 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
8749 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
8750 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
8751 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
8752 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
8753 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
8754 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
8755 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
8756 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
8757 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
8758 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
8759 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
8760 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
8761 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
8762 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
8763 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
8764 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
8765 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
8766 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
8767 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
8768 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
8769 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
8770 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
8771 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
8772 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
8773 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
8774 .rlen = 496,
5970 .also_non_np = 1, 8775 .also_non_np = 1,
5971 .np = 2, 8776 .np = 2,
5972 .tap = { 144 - 16, 16 }, 8777 .tap = { 496 - 16, 16 },
5973 }, 8778 },
5974}; 8779};
5975 8780
@@ -6040,8 +8845,52 @@ static struct cipher_testvec serpent_cbc_enc_tv_template[] = {
6040 "\x29\xC0\x57\xEE\x62\xF9\x90\x04" 8845 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
6041 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 8846 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
6042 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 8847 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
6043 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", 8848 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
6044 .ilen = 144, 8849 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
8850 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
8851 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
8852 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
8853 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
8854 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
8855 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
8856 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
8857 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
8858 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
8859 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
8860 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
8861 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
8862 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
8863 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
8864 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
8865 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
8866 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
8867 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
8868 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
8869 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
8870 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
8871 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
8872 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
8873 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
8874 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
8875 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
8876 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
8877 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
8878 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
8879 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
8880 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
8881 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
8882 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
8883 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
8884 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
8885 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
8886 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
8887 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
8888 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
8889 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
8890 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
8891 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
8892 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
8893 .ilen = 496,
6045 .result = "\x80\xCF\x11\x41\x1A\xB9\x4B\x9C" 8894 .result = "\x80\xCF\x11\x41\x1A\xB9\x4B\x9C"
6046 "\xFF\xB7\x6C\xEA\xF0\xAF\x77\x6E" 8895 "\xFF\xB7\x6C\xEA\xF0\xAF\x77\x6E"
6047 "\x71\x75\x95\x9D\x4E\x1C\xCF\xAD" 8896 "\x71\x75\x95\x9D\x4E\x1C\xCF\xAD"
@@ -6059,11 +8908,55 @@ static struct cipher_testvec serpent_cbc_enc_tv_template[] = {
6059 "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2" 8908 "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2"
6060 "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB" 8909 "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB"
6061 "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A" 8910 "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A"
6062 "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C", 8911 "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C"
6063 .rlen = 144, 8912 "\x2D\x12\xA5\x05\x92\xCB\xD7\x4A"
8913 "\x4D\x1E\x88\x21\xE1\x63\xB4\xFC"
8914 "\x4A\xF2\xCD\x35\xB9\xD7\x70\x97"
8915 "\x5A\x5E\x7E\x96\x52\x20\xDC\x25"
8916 "\xE9\x6B\x36\xB4\xE0\x98\x85\x2C"
8917 "\x3C\xD2\xF7\x78\x8A\x73\x26\x9B"
8918 "\xAF\x0B\x11\xE8\x4D\x67\x23\xE9"
8919 "\x77\xDF\x58\xF6\x6F\x9E\xA4\xC5"
8920 "\x10\xA1\x82\x0E\x80\xA0\x8F\x4B"
8921 "\xA1\xC0\x12\x54\x4E\xC9\x20\x92"
8922 "\x11\x00\x10\x4E\xB3\x7C\xCA\x63"
8923 "\xE5\x3F\xD3\x41\x37\xCD\x74\xB7"
8924 "\xA5\x7C\x61\xB8\x0B\x7A\x7F\x4D"
8925 "\xFE\x96\x7D\x1B\xBE\x60\x37\xB7"
8926 "\x81\x92\x66\x67\x15\x1E\x39\x98"
8927 "\x52\xC0\xF4\x69\xC0\x99\x4F\x5A"
8928 "\x2E\x32\xAD\x7C\x8B\xE9\xAD\x05"
8929 "\x55\xF9\x0A\x1F\x97\x5C\xFA\x2B"
8930 "\xF4\x99\x76\x3A\x6E\x4D\xE1\x4C"
8931 "\x14\x4E\x6F\x87\xEE\x1A\x85\xA3"
8932 "\x96\xC6\x66\x49\xDA\x0D\x71\xAC"
8933 "\x04\x05\x46\xD3\x90\x0F\x64\x64"
8934 "\x01\x66\x2C\x62\x5D\x34\xD1\xCB"
8935 "\x3A\x24\xCE\x95\xEF\xAE\x2C\x97"
8936 "\x0E\x0C\x1D\x36\x49\xEB\xE9\x3D"
8937 "\x62\xA6\x19\x28\x9E\x26\xB4\x3F"
8938 "\xD7\x55\x42\x3C\xCD\x72\x0A\xF0"
8939 "\x7D\xE9\x95\x45\x86\xED\xB1\xE0"
8940 "\x8D\xE9\xC5\x86\x13\x24\x28\x7D"
8941 "\x74\xEF\xCA\x50\x12\x7E\x64\x8F"
8942 "\x1B\xF5\x5B\xFE\xE2\xAC\xFA\xE7"
8943 "\xBD\x38\x8C\x11\x20\xEF\xB1\xAA"
8944 "\x7B\xE5\xE5\x78\xAD\x9D\x2D\xA2"
8945 "\x8E\xDD\x48\xB3\xEF\x18\x92\x7E"
8946 "\xE6\x75\x0D\x54\x64\x11\xA3\x3A"
8947 "\xDB\x97\x0F\xD3\xDF\x07\xD3\x7E"
8948 "\x1E\xD1\x87\xE4\x74\xBB\x46\xF4"
8949 "\xBA\x23\x2D\x8D\x29\x07\x12\xCF"
8950 "\x34\xCD\x72\x7F\x01\x30\xE7\xA0"
8951 "\xF8\xDD\xA8\x08\xF0\xBC\xB1\xA2"
8952 "\xCC\xE1\x6B\x5F\xBE\xEA\xF1\xE4"
8953 "\x02\xC4\xAF\xFA\xAD\x31\xF4\xBF"
8954 "\xFC\x66\xAA\x37\xF2\x37\x39\x6B"
8955 "\xBC\x08\x3A\xA2\x29\xB3\xDF\xD1",
8956 .rlen = 496,
6064 .also_non_np = 1, 8957 .also_non_np = 1,
6065 .np = 2, 8958 .np = 2,
6066 .tap = { 144 - 16, 16 }, 8959 .tap = { 496 - 16, 16 },
6067 }, 8960 },
6068}; 8961};
6069 8962
@@ -6093,8 +8986,52 @@ static struct cipher_testvec serpent_cbc_dec_tv_template[] = {
6093 "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2" 8986 "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2"
6094 "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB" 8987 "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB"
6095 "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A" 8988 "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A"
6096 "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C", 8989 "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C"
6097 .ilen = 144, 8990 "\x2D\x12\xA5\x05\x92\xCB\xD7\x4A"
8991 "\x4D\x1E\x88\x21\xE1\x63\xB4\xFC"
8992 "\x4A\xF2\xCD\x35\xB9\xD7\x70\x97"
8993 "\x5A\x5E\x7E\x96\x52\x20\xDC\x25"
8994 "\xE9\x6B\x36\xB4\xE0\x98\x85\x2C"
8995 "\x3C\xD2\xF7\x78\x8A\x73\x26\x9B"
8996 "\xAF\x0B\x11\xE8\x4D\x67\x23\xE9"
8997 "\x77\xDF\x58\xF6\x6F\x9E\xA4\xC5"
8998 "\x10\xA1\x82\x0E\x80\xA0\x8F\x4B"
8999 "\xA1\xC0\x12\x54\x4E\xC9\x20\x92"
9000 "\x11\x00\x10\x4E\xB3\x7C\xCA\x63"
9001 "\xE5\x3F\xD3\x41\x37\xCD\x74\xB7"
9002 "\xA5\x7C\x61\xB8\x0B\x7A\x7F\x4D"
9003 "\xFE\x96\x7D\x1B\xBE\x60\x37\xB7"
9004 "\x81\x92\x66\x67\x15\x1E\x39\x98"
9005 "\x52\xC0\xF4\x69\xC0\x99\x4F\x5A"
9006 "\x2E\x32\xAD\x7C\x8B\xE9\xAD\x05"
9007 "\x55\xF9\x0A\x1F\x97\x5C\xFA\x2B"
9008 "\xF4\x99\x76\x3A\x6E\x4D\xE1\x4C"
9009 "\x14\x4E\x6F\x87\xEE\x1A\x85\xA3"
9010 "\x96\xC6\x66\x49\xDA\x0D\x71\xAC"
9011 "\x04\x05\x46\xD3\x90\x0F\x64\x64"
9012 "\x01\x66\x2C\x62\x5D\x34\xD1\xCB"
9013 "\x3A\x24\xCE\x95\xEF\xAE\x2C\x97"
9014 "\x0E\x0C\x1D\x36\x49\xEB\xE9\x3D"
9015 "\x62\xA6\x19\x28\x9E\x26\xB4\x3F"
9016 "\xD7\x55\x42\x3C\xCD\x72\x0A\xF0"
9017 "\x7D\xE9\x95\x45\x86\xED\xB1\xE0"
9018 "\x8D\xE9\xC5\x86\x13\x24\x28\x7D"
9019 "\x74\xEF\xCA\x50\x12\x7E\x64\x8F"
9020 "\x1B\xF5\x5B\xFE\xE2\xAC\xFA\xE7"
9021 "\xBD\x38\x8C\x11\x20\xEF\xB1\xAA"
9022 "\x7B\xE5\xE5\x78\xAD\x9D\x2D\xA2"
9023 "\x8E\xDD\x48\xB3\xEF\x18\x92\x7E"
9024 "\xE6\x75\x0D\x54\x64\x11\xA3\x3A"
9025 "\xDB\x97\x0F\xD3\xDF\x07\xD3\x7E"
9026 "\x1E\xD1\x87\xE4\x74\xBB\x46\xF4"
9027 "\xBA\x23\x2D\x8D\x29\x07\x12\xCF"
9028 "\x34\xCD\x72\x7F\x01\x30\xE7\xA0"
9029 "\xF8\xDD\xA8\x08\xF0\xBC\xB1\xA2"
9030 "\xCC\xE1\x6B\x5F\xBE\xEA\xF1\xE4"
9031 "\x02\xC4\xAF\xFA\xAD\x31\xF4\xBF"
9032 "\xFC\x66\xAA\x37\xF2\x37\x39\x6B"
9033 "\xBC\x08\x3A\xA2\x29\xB3\xDF\xD1",
9034 .ilen = 496,
6098 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 9035 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
6099 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 9036 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
6100 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 9037 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
@@ -6112,11 +9049,55 @@ static struct cipher_testvec serpent_cbc_dec_tv_template[] = {
6112 "\x29\xC0\x57\xEE\x62\xF9\x90\x04" 9049 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
6113 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 9050 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
6114 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 9051 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
6115 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", 9052 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
6116 .rlen = 144, 9053 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
9054 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
9055 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
9056 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
9057 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
9058 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
9059 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
9060 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
9061 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
9062 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
9063 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
9064 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
9065 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
9066 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
9067 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
9068 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
9069 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
9070 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
9071 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
9072 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
9073 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
9074 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
9075 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
9076 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
9077 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
9078 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
9079 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
9080 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
9081 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
9082 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
9083 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
9084 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
9085 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
9086 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
9087 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
9088 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
9089 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
9090 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
9091 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
9092 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
9093 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
9094 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
9095 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
9096 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
9097 .rlen = 496,
6117 .also_non_np = 1, 9098 .also_non_np = 1,
6118 .np = 2, 9099 .np = 2,
6119 .tap = { 144 - 16, 16 }, 9100 .tap = { 496 - 16, 16 },
6120 }, 9101 },
6121}; 9102};
6122 9103
@@ -6146,8 +9127,52 @@ static struct cipher_testvec serpent_ctr_enc_tv_template[] = {
6146 "\x29\xC0\x57\xEE\x62\xF9\x90\x04" 9127 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
6147 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 9128 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
6148 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 9129 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
6149 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", 9130 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
6150 .ilen = 144, 9131 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
9132 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
9133 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
9134 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
9135 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
9136 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
9137 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
9138 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
9139 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
9140 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
9141 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
9142 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
9143 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
9144 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
9145 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
9146 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
9147 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
9148 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
9149 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
9150 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
9151 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
9152 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
9153 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
9154 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
9155 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
9156 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
9157 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
9158 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
9159 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
9160 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
9161 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
9162 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
9163 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
9164 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
9165 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
9166 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
9167 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
9168 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
9169 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
9170 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
9171 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
9172 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
9173 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
9174 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
9175 .ilen = 496,
6151 .result = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA" 9176 .result = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA"
6152 "\x37\x69\xE3\x3A\x22\x85\x48\x46" 9177 "\x37\x69\xE3\x3A\x22\x85\x48\x46"
6153 "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E" 9178 "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E"
@@ -6165,8 +9190,52 @@ static struct cipher_testvec serpent_ctr_enc_tv_template[] = {
6165 "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5" 9190 "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5"
6166 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" 9191 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09"
6167 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" 9192 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC"
6168 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9", 9193 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9"
6169 .rlen = 144, 9194 "\xE6\xD0\x97\x81\xDE\xD1\xFB\x8A"
9195 "\x30\xDB\xA3\x5D\xEC\x25\x0B\x86"
9196 "\x71\xC8\xA7\x67\xE8\xBC\x7D\x4C"
9197 "\xAE\x82\xD3\x73\x31\x09\xCB\xB3"
9198 "\x4D\xD4\xC0\x8A\x2B\xFA\xA6\x55"
9199 "\x39\x0A\xBC\x6E\x75\xAB\xC2\xE2"
9200 "\x8A\xF2\x26\xCD\x63\x38\x35\xF7"
9201 "\xAE\x12\x83\xCD\x8A\x9E\x7E\x4C"
9202 "\xFE\x4D\xD7\xCE\x5C\x6E\x4C\xAF"
9203 "\xE3\xCD\x76\xA7\x87\xA1\x54\x7C"
9204 "\xEC\x32\xC7\x83\x2A\xFF\xF8\xEA"
9205 "\x87\xB2\x47\xA3\x9D\xC2\x9C\xA2"
9206 "\xB7\x2C\x7C\x1A\x24\xCB\x88\x61"
9207 "\xFF\xA7\x1A\x16\x01\xDD\x4B\xFC"
9208 "\x2E\xE0\x48\x67\x09\x42\xCC\x91"
9209 "\xBE\x20\x38\xC0\x5E\x3B\x95\x00"
9210 "\xA1\x96\x66\x0B\x8A\xE9\x9E\xF7"
9211 "\x6B\x34\x0A\x51\xC0\x3B\xEB\x71"
9212 "\x07\x97\x38\x4B\x5C\x56\x98\x67"
9213 "\x78\x9C\xD0\x0E\x2B\xB5\x67\x90"
9214 "\x75\xF8\xFE\x6D\x4E\x85\xCC\x0D"
9215 "\x18\x06\x15\x9D\x5A\x10\x13\x37"
9216 "\xA3\xD6\x68\xA2\xDF\x7E\xC7\x12"
9217 "\xC9\x0D\x4D\x91\xB0\x2A\x55\xFF"
9218 "\x6F\x73\x13\xDF\x28\xB5\x2A\x2C"
9219 "\xE4\xFC\x20\xD9\xF1\x7A\x82\xB1"
9220 "\xCB\x57\xB6\x3D\x8C\xF4\x8E\x27"
9221 "\x37\xDC\x35\xF3\x79\x01\x53\xA4"
9222 "\x7B\x37\xDE\x7C\x04\xAE\x50\xDB"
9223 "\x9B\x1E\x8C\x07\xA7\x52\x49\x50"
9224 "\x34\x25\x65\xDD\xA9\x8F\x7E\xBD"
9225 "\x7A\xC9\x36\xAE\xDE\x21\x48\x64"
9226 "\xC2\x02\xBA\xBE\x11\x1E\x3D\x9C"
9227 "\x98\x52\xCC\x04\xBD\x5E\x61\x26"
9228 "\x10\xD3\x21\xD9\x6E\x25\x98\x77"
9229 "\x8E\x98\x63\xF6\xF6\x52\xFB\x13"
9230 "\xAA\x30\xF2\xB9\xA4\x43\x53\x39"
9231 "\x1C\x97\x07\x7E\x6B\xFF\x3D\x43"
9232 "\xA6\x71\x6B\x66\x8F\x58\x3F\x71"
9233 "\x90\x47\x40\x92\xE6\x69\xD1\x96"
9234 "\x34\xB3\x3B\xE5\x43\xE4\xD5\x56"
9235 "\xB2\xE6\x7E\x86\x7A\x12\x17\x5B"
9236 "\x30\xF3\x9B\x0D\xFA\x57\xE4\x50"
9237 "\x40\x53\x77\x8C\x15\xF8\x8D\x13",
9238 .rlen = 496,
6170 }, { /* Generated with Crypto++ */ 9239 }, { /* Generated with Crypto++ */
6171 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 9240 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
6172 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 9241 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -6193,8 +9262,52 @@ static struct cipher_testvec serpent_ctr_enc_tv_template[] = {
6193 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 9262 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
6194 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 9263 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
6195 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" 9264 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
6196 "\xF1\x65\xFC", 9265 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
6197 .ilen = 147, 9266 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
9267 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
9268 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
9269 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
9270 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
9271 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
9272 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
9273 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
9274 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
9275 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
9276 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
9277 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
9278 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
9279 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
9280 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
9281 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
9282 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
9283 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
9284 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
9285 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
9286 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
9287 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
9288 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
9289 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
9290 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
9291 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
9292 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
9293 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
9294 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
9295 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
9296 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
9297 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
9298 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
9299 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
9300 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
9301 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
9302 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
9303 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
9304 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
9305 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
9306 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
9307 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
9308 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
9309 "\x2B\xC2\x59",
9310 .ilen = 499,
6198 .result = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA" 9311 .result = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA"
6199 "\x37\x69\xE3\x3A\x22\x85\x48\x46" 9312 "\x37\x69\xE3\x3A\x22\x85\x48\x46"
6200 "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E" 9313 "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E"
@@ -6213,11 +9326,55 @@ static struct cipher_testvec serpent_ctr_enc_tv_template[] = {
6213 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" 9326 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09"
6214 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" 9327 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC"
6215 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9" 9328 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9"
6216 "\xE6\xD0\x97", 9329 "\xE6\xD0\x97\x81\xDE\xD1\xFB\x8A"
6217 .rlen = 147, 9330 "\x30\xDB\xA3\x5D\xEC\x25\x0B\x86"
9331 "\x71\xC8\xA7\x67\xE8\xBC\x7D\x4C"
9332 "\xAE\x82\xD3\x73\x31\x09\xCB\xB3"
9333 "\x4D\xD4\xC0\x8A\x2B\xFA\xA6\x55"
9334 "\x39\x0A\xBC\x6E\x75\xAB\xC2\xE2"
9335 "\x8A\xF2\x26\xCD\x63\x38\x35\xF7"
9336 "\xAE\x12\x83\xCD\x8A\x9E\x7E\x4C"
9337 "\xFE\x4D\xD7\xCE\x5C\x6E\x4C\xAF"
9338 "\xE3\xCD\x76\xA7\x87\xA1\x54\x7C"
9339 "\xEC\x32\xC7\x83\x2A\xFF\xF8\xEA"
9340 "\x87\xB2\x47\xA3\x9D\xC2\x9C\xA2"
9341 "\xB7\x2C\x7C\x1A\x24\xCB\x88\x61"
9342 "\xFF\xA7\x1A\x16\x01\xDD\x4B\xFC"
9343 "\x2E\xE0\x48\x67\x09\x42\xCC\x91"
9344 "\xBE\x20\x38\xC0\x5E\x3B\x95\x00"
9345 "\xA1\x96\x66\x0B\x8A\xE9\x9E\xF7"
9346 "\x6B\x34\x0A\x51\xC0\x3B\xEB\x71"
9347 "\x07\x97\x38\x4B\x5C\x56\x98\x67"
9348 "\x78\x9C\xD0\x0E\x2B\xB5\x67\x90"
9349 "\x75\xF8\xFE\x6D\x4E\x85\xCC\x0D"
9350 "\x18\x06\x15\x9D\x5A\x10\x13\x37"
9351 "\xA3\xD6\x68\xA2\xDF\x7E\xC7\x12"
9352 "\xC9\x0D\x4D\x91\xB0\x2A\x55\xFF"
9353 "\x6F\x73\x13\xDF\x28\xB5\x2A\x2C"
9354 "\xE4\xFC\x20\xD9\xF1\x7A\x82\xB1"
9355 "\xCB\x57\xB6\x3D\x8C\xF4\x8E\x27"
9356 "\x37\xDC\x35\xF3\x79\x01\x53\xA4"
9357 "\x7B\x37\xDE\x7C\x04\xAE\x50\xDB"
9358 "\x9B\x1E\x8C\x07\xA7\x52\x49\x50"
9359 "\x34\x25\x65\xDD\xA9\x8F\x7E\xBD"
9360 "\x7A\xC9\x36\xAE\xDE\x21\x48\x64"
9361 "\xC2\x02\xBA\xBE\x11\x1E\x3D\x9C"
9362 "\x98\x52\xCC\x04\xBD\x5E\x61\x26"
9363 "\x10\xD3\x21\xD9\x6E\x25\x98\x77"
9364 "\x8E\x98\x63\xF6\xF6\x52\xFB\x13"
9365 "\xAA\x30\xF2\xB9\xA4\x43\x53\x39"
9366 "\x1C\x97\x07\x7E\x6B\xFF\x3D\x43"
9367 "\xA6\x71\x6B\x66\x8F\x58\x3F\x71"
9368 "\x90\x47\x40\x92\xE6\x69\xD1\x96"
9369 "\x34\xB3\x3B\xE5\x43\xE4\xD5\x56"
9370 "\xB2\xE6\x7E\x86\x7A\x12\x17\x5B"
9371 "\x30\xF3\x9B\x0D\xFA\x57\xE4\x50"
9372 "\x40\x53\x77\x8C\x15\xF8\x8D\x13"
9373 "\x38\xE2\xE5",
9374 .rlen = 499,
6218 .also_non_np = 1, 9375 .also_non_np = 1,
6219 .np = 2, 9376 .np = 2,
6220 .tap = { 147 - 16, 16 }, 9377 .tap = { 499 - 16, 16 },
6221 }, { /* Generated with Crypto++ */ 9378 }, { /* Generated with Crypto++ */
6222 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 9379 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
6223 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 9380 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -6381,8 +9538,52 @@ static struct cipher_testvec serpent_ctr_dec_tv_template[] = {
6381 "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5" 9538 "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5"
6382 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" 9539 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09"
6383 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" 9540 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC"
6384 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9", 9541 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9"
6385 .ilen = 144, 9542 "\xE6\xD0\x97\x81\xDE\xD1\xFB\x8A"
9543 "\x30\xDB\xA3\x5D\xEC\x25\x0B\x86"
9544 "\x71\xC8\xA7\x67\xE8\xBC\x7D\x4C"
9545 "\xAE\x82\xD3\x73\x31\x09\xCB\xB3"
9546 "\x4D\xD4\xC0\x8A\x2B\xFA\xA6\x55"
9547 "\x39\x0A\xBC\x6E\x75\xAB\xC2\xE2"
9548 "\x8A\xF2\x26\xCD\x63\x38\x35\xF7"
9549 "\xAE\x12\x83\xCD\x8A\x9E\x7E\x4C"
9550 "\xFE\x4D\xD7\xCE\x5C\x6E\x4C\xAF"
9551 "\xE3\xCD\x76\xA7\x87\xA1\x54\x7C"
9552 "\xEC\x32\xC7\x83\x2A\xFF\xF8\xEA"
9553 "\x87\xB2\x47\xA3\x9D\xC2\x9C\xA2"
9554 "\xB7\x2C\x7C\x1A\x24\xCB\x88\x61"
9555 "\xFF\xA7\x1A\x16\x01\xDD\x4B\xFC"
9556 "\x2E\xE0\x48\x67\x09\x42\xCC\x91"
9557 "\xBE\x20\x38\xC0\x5E\x3B\x95\x00"
9558 "\xA1\x96\x66\x0B\x8A\xE9\x9E\xF7"
9559 "\x6B\x34\x0A\x51\xC0\x3B\xEB\x71"
9560 "\x07\x97\x38\x4B\x5C\x56\x98\x67"
9561 "\x78\x9C\xD0\x0E\x2B\xB5\x67\x90"
9562 "\x75\xF8\xFE\x6D\x4E\x85\xCC\x0D"
9563 "\x18\x06\x15\x9D\x5A\x10\x13\x37"
9564 "\xA3\xD6\x68\xA2\xDF\x7E\xC7\x12"
9565 "\xC9\x0D\x4D\x91\xB0\x2A\x55\xFF"
9566 "\x6F\x73\x13\xDF\x28\xB5\x2A\x2C"
9567 "\xE4\xFC\x20\xD9\xF1\x7A\x82\xB1"
9568 "\xCB\x57\xB6\x3D\x8C\xF4\x8E\x27"
9569 "\x37\xDC\x35\xF3\x79\x01\x53\xA4"
9570 "\x7B\x37\xDE\x7C\x04\xAE\x50\xDB"
9571 "\x9B\x1E\x8C\x07\xA7\x52\x49\x50"
9572 "\x34\x25\x65\xDD\xA9\x8F\x7E\xBD"
9573 "\x7A\xC9\x36\xAE\xDE\x21\x48\x64"
9574 "\xC2\x02\xBA\xBE\x11\x1E\x3D\x9C"
9575 "\x98\x52\xCC\x04\xBD\x5E\x61\x26"
9576 "\x10\xD3\x21\xD9\x6E\x25\x98\x77"
9577 "\x8E\x98\x63\xF6\xF6\x52\xFB\x13"
9578 "\xAA\x30\xF2\xB9\xA4\x43\x53\x39"
9579 "\x1C\x97\x07\x7E\x6B\xFF\x3D\x43"
9580 "\xA6\x71\x6B\x66\x8F\x58\x3F\x71"
9581 "\x90\x47\x40\x92\xE6\x69\xD1\x96"
9582 "\x34\xB3\x3B\xE5\x43\xE4\xD5\x56"
9583 "\xB2\xE6\x7E\x86\x7A\x12\x17\x5B"
9584 "\x30\xF3\x9B\x0D\xFA\x57\xE4\x50"
9585 "\x40\x53\x77\x8C\x15\xF8\x8D\x13",
9586 .ilen = 496,
6386 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 9587 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
6387 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 9588 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
6388 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 9589 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
@@ -6400,8 +9601,52 @@ static struct cipher_testvec serpent_ctr_dec_tv_template[] = {
6400 "\x29\xC0\x57\xEE\x62\xF9\x90\x04" 9601 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
6401 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 9602 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
6402 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 9603 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
6403 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", 9604 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
6404 .rlen = 144, 9605 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
9606 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
9607 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
9608 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
9609 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
9610 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
9611 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
9612 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
9613 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
9614 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
9615 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
9616 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
9617 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
9618 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
9619 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
9620 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
9621 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
9622 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
9623 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
9624 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
9625 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
9626 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
9627 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
9628 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
9629 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
9630 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
9631 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
9632 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
9633 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
9634 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
9635 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
9636 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
9637 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
9638 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
9639 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
9640 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
9641 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
9642 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
9643 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
9644 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
9645 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
9646 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
9647 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
9648 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
9649 .rlen = 496,
6405 }, { /* Generated with Crypto++ */ 9650 }, { /* Generated with Crypto++ */
6406 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 9651 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
6407 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 9652 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -6428,8 +9673,52 @@ static struct cipher_testvec serpent_ctr_dec_tv_template[] = {
6428 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" 9673 "\x7C\xB5\x12\x89\xED\xBF\xB6\x09"
6429 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" 9674 "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC"
6430 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9" 9675 "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9"
6431 "\xE6\xD0\x97", 9676 "\xE6\xD0\x97\x81\xDE\xD1\xFB\x8A"
6432 .ilen = 147, 9677 "\x30\xDB\xA3\x5D\xEC\x25\x0B\x86"
9678 "\x71\xC8\xA7\x67\xE8\xBC\x7D\x4C"
9679 "\xAE\x82\xD3\x73\x31\x09\xCB\xB3"
9680 "\x4D\xD4\xC0\x8A\x2B\xFA\xA6\x55"
9681 "\x39\x0A\xBC\x6E\x75\xAB\xC2\xE2"
9682 "\x8A\xF2\x26\xCD\x63\x38\x35\xF7"
9683 "\xAE\x12\x83\xCD\x8A\x9E\x7E\x4C"
9684 "\xFE\x4D\xD7\xCE\x5C\x6E\x4C\xAF"
9685 "\xE3\xCD\x76\xA7\x87\xA1\x54\x7C"
9686 "\xEC\x32\xC7\x83\x2A\xFF\xF8\xEA"
9687 "\x87\xB2\x47\xA3\x9D\xC2\x9C\xA2"
9688 "\xB7\x2C\x7C\x1A\x24\xCB\x88\x61"
9689 "\xFF\xA7\x1A\x16\x01\xDD\x4B\xFC"
9690 "\x2E\xE0\x48\x67\x09\x42\xCC\x91"
9691 "\xBE\x20\x38\xC0\x5E\x3B\x95\x00"
9692 "\xA1\x96\x66\x0B\x8A\xE9\x9E\xF7"
9693 "\x6B\x34\x0A\x51\xC0\x3B\xEB\x71"
9694 "\x07\x97\x38\x4B\x5C\x56\x98\x67"
9695 "\x78\x9C\xD0\x0E\x2B\xB5\x67\x90"
9696 "\x75\xF8\xFE\x6D\x4E\x85\xCC\x0D"
9697 "\x18\x06\x15\x9D\x5A\x10\x13\x37"
9698 "\xA3\xD6\x68\xA2\xDF\x7E\xC7\x12"
9699 "\xC9\x0D\x4D\x91\xB0\x2A\x55\xFF"
9700 "\x6F\x73\x13\xDF\x28\xB5\x2A\x2C"
9701 "\xE4\xFC\x20\xD9\xF1\x7A\x82\xB1"
9702 "\xCB\x57\xB6\x3D\x8C\xF4\x8E\x27"
9703 "\x37\xDC\x35\xF3\x79\x01\x53\xA4"
9704 "\x7B\x37\xDE\x7C\x04\xAE\x50\xDB"
9705 "\x9B\x1E\x8C\x07\xA7\x52\x49\x50"
9706 "\x34\x25\x65\xDD\xA9\x8F\x7E\xBD"
9707 "\x7A\xC9\x36\xAE\xDE\x21\x48\x64"
9708 "\xC2\x02\xBA\xBE\x11\x1E\x3D\x9C"
9709 "\x98\x52\xCC\x04\xBD\x5E\x61\x26"
9710 "\x10\xD3\x21\xD9\x6E\x25\x98\x77"
9711 "\x8E\x98\x63\xF6\xF6\x52\xFB\x13"
9712 "\xAA\x30\xF2\xB9\xA4\x43\x53\x39"
9713 "\x1C\x97\x07\x7E\x6B\xFF\x3D\x43"
9714 "\xA6\x71\x6B\x66\x8F\x58\x3F\x71"
9715 "\x90\x47\x40\x92\xE6\x69\xD1\x96"
9716 "\x34\xB3\x3B\xE5\x43\xE4\xD5\x56"
9717 "\xB2\xE6\x7E\x86\x7A\x12\x17\x5B"
9718 "\x30\xF3\x9B\x0D\xFA\x57\xE4\x50"
9719 "\x40\x53\x77\x8C\x15\xF8\x8D\x13"
9720 "\x38\xE2\xE5",
9721 .ilen = 499,
6433 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 9722 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
6434 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 9723 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
6435 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 9724 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
@@ -6448,11 +9737,55 @@ static struct cipher_testvec serpent_ctr_dec_tv_template[] = {
6448 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" 9737 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
6449 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" 9738 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
6450 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" 9739 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
6451 "\xF1\x65\xFC", 9740 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
6452 .rlen = 147, 9741 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
9742 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
9743 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
9744 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
9745 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
9746 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
9747 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
9748 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
9749 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
9750 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
9751 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
9752 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
9753 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
9754 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
9755 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
9756 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
9757 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
9758 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
9759 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
9760 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
9761 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
9762 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
9763 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
9764 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
9765 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
9766 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
9767 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
9768 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
9769 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
9770 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
9771 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
9772 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
9773 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
9774 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
9775 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
9776 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
9777 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
9778 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
9779 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
9780 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
9781 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
9782 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
9783 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
9784 "\x2B\xC2\x59",
9785 .rlen = 499,
6453 .also_non_np = 1, 9786 .also_non_np = 1,
6454 .np = 2, 9787 .np = 2,
6455 .tap = { 147 - 16, 16 }, 9788 .tap = { 499 - 16, 16 },
6456 }, { /* Generated with Crypto++ */ 9789 }, { /* Generated with Crypto++ */
6457 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 9790 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
6458 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 9791 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -9326,10 +12659,10 @@ static struct cipher_testvec cast6_xts_dec_tv_template[] = {
9326/* 12659/*
9327 * AES test vectors. 12660 * AES test vectors.
9328 */ 12661 */
9329#define AES_ENC_TEST_VECTORS 3 12662#define AES_ENC_TEST_VECTORS 4
9330#define AES_DEC_TEST_VECTORS 3 12663#define AES_DEC_TEST_VECTORS 4
9331#define AES_CBC_ENC_TEST_VECTORS 4 12664#define AES_CBC_ENC_TEST_VECTORS 5
9332#define AES_CBC_DEC_TEST_VECTORS 4 12665#define AES_CBC_DEC_TEST_VECTORS 5
9333#define HMAC_SHA1_AES_CBC_ENC_TEST_VECTORS 7 12666#define HMAC_SHA1_AES_CBC_ENC_TEST_VECTORS 7
9334#define HMAC_SHA256_AES_CBC_ENC_TEST_VECTORS 7 12667#define HMAC_SHA256_AES_CBC_ENC_TEST_VECTORS 7
9335#define HMAC_SHA512_AES_CBC_ENC_TEST_VECTORS 7 12668#define HMAC_SHA512_AES_CBC_ENC_TEST_VECTORS 7
@@ -9337,8 +12670,8 @@ static struct cipher_testvec cast6_xts_dec_tv_template[] = {
9337#define AES_LRW_DEC_TEST_VECTORS 8 12670#define AES_LRW_DEC_TEST_VECTORS 8
9338#define AES_XTS_ENC_TEST_VECTORS 5 12671#define AES_XTS_ENC_TEST_VECTORS 5
9339#define AES_XTS_DEC_TEST_VECTORS 5 12672#define AES_XTS_DEC_TEST_VECTORS 5
9340#define AES_CTR_ENC_TEST_VECTORS 3 12673#define AES_CTR_ENC_TEST_VECTORS 5
9341#define AES_CTR_DEC_TEST_VECTORS 3 12674#define AES_CTR_DEC_TEST_VECTORS 5
9342#define AES_OFB_ENC_TEST_VECTORS 1 12675#define AES_OFB_ENC_TEST_VECTORS 1
9343#define AES_OFB_DEC_TEST_VECTORS 1 12676#define AES_OFB_DEC_TEST_VECTORS 1
9344#define AES_CTR_3686_ENC_TEST_VECTORS 7 12677#define AES_CTR_3686_ENC_TEST_VECTORS 7
@@ -9386,6 +12719,141 @@ static struct cipher_testvec aes_enc_tv_template[] = {
9386 .result = "\x8e\xa2\xb7\xca\x51\x67\x45\xbf" 12719 .result = "\x8e\xa2\xb7\xca\x51\x67\x45\xbf"
9387 "\xea\xfc\x49\x90\x4b\x49\x60\x89", 12720 "\xea\xfc\x49\x90\x4b\x49\x60\x89",
9388 .rlen = 16, 12721 .rlen = 16,
12722 }, { /* Generated with Crypto++ */
12723 .key = "\xA6\xC9\x83\xA6\xC9\xEC\x0F\x32"
12724 "\x55\x0F\x32\x55\x78\x9B\xBE\x78"
12725 "\x9B\xBE\xE1\x04\x27\xE1\x04\x27"
12726 "\x4A\x6D\x90\x4A\x6D\x90\xB3\xD6",
12727 .klen = 32,
12728 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
12729 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
12730 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
12731 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
12732 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
12733 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
12734 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
12735 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
12736 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
12737 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
12738 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
12739 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
12740 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
12741 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
12742 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
12743 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
12744 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
12745 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
12746 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
12747 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
12748 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
12749 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
12750 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
12751 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
12752 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
12753 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
12754 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
12755 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
12756 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
12757 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
12758 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
12759 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
12760 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
12761 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
12762 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
12763 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
12764 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
12765 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
12766 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
12767 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
12768 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
12769 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
12770 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
12771 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
12772 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
12773 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
12774 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
12775 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
12776 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
12777 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
12778 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
12779 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
12780 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
12781 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
12782 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
12783 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
12784 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
12785 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
12786 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
12787 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
12788 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
12789 "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
12790 .ilen = 496,
12791 .result = "\x71\x73\xF7\xDB\x24\x93\x21\x6D"
12792 "\x61\x1E\xBB\x63\x42\x79\xDB\x64"
12793 "\x6F\x82\xC0\xCA\xA3\x9B\xFA\x0B"
12794 "\xD9\x08\xC7\x4A\x90\xAE\x8F\x5F"
12795 "\x5E\x06\xF0\x5F\x31\x51\x18\x37"
12796 "\x45\xD7\xCA\x3A\xFD\x6C\x3F\xE1"
12797 "\xDD\x8D\x22\x65\x2B\x00\x50\xCE"
12798 "\xBA\x28\x67\xD7\xCE\x0E\x0D\xEA"
12799 "\x78\x69\x7F\xAE\x8F\x8B\x69\x37"
12800 "\x75\xE0\xDC\x96\xE0\xB7\xF4\x09"
12801 "\xCB\x6D\xA2\xFB\xDA\xAF\x09\xF8"
12802 "\x81\x82\x27\xFA\x45\x9C\x29\xA4"
12803 "\x22\x8B\x78\x69\x5B\x46\xF9\x39"
12804 "\x1B\xCC\xF9\x1D\x09\xEB\xBC\x5C"
12805 "\x41\x72\x51\x97\x1D\x07\x49\xA0"
12806 "\x1B\x8E\x65\x4B\xB2\x6A\x12\x03"
12807 "\x6A\x60\x95\xAC\xBD\xAC\x1A\x64"
12808 "\xDE\x5A\xA5\xF0\x83\x2F\xCB\xCA"
12809 "\x22\x74\xA6\x6C\x9B\x73\xCE\x3F"
12810 "\xE1\x8B\x22\x17\x59\x0C\x47\x89"
12811 "\x33\xA1\xD6\x47\x03\x19\x4F\xA8"
12812 "\x67\x69\xF0\x5B\xF0\x20\xAD\x06"
12813 "\x27\x81\x92\xD8\xC5\xBA\x98\x12"
12814 "\xBE\x24\xB5\x2F\x75\x02\xC2\xAD"
12815 "\x12\x2F\x07\x32\xEE\x39\xAF\x64"
12816 "\x05\x8F\xB3\xD4\xEB\x1B\x46\x6E"
12817 "\xD9\x21\xF9\xC4\xB7\xC9\x45\x68"
12818 "\xB4\xA1\x74\x9F\x82\x47\xEB\xCC"
12819 "\xBD\x0A\x14\x95\x0F\x8B\xA8\x2F"
12820 "\x4B\x1B\xA7\xBF\x82\xA6\x43\x0C"
12821 "\xB9\x39\x4A\xA8\x10\x6F\x50\x7B"
12822 "\x25\xFB\x26\x81\xE0\x2F\xF0\x96"
12823 "\x8D\x8B\xAC\x92\x0F\xF6\xED\x64"
12824 "\x63\x29\x4C\x8E\x18\x13\xC5\xBF"
12825 "\xFC\xA0\xD9\xBF\x7C\x3A\x0E\x29"
12826 "\x6F\xD1\x6C\x6F\xA5\xDA\xBF\xB1"
12827 "\x30\xEA\x44\x2D\xC3\x8F\x16\xE1"
12828 "\x66\xFA\xA3\x21\x3E\xFC\x13\xCA"
12829 "\xF0\xF6\xF0\x59\xBD\x8F\x38\x50"
12830 "\x31\xCB\x69\x3F\x96\x15\xD6\xF5"
12831 "\xAE\xFF\xF6\xAA\x41\x85\x4C\x10"
12832 "\x58\xE3\xF9\x44\xE6\x28\xDA\x9A"
12833 "\xDC\x6A\x80\x34\x73\x97\x1B\xC5"
12834 "\xCA\x26\x16\x77\x0E\x60\xAB\x89"
12835 "\x0F\x04\x27\xBD\xCE\x3E\x71\xB4"
12836 "\xA0\xD7\x22\x7E\xDB\xEB\x24\x70"
12837 "\x42\x71\x51\x78\x70\xB3\xE0\x3D"
12838 "\x84\x8E\x8D\x7B\xD0\x6D\xEA\x92"
12839 "\x11\x08\x42\x4F\xE5\xAD\x26\x92"
12840 "\xD2\x00\xAE\xA8\xE3\x4B\x37\x47"
12841 "\x22\xC1\x95\xC1\x63\x7F\xCB\x03"
12842 "\xF3\xE3\xD7\x9D\x60\xC7\xBC\xEA"
12843 "\x35\xA2\xFD\x45\x52\x39\x13\x6F"
12844 "\xC1\x53\xF3\x53\xDF\x33\x84\xD7"
12845 "\xD2\xC8\x37\xB0\x75\xE3\x41\x46"
12846 "\xB3\xC7\x83\x2E\x8A\xBB\xA4\xE5"
12847 "\x7F\x3C\xFD\x8B\xEB\xEA\x63\xBD"
12848 "\xB7\x46\xE7\xBF\x09\x9C\x0D\x0F"
12849 "\x40\x86\x7F\x51\xE1\x11\x9C\xCB"
12850 "\x88\xE6\x68\x47\xE3\x2B\xC5\xFF"
12851 "\x09\x79\xA0\x43\x5C\x0D\x08\x58"
12852 "\x17\xBB\xC0\x6B\x62\x3F\x56\xE9",
12853 .rlen = 496,
12854 .also_non_np = 1,
12855 .np = 2,
12856 .tap = { 496 - 16, 16 },
9389 }, 12857 },
9390}; 12858};
9391 12859
@@ -9423,6 +12891,141 @@ static struct cipher_testvec aes_dec_tv_template[] = {
9423 .result = "\x00\x11\x22\x33\x44\x55\x66\x77" 12891 .result = "\x00\x11\x22\x33\x44\x55\x66\x77"
9424 "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", 12892 "\x88\x99\xaa\xbb\xcc\xdd\xee\xff",
9425 .rlen = 16, 12893 .rlen = 16,
12894 }, { /* Generated with Crypto++ */
12895 .key = "\xA6\xC9\x83\xA6\xC9\xEC\x0F\x32"
12896 "\x55\x0F\x32\x55\x78\x9B\xBE\x78"
12897 "\x9B\xBE\xE1\x04\x27\xE1\x04\x27"
12898 "\x4A\x6D\x90\x4A\x6D\x90\xB3\xD6",
12899 .klen = 32,
12900 .input = "\x71\x73\xF7\xDB\x24\x93\x21\x6D"
12901 "\x61\x1E\xBB\x63\x42\x79\xDB\x64"
12902 "\x6F\x82\xC0\xCA\xA3\x9B\xFA\x0B"
12903 "\xD9\x08\xC7\x4A\x90\xAE\x8F\x5F"
12904 "\x5E\x06\xF0\x5F\x31\x51\x18\x37"
12905 "\x45\xD7\xCA\x3A\xFD\x6C\x3F\xE1"
12906 "\xDD\x8D\x22\x65\x2B\x00\x50\xCE"
12907 "\xBA\x28\x67\xD7\xCE\x0E\x0D\xEA"
12908 "\x78\x69\x7F\xAE\x8F\x8B\x69\x37"
12909 "\x75\xE0\xDC\x96\xE0\xB7\xF4\x09"
12910 "\xCB\x6D\xA2\xFB\xDA\xAF\x09\xF8"
12911 "\x81\x82\x27\xFA\x45\x9C\x29\xA4"
12912 "\x22\x8B\x78\x69\x5B\x46\xF9\x39"
12913 "\x1B\xCC\xF9\x1D\x09\xEB\xBC\x5C"
12914 "\x41\x72\x51\x97\x1D\x07\x49\xA0"
12915 "\x1B\x8E\x65\x4B\xB2\x6A\x12\x03"
12916 "\x6A\x60\x95\xAC\xBD\xAC\x1A\x64"
12917 "\xDE\x5A\xA5\xF0\x83\x2F\xCB\xCA"
12918 "\x22\x74\xA6\x6C\x9B\x73\xCE\x3F"
12919 "\xE1\x8B\x22\x17\x59\x0C\x47\x89"
12920 "\x33\xA1\xD6\x47\x03\x19\x4F\xA8"
12921 "\x67\x69\xF0\x5B\xF0\x20\xAD\x06"
12922 "\x27\x81\x92\xD8\xC5\xBA\x98\x12"
12923 "\xBE\x24\xB5\x2F\x75\x02\xC2\xAD"
12924 "\x12\x2F\x07\x32\xEE\x39\xAF\x64"
12925 "\x05\x8F\xB3\xD4\xEB\x1B\x46\x6E"
12926 "\xD9\x21\xF9\xC4\xB7\xC9\x45\x68"
12927 "\xB4\xA1\x74\x9F\x82\x47\xEB\xCC"
12928 "\xBD\x0A\x14\x95\x0F\x8B\xA8\x2F"
12929 "\x4B\x1B\xA7\xBF\x82\xA6\x43\x0C"
12930 "\xB9\x39\x4A\xA8\x10\x6F\x50\x7B"
12931 "\x25\xFB\x26\x81\xE0\x2F\xF0\x96"
12932 "\x8D\x8B\xAC\x92\x0F\xF6\xED\x64"
12933 "\x63\x29\x4C\x8E\x18\x13\xC5\xBF"
12934 "\xFC\xA0\xD9\xBF\x7C\x3A\x0E\x29"
12935 "\x6F\xD1\x6C\x6F\xA5\xDA\xBF\xB1"
12936 "\x30\xEA\x44\x2D\xC3\x8F\x16\xE1"
12937 "\x66\xFA\xA3\x21\x3E\xFC\x13\xCA"
12938 "\xF0\xF6\xF0\x59\xBD\x8F\x38\x50"
12939 "\x31\xCB\x69\x3F\x96\x15\xD6\xF5"
12940 "\xAE\xFF\xF6\xAA\x41\x85\x4C\x10"
12941 "\x58\xE3\xF9\x44\xE6\x28\xDA\x9A"
12942 "\xDC\x6A\x80\x34\x73\x97\x1B\xC5"
12943 "\xCA\x26\x16\x77\x0E\x60\xAB\x89"
12944 "\x0F\x04\x27\xBD\xCE\x3E\x71\xB4"
12945 "\xA0\xD7\x22\x7E\xDB\xEB\x24\x70"
12946 "\x42\x71\x51\x78\x70\xB3\xE0\x3D"
12947 "\x84\x8E\x8D\x7B\xD0\x6D\xEA\x92"
12948 "\x11\x08\x42\x4F\xE5\xAD\x26\x92"
12949 "\xD2\x00\xAE\xA8\xE3\x4B\x37\x47"
12950 "\x22\xC1\x95\xC1\x63\x7F\xCB\x03"
12951 "\xF3\xE3\xD7\x9D\x60\xC7\xBC\xEA"
12952 "\x35\xA2\xFD\x45\x52\x39\x13\x6F"
12953 "\xC1\x53\xF3\x53\xDF\x33\x84\xD7"
12954 "\xD2\xC8\x37\xB0\x75\xE3\x41\x46"
12955 "\xB3\xC7\x83\x2E\x8A\xBB\xA4\xE5"
12956 "\x7F\x3C\xFD\x8B\xEB\xEA\x63\xBD"
12957 "\xB7\x46\xE7\xBF\x09\x9C\x0D\x0F"
12958 "\x40\x86\x7F\x51\xE1\x11\x9C\xCB"
12959 "\x88\xE6\x68\x47\xE3\x2B\xC5\xFF"
12960 "\x09\x79\xA0\x43\x5C\x0D\x08\x58"
12961 "\x17\xBB\xC0\x6B\x62\x3F\x56\xE9",
12962 .ilen = 496,
12963 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
12964 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
12965 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
12966 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
12967 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
12968 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
12969 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
12970 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
12971 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
12972 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
12973 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
12974 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
12975 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
12976 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
12977 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
12978 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
12979 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
12980 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
12981 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
12982 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
12983 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
12984 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
12985 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
12986 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
12987 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
12988 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
12989 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
12990 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
12991 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
12992 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
12993 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
12994 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
12995 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
12996 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
12997 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
12998 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
12999 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
13000 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
13001 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
13002 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
13003 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
13004 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
13005 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
13006 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
13007 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
13008 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
13009 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
13010 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
13011 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
13012 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
13013 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
13014 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
13015 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
13016 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
13017 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
13018 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
13019 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
13020 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
13021 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
13022 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
13023 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
13024 "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
13025 .rlen = 496,
13026 .also_non_np = 1,
13027 .np = 2,
13028 .tap = { 496 - 16, 16 },
9426 }, 13029 },
9427}; 13030};
9428 13031
@@ -9505,6 +13108,143 @@ static struct cipher_testvec aes_cbc_enc_tv_template[] = {
9505 "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc" 13108 "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
9506 "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b", 13109 "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b",
9507 .rlen = 64, 13110 .rlen = 64,
13111 }, { /* Generated with Crypto++ */
13112 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
13113 "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
13114 "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
13115 "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
13116 .klen = 32,
13117 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
13118 "\xE2\x7D\x18\xD6\x71\x0C\xA7\x42",
13119 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
13120 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
13121 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
13122 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
13123 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
13124 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
13125 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
13126 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
13127 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
13128 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
13129 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
13130 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
13131 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
13132 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
13133 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
13134 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
13135 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
13136 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
13137 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
13138 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
13139 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
13140 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
13141 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
13142 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
13143 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
13144 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
13145 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
13146 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
13147 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
13148 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
13149 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
13150 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
13151 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
13152 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
13153 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
13154 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
13155 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
13156 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
13157 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
13158 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
13159 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
13160 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
13161 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
13162 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
13163 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
13164 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
13165 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
13166 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
13167 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
13168 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
13169 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
13170 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
13171 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
13172 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
13173 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
13174 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
13175 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
13176 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
13177 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
13178 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
13179 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
13180 "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
13181 .ilen = 496,
13182 .result = "\xEA\x65\x8A\x19\xB0\x66\xC1\x3F"
13183 "\xCE\xF1\x97\x75\xC1\xFD\xB5\xAF"
13184 "\x52\x65\xF7\xFF\xBC\xD8\x2D\x9F"
13185 "\x2F\xB9\x26\x9B\x6F\x10\xB7\xB8"
13186 "\x26\xA1\x02\x46\xA2\xAD\xC6\xC0"
13187 "\x11\x15\xFF\x6D\x1E\x82\x04\xA6"
13188 "\xB1\x74\xD1\x08\x13\xFD\x90\x7C"
13189 "\xF5\xED\xD3\xDB\x5A\x0A\x0C\x2F"
13190 "\x0A\x70\xF1\x88\x07\xCF\x21\x26"
13191 "\x40\x40\x8A\xF5\x53\xF7\x24\x4F"
13192 "\x83\x38\x43\x5F\x08\x99\xEB\xE3"
13193 "\xDC\x02\x64\x67\x50\x6E\x15\xC3"
13194 "\x01\x1A\xA0\x81\x13\x65\xA6\x73"
13195 "\x71\xA6\x3B\x91\x83\x77\xBE\xFA"
13196 "\xDB\x71\x73\xA6\xC1\xAE\x43\xC3"
13197 "\x36\xCE\xD6\xEB\xF9\x30\x1C\x4F"
13198 "\x80\x38\x5E\x9C\x6E\xAB\x98\x2F"
13199 "\x53\xAF\xCF\xC8\x9A\xB8\x86\x43"
13200 "\x3E\x86\xE7\xA1\xF4\x2F\x30\x40"
13201 "\x03\xA8\x6C\x50\x42\x9F\x77\x59"
13202 "\x89\xA0\xC5\xEC\x9A\xB8\xDD\x99"
13203 "\x16\x24\x02\x07\x48\xAE\xF2\x31"
13204 "\x34\x0E\xC3\x85\xFE\x1C\x95\x99"
13205 "\x87\x58\x98\x8B\xE7\xC6\xC5\x70"
13206 "\x73\x81\x07\x7C\x56\x2F\xD8\x1B"
13207 "\xB7\xB9\x2B\xAB\xE3\x01\x87\x0F"
13208 "\xD8\xBB\xC0\x0D\xAC\x2C\x2F\x98"
13209 "\x3C\x0B\xA2\x99\x4A\x8C\xF7\x04"
13210 "\xE0\xE0\xCF\xD1\x81\x5B\xFE\xF5"
13211 "\x24\x04\xFD\xB8\xDF\x13\xD8\xCD"
13212 "\xF1\xE3\x3D\x98\x50\x02\x77\x9E"
13213 "\xBC\x22\xAB\xFA\xC2\x43\x1F\x66"
13214 "\x20\x02\x23\xDA\xDF\xA0\x89\xF6"
13215 "\xD8\xF3\x45\x24\x53\x6F\x16\x77"
13216 "\x02\x3E\x7B\x36\x5F\xA0\x3B\x78"
13217 "\x63\xA2\xBD\xB5\xA4\xCA\x1E\xD3"
13218 "\x57\xBC\x0B\x9F\x43\x51\x28\x4F"
13219 "\x07\x50\x6C\x68\x12\x07\xCF\xFA"
13220 "\x6B\x72\x0B\xEB\xF8\x88\x90\x2C"
13221 "\x7E\xF5\x91\xD1\x03\xD8\xD5\xBD"
13222 "\x22\x39\x7B\x16\x03\x01\x69\xAF"
13223 "\x3D\x38\x66\x28\x0C\xBE\x5B\xC5"
13224 "\x03\xB4\x2F\x51\x8A\x56\x17\x2B"
13225 "\x88\x42\x6D\x40\x68\x8F\xD0\x11"
13226 "\x19\xF9\x1F\x43\x79\x95\x31\xFA"
13227 "\x28\x7A\x3D\xF7\x66\xEB\xEF\xAC"
13228 "\x06\xB2\x01\xAD\xDB\x68\xDB\xEC"
13229 "\x8D\x53\x6E\x72\x68\xA3\xC7\x63"
13230 "\x43\x2B\x78\xE0\x04\x29\x8F\x72"
13231 "\xB2\x2C\xE6\x84\x03\x30\x6D\xCD"
13232 "\x26\x92\x37\xE1\x2F\xBB\x8B\x9D"
13233 "\xE4\x4C\xF6\x93\xBC\xD9\xAD\x44"
13234 "\x52\x65\xC7\xB0\x0E\x3F\x0E\x61"
13235 "\x56\x5D\x1C\x6D\xA7\x05\x2E\xBC"
13236 "\x58\x08\x15\xAB\x12\xAB\x17\x4A"
13237 "\x5E\x1C\xF2\xCD\xB8\xA2\xAE\xFB"
13238 "\x9B\x2E\x0E\x85\x34\x80\x0E\x3F"
13239 "\x4C\xB8\xDB\xCE\x1C\x90\xA1\x61"
13240 "\x6C\x69\x09\x35\x9E\xD4\xF4\xAD"
13241 "\xBC\x06\x41\xE3\x01\xB4\x4E\x0A"
13242 "\xE0\x1F\x91\xF8\x82\x96\x2D\x65"
13243 "\xA3\xAA\x13\xCC\x50\xFF\x7B\x02",
13244 .rlen = 496,
13245 .also_non_np = 1,
13246 .np = 2,
13247 .tap = { 496 - 16, 16 },
9508 }, 13248 },
9509}; 13249};
9510 13250
@@ -9587,6 +13327,143 @@ static struct cipher_testvec aes_cbc_dec_tv_template[] = {
9587 "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" 13327 "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
9588 "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", 13328 "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
9589 .rlen = 64, 13329 .rlen = 64,
13330 }, { /* Generated with Crypto++ */
13331 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
13332 "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
13333 "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
13334 "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
13335 .klen = 32,
13336 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
13337 "\xE2\x7D\x18\xD6\x71\x0C\xA7\x42",
13338 .input = "\xEA\x65\x8A\x19\xB0\x66\xC1\x3F"
13339 "\xCE\xF1\x97\x75\xC1\xFD\xB5\xAF"
13340 "\x52\x65\xF7\xFF\xBC\xD8\x2D\x9F"
13341 "\x2F\xB9\x26\x9B\x6F\x10\xB7\xB8"
13342 "\x26\xA1\x02\x46\xA2\xAD\xC6\xC0"
13343 "\x11\x15\xFF\x6D\x1E\x82\x04\xA6"
13344 "\xB1\x74\xD1\x08\x13\xFD\x90\x7C"
13345 "\xF5\xED\xD3\xDB\x5A\x0A\x0C\x2F"
13346 "\x0A\x70\xF1\x88\x07\xCF\x21\x26"
13347 "\x40\x40\x8A\xF5\x53\xF7\x24\x4F"
13348 "\x83\x38\x43\x5F\x08\x99\xEB\xE3"
13349 "\xDC\x02\x64\x67\x50\x6E\x15\xC3"
13350 "\x01\x1A\xA0\x81\x13\x65\xA6\x73"
13351 "\x71\xA6\x3B\x91\x83\x77\xBE\xFA"
13352 "\xDB\x71\x73\xA6\xC1\xAE\x43\xC3"
13353 "\x36\xCE\xD6\xEB\xF9\x30\x1C\x4F"
13354 "\x80\x38\x5E\x9C\x6E\xAB\x98\x2F"
13355 "\x53\xAF\xCF\xC8\x9A\xB8\x86\x43"
13356 "\x3E\x86\xE7\xA1\xF4\x2F\x30\x40"
13357 "\x03\xA8\x6C\x50\x42\x9F\x77\x59"
13358 "\x89\xA0\xC5\xEC\x9A\xB8\xDD\x99"
13359 "\x16\x24\x02\x07\x48\xAE\xF2\x31"
13360 "\x34\x0E\xC3\x85\xFE\x1C\x95\x99"
13361 "\x87\x58\x98\x8B\xE7\xC6\xC5\x70"
13362 "\x73\x81\x07\x7C\x56\x2F\xD8\x1B"
13363 "\xB7\xB9\x2B\xAB\xE3\x01\x87\x0F"
13364 "\xD8\xBB\xC0\x0D\xAC\x2C\x2F\x98"
13365 "\x3C\x0B\xA2\x99\x4A\x8C\xF7\x04"
13366 "\xE0\xE0\xCF\xD1\x81\x5B\xFE\xF5"
13367 "\x24\x04\xFD\xB8\xDF\x13\xD8\xCD"
13368 "\xF1\xE3\x3D\x98\x50\x02\x77\x9E"
13369 "\xBC\x22\xAB\xFA\xC2\x43\x1F\x66"
13370 "\x20\x02\x23\xDA\xDF\xA0\x89\xF6"
13371 "\xD8\xF3\x45\x24\x53\x6F\x16\x77"
13372 "\x02\x3E\x7B\x36\x5F\xA0\x3B\x78"
13373 "\x63\xA2\xBD\xB5\xA4\xCA\x1E\xD3"
13374 "\x57\xBC\x0B\x9F\x43\x51\x28\x4F"
13375 "\x07\x50\x6C\x68\x12\x07\xCF\xFA"
13376 "\x6B\x72\x0B\xEB\xF8\x88\x90\x2C"
13377 "\x7E\xF5\x91\xD1\x03\xD8\xD5\xBD"
13378 "\x22\x39\x7B\x16\x03\x01\x69\xAF"
13379 "\x3D\x38\x66\x28\x0C\xBE\x5B\xC5"
13380 "\x03\xB4\x2F\x51\x8A\x56\x17\x2B"
13381 "\x88\x42\x6D\x40\x68\x8F\xD0\x11"
13382 "\x19\xF9\x1F\x43\x79\x95\x31\xFA"
13383 "\x28\x7A\x3D\xF7\x66\xEB\xEF\xAC"
13384 "\x06\xB2\x01\xAD\xDB\x68\xDB\xEC"
13385 "\x8D\x53\x6E\x72\x68\xA3\xC7\x63"
13386 "\x43\x2B\x78\xE0\x04\x29\x8F\x72"
13387 "\xB2\x2C\xE6\x84\x03\x30\x6D\xCD"
13388 "\x26\x92\x37\xE1\x2F\xBB\x8B\x9D"
13389 "\xE4\x4C\xF6\x93\xBC\xD9\xAD\x44"
13390 "\x52\x65\xC7\xB0\x0E\x3F\x0E\x61"
13391 "\x56\x5D\x1C\x6D\xA7\x05\x2E\xBC"
13392 "\x58\x08\x15\xAB\x12\xAB\x17\x4A"
13393 "\x5E\x1C\xF2\xCD\xB8\xA2\xAE\xFB"
13394 "\x9B\x2E\x0E\x85\x34\x80\x0E\x3F"
13395 "\x4C\xB8\xDB\xCE\x1C\x90\xA1\x61"
13396 "\x6C\x69\x09\x35\x9E\xD4\xF4\xAD"
13397 "\xBC\x06\x41\xE3\x01\xB4\x4E\x0A"
13398 "\xE0\x1F\x91\xF8\x82\x96\x2D\x65"
13399 "\xA3\xAA\x13\xCC\x50\xFF\x7B\x02",
13400 .ilen = 496,
13401 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
13402 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
13403 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
13404 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
13405 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
13406 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
13407 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
13408 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
13409 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
13410 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
13411 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
13412 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
13413 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
13414 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
13415 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
13416 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
13417 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
13418 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
13419 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
13420 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
13421 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
13422 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
13423 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
13424 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
13425 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
13426 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
13427 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
13428 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
13429 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
13430 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
13431 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
13432 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
13433 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
13434 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
13435 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
13436 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
13437 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
13438 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
13439 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
13440 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
13441 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
13442 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
13443 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
13444 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
13445 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
13446 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
13447 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
13448 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
13449 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
13450 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
13451 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
13452 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
13453 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
13454 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
13455 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
13456 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
13457 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
13458 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
13459 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
13460 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
13461 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
13462 "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
13463 .rlen = 496,
13464 .also_non_np = 1,
13465 .np = 2,
13466 .tap = { 496 - 16, 16 },
9590 }, 13467 },
9591}; 13468};
9592 13469
@@ -11134,8 +15011,6 @@ static struct cipher_testvec aes_xts_enc_tv_template[] = {
11134 .klen = 64, 15011 .klen = 64,
11135 .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" 15012 .iv = "\xff\x00\x00\x00\x00\x00\x00\x00"
11136 "\x00\x00\x00\x00\x00\x00\x00\x00", 15013 "\x00\x00\x00\x00\x00\x00\x00\x00",
11137 "\x00\x00\x00\x00\x00\x00\x00\x00",
11138 "\x00\x00\x00\x00\x00\x00\x00\x00",
11139 .input = "\x00\x01\x02\x03\x04\x05\x06\x07" 15014 .input = "\x00\x01\x02\x03\x04\x05\x06\x07"
11140 "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" 15015 "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
11141 "\x10\x11\x12\x13\x14\x15\x16\x17" 15016 "\x10\x11\x12\x13\x14\x15\x16\x17"
@@ -11478,8 +15353,6 @@ static struct cipher_testvec aes_xts_dec_tv_template[] = {
11478 .klen = 64, 15353 .klen = 64,
11479 .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" 15354 .iv = "\xff\x00\x00\x00\x00\x00\x00\x00"
11480 "\x00\x00\x00\x00\x00\x00\x00\x00", 15355 "\x00\x00\x00\x00\x00\x00\x00\x00",
11481 "\x00\x00\x00\x00\x00\x00\x00\x00",
11482 "\x00\x00\x00\x00\x00\x00\x00\x00",
11483 .input = "\x1c\x3b\x3a\x10\x2f\x77\x03\x86" 15356 .input = "\x1c\x3b\x3a\x10\x2f\x77\x03\x86"
11484 "\xe4\x83\x6c\x99\xe3\x70\xcf\x9b" 15357 "\xe4\x83\x6c\x99\xe3\x70\xcf\x9b"
11485 "\xea\x00\x80\x3f\x5e\x48\x23\x57" 15358 "\xea\x00\x80\x3f\x5e\x48\x23\x57"
@@ -11693,7 +15566,283 @@ static struct cipher_testvec aes_ctr_enc_tv_template[] = {
11693 "\xdf\xc9\xc5\x8d\xb6\x7a\xad\xa6" 15566 "\xdf\xc9\xc5\x8d\xb6\x7a\xad\xa6"
11694 "\x13\xc2\xdd\x08\x45\x79\x41\xa6", 15567 "\x13\xc2\xdd\x08\x45\x79\x41\xa6",
11695 .rlen = 64, 15568 .rlen = 64,
11696 } 15569 }, { /* Generated with Crypto++ */
15570 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
15571 "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
15572 "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
15573 "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
15574 .klen = 32,
15575 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
15576 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
15577 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
15578 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
15579 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
15580 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
15581 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
15582 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
15583 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
15584 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
15585 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
15586 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
15587 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
15588 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
15589 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
15590 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
15591 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
15592 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
15593 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
15594 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
15595 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
15596 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
15597 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
15598 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
15599 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
15600 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
15601 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
15602 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
15603 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
15604 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
15605 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
15606 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
15607 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
15608 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
15609 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
15610 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
15611 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
15612 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
15613 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
15614 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
15615 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
15616 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
15617 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
15618 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
15619 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
15620 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
15621 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
15622 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
15623 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
15624 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
15625 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
15626 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
15627 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
15628 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
15629 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
15630 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
15631 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
15632 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
15633 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
15634 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
15635 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
15636 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
15637 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
15638 "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
15639 .ilen = 496,
15640 .result = "\x04\xF3\xD3\x88\x17\xEF\xDC\xEF"
15641 "\x8B\x04\xF8\x3A\x66\x8D\x1A\x53"
15642 "\x57\x1F\x4B\x23\xE4\xA0\xAF\xF9"
15643 "\x69\x95\x35\x98\x8D\x4D\x8C\xC1"
15644 "\xF0\xB2\x7F\x80\xBB\x54\x28\xA2"
15645 "\x7A\x1B\x9F\x77\xEC\x0E\x6E\xDE"
15646 "\xF0\xEC\xB8\xE4\x20\x62\xEE\xDB"
15647 "\x5D\xF5\xDD\xE3\x54\xFC\xDD\xEB"
15648 "\x6A\xEE\x65\xA1\x21\xD6\xD7\x81"
15649 "\x47\x61\x12\x4D\xC2\x8C\xFA\x78"
15650 "\x1F\x28\x02\x01\xC3\xFC\x1F\xEC"
15651 "\x0F\x10\x4F\xB3\x12\x45\xC6\x3B"
15652 "\x7E\x08\xF9\x5A\xD0\x5D\x73\x2D"
15653 "\x58\xA4\xE5\xCB\x1C\xB4\xCE\x74"
15654 "\x32\x41\x1F\x31\x9C\x08\xA2\x5D"
15655 "\x67\xEB\x72\x1D\xF8\xE7\x70\x54"
15656 "\x34\x4B\x31\x69\x84\x66\x96\x44"
15657 "\x56\xCC\x1E\xD9\xE6\x13\x6A\xB9"
15658 "\x2D\x0A\x05\x45\x2D\x90\xCC\xDF"
15659 "\x16\x5C\x5F\x79\x34\x52\x54\xFE"
15660 "\xFE\xCD\xAD\x04\x2E\xAD\x86\x06"
15661 "\x1F\x37\xE8\x28\xBC\xD3\x8F\x5B"
15662 "\x92\x66\x87\x3B\x8A\x0A\x1A\xCC"
15663 "\x6E\xAB\x9F\x0B\xFA\x5C\xE6\xFD"
15664 "\x3C\x98\x08\x12\xEC\xAA\x9E\x11"
15665 "\xCA\xB2\x1F\xCE\x5E\x5B\xB2\x72"
15666 "\x9C\xCC\x5D\xC5\xE0\x32\xC0\x56"
15667 "\xD5\x45\x16\xD2\xAF\x13\x66\xF7"
15668 "\x8C\x67\xAC\x79\xB2\xAF\x56\x27"
15669 "\x3F\xCC\xFE\xCB\x1E\xC0\x75\xF1"
15670 "\xA7\xC9\xC3\x1D\x8E\xDD\xF9\xD4"
15671 "\x42\xC8\x21\x08\x16\xF7\x01\xD7"
15672 "\xAC\x8E\x3F\x1D\x56\xC1\x06\xE4"
15673 "\x9C\x62\xD6\xA5\x6A\x50\x44\xB3"
15674 "\x35\x1C\x82\xB9\x10\xF9\x42\xA1"
15675 "\xFC\x74\x9B\x44\x4F\x25\x02\xE3"
15676 "\x08\xF5\xD4\x32\x39\x08\x11\xE8"
15677 "\xD2\x6B\x50\x53\xD4\x08\xD1\x6B"
15678 "\x3A\x4A\x68\x7B\x7C\xCD\x46\x5E"
15679 "\x0D\x07\x19\xDB\x67\xD7\x98\x91"
15680 "\xD7\x17\x10\x9B\x7B\x8A\x9B\x33"
15681 "\xAE\xF3\x00\xA6\xD4\x15\xD9\xEA"
15682 "\x85\x99\x22\xE8\x91\x38\x70\x83"
15683 "\x93\x01\x24\x6C\xFA\x9A\xB9\x07"
15684 "\xEA\x8D\x3B\xD9\x2A\x43\x59\x16"
15685 "\x2F\x69\xEE\x84\x36\x44\x76\x98"
15686 "\xF3\x04\x2A\x7C\x74\x3D\x29\x2B"
15687 "\x0D\xAD\x8F\x44\x82\x9E\x57\x8D"
15688 "\xAC\xED\x18\x1F\x50\xA4\xF5\x98"
15689 "\x1F\xBD\x92\x91\x1B\x2D\xA6\xD6"
15690 "\xD2\xE3\x02\xAA\x92\x3B\xC6\xB3"
15691 "\x1B\x39\x72\xD5\x26\xCA\x04\xE0"
15692 "\xFC\x58\x78\xBB\xB1\x3F\xA1\x9C"
15693 "\x42\x24\x3E\x2E\x22\xBB\x4B\xBA"
15694 "\xF4\x52\x0A\xE6\xAE\x47\xB4\x7D"
15695 "\x1D\xA8\xBE\x81\x1A\x75\xDA\xAC"
15696 "\xA6\x25\x1E\xEF\x3A\xC0\x6C\x63"
15697 "\xEF\xDC\xC9\x79\x10\x26\xE8\x61"
15698 "\x29\xFC\xA4\x05\xDF\x7D\x5C\x63"
15699 "\x10\x09\x9B\x46\x9B\xF2\x2C\x2B"
15700 "\xFA\x3A\x05\x4C\xFA\xD1\xFF\xFE"
15701 "\xF1\x4C\xE5\xB2\x91\x64\x0C\x51",
15702 .rlen = 496,
15703 .also_non_np = 1,
15704 .np = 2,
15705 .tap = { 496 - 16, 16 },
15706 }, { /* Generated with Crypto++ */
15707 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
15708 "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
15709 "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
15710 "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
15711 .klen = 32,
15712 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
15713 "\xE2\x7D\x18\xD6\x71\x0C\xA7\x42",
15714 .input = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
15715 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
15716 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
15717 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
15718 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
15719 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
15720 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
15721 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
15722 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
15723 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
15724 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
15725 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
15726 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
15727 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
15728 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
15729 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
15730 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
15731 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
15732 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
15733 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
15734 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
15735 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
15736 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
15737 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
15738 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
15739 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
15740 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
15741 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
15742 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
15743 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
15744 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
15745 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
15746 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
15747 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
15748 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
15749 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
15750 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
15751 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
15752 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
15753 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
15754 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
15755 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
15756 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
15757 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
15758 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
15759 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
15760 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
15761 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
15762 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
15763 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
15764 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
15765 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
15766 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
15767 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
15768 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
15769 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
15770 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
15771 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
15772 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
15773 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
15774 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
15775 "\xED\x56\xBF\x28\xB4\x1D\x86\x12"
15776 "\x7B\xE4\x4D",
15777 .ilen = 499,
15778 .result = "\xDA\x4E\x3F\xBC\xE8\xB6\x3A\xA2"
15779 "\xD5\x4D\x84\x4A\xA9\x0C\xE1\xA5"
15780 "\xB8\x73\xBC\xF9\xBB\x59\x2F\x44"
15781 "\x8B\xAB\x82\x6C\xB4\x32\x9A\xDE"
15782 "\x5A\x0B\xDB\x7A\x6B\xF2\x38\x9F"
15783 "\x06\xF7\xF7\xFF\xFF\xC0\x8A\x2E"
15784 "\x76\xEA\x06\x32\x23\xF3\x59\x2E"
15785 "\x75\xDE\x71\x86\x3C\x98\x23\x44"
15786 "\x5B\xF2\xFA\x6A\x00\xBB\xC1\xAD"
15787 "\x58\xBD\x3E\x6F\x2E\xB4\x19\x04"
15788 "\x70\x8B\x92\x55\x23\xE9\x6A\x3A"
15789 "\x78\x7A\x1B\x10\x85\x52\x9C\x12"
15790 "\xE4\x55\x81\x21\xCE\x53\xD0\x3B"
15791 "\x63\x77\x2C\x74\xD1\xF5\x60\xF3"
15792 "\xA1\xDE\x44\x3C\x8F\x4D\x2F\xDD"
15793 "\x8A\xFE\x3C\x42\x8E\xD3\xF2\x8E"
15794 "\xA8\x28\x69\x65\x31\xE1\x45\x83"
15795 "\xE4\x49\xC4\x9C\xA7\x28\xAA\x21"
15796 "\xCD\x5D\x0F\x15\xB7\x93\x07\x26"
15797 "\xB0\x65\x6D\x91\x90\x23\x7A\xC6"
15798 "\xDB\x68\xB0\xA1\x8E\xA4\x76\x4E"
15799 "\xC6\x91\x83\x20\x92\x4D\x63\x7A"
15800 "\x45\x18\x18\x74\x19\xAD\x71\x01"
15801 "\x6B\x23\xAD\x9D\x4E\xE4\x6E\x46"
15802 "\xC9\x73\x7A\xF9\x02\x95\xF4\x07"
15803 "\x0E\x7A\xA6\xC5\xAE\xFA\x15\x2C"
15804 "\x51\x71\xF1\xDC\x22\xB6\xAC\xD8"
15805 "\x19\x24\x44\xBC\x0C\xFB\x3C\x2D"
15806 "\xB1\x50\x47\x15\x0E\xDB\xB6\xD7"
15807 "\xE8\x61\xE5\x95\x52\x1E\x3E\x49"
15808 "\x70\xE9\x66\x04\x4C\xE1\xAF\xBD"
15809 "\xDD\x15\x3B\x20\x59\x24\xFF\xB0"
15810 "\x39\xAA\xE7\xBF\x23\xA3\x6E\xD5"
15811 "\x15\xF0\x61\x4F\xAE\x89\x10\x58"
15812 "\x5A\x33\x95\x52\x2A\xB5\x77\x9C"
15813 "\xA5\x43\x80\x40\x27\x2D\xAE\xD9"
15814 "\x3F\xE0\x80\x94\x78\x79\xCB\x7E"
15815 "\xAD\x12\x44\x4C\xEC\x27\xB0\xEE"
15816 "\x0B\x05\x2A\x82\x99\x58\xBB\x7A"
15817 "\x8D\x6D\x9D\x8E\xE2\x8E\xE7\x93"
15818 "\x2F\xB3\x09\x8D\x06\xD5\xEE\x70"
15819 "\x16\xAE\x35\xC5\x52\x0F\x46\x1F"
15820 "\x71\xF9\x5E\xF2\x67\xDC\x98\x2F"
15821 "\xA3\x23\xAA\xD5\xD0\x49\xF4\xA6"
15822 "\xF6\xB8\x32\xCD\xD6\x85\x73\x60"
15823 "\x59\x20\xE7\x55\x0E\x91\xE2\x0C"
15824 "\x3F\x1C\xEB\x3D\xDF\x52\x64\xF2"
15825 "\x7D\x8B\x5D\x63\x16\xB9\xB2\x5D"
15826 "\x5E\xAB\xB2\x97\xAB\x78\x44\xE7"
15827 "\xC6\x72\x20\xC5\x90\x9B\xDC\x5D"
15828 "\xB0\xEF\x44\xEF\x87\x31\x8D\xF4"
15829 "\xFB\x81\x5D\xF7\x96\x96\xD4\x50"
15830 "\x89\xA7\xF6\xB9\x67\x76\x40\x9E"
15831 "\x9D\x40\xD5\x2C\x30\xB8\x01\x8F"
15832 "\xE4\x7B\x71\x48\xA9\xA0\xA0\x1D"
15833 "\x87\x52\xA4\x91\xA9\xD7\xA9\x51"
15834 "\xD9\x59\xF7\xCC\x63\x22\xC1\x8D"
15835 "\x84\x7B\xD8\x22\x32\x5C\x6F\x1D"
15836 "\x6E\x9F\xFA\xDD\x49\x40\xDC\x37"
15837 "\x14\x8C\xE1\x80\x1B\xDD\x36\x2A"
15838 "\xD0\xE9\x54\x99\x5D\xBA\x3B\x11"
15839 "\xD8\xFE\xC9\x5B\x5C\x25\xE5\x76"
15840 "\xFB\xF2\x3F",
15841 .rlen = 499,
15842 .also_non_np = 1,
15843 .np = 2,
15844 .tap = { 499 - 16, 16 },
15845 },
11697}; 15846};
11698 15847
11699static struct cipher_testvec aes_ctr_dec_tv_template[] = { 15848static struct cipher_testvec aes_ctr_dec_tv_template[] = {
@@ -11772,7 +15921,283 @@ static struct cipher_testvec aes_ctr_dec_tv_template[] = {
11772 "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" 15921 "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
11773 "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", 15922 "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
11774 .rlen = 64, 15923 .rlen = 64,
11775 } 15924 }, { /* Generated with Crypto++ */
15925 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
15926 "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
15927 "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
15928 "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
15929 .klen = 32,
15930 .iv = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
15931 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
15932 .input = "\x04\xF3\xD3\x88\x17\xEF\xDC\xEF"
15933 "\x8B\x04\xF8\x3A\x66\x8D\x1A\x53"
15934 "\x57\x1F\x4B\x23\xE4\xA0\xAF\xF9"
15935 "\x69\x95\x35\x98\x8D\x4D\x8C\xC1"
15936 "\xF0\xB2\x7F\x80\xBB\x54\x28\xA2"
15937 "\x7A\x1B\x9F\x77\xEC\x0E\x6E\xDE"
15938 "\xF0\xEC\xB8\xE4\x20\x62\xEE\xDB"
15939 "\x5D\xF5\xDD\xE3\x54\xFC\xDD\xEB"
15940 "\x6A\xEE\x65\xA1\x21\xD6\xD7\x81"
15941 "\x47\x61\x12\x4D\xC2\x8C\xFA\x78"
15942 "\x1F\x28\x02\x01\xC3\xFC\x1F\xEC"
15943 "\x0F\x10\x4F\xB3\x12\x45\xC6\x3B"
15944 "\x7E\x08\xF9\x5A\xD0\x5D\x73\x2D"
15945 "\x58\xA4\xE5\xCB\x1C\xB4\xCE\x74"
15946 "\x32\x41\x1F\x31\x9C\x08\xA2\x5D"
15947 "\x67\xEB\x72\x1D\xF8\xE7\x70\x54"
15948 "\x34\x4B\x31\x69\x84\x66\x96\x44"
15949 "\x56\xCC\x1E\xD9\xE6\x13\x6A\xB9"
15950 "\x2D\x0A\x05\x45\x2D\x90\xCC\xDF"
15951 "\x16\x5C\x5F\x79\x34\x52\x54\xFE"
15952 "\xFE\xCD\xAD\x04\x2E\xAD\x86\x06"
15953 "\x1F\x37\xE8\x28\xBC\xD3\x8F\x5B"
15954 "\x92\x66\x87\x3B\x8A\x0A\x1A\xCC"
15955 "\x6E\xAB\x9F\x0B\xFA\x5C\xE6\xFD"
15956 "\x3C\x98\x08\x12\xEC\xAA\x9E\x11"
15957 "\xCA\xB2\x1F\xCE\x5E\x5B\xB2\x72"
15958 "\x9C\xCC\x5D\xC5\xE0\x32\xC0\x56"
15959 "\xD5\x45\x16\xD2\xAF\x13\x66\xF7"
15960 "\x8C\x67\xAC\x79\xB2\xAF\x56\x27"
15961 "\x3F\xCC\xFE\xCB\x1E\xC0\x75\xF1"
15962 "\xA7\xC9\xC3\x1D\x8E\xDD\xF9\xD4"
15963 "\x42\xC8\x21\x08\x16\xF7\x01\xD7"
15964 "\xAC\x8E\x3F\x1D\x56\xC1\x06\xE4"
15965 "\x9C\x62\xD6\xA5\x6A\x50\x44\xB3"
15966 "\x35\x1C\x82\xB9\x10\xF9\x42\xA1"
15967 "\xFC\x74\x9B\x44\x4F\x25\x02\xE3"
15968 "\x08\xF5\xD4\x32\x39\x08\x11\xE8"
15969 "\xD2\x6B\x50\x53\xD4\x08\xD1\x6B"
15970 "\x3A\x4A\x68\x7B\x7C\xCD\x46\x5E"
15971 "\x0D\x07\x19\xDB\x67\xD7\x98\x91"
15972 "\xD7\x17\x10\x9B\x7B\x8A\x9B\x33"
15973 "\xAE\xF3\x00\xA6\xD4\x15\xD9\xEA"
15974 "\x85\x99\x22\xE8\x91\x38\x70\x83"
15975 "\x93\x01\x24\x6C\xFA\x9A\xB9\x07"
15976 "\xEA\x8D\x3B\xD9\x2A\x43\x59\x16"
15977 "\x2F\x69\xEE\x84\x36\x44\x76\x98"
15978 "\xF3\x04\x2A\x7C\x74\x3D\x29\x2B"
15979 "\x0D\xAD\x8F\x44\x82\x9E\x57\x8D"
15980 "\xAC\xED\x18\x1F\x50\xA4\xF5\x98"
15981 "\x1F\xBD\x92\x91\x1B\x2D\xA6\xD6"
15982 "\xD2\xE3\x02\xAA\x92\x3B\xC6\xB3"
15983 "\x1B\x39\x72\xD5\x26\xCA\x04\xE0"
15984 "\xFC\x58\x78\xBB\xB1\x3F\xA1\x9C"
15985 "\x42\x24\x3E\x2E\x22\xBB\x4B\xBA"
15986 "\xF4\x52\x0A\xE6\xAE\x47\xB4\x7D"
15987 "\x1D\xA8\xBE\x81\x1A\x75\xDA\xAC"
15988 "\xA6\x25\x1E\xEF\x3A\xC0\x6C\x63"
15989 "\xEF\xDC\xC9\x79\x10\x26\xE8\x61"
15990 "\x29\xFC\xA4\x05\xDF\x7D\x5C\x63"
15991 "\x10\x09\x9B\x46\x9B\xF2\x2C\x2B"
15992 "\xFA\x3A\x05\x4C\xFA\xD1\xFF\xFE"
15993 "\xF1\x4C\xE5\xB2\x91\x64\x0C\x51",
15994 .ilen = 496,
15995 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
15996 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
15997 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
15998 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
15999 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
16000 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
16001 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
16002 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
16003 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
16004 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
16005 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
16006 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
16007 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
16008 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
16009 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
16010 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
16011 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
16012 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
16013 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
16014 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
16015 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
16016 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
16017 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
16018 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
16019 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
16020 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
16021 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
16022 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
16023 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
16024 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
16025 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
16026 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
16027 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
16028 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
16029 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
16030 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
16031 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
16032 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
16033 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
16034 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
16035 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
16036 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
16037 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
16038 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
16039 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
16040 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
16041 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
16042 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
16043 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
16044 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
16045 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
16046 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
16047 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
16048 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
16049 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
16050 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
16051 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
16052 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
16053 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
16054 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
16055 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
16056 "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
16057 .rlen = 496,
16058 .also_non_np = 1,
16059 .np = 2,
16060 .tap = { 496 - 16, 16 },
16061 }, { /* Generated with Crypto++ */
16062 .key = "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
16063 "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
16064 "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
16065 "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
16066 .klen = 32,
16067 .iv = "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
16068 "\xE2\x7D\x18\xD6\x71\x0C\xA7\x42",
16069 .input = "\xDA\x4E\x3F\xBC\xE8\xB6\x3A\xA2"
16070 "\xD5\x4D\x84\x4A\xA9\x0C\xE1\xA5"
16071 "\xB8\x73\xBC\xF9\xBB\x59\x2F\x44"
16072 "\x8B\xAB\x82\x6C\xB4\x32\x9A\xDE"
16073 "\x5A\x0B\xDB\x7A\x6B\xF2\x38\x9F"
16074 "\x06\xF7\xF7\xFF\xFF\xC0\x8A\x2E"
16075 "\x76\xEA\x06\x32\x23\xF3\x59\x2E"
16076 "\x75\xDE\x71\x86\x3C\x98\x23\x44"
16077 "\x5B\xF2\xFA\x6A\x00\xBB\xC1\xAD"
16078 "\x58\xBD\x3E\x6F\x2E\xB4\x19\x04"
16079 "\x70\x8B\x92\x55\x23\xE9\x6A\x3A"
16080 "\x78\x7A\x1B\x10\x85\x52\x9C\x12"
16081 "\xE4\x55\x81\x21\xCE\x53\xD0\x3B"
16082 "\x63\x77\x2C\x74\xD1\xF5\x60\xF3"
16083 "\xA1\xDE\x44\x3C\x8F\x4D\x2F\xDD"
16084 "\x8A\xFE\x3C\x42\x8E\xD3\xF2\x8E"
16085 "\xA8\x28\x69\x65\x31\xE1\x45\x83"
16086 "\xE4\x49\xC4\x9C\xA7\x28\xAA\x21"
16087 "\xCD\x5D\x0F\x15\xB7\x93\x07\x26"
16088 "\xB0\x65\x6D\x91\x90\x23\x7A\xC6"
16089 "\xDB\x68\xB0\xA1\x8E\xA4\x76\x4E"
16090 "\xC6\x91\x83\x20\x92\x4D\x63\x7A"
16091 "\x45\x18\x18\x74\x19\xAD\x71\x01"
16092 "\x6B\x23\xAD\x9D\x4E\xE4\x6E\x46"
16093 "\xC9\x73\x7A\xF9\x02\x95\xF4\x07"
16094 "\x0E\x7A\xA6\xC5\xAE\xFA\x15\x2C"
16095 "\x51\x71\xF1\xDC\x22\xB6\xAC\xD8"
16096 "\x19\x24\x44\xBC\x0C\xFB\x3C\x2D"
16097 "\xB1\x50\x47\x15\x0E\xDB\xB6\xD7"
16098 "\xE8\x61\xE5\x95\x52\x1E\x3E\x49"
16099 "\x70\xE9\x66\x04\x4C\xE1\xAF\xBD"
16100 "\xDD\x15\x3B\x20\x59\x24\xFF\xB0"
16101 "\x39\xAA\xE7\xBF\x23\xA3\x6E\xD5"
16102 "\x15\xF0\x61\x4F\xAE\x89\x10\x58"
16103 "\x5A\x33\x95\x52\x2A\xB5\x77\x9C"
16104 "\xA5\x43\x80\x40\x27\x2D\xAE\xD9"
16105 "\x3F\xE0\x80\x94\x78\x79\xCB\x7E"
16106 "\xAD\x12\x44\x4C\xEC\x27\xB0\xEE"
16107 "\x0B\x05\x2A\x82\x99\x58\xBB\x7A"
16108 "\x8D\x6D\x9D\x8E\xE2\x8E\xE7\x93"
16109 "\x2F\xB3\x09\x8D\x06\xD5\xEE\x70"
16110 "\x16\xAE\x35\xC5\x52\x0F\x46\x1F"
16111 "\x71\xF9\x5E\xF2\x67\xDC\x98\x2F"
16112 "\xA3\x23\xAA\xD5\xD0\x49\xF4\xA6"
16113 "\xF6\xB8\x32\xCD\xD6\x85\x73\x60"
16114 "\x59\x20\xE7\x55\x0E\x91\xE2\x0C"
16115 "\x3F\x1C\xEB\x3D\xDF\x52\x64\xF2"
16116 "\x7D\x8B\x5D\x63\x16\xB9\xB2\x5D"
16117 "\x5E\xAB\xB2\x97\xAB\x78\x44\xE7"
16118 "\xC6\x72\x20\xC5\x90\x9B\xDC\x5D"
16119 "\xB0\xEF\x44\xEF\x87\x31\x8D\xF4"
16120 "\xFB\x81\x5D\xF7\x96\x96\xD4\x50"
16121 "\x89\xA7\xF6\xB9\x67\x76\x40\x9E"
16122 "\x9D\x40\xD5\x2C\x30\xB8\x01\x8F"
16123 "\xE4\x7B\x71\x48\xA9\xA0\xA0\x1D"
16124 "\x87\x52\xA4\x91\xA9\xD7\xA9\x51"
16125 "\xD9\x59\xF7\xCC\x63\x22\xC1\x8D"
16126 "\x84\x7B\xD8\x22\x32\x5C\x6F\x1D"
16127 "\x6E\x9F\xFA\xDD\x49\x40\xDC\x37"
16128 "\x14\x8C\xE1\x80\x1B\xDD\x36\x2A"
16129 "\xD0\xE9\x54\x99\x5D\xBA\x3B\x11"
16130 "\xD8\xFE\xC9\x5B\x5C\x25\xE5\x76"
16131 "\xFB\xF2\x3F",
16132 .ilen = 499,
16133 .result = "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
16134 "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
16135 "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
16136 "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
16137 "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
16138 "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
16139 "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
16140 "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
16141 "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
16142 "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
16143 "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
16144 "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
16145 "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
16146 "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
16147 "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
16148 "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
16149 "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
16150 "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
16151 "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
16152 "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
16153 "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
16154 "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
16155 "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
16156 "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
16157 "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
16158 "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
16159 "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
16160 "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
16161 "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
16162 "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
16163 "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
16164 "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
16165 "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
16166 "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
16167 "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
16168 "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
16169 "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
16170 "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
16171 "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
16172 "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
16173 "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
16174 "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
16175 "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
16176 "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
16177 "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
16178 "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
16179 "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
16180 "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
16181 "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
16182 "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
16183 "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
16184 "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
16185 "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
16186 "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
16187 "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
16188 "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
16189 "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
16190 "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
16191 "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
16192 "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
16193 "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
16194 "\xED\x56\xBF\x28\xB4\x1D\x86\x12"
16195 "\x7B\xE4\x4D",
16196 .rlen = 499,
16197 .also_non_np = 1,
16198 .np = 2,
16199 .tap = { 499 - 16, 16 },
16200 },
11776}; 16201};
11777 16202
11778static struct cipher_testvec aes_ctr_rfc3686_enc_tv_template[] = { 16203static struct cipher_testvec aes_ctr_rfc3686_enc_tv_template[] = {
@@ -16291,8 +20716,7 @@ static struct cipher_testvec camellia_enc_tv_template[] = {
16291 .result = "\x9a\xcc\x23\x7d\xff\x16\xd7\x6c" 20716 .result = "\x9a\xcc\x23\x7d\xff\x16\xd7\x6c"
16292 "\x20\xef\x7c\x91\x9e\x3a\x75\x09", 20717 "\x20\xef\x7c\x91\x9e\x3a\x75\x09",
16293 .rlen = 16, 20718 .rlen = 16,
16294 }, 20719 }, { /* Generated with Crypto++ */
16295 { /* Generated with Crypto++ */
16296 .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" 20720 .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C"
16297 "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" 20721 "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D"
16298 "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" 20722 "\x4A\x27\x04\xE1\x27\x04\xE1\xBE"
@@ -16303,18 +20727,130 @@ static struct cipher_testvec camellia_enc_tv_template[] = {
16303 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 20727 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16304 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 20728 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16305 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 20729 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16306 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", 20730 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16307 .ilen = 48, 20731 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
20732 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
20733 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
20734 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
20735 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
20736 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
20737 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
20738 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
20739 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
20740 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
20741 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
20742 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
20743 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
20744 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
20745 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
20746 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
20747 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
20748 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
20749 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
20750 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
20751 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
20752 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
20753 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
20754 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
20755 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
20756 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
20757 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
20758 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
20759 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
20760 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
20761 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
20762 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
20763 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
20764 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
20765 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
20766 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
20767 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
20768 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
20769 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
20770 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
20771 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
20772 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
20773 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
20774 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
20775 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
20776 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
20777 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
20778 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
20779 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
20780 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
20781 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
20782 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
20783 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
20784 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
20785 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
20786 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
20787 .ilen = 496,
16308 .result = "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA" 20788 .result = "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA"
16309 "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7" 20789 "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7"
16310 "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04" 20790 "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04"
16311 "\xB3\xC2\xB9\x03\xAA\x91\x56\x29" 20791 "\xB3\xC2\xB9\x03\xAA\x91\x56\x29"
16312 "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9" 20792 "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9"
16313 "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A", 20793 "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A"
16314 .rlen = 48, 20794 "\x8D\x7D\x1B\x9B\xC7\x68\x72\xF8"
20795 "\x01\x9B\x17\x0A\x29\xE7\x61\x28"
20796 "\x7F\xA7\x50\xCA\x20\x2C\x96\x3B"
20797 "\x6E\x5C\x5D\x3F\xB5\x7F\xF3\x2B"
20798 "\x04\xEF\x9D\xD4\xCE\x41\x28\x8E"
20799 "\x83\x54\xAE\x7C\x82\x46\x10\xC9"
20800 "\xC4\x8A\x1E\x1F\x4C\xA9\xFC\xEC"
20801 "\x3C\x8C\x30\xFC\x59\xD2\x54\xC4"
20802 "\x6F\x50\xC6\xCA\x8C\x14\x5B\x9C"
20803 "\x18\x56\x5B\xF8\x33\x0E\x4A\xDB"
20804 "\xEC\xB5\x6E\x5B\x31\xC4\x0E\x98"
20805 "\x9F\x32\xBA\xA2\x18\xCF\x55\x43"
20806 "\xFE\x80\x8F\x60\xCF\x05\x30\x9B"
20807 "\x70\x50\x1E\x9C\x08\x87\xE6\x20"
20808 "\xD2\xF3\x27\xF8\x2A\x8D\x12\xB2"
20809 "\xBC\x5F\xFE\x52\x52\xF6\x7F\xB6"
20810 "\xB8\x30\x86\x3B\x0F\x94\x1E\x79"
20811 "\x13\x94\x35\xA2\xB1\x35\x5B\x05"
20812 "\x2A\x98\x6B\x96\x4C\xB1\x20\xBE"
20813 "\xB6\x14\xC2\x06\xBF\xFD\x5F\x2A"
20814 "\xF5\x33\xC8\x19\x45\x14\x44\x5D"
20815 "\xFE\x94\x7B\xBB\x63\x13\x57\xC3"
20816 "\x2A\x8F\x6C\x11\x2A\x07\xA7\x6A"
20817 "\xBF\x20\xD3\x99\xC6\x00\x0B\xBF"
20818 "\x83\x46\x25\x3A\xB0\xF6\xC5\xC8"
20819 "\x00\xCA\xE5\x28\x4A\x7C\x95\x9C"
20820 "\x7B\x43\xAB\xF9\xE4\xF8\x74\xAB"
20821 "\xA7\xB8\x9C\x0F\x53\x7B\xB6\x74"
20822 "\x60\x64\x0D\x1C\x80\xD1\x20\x9E"
20823 "\xDC\x14\x27\x9B\xFC\xBD\x5C\x96"
20824 "\xD2\x51\xDC\x96\xEE\xE5\xEA\x2B"
20825 "\x02\x7C\xAA\x3C\xDC\x9D\x7B\x01"
20826 "\x20\xC3\xE1\x0B\xDD\xAB\xF3\x1E"
20827 "\x19\xA8\x84\x29\x5F\xCC\xC3\x5B"
20828 "\xE4\x33\x59\xDC\x12\xEB\x2B\x4D"
20829 "\x5B\x55\x23\xB7\x40\x31\xDE\xEE"
20830 "\x18\xC9\x3C\x4D\xBC\xED\xE0\x42"
20831 "\xAD\xDE\xA0\xA3\xC3\xFE\x44\xD3"
20832 "\xE1\x9A\xDA\xAB\x32\xFC\x1A\xBF"
20833 "\x63\xA9\xF0\x6A\x08\x46\xBD\x48"
20834 "\x83\x06\xAB\x82\x99\x01\x16\x1A"
20835 "\x03\x36\xC5\x59\x6B\xB8\x8C\x9F"
20836 "\xC6\x51\x3D\xE5\x7F\xBF\xAB\xBC"
20837 "\xC9\xA1\x88\x34\x5F\xA9\x7C\x3B"
20838 "\x9F\x1B\x98\x2B\x4F\xFB\x9B\xF0"
20839 "\xCD\xB6\x45\xB2\x29\x2E\x34\x23"
20840 "\xA9\x97\xC0\x22\x8C\x42\x9B\x5F"
20841 "\x40\xC8\xD7\x3D\x82\x9A\x6F\xAA"
20842 "\x74\x83\x29\x05\xE8\xC4\x4D\x01"
20843 "\xB5\xE5\x84\x3F\x7F\xD3\xE0\x99"
20844 "\xDA\xE7\x6F\x30\xFD\xAA\x92\x30"
20845 "\xA5\x46\x8B\xA2\xE6\x58\x62\x7C"
20846 "\x2C\x35\x1B\x38\x85\x7D\xE8\xF3"
20847 "\x87\x4F\xDA\xD8\x5F\xFC\xB6\x44"
20848 "\xD0\xE3\x9B\x8B\xBF\xD6\xB8\xC4"
20849 "\x73\xAE\x1D\x8B\x5B\x74\x8B\xCB",
20850 .rlen = 496,
16315 .also_non_np = 1, 20851 .also_non_np = 1,
16316 .np = 2, 20852 .np = 2,
16317 .tap = { 48 - 16, 16 }, 20853 .tap = { 496 - 16, 16 },
16318 }, 20854 },
16319}; 20855};
16320 20856
@@ -16352,8 +20888,7 @@ static struct cipher_testvec camellia_dec_tv_template[] = {
16352 .result = "\x01\x23\x45\x67\x89\xab\xcd\xef" 20888 .result = "\x01\x23\x45\x67\x89\xab\xcd\xef"
16353 "\xfe\xdc\xba\x98\x76\x54\x32\x10", 20889 "\xfe\xdc\xba\x98\x76\x54\x32\x10",
16354 .rlen = 16, 20890 .rlen = 16,
16355 }, 20891 }, { /* Generated with Crypto++ */
16356 { /* Generated with Crypto++ */
16357 .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" 20892 .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C"
16358 "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" 20893 "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D"
16359 "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" 20894 "\x4A\x27\x04\xE1\x27\x04\xE1\xBE"
@@ -16364,18 +20899,130 @@ static struct cipher_testvec camellia_dec_tv_template[] = {
16364 "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04" 20899 "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04"
16365 "\xB3\xC2\xB9\x03\xAA\x91\x56\x29" 20900 "\xB3\xC2\xB9\x03\xAA\x91\x56\x29"
16366 "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9" 20901 "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9"
16367 "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A", 20902 "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A"
16368 .ilen = 48, 20903 "\x8D\x7D\x1B\x9B\xC7\x68\x72\xF8"
20904 "\x01\x9B\x17\x0A\x29\xE7\x61\x28"
20905 "\x7F\xA7\x50\xCA\x20\x2C\x96\x3B"
20906 "\x6E\x5C\x5D\x3F\xB5\x7F\xF3\x2B"
20907 "\x04\xEF\x9D\xD4\xCE\x41\x28\x8E"
20908 "\x83\x54\xAE\x7C\x82\x46\x10\xC9"
20909 "\xC4\x8A\x1E\x1F\x4C\xA9\xFC\xEC"
20910 "\x3C\x8C\x30\xFC\x59\xD2\x54\xC4"
20911 "\x6F\x50\xC6\xCA\x8C\x14\x5B\x9C"
20912 "\x18\x56\x5B\xF8\x33\x0E\x4A\xDB"
20913 "\xEC\xB5\x6E\x5B\x31\xC4\x0E\x98"
20914 "\x9F\x32\xBA\xA2\x18\xCF\x55\x43"
20915 "\xFE\x80\x8F\x60\xCF\x05\x30\x9B"
20916 "\x70\x50\x1E\x9C\x08\x87\xE6\x20"
20917 "\xD2\xF3\x27\xF8\x2A\x8D\x12\xB2"
20918 "\xBC\x5F\xFE\x52\x52\xF6\x7F\xB6"
20919 "\xB8\x30\x86\x3B\x0F\x94\x1E\x79"
20920 "\x13\x94\x35\xA2\xB1\x35\x5B\x05"
20921 "\x2A\x98\x6B\x96\x4C\xB1\x20\xBE"
20922 "\xB6\x14\xC2\x06\xBF\xFD\x5F\x2A"
20923 "\xF5\x33\xC8\x19\x45\x14\x44\x5D"
20924 "\xFE\x94\x7B\xBB\x63\x13\x57\xC3"
20925 "\x2A\x8F\x6C\x11\x2A\x07\xA7\x6A"
20926 "\xBF\x20\xD3\x99\xC6\x00\x0B\xBF"
20927 "\x83\x46\x25\x3A\xB0\xF6\xC5\xC8"
20928 "\x00\xCA\xE5\x28\x4A\x7C\x95\x9C"
20929 "\x7B\x43\xAB\xF9\xE4\xF8\x74\xAB"
20930 "\xA7\xB8\x9C\x0F\x53\x7B\xB6\x74"
20931 "\x60\x64\x0D\x1C\x80\xD1\x20\x9E"
20932 "\xDC\x14\x27\x9B\xFC\xBD\x5C\x96"
20933 "\xD2\x51\xDC\x96\xEE\xE5\xEA\x2B"
20934 "\x02\x7C\xAA\x3C\xDC\x9D\x7B\x01"
20935 "\x20\xC3\xE1\x0B\xDD\xAB\xF3\x1E"
20936 "\x19\xA8\x84\x29\x5F\xCC\xC3\x5B"
20937 "\xE4\x33\x59\xDC\x12\xEB\x2B\x4D"
20938 "\x5B\x55\x23\xB7\x40\x31\xDE\xEE"
20939 "\x18\xC9\x3C\x4D\xBC\xED\xE0\x42"
20940 "\xAD\xDE\xA0\xA3\xC3\xFE\x44\xD3"
20941 "\xE1\x9A\xDA\xAB\x32\xFC\x1A\xBF"
20942 "\x63\xA9\xF0\x6A\x08\x46\xBD\x48"
20943 "\x83\x06\xAB\x82\x99\x01\x16\x1A"
20944 "\x03\x36\xC5\x59\x6B\xB8\x8C\x9F"
20945 "\xC6\x51\x3D\xE5\x7F\xBF\xAB\xBC"
20946 "\xC9\xA1\x88\x34\x5F\xA9\x7C\x3B"
20947 "\x9F\x1B\x98\x2B\x4F\xFB\x9B\xF0"
20948 "\xCD\xB6\x45\xB2\x29\x2E\x34\x23"
20949 "\xA9\x97\xC0\x22\x8C\x42\x9B\x5F"
20950 "\x40\xC8\xD7\x3D\x82\x9A\x6F\xAA"
20951 "\x74\x83\x29\x05\xE8\xC4\x4D\x01"
20952 "\xB5\xE5\x84\x3F\x7F\xD3\xE0\x99"
20953 "\xDA\xE7\x6F\x30\xFD\xAA\x92\x30"
20954 "\xA5\x46\x8B\xA2\xE6\x58\x62\x7C"
20955 "\x2C\x35\x1B\x38\x85\x7D\xE8\xF3"
20956 "\x87\x4F\xDA\xD8\x5F\xFC\xB6\x44"
20957 "\xD0\xE3\x9B\x8B\xBF\xD6\xB8\xC4"
20958 "\x73\xAE\x1D\x8B\x5B\x74\x8B\xCB",
20959 .ilen = 496,
16369 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 20960 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
16370 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 20961 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
16371 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 20962 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16372 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 20963 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16373 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 20964 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16374 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", 20965 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16375 .rlen = 48, 20966 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
20967 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
20968 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
20969 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
20970 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
20971 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
20972 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
20973 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
20974 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
20975 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
20976 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
20977 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
20978 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
20979 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
20980 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
20981 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
20982 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
20983 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
20984 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
20985 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
20986 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
20987 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
20988 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
20989 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
20990 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
20991 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
20992 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
20993 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
20994 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
20995 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
20996 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
20997 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
20998 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
20999 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
21000 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
21001 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
21002 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
21003 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
21004 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
21005 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
21006 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
21007 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
21008 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
21009 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
21010 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
21011 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
21012 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
21013 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
21014 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
21015 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
21016 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
21017 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
21018 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
21019 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
21020 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
21021 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
21022 .rlen = 496,
16376 .also_non_np = 1, 21023 .also_non_np = 1,
16377 .np = 2, 21024 .np = 2,
16378 .tap = { 48 - 16, 16 }, 21025 .tap = { 496 - 16, 16 },
16379 }, 21026 },
16380}; 21027};
16381 21028
@@ -16407,8 +21054,7 @@ static struct cipher_testvec camellia_cbc_enc_tv_template[] = {
16407 "\x19\xb4\x3e\x57\x1c\x02\x5e\xa0" 21054 "\x19\xb4\x3e\x57\x1c\x02\x5e\xa0"
16408 "\x15\x78\xe0\x5e\xf2\xcb\x87\x16", 21055 "\x15\x78\xe0\x5e\xf2\xcb\x87\x16",
16409 .rlen = 32, 21056 .rlen = 32,
16410 }, 21057 }, { /* Generated with Crypto++ */
16411 { /* Generated with Crypto++ */
16412 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 21058 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
16413 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 21059 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
16414 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" 21060 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
@@ -16421,18 +21067,130 @@ static struct cipher_testvec camellia_cbc_enc_tv_template[] = {
16421 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 21067 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16422 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 21068 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16423 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 21069 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16424 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", 21070 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16425 .ilen = 48, 21071 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
21072 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
21073 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
21074 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
21075 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
21076 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
21077 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
21078 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
21079 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
21080 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
21081 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
21082 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
21083 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
21084 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
21085 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
21086 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
21087 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
21088 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
21089 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
21090 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
21091 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
21092 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
21093 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
21094 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
21095 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
21096 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
21097 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
21098 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
21099 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
21100 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
21101 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
21102 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
21103 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
21104 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
21105 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
21106 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
21107 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
21108 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
21109 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
21110 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
21111 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
21112 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
21113 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
21114 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
21115 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
21116 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
21117 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
21118 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
21119 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
21120 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
21121 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
21122 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
21123 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
21124 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
21125 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
21126 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
21127 .ilen = 496,
16426 .result = "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77" 21128 .result = "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77"
16427 "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40" 21129 "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40"
16428 "\x88\x39\xE3\xFD\x94\x4B\x25\x58" 21130 "\x88\x39\xE3\xFD\x94\x4B\x25\x58"
16429 "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B" 21131 "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B"
16430 "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27" 21132 "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27"
16431 "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01", 21133 "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01"
16432 .rlen = 48, 21134 "\x56\x2E\x10\xC2\x2C\xFF\xC6\x83"
21135 "\xB5\xDC\x4F\x63\xAD\x0E\x63\x5E"
21136 "\x56\xC8\x18\x3D\x79\x86\x97\xEF"
21137 "\x57\x0E\x63\xA1\xC1\x41\x48\xB8"
21138 "\x98\xB7\x51\x6D\x18\xF6\x19\x82"
21139 "\x37\x49\x88\xA4\xEF\x91\x21\x47"
21140 "\x03\x28\xEA\x42\xF4\xFB\x7A\x58"
21141 "\x28\x90\x77\x46\xD8\xD2\x35\x16"
21142 "\x44\xA9\x9E\x49\x52\x2A\xE4\x16"
21143 "\x5D\xF7\x65\xEB\x0F\xC9\x29\xE6"
21144 "\xCF\x76\x91\x89\x8A\x94\x39\xFA"
21145 "\x6B\x5F\x63\x53\x74\x43\x91\xF5"
21146 "\x3F\xBC\x88\x53\xB2\x1A\x02\x3F"
21147 "\x9D\x32\x84\xEB\x56\x28\xD6\x06"
21148 "\xD5\xB2\x20\xA9\xFC\xC3\x76\x62"
21149 "\x32\xCC\x86\xC8\x36\x67\x5E\x7E"
21150 "\xA4\xAA\x15\x63\x6B\xA9\x86\xAF"
21151 "\x1A\x52\x82\x36\x5F\xF4\x3F\x7A"
21152 "\x9B\x78\x62\x3B\x02\x28\x60\xB3"
21153 "\xBA\x82\xB1\xDD\xC9\x60\x8F\x47"
21154 "\xF1\x6B\xFE\xE5\x39\x34\xA0\x28"
21155 "\xA4\xB3\xC9\x7E\xED\x28\x8D\x70"
21156 "\xB2\x1D\xFD\xC6\x00\xCF\x1A\x94"
21157 "\x28\xF8\xC1\x34\xB7\x58\xA5\x6C"
21158 "\x1A\x9D\xE4\xE4\xF6\xB9\xB4\xB0"
21159 "\x5D\x51\x54\x9A\x53\xA0\xF9\x32"
21160 "\xBD\x31\x54\x14\x7B\x33\xEE\x17"
21161 "\xD3\xC7\x1F\x48\xBF\x0B\x22\xA2"
21162 "\x7D\x0C\xDF\xD0\x2E\x98\xFA\xD2"
21163 "\xFA\xCF\x24\x1D\x99\x9B\xD0\x7E"
21164 "\xF4\x4F\x88\xFF\x45\x99\x4A\xF4"
21165 "\xF2\x0A\x5B\x3B\x21\xAB\x92\xAE"
21166 "\x40\x78\x91\x95\xC4\x2F\xA3\xE8"
21167 "\x18\xC7\x07\xA6\xC8\xC0\x66\x33"
21168 "\x35\xC0\xB4\xA0\xF8\xEE\x1E\xF3"
21169 "\x40\xF5\x40\x54\xF1\x84\x8C\xEA"
21170 "\x27\x38\x1F\xF8\x77\xC7\xDF\xD8"
21171 "\x1D\xE2\xD9\x59\x40\x4F\x59\xD4"
21172 "\xF8\x17\x99\x8D\x58\x2D\x72\x44"
21173 "\x9D\x1D\x91\x64\xD6\x3F\x0A\x82"
21174 "\xC7\x57\x3D\xEF\xD3\x41\xFA\xA7"
21175 "\x68\xA3\xB8\xA5\x93\x74\x2E\x85"
21176 "\x4C\x9D\x69\x59\xCE\x15\xAE\xBF"
21177 "\x9C\x8F\x14\x64\x5D\x7F\xCF\x0B"
21178 "\xCE\x43\x5D\x28\xC0\x2F\xFB\x18"
21179 "\x79\x9A\xFC\x43\x16\x7C\x6B\x7B"
21180 "\x38\xB8\x48\x36\x66\x4E\x20\x43"
21181 "\xBA\x76\x13\x9A\xC3\xF2\xEB\x52"
21182 "\xD7\xDC\xB2\x67\x63\x14\x25\xCD"
21183 "\xB1\x13\x4B\xDE\x8C\x59\x21\x84"
21184 "\x81\x8D\x97\x23\x45\x33\x7C\xF3"
21185 "\xC5\xBC\x79\x95\xAA\x84\x68\x31"
21186 "\x2D\x1A\x68\xFE\xEC\x92\x94\xDA"
21187 "\x94\x2A\x6F\xD6\xFE\xE5\x76\x97"
21188 "\xF4\x6E\xEE\xCB\x2B\x95\x4E\x36"
21189 "\x5F\x74\x8C\x86\x5B\x71\xD0\x20",
21190 .rlen = 496,
16433 .also_non_np = 1, 21191 .also_non_np = 1,
16434 .np = 2, 21192 .np = 2,
16435 .tap = { 48 - 16, 16 }, 21193 .tap = { 496 - 16, 16 },
16436 }, 21194 },
16437}; 21195};
16438 21196
@@ -16464,8 +21222,7 @@ static struct cipher_testvec camellia_cbc_dec_tv_template[] = {
16464 "\x10\x11\x12\x13\x14\x15\x16\x17" 21222 "\x10\x11\x12\x13\x14\x15\x16\x17"
16465 "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", 21223 "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
16466 .rlen = 32, 21224 .rlen = 32,
16467 }, 21225 }, { /* Generated with Crypto++ */
16468 { /* Generated with Crypto++ */
16469 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 21226 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
16470 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 21227 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
16471 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" 21228 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
@@ -16478,18 +21235,130 @@ static struct cipher_testvec camellia_cbc_dec_tv_template[] = {
16478 "\x88\x39\xE3\xFD\x94\x4B\x25\x58" 21235 "\x88\x39\xE3\xFD\x94\x4B\x25\x58"
16479 "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B" 21236 "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B"
16480 "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27" 21237 "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27"
16481 "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01", 21238 "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01"
16482 .ilen = 48, 21239 "\x56\x2E\x10\xC2\x2C\xFF\xC6\x83"
21240 "\xB5\xDC\x4F\x63\xAD\x0E\x63\x5E"
21241 "\x56\xC8\x18\x3D\x79\x86\x97\xEF"
21242 "\x57\x0E\x63\xA1\xC1\x41\x48\xB8"
21243 "\x98\xB7\x51\x6D\x18\xF6\x19\x82"
21244 "\x37\x49\x88\xA4\xEF\x91\x21\x47"
21245 "\x03\x28\xEA\x42\xF4\xFB\x7A\x58"
21246 "\x28\x90\x77\x46\xD8\xD2\x35\x16"
21247 "\x44\xA9\x9E\x49\x52\x2A\xE4\x16"
21248 "\x5D\xF7\x65\xEB\x0F\xC9\x29\xE6"
21249 "\xCF\x76\x91\x89\x8A\x94\x39\xFA"
21250 "\x6B\x5F\x63\x53\x74\x43\x91\xF5"
21251 "\x3F\xBC\x88\x53\xB2\x1A\x02\x3F"
21252 "\x9D\x32\x84\xEB\x56\x28\xD6\x06"
21253 "\xD5\xB2\x20\xA9\xFC\xC3\x76\x62"
21254 "\x32\xCC\x86\xC8\x36\x67\x5E\x7E"
21255 "\xA4\xAA\x15\x63\x6B\xA9\x86\xAF"
21256 "\x1A\x52\x82\x36\x5F\xF4\x3F\x7A"
21257 "\x9B\x78\x62\x3B\x02\x28\x60\xB3"
21258 "\xBA\x82\xB1\xDD\xC9\x60\x8F\x47"
21259 "\xF1\x6B\xFE\xE5\x39\x34\xA0\x28"
21260 "\xA4\xB3\xC9\x7E\xED\x28\x8D\x70"
21261 "\xB2\x1D\xFD\xC6\x00\xCF\x1A\x94"
21262 "\x28\xF8\xC1\x34\xB7\x58\xA5\x6C"
21263 "\x1A\x9D\xE4\xE4\xF6\xB9\xB4\xB0"
21264 "\x5D\x51\x54\x9A\x53\xA0\xF9\x32"
21265 "\xBD\x31\x54\x14\x7B\x33\xEE\x17"
21266 "\xD3\xC7\x1F\x48\xBF\x0B\x22\xA2"
21267 "\x7D\x0C\xDF\xD0\x2E\x98\xFA\xD2"
21268 "\xFA\xCF\x24\x1D\x99\x9B\xD0\x7E"
21269 "\xF4\x4F\x88\xFF\x45\x99\x4A\xF4"
21270 "\xF2\x0A\x5B\x3B\x21\xAB\x92\xAE"
21271 "\x40\x78\x91\x95\xC4\x2F\xA3\xE8"
21272 "\x18\xC7\x07\xA6\xC8\xC0\x66\x33"
21273 "\x35\xC0\xB4\xA0\xF8\xEE\x1E\xF3"
21274 "\x40\xF5\x40\x54\xF1\x84\x8C\xEA"
21275 "\x27\x38\x1F\xF8\x77\xC7\xDF\xD8"
21276 "\x1D\xE2\xD9\x59\x40\x4F\x59\xD4"
21277 "\xF8\x17\x99\x8D\x58\x2D\x72\x44"
21278 "\x9D\x1D\x91\x64\xD6\x3F\x0A\x82"
21279 "\xC7\x57\x3D\xEF\xD3\x41\xFA\xA7"
21280 "\x68\xA3\xB8\xA5\x93\x74\x2E\x85"
21281 "\x4C\x9D\x69\x59\xCE\x15\xAE\xBF"
21282 "\x9C\x8F\x14\x64\x5D\x7F\xCF\x0B"
21283 "\xCE\x43\x5D\x28\xC0\x2F\xFB\x18"
21284 "\x79\x9A\xFC\x43\x16\x7C\x6B\x7B"
21285 "\x38\xB8\x48\x36\x66\x4E\x20\x43"
21286 "\xBA\x76\x13\x9A\xC3\xF2\xEB\x52"
21287 "\xD7\xDC\xB2\x67\x63\x14\x25\xCD"
21288 "\xB1\x13\x4B\xDE\x8C\x59\x21\x84"
21289 "\x81\x8D\x97\x23\x45\x33\x7C\xF3"
21290 "\xC5\xBC\x79\x95\xAA\x84\x68\x31"
21291 "\x2D\x1A\x68\xFE\xEC\x92\x94\xDA"
21292 "\x94\x2A\x6F\xD6\xFE\xE5\x76\x97"
21293 "\xF4\x6E\xEE\xCB\x2B\x95\x4E\x36"
21294 "\x5F\x74\x8C\x86\x5B\x71\xD0\x20",
21295 .ilen = 496,
16483 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 21296 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
16484 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 21297 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
16485 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 21298 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16486 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 21299 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16487 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 21300 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16488 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", 21301 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16489 .rlen = 48, 21302 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
21303 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
21304 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
21305 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
21306 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
21307 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
21308 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
21309 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
21310 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
21311 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
21312 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
21313 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
21314 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
21315 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
21316 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
21317 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
21318 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
21319 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
21320 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
21321 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
21322 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
21323 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
21324 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
21325 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
21326 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
21327 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
21328 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
21329 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
21330 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
21331 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
21332 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
21333 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
21334 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
21335 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
21336 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
21337 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
21338 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
21339 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
21340 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
21341 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
21342 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
21343 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
21344 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
21345 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
21346 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
21347 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
21348 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
21349 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
21350 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
21351 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
21352 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
21353 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
21354 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
21355 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
21356 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
21357 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
21358 .rlen = 496,
16490 .also_non_np = 1, 21359 .also_non_np = 1,
16491 .np = 2, 21360 .np = 2,
16492 .tap = { 48 - 16, 16 }, 21361 .tap = { 496 - 16, 16 },
16493 }, 21362 },
16494}; 21363};
16495 21364
@@ -16507,17 +21376,128 @@ static struct cipher_testvec camellia_ctr_enc_tv_template[] = {
16507 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 21376 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16508 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 21377 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16509 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 21378 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16510 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", 21379 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16511 .ilen = 48, 21380 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
21381 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
21382 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
21383 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
21384 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
21385 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
21386 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
21387 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
21388 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
21389 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
21390 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
21391 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
21392 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
21393 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
21394 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
21395 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
21396 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
21397 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
21398 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
21399 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
21400 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
21401 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
21402 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
21403 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
21404 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
21405 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
21406 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
21407 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
21408 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
21409 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
21410 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
21411 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
21412 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
21413 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
21414 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
21415 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
21416 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
21417 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
21418 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
21419 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
21420 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
21421 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
21422 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
21423 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
21424 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
21425 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
21426 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
21427 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
21428 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
21429 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
21430 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
21431 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
21432 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
21433 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
21434 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
21435 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
21436 .ilen = 496,
16512 .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" 21437 .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11"
16513 "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" 21438 "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE"
16514 "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" 21439 "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4"
16515 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" 21440 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6"
16516 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" 21441 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85"
16517 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C", 21442 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C"
16518 .rlen = 48, 21443 "\x1E\x43\xEF\x6C\xE9\x98\xC5\xA0"
16519 }, 21444 "\x7B\x13\xE5\x7F\xF8\x49\x9A\x8C"
16520 { /* Generated with Crypto++ */ 21445 "\xE6\x7B\x08\xC3\x32\x66\x55\x4E"
21446 "\xA5\x44\x1D\x2C\x18\xC7\x29\x1F"
21447 "\x61\x28\x4A\xE3\xCD\xE5\x47\xB2"
21448 "\x82\x2F\x66\x83\x91\x51\xAE\xD7"
21449 "\x1C\x91\x3C\x57\xE3\x1D\x5A\xC9"
21450 "\xFD\xC5\x58\x58\xEF\xCC\x33\xC9"
21451 "\x0F\xEA\x26\x32\xD1\x15\x19\x2D"
21452 "\x25\xB4\x7F\xB0\xDF\xFB\x88\x60"
21453 "\x4E\x4D\x06\x7D\xCC\x1F\xED\x3B"
21454 "\x68\x84\xD5\xB3\x1B\xE7\xB9\xA1"
21455 "\x68\x8B\x2C\x1A\x44\xDA\x63\xD3"
21456 "\x29\xE9\x59\x32\x1F\x30\x1C\x43"
21457 "\xEA\x3A\xA3\x6B\x54\x3C\xAA\x11"
21458 "\xAD\x38\x20\xC9\xB9\x8A\x64\x66"
21459 "\x5A\x07\x49\xDF\xA1\x9C\xF9\x76"
21460 "\x36\x65\xB6\x81\x8F\x76\x09\xE5"
21461 "\xEB\xD1\x29\xA4\xE4\xF4\x4C\xCD"
21462 "\xAF\xFC\xB9\x16\xD9\xC3\x73\x6A"
21463 "\x33\x12\xF8\x7E\xBC\xCC\x7D\x80"
21464 "\xBF\x3C\x25\x06\x13\x84\xFA\x35"
21465 "\xF7\x40\xFA\xA1\x44\x13\x70\xD8"
21466 "\x01\xF9\x85\x15\x63\xEC\x7D\xB9"
21467 "\x02\xD8\xBA\x41\x6C\x92\x68\x66"
21468 "\x95\xDD\xD6\x42\xE7\xBB\xE1\xFD"
21469 "\x28\x3E\x94\xB6\xBD\xA7\xBF\x47"
21470 "\x58\x8D\xFF\x19\x30\x75\x0D\x48"
21471 "\x94\xE9\xA6\xCD\xB3\x8E\x1E\xCD"
21472 "\x59\xBC\x1A\xAC\x3C\x4F\xA9\xEB"
21473 "\xF4\xA7\xE4\x75\x4A\x18\x40\xC9"
21474 "\x1E\xEC\x06\x9C\x28\x4B\xF7\x2B"
21475 "\xE2\xEF\xD6\x42\x2E\xBB\xFC\x0A"
21476 "\x79\xA2\x99\x28\x93\x1B\x00\x57"
21477 "\x35\x1E\x1A\x93\x90\xA4\x68\x95"
21478 "\x5E\x57\x40\xD5\xA9\xAA\x19\x48"
21479 "\xEC\xFF\x76\x77\xDC\x78\x89\x76"
21480 "\xE5\x3B\x00\xEC\x58\x4D\xD1\xE3"
21481 "\xC8\x6C\x2C\x45\x5E\x5F\xD9\x4E"
21482 "\x71\xA5\x36\x6D\x03\xF1\xC7\xD5"
21483 "\xF3\x63\xC0\xD8\xCB\x2B\xF1\xA8"
21484 "\xB9\x2B\xE6\x0B\xB9\x65\x78\xA0"
21485 "\xC4\x46\xE6\x9B\x8B\x43\x2D\xAB"
21486 "\x70\xA6\xE0\x59\x1E\xAC\x9D\xE0"
21487 "\x76\x44\x45\xF3\x24\x11\x57\x98"
21488 "\x9A\x86\xB4\x12\x80\x28\x86\x20"
21489 "\x23\x9D\x2D\xE9\x38\x32\xB1\xE1"
21490 "\xCF\x0A\x23\x73\x7D\xC5\x80\x3D"
21491 "\x9F\x6D\xA0\xD0\xEE\x93\x8A\x79"
21492 "\x3A\xDD\x1D\xBB\x9E\x26\x5D\x01"
21493 "\x44\xD0\xD4\x4E\xC3\xF1\xE4\x38"
21494 "\x09\x62\x0A\x1A\x4E\xD2\x63\x0F"
21495 "\x6E\x3E\xD2\xA4\x3A\xF4\xF3\xFF"
21496 "\x7E\x42\xEC\xB6\x6F\x4D\x6B\x48"
21497 "\xE6\xA6\x50\x80\x78\x9E\xF1\xB0"
21498 "\x4D\xB2\x0D\x3D\xFC\x40\x25\x4D",
21499 .rlen = 496,
21500 }, { /* Generated with Crypto++ */
16521 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 21501 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
16522 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 21502 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
16523 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" 21503 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
@@ -16531,19 +21511,131 @@ static struct cipher_testvec camellia_ctr_enc_tv_template[] = {
16531 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 21511 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16532 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 21512 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16533 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" 21513 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16534 "\xDF\x76\x0D", 21514 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
16535 .ilen = 51, 21515 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
21516 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
21517 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
21518 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
21519 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
21520 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
21521 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
21522 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
21523 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
21524 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
21525 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
21526 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
21527 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
21528 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
21529 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
21530 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
21531 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
21532 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
21533 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
21534 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
21535 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
21536 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
21537 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
21538 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
21539 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
21540 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
21541 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
21542 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
21543 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
21544 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
21545 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
21546 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
21547 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
21548 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
21549 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
21550 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
21551 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
21552 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
21553 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
21554 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
21555 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
21556 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
21557 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
21558 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
21559 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
21560 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
21561 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
21562 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
21563 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
21564 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
21565 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
21566 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
21567 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
21568 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
21569 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
21570 "\x2B\xC2\x59",
21571 .ilen = 499,
16536 .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" 21572 .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11"
16537 "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" 21573 "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE"
16538 "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" 21574 "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4"
16539 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" 21575 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6"
16540 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" 21576 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85"
16541 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C" 21577 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C"
16542 "\x1E\x43\xEF", 21578 "\x1E\x43\xEF\x6C\xE9\x98\xC5\xA0"
16543 .rlen = 51, 21579 "\x7B\x13\xE5\x7F\xF8\x49\x9A\x8C"
21580 "\xE6\x7B\x08\xC3\x32\x66\x55\x4E"
21581 "\xA5\x44\x1D\x2C\x18\xC7\x29\x1F"
21582 "\x61\x28\x4A\xE3\xCD\xE5\x47\xB2"
21583 "\x82\x2F\x66\x83\x91\x51\xAE\xD7"
21584 "\x1C\x91\x3C\x57\xE3\x1D\x5A\xC9"
21585 "\xFD\xC5\x58\x58\xEF\xCC\x33\xC9"
21586 "\x0F\xEA\x26\x32\xD1\x15\x19\x2D"
21587 "\x25\xB4\x7F\xB0\xDF\xFB\x88\x60"
21588 "\x4E\x4D\x06\x7D\xCC\x1F\xED\x3B"
21589 "\x68\x84\xD5\xB3\x1B\xE7\xB9\xA1"
21590 "\x68\x8B\x2C\x1A\x44\xDA\x63\xD3"
21591 "\x29\xE9\x59\x32\x1F\x30\x1C\x43"
21592 "\xEA\x3A\xA3\x6B\x54\x3C\xAA\x11"
21593 "\xAD\x38\x20\xC9\xB9\x8A\x64\x66"
21594 "\x5A\x07\x49\xDF\xA1\x9C\xF9\x76"
21595 "\x36\x65\xB6\x81\x8F\x76\x09\xE5"
21596 "\xEB\xD1\x29\xA4\xE4\xF4\x4C\xCD"
21597 "\xAF\xFC\xB9\x16\xD9\xC3\x73\x6A"
21598 "\x33\x12\xF8\x7E\xBC\xCC\x7D\x80"
21599 "\xBF\x3C\x25\x06\x13\x84\xFA\x35"
21600 "\xF7\x40\xFA\xA1\x44\x13\x70\xD8"
21601 "\x01\xF9\x85\x15\x63\xEC\x7D\xB9"
21602 "\x02\xD8\xBA\x41\x6C\x92\x68\x66"
21603 "\x95\xDD\xD6\x42\xE7\xBB\xE1\xFD"
21604 "\x28\x3E\x94\xB6\xBD\xA7\xBF\x47"
21605 "\x58\x8D\xFF\x19\x30\x75\x0D\x48"
21606 "\x94\xE9\xA6\xCD\xB3\x8E\x1E\xCD"
21607 "\x59\xBC\x1A\xAC\x3C\x4F\xA9\xEB"
21608 "\xF4\xA7\xE4\x75\x4A\x18\x40\xC9"
21609 "\x1E\xEC\x06\x9C\x28\x4B\xF7\x2B"
21610 "\xE2\xEF\xD6\x42\x2E\xBB\xFC\x0A"
21611 "\x79\xA2\x99\x28\x93\x1B\x00\x57"
21612 "\x35\x1E\x1A\x93\x90\xA4\x68\x95"
21613 "\x5E\x57\x40\xD5\xA9\xAA\x19\x48"
21614 "\xEC\xFF\x76\x77\xDC\x78\x89\x76"
21615 "\xE5\x3B\x00\xEC\x58\x4D\xD1\xE3"
21616 "\xC8\x6C\x2C\x45\x5E\x5F\xD9\x4E"
21617 "\x71\xA5\x36\x6D\x03\xF1\xC7\xD5"
21618 "\xF3\x63\xC0\xD8\xCB\x2B\xF1\xA8"
21619 "\xB9\x2B\xE6\x0B\xB9\x65\x78\xA0"
21620 "\xC4\x46\xE6\x9B\x8B\x43\x2D\xAB"
21621 "\x70\xA6\xE0\x59\x1E\xAC\x9D\xE0"
21622 "\x76\x44\x45\xF3\x24\x11\x57\x98"
21623 "\x9A\x86\xB4\x12\x80\x28\x86\x20"
21624 "\x23\x9D\x2D\xE9\x38\x32\xB1\xE1"
21625 "\xCF\x0A\x23\x73\x7D\xC5\x80\x3D"
21626 "\x9F\x6D\xA0\xD0\xEE\x93\x8A\x79"
21627 "\x3A\xDD\x1D\xBB\x9E\x26\x5D\x01"
21628 "\x44\xD0\xD4\x4E\xC3\xF1\xE4\x38"
21629 "\x09\x62\x0A\x1A\x4E\xD2\x63\x0F"
21630 "\x6E\x3E\xD2\xA4\x3A\xF4\xF3\xFF"
21631 "\x7E\x42\xEC\xB6\x6F\x4D\x6B\x48"
21632 "\xE6\xA6\x50\x80\x78\x9E\xF1\xB0"
21633 "\x4D\xB2\x0D\x3D\xFC\x40\x25\x4D"
21634 "\x93\x11\x1C",
21635 .rlen = 499,
16544 .also_non_np = 1, 21636 .also_non_np = 1,
16545 .np = 2, 21637 .np = 2,
16546 .tap = { 51 - 16, 16 }, 21638 .tap = { 499 - 16, 16 },
16547 }, { /* Generated with Crypto++ */ 21639 }, { /* Generated with Crypto++ */
16548 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 21640 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
16549 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 21641 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -16695,17 +21787,128 @@ static struct cipher_testvec camellia_ctr_dec_tv_template[] = {
16695 "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" 21787 "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4"
16696 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" 21788 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6"
16697 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" 21789 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85"
16698 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C", 21790 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C"
16699 .ilen = 48, 21791 "\x1E\x43\xEF\x6C\xE9\x98\xC5\xA0"
21792 "\x7B\x13\xE5\x7F\xF8\x49\x9A\x8C"
21793 "\xE6\x7B\x08\xC3\x32\x66\x55\x4E"
21794 "\xA5\x44\x1D\x2C\x18\xC7\x29\x1F"
21795 "\x61\x28\x4A\xE3\xCD\xE5\x47\xB2"
21796 "\x82\x2F\x66\x83\x91\x51\xAE\xD7"
21797 "\x1C\x91\x3C\x57\xE3\x1D\x5A\xC9"
21798 "\xFD\xC5\x58\x58\xEF\xCC\x33\xC9"
21799 "\x0F\xEA\x26\x32\xD1\x15\x19\x2D"
21800 "\x25\xB4\x7F\xB0\xDF\xFB\x88\x60"
21801 "\x4E\x4D\x06\x7D\xCC\x1F\xED\x3B"
21802 "\x68\x84\xD5\xB3\x1B\xE7\xB9\xA1"
21803 "\x68\x8B\x2C\x1A\x44\xDA\x63\xD3"
21804 "\x29\xE9\x59\x32\x1F\x30\x1C\x43"
21805 "\xEA\x3A\xA3\x6B\x54\x3C\xAA\x11"
21806 "\xAD\x38\x20\xC9\xB9\x8A\x64\x66"
21807 "\x5A\x07\x49\xDF\xA1\x9C\xF9\x76"
21808 "\x36\x65\xB6\x81\x8F\x76\x09\xE5"
21809 "\xEB\xD1\x29\xA4\xE4\xF4\x4C\xCD"
21810 "\xAF\xFC\xB9\x16\xD9\xC3\x73\x6A"
21811 "\x33\x12\xF8\x7E\xBC\xCC\x7D\x80"
21812 "\xBF\x3C\x25\x06\x13\x84\xFA\x35"
21813 "\xF7\x40\xFA\xA1\x44\x13\x70\xD8"
21814 "\x01\xF9\x85\x15\x63\xEC\x7D\xB9"
21815 "\x02\xD8\xBA\x41\x6C\x92\x68\x66"
21816 "\x95\xDD\xD6\x42\xE7\xBB\xE1\xFD"
21817 "\x28\x3E\x94\xB6\xBD\xA7\xBF\x47"
21818 "\x58\x8D\xFF\x19\x30\x75\x0D\x48"
21819 "\x94\xE9\xA6\xCD\xB3\x8E\x1E\xCD"
21820 "\x59\xBC\x1A\xAC\x3C\x4F\xA9\xEB"
21821 "\xF4\xA7\xE4\x75\x4A\x18\x40\xC9"
21822 "\x1E\xEC\x06\x9C\x28\x4B\xF7\x2B"
21823 "\xE2\xEF\xD6\x42\x2E\xBB\xFC\x0A"
21824 "\x79\xA2\x99\x28\x93\x1B\x00\x57"
21825 "\x35\x1E\x1A\x93\x90\xA4\x68\x95"
21826 "\x5E\x57\x40\xD5\xA9\xAA\x19\x48"
21827 "\xEC\xFF\x76\x77\xDC\x78\x89\x76"
21828 "\xE5\x3B\x00\xEC\x58\x4D\xD1\xE3"
21829 "\xC8\x6C\x2C\x45\x5E\x5F\xD9\x4E"
21830 "\x71\xA5\x36\x6D\x03\xF1\xC7\xD5"
21831 "\xF3\x63\xC0\xD8\xCB\x2B\xF1\xA8"
21832 "\xB9\x2B\xE6\x0B\xB9\x65\x78\xA0"
21833 "\xC4\x46\xE6\x9B\x8B\x43\x2D\xAB"
21834 "\x70\xA6\xE0\x59\x1E\xAC\x9D\xE0"
21835 "\x76\x44\x45\xF3\x24\x11\x57\x98"
21836 "\x9A\x86\xB4\x12\x80\x28\x86\x20"
21837 "\x23\x9D\x2D\xE9\x38\x32\xB1\xE1"
21838 "\xCF\x0A\x23\x73\x7D\xC5\x80\x3D"
21839 "\x9F\x6D\xA0\xD0\xEE\x93\x8A\x79"
21840 "\x3A\xDD\x1D\xBB\x9E\x26\x5D\x01"
21841 "\x44\xD0\xD4\x4E\xC3\xF1\xE4\x38"
21842 "\x09\x62\x0A\x1A\x4E\xD2\x63\x0F"
21843 "\x6E\x3E\xD2\xA4\x3A\xF4\xF3\xFF"
21844 "\x7E\x42\xEC\xB6\x6F\x4D\x6B\x48"
21845 "\xE6\xA6\x50\x80\x78\x9E\xF1\xB0"
21846 "\x4D\xB2\x0D\x3D\xFC\x40\x25\x4D",
21847 .ilen = 496,
16700 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 21848 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
16701 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 21849 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
16702 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 21850 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16703 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 21851 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16704 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 21852 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16705 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", 21853 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16706 .rlen = 48, 21854 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
16707 }, 21855 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
16708 { /* Generated with Crypto++ */ 21856 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
21857 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
21858 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
21859 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
21860 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
21861 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
21862 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
21863 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
21864 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
21865 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
21866 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
21867 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
21868 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
21869 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
21870 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
21871 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
21872 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
21873 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
21874 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
21875 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
21876 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
21877 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
21878 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
21879 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
21880 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
21881 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
21882 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
21883 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
21884 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
21885 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
21886 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
21887 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
21888 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
21889 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
21890 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
21891 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
21892 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
21893 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
21894 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
21895 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
21896 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
21897 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
21898 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
21899 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
21900 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
21901 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
21902 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
21903 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
21904 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
21905 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
21906 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
21907 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
21908 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
21909 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
21910 .rlen = 496,
21911 }, { /* Generated with Crypto++ */
16709 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 21912 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
16710 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 21913 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
16711 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" 21914 "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
@@ -16719,19 +21922,131 @@ static struct cipher_testvec camellia_ctr_dec_tv_template[] = {
16719 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" 21922 "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6"
16720 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" 21923 "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85"
16721 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C" 21924 "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C"
16722 "\x1E\x43\xEF", 21925 "\x1E\x43\xEF\x6C\xE9\x98\xC5\xA0"
16723 .ilen = 51, 21926 "\x7B\x13\xE5\x7F\xF8\x49\x9A\x8C"
21927 "\xE6\x7B\x08\xC3\x32\x66\x55\x4E"
21928 "\xA5\x44\x1D\x2C\x18\xC7\x29\x1F"
21929 "\x61\x28\x4A\xE3\xCD\xE5\x47\xB2"
21930 "\x82\x2F\x66\x83\x91\x51\xAE\xD7"
21931 "\x1C\x91\x3C\x57\xE3\x1D\x5A\xC9"
21932 "\xFD\xC5\x58\x58\xEF\xCC\x33\xC9"
21933 "\x0F\xEA\x26\x32\xD1\x15\x19\x2D"
21934 "\x25\xB4\x7F\xB0\xDF\xFB\x88\x60"
21935 "\x4E\x4D\x06\x7D\xCC\x1F\xED\x3B"
21936 "\x68\x84\xD5\xB3\x1B\xE7\xB9\xA1"
21937 "\x68\x8B\x2C\x1A\x44\xDA\x63\xD3"
21938 "\x29\xE9\x59\x32\x1F\x30\x1C\x43"
21939 "\xEA\x3A\xA3\x6B\x54\x3C\xAA\x11"
21940 "\xAD\x38\x20\xC9\xB9\x8A\x64\x66"
21941 "\x5A\x07\x49\xDF\xA1\x9C\xF9\x76"
21942 "\x36\x65\xB6\x81\x8F\x76\x09\xE5"
21943 "\xEB\xD1\x29\xA4\xE4\xF4\x4C\xCD"
21944 "\xAF\xFC\xB9\x16\xD9\xC3\x73\x6A"
21945 "\x33\x12\xF8\x7E\xBC\xCC\x7D\x80"
21946 "\xBF\x3C\x25\x06\x13\x84\xFA\x35"
21947 "\xF7\x40\xFA\xA1\x44\x13\x70\xD8"
21948 "\x01\xF9\x85\x15\x63\xEC\x7D\xB9"
21949 "\x02\xD8\xBA\x41\x6C\x92\x68\x66"
21950 "\x95\xDD\xD6\x42\xE7\xBB\xE1\xFD"
21951 "\x28\x3E\x94\xB6\xBD\xA7\xBF\x47"
21952 "\x58\x8D\xFF\x19\x30\x75\x0D\x48"
21953 "\x94\xE9\xA6\xCD\xB3\x8E\x1E\xCD"
21954 "\x59\xBC\x1A\xAC\x3C\x4F\xA9\xEB"
21955 "\xF4\xA7\xE4\x75\x4A\x18\x40\xC9"
21956 "\x1E\xEC\x06\x9C\x28\x4B\xF7\x2B"
21957 "\xE2\xEF\xD6\x42\x2E\xBB\xFC\x0A"
21958 "\x79\xA2\x99\x28\x93\x1B\x00\x57"
21959 "\x35\x1E\x1A\x93\x90\xA4\x68\x95"
21960 "\x5E\x57\x40\xD5\xA9\xAA\x19\x48"
21961 "\xEC\xFF\x76\x77\xDC\x78\x89\x76"
21962 "\xE5\x3B\x00\xEC\x58\x4D\xD1\xE3"
21963 "\xC8\x6C\x2C\x45\x5E\x5F\xD9\x4E"
21964 "\x71\xA5\x36\x6D\x03\xF1\xC7\xD5"
21965 "\xF3\x63\xC0\xD8\xCB\x2B\xF1\xA8"
21966 "\xB9\x2B\xE6\x0B\xB9\x65\x78\xA0"
21967 "\xC4\x46\xE6\x9B\x8B\x43\x2D\xAB"
21968 "\x70\xA6\xE0\x59\x1E\xAC\x9D\xE0"
21969 "\x76\x44\x45\xF3\x24\x11\x57\x98"
21970 "\x9A\x86\xB4\x12\x80\x28\x86\x20"
21971 "\x23\x9D\x2D\xE9\x38\x32\xB1\xE1"
21972 "\xCF\x0A\x23\x73\x7D\xC5\x80\x3D"
21973 "\x9F\x6D\xA0\xD0\xEE\x93\x8A\x79"
21974 "\x3A\xDD\x1D\xBB\x9E\x26\x5D\x01"
21975 "\x44\xD0\xD4\x4E\xC3\xF1\xE4\x38"
21976 "\x09\x62\x0A\x1A\x4E\xD2\x63\x0F"
21977 "\x6E\x3E\xD2\xA4\x3A\xF4\xF3\xFF"
21978 "\x7E\x42\xEC\xB6\x6F\x4D\x6B\x48"
21979 "\xE6\xA6\x50\x80\x78\x9E\xF1\xB0"
21980 "\x4D\xB2\x0D\x3D\xFC\x40\x25\x4D"
21981 "\x93\x11\x1C",
21982 .ilen = 499,
16724 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" 21983 .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
16725 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" 21984 "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
16726 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" 21985 "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
16727 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" 21986 "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
16728 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" 21987 "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
16729 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" 21988 "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
16730 "\xDF\x76\x0D", 21989 "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
16731 .rlen = 51, 21990 "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
21991 "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
21992 "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
21993 "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
21994 "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
21995 "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
21996 "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
21997 "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
21998 "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
21999 "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
22000 "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
22001 "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
22002 "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
22003 "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
22004 "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
22005 "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
22006 "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
22007 "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
22008 "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
22009 "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
22010 "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
22011 "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
22012 "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
22013 "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
22014 "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
22015 "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
22016 "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
22017 "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
22018 "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
22019 "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
22020 "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
22021 "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
22022 "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
22023 "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
22024 "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
22025 "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
22026 "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
22027 "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
22028 "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
22029 "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
22030 "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
22031 "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
22032 "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
22033 "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
22034 "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
22035 "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
22036 "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
22037 "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
22038 "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
22039 "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
22040 "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
22041 "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
22042 "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
22043 "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
22044 "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
22045 "\x2B\xC2\x59",
22046 .rlen = 499,
16732 .also_non_np = 1, 22047 .also_non_np = 1,
16733 .np = 2, 22048 .np = 2,
16734 .tap = { 51 - 16, 16 }, 22049 .tap = { 499 - 16, 16 },
16735 }, { /* Generated with Crypto++ */ 22050 }, { /* Generated with Crypto++ */
16736 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" 22051 .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
16737 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" 22052 "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
@@ -19895,7 +25210,7 @@ static struct hash_testvec michael_mic_tv_template[] = {
19895/* 25210/*
19896 * CRC32C test vectors 25211 * CRC32C test vectors
19897 */ 25212 */
19898#define CRC32C_TEST_VECTORS 14 25213#define CRC32C_TEST_VECTORS 15
19899 25214
19900static struct hash_testvec crc32c_tv_template[] = { 25215static struct hash_testvec crc32c_tv_template[] = {
19901 { 25216 {
@@ -20066,7 +25381,268 @@ static struct hash_testvec crc32c_tv_template[] = {
20066 .digest = "\x75\xd3\xc5\x24", 25381 .digest = "\x75\xd3\xc5\x24",
20067 .np = 2, 25382 .np = 2,
20068 .tap = { 31, 209 } 25383 .tap = { 31, 209 }
20069 }, 25384 }, {
25385 .key = "\xff\xff\xff\xff",
25386 .ksize = 4,
25387 .plaintext = "\x6e\x05\x79\x10\xa7\x1b\xb2\x49"
25388 "\xe0\x54\xeb\x82\x19\x8d\x24\xbb"
25389 "\x2f\xc6\x5d\xf4\x68\xff\x96\x0a"
25390 "\xa1\x38\xcf\x43\xda\x71\x08\x7c"
25391 "\x13\xaa\x1e\xb5\x4c\xe3\x57\xee"
25392 "\x85\x1c\x90\x27\xbe\x32\xc9\x60"
25393 "\xf7\x6b\x02\x99\x0d\xa4\x3b\xd2"
25394 "\x46\xdd\x74\x0b\x7f\x16\xad\x21"
25395 "\xb8\x4f\xe6\x5a\xf1\x88\x1f\x93"
25396 "\x2a\xc1\x35\xcc\x63\xfa\x6e\x05"
25397 "\x9c\x10\xa7\x3e\xd5\x49\xe0\x77"
25398 "\x0e\x82\x19\xb0\x24\xbb\x52\xe9"
25399 "\x5d\xf4\x8b\x22\x96\x2d\xc4\x38"
25400 "\xcf\x66\xfd\x71\x08\x9f\x13\xaa"
25401 "\x41\xd8\x4c\xe3\x7a\x11\x85\x1c"
25402 "\xb3\x27\xbe\x55\xec\x60\xf7\x8e"
25403 "\x02\x99\x30\xc7\x3b\xd2\x69\x00"
25404 "\x74\x0b\xa2\x16\xad\x44\xdb\x4f"
25405 "\xe6\x7d\x14\x88\x1f\xb6\x2a\xc1"
25406 "\x58\xef\x63\xfa\x91\x05\x9c\x33"
25407 "\xca\x3e\xd5\x6c\x03\x77\x0e\xa5"
25408 "\x19\xb0\x47\xde\x52\xe9\x80\x17"
25409 "\x8b\x22\xb9\x2d\xc4\x5b\xf2\x66"
25410 "\xfd\x94\x08\x9f\x36\xcd\x41\xd8"
25411 "\x6f\x06\x7a\x11\xa8\x1c\xb3\x4a"
25412 "\xe1\x55\xec\x83\x1a\x8e\x25\xbc"
25413 "\x30\xc7\x5e\xf5\x69\x00\x97\x0b"
25414 "\xa2\x39\xd0\x44\xdb\x72\x09\x7d"
25415 "\x14\xab\x1f\xb6\x4d\xe4\x58\xef"
25416 "\x86\x1d\x91\x28\xbf\x33\xca\x61"
25417 "\xf8\x6c\x03\x9a\x0e\xa5\x3c\xd3"
25418 "\x47\xde\x75\x0c\x80\x17\xae\x22"
25419 "\xb9\x50\xe7\x5b\xf2\x89\x20\x94"
25420 "\x2b\xc2\x36\xcd\x64\xfb\x6f\x06"
25421 "\x9d\x11\xa8\x3f\xd6\x4a\xe1\x78"
25422 "\x0f\x83\x1a\xb1\x25\xbc\x53\xea"
25423 "\x5e\xf5\x8c\x00\x97\x2e\xc5\x39"
25424 "\xd0\x67\xfe\x72\x09\xa0\x14\xab"
25425 "\x42\xd9\x4d\xe4\x7b\x12\x86\x1d"
25426 "\xb4\x28\xbf\x56\xed\x61\xf8\x8f"
25427 "\x03\x9a\x31\xc8\x3c\xd3\x6a\x01"
25428 "\x75\x0c\xa3\x17\xae\x45\xdc\x50"
25429 "\xe7\x7e\x15\x89\x20\xb7\x2b\xc2"
25430 "\x59\xf0\x64\xfb\x92\x06\x9d\x34"
25431 "\xcb\x3f\xd6\x6d\x04\x78\x0f\xa6"
25432 "\x1a\xb1\x48\xdf\x53\xea\x81\x18"
25433 "\x8c\x23\xba\x2e\xc5\x5c\xf3\x67"
25434 "\xfe\x95\x09\xa0\x37\xce\x42\xd9"
25435 "\x70\x07\x7b\x12\xa9\x1d\xb4\x4b"
25436 "\xe2\x56\xed\x84\x1b\x8f\x26\xbd"
25437 "\x31\xc8\x5f\xf6\x6a\x01\x98\x0c"
25438 "\xa3\x3a\xd1\x45\xdc\x73\x0a\x7e"
25439 "\x15\xac\x20\xb7\x4e\xe5\x59\xf0"
25440 "\x87\x1e\x92\x29\xc0\x34\xcb\x62"
25441 "\xf9\x6d\x04\x9b\x0f\xa6\x3d\xd4"
25442 "\x48\xdf\x76\x0d\x81\x18\xaf\x23"
25443 "\xba\x51\xe8\x5c\xf3\x8a\x21\x95"
25444 "\x2c\xc3\x37\xce\x65\xfc\x70\x07"
25445 "\x9e\x12\xa9\x40\xd7\x4b\xe2\x79"
25446 "\x10\x84\x1b\xb2\x26\xbd\x54\xeb"
25447 "\x5f\xf6\x8d\x01\x98\x2f\xc6\x3a"
25448 "\xd1\x68\xff\x73\x0a\xa1\x15\xac"
25449 "\x43\xda\x4e\xe5\x7c\x13\x87\x1e"
25450 "\xb5\x29\xc0\x57\xee\x62\xf9\x90"
25451 "\x04\x9b\x32\xc9\x3d\xd4\x6b\x02"
25452 "\x76\x0d\xa4\x18\xaf\x46\xdd\x51"
25453 "\xe8\x7f\x16\x8a\x21\xb8\x2c\xc3"
25454 "\x5a\xf1\x65\xfc\x93\x07\x9e\x35"
25455 "\xcc\x40\xd7\x6e\x05\x79\x10\xa7"
25456 "\x1b\xb2\x49\xe0\x54\xeb\x82\x19"
25457 "\x8d\x24\xbb\x2f\xc6\x5d\xf4\x68"
25458 "\xff\x96\x0a\xa1\x38\xcf\x43\xda"
25459 "\x71\x08\x7c\x13\xaa\x1e\xb5\x4c"
25460 "\xe3\x57\xee\x85\x1c\x90\x27\xbe"
25461 "\x32\xc9\x60\xf7\x6b\x02\x99\x0d"
25462 "\xa4\x3b\xd2\x46\xdd\x74\x0b\x7f"
25463 "\x16\xad\x21\xb8\x4f\xe6\x5a\xf1"
25464 "\x88\x1f\x93\x2a\xc1\x35\xcc\x63"
25465 "\xfa\x6e\x05\x9c\x10\xa7\x3e\xd5"
25466 "\x49\xe0\x77\x0e\x82\x19\xb0\x24"
25467 "\xbb\x52\xe9\x5d\xf4\x8b\x22\x96"
25468 "\x2d\xc4\x38\xcf\x66\xfd\x71\x08"
25469 "\x9f\x13\xaa\x41\xd8\x4c\xe3\x7a"
25470 "\x11\x85\x1c\xb3\x27\xbe\x55\xec"
25471 "\x60\xf7\x8e\x02\x99\x30\xc7\x3b"
25472 "\xd2\x69\x00\x74\x0b\xa2\x16\xad"
25473 "\x44\xdb\x4f\xe6\x7d\x14\x88\x1f"
25474 "\xb6\x2a\xc1\x58\xef\x63\xfa\x91"
25475 "\x05\x9c\x33\xca\x3e\xd5\x6c\x03"
25476 "\x77\x0e\xa5\x19\xb0\x47\xde\x52"
25477 "\xe9\x80\x17\x8b\x22\xb9\x2d\xc4"
25478 "\x5b\xf2\x66\xfd\x94\x08\x9f\x36"
25479 "\xcd\x41\xd8\x6f\x06\x7a\x11\xa8"
25480 "\x1c\xb3\x4a\xe1\x55\xec\x83\x1a"
25481 "\x8e\x25\xbc\x30\xc7\x5e\xf5\x69"
25482 "\x00\x97\x0b\xa2\x39\xd0\x44\xdb"
25483 "\x72\x09\x7d\x14\xab\x1f\xb6\x4d"
25484 "\xe4\x58\xef\x86\x1d\x91\x28\xbf"
25485 "\x33\xca\x61\xf8\x6c\x03\x9a\x0e"
25486 "\xa5\x3c\xd3\x47\xde\x75\x0c\x80"
25487 "\x17\xae\x22\xb9\x50\xe7\x5b\xf2"
25488 "\x89\x20\x94\x2b\xc2\x36\xcd\x64"
25489 "\xfb\x6f\x06\x9d\x11\xa8\x3f\xd6"
25490 "\x4a\xe1\x78\x0f\x83\x1a\xb1\x25"
25491 "\xbc\x53\xea\x5e\xf5\x8c\x00\x97"
25492 "\x2e\xc5\x39\xd0\x67\xfe\x72\x09"
25493 "\xa0\x14\xab\x42\xd9\x4d\xe4\x7b"
25494 "\x12\x86\x1d\xb4\x28\xbf\x56\xed"
25495 "\x61\xf8\x8f\x03\x9a\x31\xc8\x3c"
25496 "\xd3\x6a\x01\x75\x0c\xa3\x17\xae"
25497 "\x45\xdc\x50\xe7\x7e\x15\x89\x20"
25498 "\xb7\x2b\xc2\x59\xf0\x64\xfb\x92"
25499 "\x06\x9d\x34\xcb\x3f\xd6\x6d\x04"
25500 "\x78\x0f\xa6\x1a\xb1\x48\xdf\x53"
25501 "\xea\x81\x18\x8c\x23\xba\x2e\xc5"
25502 "\x5c\xf3\x67\xfe\x95\x09\xa0\x37"
25503 "\xce\x42\xd9\x70\x07\x7b\x12\xa9"
25504 "\x1d\xb4\x4b\xe2\x56\xed\x84\x1b"
25505 "\x8f\x26\xbd\x31\xc8\x5f\xf6\x6a"
25506 "\x01\x98\x0c\xa3\x3a\xd1\x45\xdc"
25507 "\x73\x0a\x7e\x15\xac\x20\xb7\x4e"
25508 "\xe5\x59\xf0\x87\x1e\x92\x29\xc0"
25509 "\x34\xcb\x62\xf9\x6d\x04\x9b\x0f"
25510 "\xa6\x3d\xd4\x48\xdf\x76\x0d\x81"
25511 "\x18\xaf\x23\xba\x51\xe8\x5c\xf3"
25512 "\x8a\x21\x95\x2c\xc3\x37\xce\x65"
25513 "\xfc\x70\x07\x9e\x12\xa9\x40\xd7"
25514 "\x4b\xe2\x79\x10\x84\x1b\xb2\x26"
25515 "\xbd\x54\xeb\x5f\xf6\x8d\x01\x98"
25516 "\x2f\xc6\x3a\xd1\x68\xff\x73\x0a"
25517 "\xa1\x15\xac\x43\xda\x4e\xe5\x7c"
25518 "\x13\x87\x1e\xb5\x29\xc0\x57\xee"
25519 "\x62\xf9\x90\x04\x9b\x32\xc9\x3d"
25520 "\xd4\x6b\x02\x76\x0d\xa4\x18\xaf"
25521 "\x46\xdd\x51\xe8\x7f\x16\x8a\x21"
25522 "\xb8\x2c\xc3\x5a\xf1\x65\xfc\x93"
25523 "\x07\x9e\x35\xcc\x40\xd7\x6e\x05"
25524 "\x79\x10\xa7\x1b\xb2\x49\xe0\x54"
25525 "\xeb\x82\x19\x8d\x24\xbb\x2f\xc6"
25526 "\x5d\xf4\x68\xff\x96\x0a\xa1\x38"
25527 "\xcf\x43\xda\x71\x08\x7c\x13\xaa"
25528 "\x1e\xb5\x4c\xe3\x57\xee\x85\x1c"
25529 "\x90\x27\xbe\x32\xc9\x60\xf7\x6b"
25530 "\x02\x99\x0d\xa4\x3b\xd2\x46\xdd"
25531 "\x74\x0b\x7f\x16\xad\x21\xb8\x4f"
25532 "\xe6\x5a\xf1\x88\x1f\x93\x2a\xc1"
25533 "\x35\xcc\x63\xfa\x6e\x05\x9c\x10"
25534 "\xa7\x3e\xd5\x49\xe0\x77\x0e\x82"
25535 "\x19\xb0\x24\xbb\x52\xe9\x5d\xf4"
25536 "\x8b\x22\x96\x2d\xc4\x38\xcf\x66"
25537 "\xfd\x71\x08\x9f\x13\xaa\x41\xd8"
25538 "\x4c\xe3\x7a\x11\x85\x1c\xb3\x27"
25539 "\xbe\x55\xec\x60\xf7\x8e\x02\x99"
25540 "\x30\xc7\x3b\xd2\x69\x00\x74\x0b"
25541 "\xa2\x16\xad\x44\xdb\x4f\xe6\x7d"
25542 "\x14\x88\x1f\xb6\x2a\xc1\x58\xef"
25543 "\x63\xfa\x91\x05\x9c\x33\xca\x3e"
25544 "\xd5\x6c\x03\x77\x0e\xa5\x19\xb0"
25545 "\x47\xde\x52\xe9\x80\x17\x8b\x22"
25546 "\xb9\x2d\xc4\x5b\xf2\x66\xfd\x94"
25547 "\x08\x9f\x36\xcd\x41\xd8\x6f\x06"
25548 "\x7a\x11\xa8\x1c\xb3\x4a\xe1\x55"
25549 "\xec\x83\x1a\x8e\x25\xbc\x30\xc7"
25550 "\x5e\xf5\x69\x00\x97\x0b\xa2\x39"
25551 "\xd0\x44\xdb\x72\x09\x7d\x14\xab"
25552 "\x1f\xb6\x4d\xe4\x58\xef\x86\x1d"
25553 "\x91\x28\xbf\x33\xca\x61\xf8\x6c"
25554 "\x03\x9a\x0e\xa5\x3c\xd3\x47\xde"
25555 "\x75\x0c\x80\x17\xae\x22\xb9\x50"
25556 "\xe7\x5b\xf2\x89\x20\x94\x2b\xc2"
25557 "\x36\xcd\x64\xfb\x6f\x06\x9d\x11"
25558 "\xa8\x3f\xd6\x4a\xe1\x78\x0f\x83"
25559 "\x1a\xb1\x25\xbc\x53\xea\x5e\xf5"
25560 "\x8c\x00\x97\x2e\xc5\x39\xd0\x67"
25561 "\xfe\x72\x09\xa0\x14\xab\x42\xd9"
25562 "\x4d\xe4\x7b\x12\x86\x1d\xb4\x28"
25563 "\xbf\x56\xed\x61\xf8\x8f\x03\x9a"
25564 "\x31\xc8\x3c\xd3\x6a\x01\x75\x0c"
25565 "\xa3\x17\xae\x45\xdc\x50\xe7\x7e"
25566 "\x15\x89\x20\xb7\x2b\xc2\x59\xf0"
25567 "\x64\xfb\x92\x06\x9d\x34\xcb\x3f"
25568 "\xd6\x6d\x04\x78\x0f\xa6\x1a\xb1"
25569 "\x48\xdf\x53\xea\x81\x18\x8c\x23"
25570 "\xba\x2e\xc5\x5c\xf3\x67\xfe\x95"
25571 "\x09\xa0\x37\xce\x42\xd9\x70\x07"
25572 "\x7b\x12\xa9\x1d\xb4\x4b\xe2\x56"
25573 "\xed\x84\x1b\x8f\x26\xbd\x31\xc8"
25574 "\x5f\xf6\x6a\x01\x98\x0c\xa3\x3a"
25575 "\xd1\x45\xdc\x73\x0a\x7e\x15\xac"
25576 "\x20\xb7\x4e\xe5\x59\xf0\x87\x1e"
25577 "\x92\x29\xc0\x34\xcb\x62\xf9\x6d"
25578 "\x04\x9b\x0f\xa6\x3d\xd4\x48\xdf"
25579 "\x76\x0d\x81\x18\xaf\x23\xba\x51"
25580 "\xe8\x5c\xf3\x8a\x21\x95\x2c\xc3"
25581 "\x37\xce\x65\xfc\x70\x07\x9e\x12"
25582 "\xa9\x40\xd7\x4b\xe2\x79\x10\x84"
25583 "\x1b\xb2\x26\xbd\x54\xeb\x5f\xf6"
25584 "\x8d\x01\x98\x2f\xc6\x3a\xd1\x68"
25585 "\xff\x73\x0a\xa1\x15\xac\x43\xda"
25586 "\x4e\xe5\x7c\x13\x87\x1e\xb5\x29"
25587 "\xc0\x57\xee\x62\xf9\x90\x04\x9b"
25588 "\x32\xc9\x3d\xd4\x6b\x02\x76\x0d"
25589 "\xa4\x18\xaf\x46\xdd\x51\xe8\x7f"
25590 "\x16\x8a\x21\xb8\x2c\xc3\x5a\xf1"
25591 "\x65\xfc\x93\x07\x9e\x35\xcc\x40"
25592 "\xd7\x6e\x05\x79\x10\xa7\x1b\xb2"
25593 "\x49\xe0\x54\xeb\x82\x19\x8d\x24"
25594 "\xbb\x2f\xc6\x5d\xf4\x68\xff\x96"
25595 "\x0a\xa1\x38\xcf\x43\xda\x71\x08"
25596 "\x7c\x13\xaa\x1e\xb5\x4c\xe3\x57"
25597 "\xee\x85\x1c\x90\x27\xbe\x32\xc9"
25598 "\x60\xf7\x6b\x02\x99\x0d\xa4\x3b"
25599 "\xd2\x46\xdd\x74\x0b\x7f\x16\xad"
25600 "\x21\xb8\x4f\xe6\x5a\xf1\x88\x1f"
25601 "\x93\x2a\xc1\x35\xcc\x63\xfa\x6e"
25602 "\x05\x9c\x10\xa7\x3e\xd5\x49\xe0"
25603 "\x77\x0e\x82\x19\xb0\x24\xbb\x52"
25604 "\xe9\x5d\xf4\x8b\x22\x96\x2d\xc4"
25605 "\x38\xcf\x66\xfd\x71\x08\x9f\x13"
25606 "\xaa\x41\xd8\x4c\xe3\x7a\x11\x85"
25607 "\x1c\xb3\x27\xbe\x55\xec\x60\xf7"
25608 "\x8e\x02\x99\x30\xc7\x3b\xd2\x69"
25609 "\x00\x74\x0b\xa2\x16\xad\x44\xdb"
25610 "\x4f\xe6\x7d\x14\x88\x1f\xb6\x2a"
25611 "\xc1\x58\xef\x63\xfa\x91\x05\x9c"
25612 "\x33\xca\x3e\xd5\x6c\x03\x77\x0e"
25613 "\xa5\x19\xb0\x47\xde\x52\xe9\x80"
25614 "\x17\x8b\x22\xb9\x2d\xc4\x5b\xf2"
25615 "\x66\xfd\x94\x08\x9f\x36\xcd\x41"
25616 "\xd8\x6f\x06\x7a\x11\xa8\x1c\xb3"
25617 "\x4a\xe1\x55\xec\x83\x1a\x8e\x25"
25618 "\xbc\x30\xc7\x5e\xf5\x69\x00\x97"
25619 "\x0b\xa2\x39\xd0\x44\xdb\x72\x09"
25620 "\x7d\x14\xab\x1f\xb6\x4d\xe4\x58"
25621 "\xef\x86\x1d\x91\x28\xbf\x33\xca"
25622 "\x61\xf8\x6c\x03\x9a\x0e\xa5\x3c"
25623 "\xd3\x47\xde\x75\x0c\x80\x17\xae"
25624 "\x22\xb9\x50\xe7\x5b\xf2\x89\x20"
25625 "\x94\x2b\xc2\x36\xcd\x64\xfb\x6f"
25626 "\x06\x9d\x11\xa8\x3f\xd6\x4a\xe1"
25627 "\x78\x0f\x83\x1a\xb1\x25\xbc\x53"
25628 "\xea\x5e\xf5\x8c\x00\x97\x2e\xc5"
25629 "\x39\xd0\x67\xfe\x72\x09\xa0\x14"
25630 "\xab\x42\xd9\x4d\xe4\x7b\x12\x86"
25631 "\x1d\xb4\x28\xbf\x56\xed\x61\xf8"
25632 "\x8f\x03\x9a\x31\xc8\x3c\xd3\x6a"
25633 "\x01\x75\x0c\xa3\x17\xae\x45\xdc"
25634 "\x50\xe7\x7e\x15\x89\x20\xb7\x2b"
25635 "\xc2\x59\xf0\x64\xfb\x92\x06\x9d"
25636 "\x34\xcb\x3f\xd6\x6d\x04\x78\x0f"
25637 "\xa6\x1a\xb1\x48\xdf\x53\xea\x81"
25638 "\x18\x8c\x23\xba\x2e\xc5\x5c\xf3"
25639 "\x67\xfe\x95\x09\xa0\x37\xce\x42"
25640 "\xd9\x70\x07\x7b\x12\xa9\x1d\xb4"
25641 "\x4b\xe2\x56\xed\x84\x1b\x8f\x26"
25642 "\xbd\x31\xc8\x5f\xf6\x6a\x01\x98",
25643 .psize = 2048,
25644 .digest = "\xec\x26\x4d\x95",
25645 }
20070}; 25646};
20071 25647
20072/* 25648/*
diff --git a/crypto/vmac.c b/crypto/vmac.c
index f2338ca9836..2eb11a30c29 100644
--- a/crypto/vmac.c
+++ b/crypto/vmac.c
@@ -375,6 +375,11 @@ static void vhash_update(const unsigned char *m,
375 u64 pkh = ctx->polykey[0]; 375 u64 pkh = ctx->polykey[0];
376 u64 pkl = ctx->polykey[1]; 376 u64 pkl = ctx->polykey[1];
377 377
378 if (!mbytes)
379 return;
380
381 BUG_ON(mbytes % VMAC_NHBYTES);
382
378 mptr = (u64 *)m; 383 mptr = (u64 *)m;
379 i = mbytes / VMAC_NHBYTES; /* Must be non-zero */ 384 i = mbytes / VMAC_NHBYTES; /* Must be non-zero */
380 385
@@ -454,7 +459,7 @@ do_l3:
454} 459}
455 460
456static u64 vmac(unsigned char m[], unsigned int mbytes, 461static u64 vmac(unsigned char m[], unsigned int mbytes,
457 unsigned char n[16], u64 *tagl, 462 const unsigned char n[16], u64 *tagl,
458 struct vmac_ctx_t *ctx) 463 struct vmac_ctx_t *ctx)
459{ 464{
460 u64 *in_n, *out_p; 465 u64 *in_n, *out_p;
@@ -559,8 +564,33 @@ static int vmac_update(struct shash_desc *pdesc, const u8 *p,
559{ 564{
560 struct crypto_shash *parent = pdesc->tfm; 565 struct crypto_shash *parent = pdesc->tfm;
561 struct vmac_ctx_t *ctx = crypto_shash_ctx(parent); 566 struct vmac_ctx_t *ctx = crypto_shash_ctx(parent);
567 int expand;
568 int min;
569
570 expand = VMAC_NHBYTES - ctx->partial_size > 0 ?
571 VMAC_NHBYTES - ctx->partial_size : 0;
572
573 min = len < expand ? len : expand;
574
575 memcpy(ctx->partial + ctx->partial_size, p, min);
576 ctx->partial_size += min;
577
578 if (len < expand)
579 return 0;
562 580
563 vhash_update(p, len, &ctx->__vmac_ctx); 581 vhash_update(ctx->partial, VMAC_NHBYTES, &ctx->__vmac_ctx);
582 ctx->partial_size = 0;
583
584 len -= expand;
585 p += expand;
586
587 if (len % VMAC_NHBYTES) {
588 memcpy(ctx->partial, p + len - (len % VMAC_NHBYTES),
589 len % VMAC_NHBYTES);
590 ctx->partial_size = len % VMAC_NHBYTES;
591 }
592
593 vhash_update(p, len - len % VMAC_NHBYTES, &ctx->__vmac_ctx);
564 594
565 return 0; 595 return 0;
566} 596}
@@ -572,10 +602,20 @@ static int vmac_final(struct shash_desc *pdesc, u8 *out)
572 vmac_t mac; 602 vmac_t mac;
573 u8 nonce[16] = {}; 603 u8 nonce[16] = {};
574 604
575 mac = vmac(NULL, 0, nonce, NULL, ctx); 605 /* vmac() ends up accessing outside the array bounds that
606 * we specify. In appears to access up to the next 2-word
607 * boundary. We'll just be uber cautious and zero the
608 * unwritten bytes in the buffer.
609 */
610 if (ctx->partial_size) {
611 memset(ctx->partial + ctx->partial_size, 0,
612 VMAC_NHBYTES - ctx->partial_size);
613 }
614 mac = vmac(ctx->partial, ctx->partial_size, nonce, NULL, ctx);
576 memcpy(out, &mac, sizeof(vmac_t)); 615 memcpy(out, &mac, sizeof(vmac_t));
577 memset(&mac, 0, sizeof(vmac_t)); 616 memset(&mac, 0, sizeof(vmac_t));
578 memset(&ctx->__vmac_ctx, 0, sizeof(struct vmac_ctx)); 617 memset(&ctx->__vmac_ctx, 0, sizeof(struct vmac_ctx));
618 ctx->partial_size = 0;
579 return 0; 619 return 0;
580} 620}
581 621
@@ -673,4 +713,3 @@ module_exit(vmac_module_exit);
673 713
674MODULE_LICENSE("GPL"); 714MODULE_LICENSE("GPL");
675MODULE_DESCRIPTION("VMAC hash algorithm"); 715MODULE_DESCRIPTION("VMAC hash algorithm");
676