test: move unit tests to separate directory
[dpdk.git] / test / test / test_cryptodev_snow3g_hash_test_vectors.h
1 /*-
2  *   BSD LICENSE
3  *
4  *   Copyright(c) 2016 Intel Corporation. All rights reserved.
5  *
6  *   Redistribution and use in source and binary forms, with or without
7  *   modification, are permitted provided that the following conditions
8  *   are met:
9  *
10  *       * Redistributions of source code must retain the above copyright
11  *         notice, this list of conditions and the following disclaimer.
12  *       * Redistributions in binary form must reproduce the above copyright
13  *         notice, this list of conditions and the following disclaimer in
14  *         the documentation and/or other materials provided with the
15  *         distribution.
16  *       * Neither the name of Intel Corporation nor the names of its
17  *         contributors may be used to endorse or promote products derived
18  *         from this software without specific prior written permission.
19  *
20  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 #ifndef TEST_CRYPTODEV_SNOW3G_HASH_TEST_VECTORS_H_
34 #define TEST_CRYPTODEV_SNOW3G_HASH_TEST_VECTORS_H_
35
36 struct snow3g_hash_test_data {
37         struct {
38                 uint8_t data[64];
39                 unsigned len;
40         } key;
41
42         struct {
43                 uint8_t data[64];
44                 unsigned len;
45         } aad;
46
47         struct {
48                 uint8_t data[2056];
49                 unsigned len; /* length must be in Bits */
50         } plaintext;
51
52         struct {
53                 unsigned len;
54         } validAuthLenInBits;
55
56         struct {
57                 unsigned len;
58         } validAuthOffsetLenInBits;
59
60         struct {
61                 uint8_t data[64];
62                 unsigned len;
63         } digest;
64 };
65
66 struct snow3g_hash_test_data snow3g_hash_test_case_1 = {
67         .key = {
68                 .data = {
69                         0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9,
70                         0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E
71                 },
72         .len = 16
73         },
74         .aad = {
75                 .data = {
76                         0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
77                         0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
78                 },
79                 .len = 16
80         },
81         .plaintext = {
82                 .data = {
83                         0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2,
84                         0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1,
85                         0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29,
86                         0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0,
87                         0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20,
88                         0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09
89                 },
90                 .len = 384
91         },
92         .validAuthLenInBits = {
93                 .len = 384
94                 },
95         .validAuthOffsetLenInBits = {
96                 .len = 128
97         },
98         .digest = {
99                 .data = {0x38, 0xB5, 0x54, 0xC0 },
100                 .len  = 4
101         }
102 };
103
104 struct snow3g_hash_test_data snow3g_hash_test_case_2 = {
105         .key = {
106                 .data = {
107                         0xF4, 0xEB, 0xEC, 0x69, 0xE7, 0x3E, 0xAF, 0x2E,
108                         0xB2, 0xCF, 0x6A, 0xF4, 0xB3, 0x12, 0x0F, 0xFD
109                 },
110         .len = 16
111         },
112         .aad = {
113                 .data = {
114                         0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37,
115                         0xA9, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0xF7, 0x37
116                 },
117                 .len = 16
118         },
119         .plaintext = {
120                 .data = {
121                         0x10, 0xBF, 0xFF, 0x83, 0x9E, 0x0C, 0x71, 0x65,
122                         0x8D, 0xBB, 0x2D, 0x17, 0x07, 0xE1, 0x45, 0x72,
123                         0x4F, 0x41, 0xC1, 0x6F, 0x48, 0xBF, 0x40, 0x3C,
124                         0x3B, 0x18, 0xE3, 0x8F, 0xD5, 0xD1, 0x66, 0x3B,
125                         0x6F, 0x6D, 0x90, 0x01, 0x93, 0xE3, 0xCE, 0xA8,
126                         0xBB, 0x4F, 0x1B, 0x4F, 0x5B, 0xE8, 0x22, 0x03,
127                         0x22, 0x32, 0xA7, 0x8D, 0x7D, 0x75, 0x23, 0x8D,
128                         0x5E, 0x6D, 0xAE, 0xCD, 0x3B, 0x43, 0x22, 0xCF,
129                         0x59, 0xBC, 0x7E, 0xA8, 0x4A, 0xB1, 0x88, 0x11,
130                         0xB5, 0xBF, 0xB7, 0xBC, 0x55, 0x3F, 0x4F, 0xE4,
131                         0x44, 0x78, 0xCE, 0x28, 0x7A, 0x14, 0x87, 0x99,
132                         0x90, 0xD1, 0x8D, 0x12, 0xCA, 0x79, 0xD2, 0xC8,
133                         0x55, 0x14, 0x90, 0x21, 0xCD, 0x5C, 0xE8, 0xCA,
134                         0x03, 0x71, 0xCA, 0x04, 0xFC, 0xCE, 0x14, 0x3E,
135                         0x3D, 0x7C, 0xFE, 0xE9, 0x45, 0x85, 0xB5, 0x88,
136                         0x5C, 0xAC, 0x46, 0x06, 0x8B
137                 },
138                 .len = 1000
139         },
140         .validAuthLenInBits = {
141                 .len = 1000
142         },
143         .validAuthOffsetLenInBits = {
144                 .len = 128
145         },
146         .digest = {
147                 .data = {0x06, 0x17, 0x45, 0xAE},
148                 .len  = 4
149         }
150 };
151
152 struct snow3g_hash_test_data snow3g_hash_test_case_3 = {
153         .key = {
154                 .data = {
155                         0xB3, 0x12, 0x0F, 0xFD, 0xB2, 0xCF, 0x6A, 0xF4,
156                         0xE7, 0x3E, 0xAF, 0x2E, 0xF4, 0xEB, 0xEC, 0x69
157                 },
158         .len = 16
159         },
160         .aad = {
161                 .data = {
162                         0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37,
163                         0xA9, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0xF7, 0x37
164                 },
165         .len = 16
166         },
167         .plaintext = {
168                 .data = {
169                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170                         0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
171                         0xE0, 0x95, 0x80, 0x45, 0xF3, 0xA0, 0xBB, 0xA4,
172                         0xE3, 0x96, 0x83, 0x46, 0xF0, 0xA3, 0xB8, 0xA7,
173                         0xC0, 0x2A, 0x01, 0x8A, 0xE6, 0x40, 0x76, 0x52,
174                         0x26, 0xB9, 0x87, 0xC9, 0x13, 0xE6, 0xCB, 0xF0,
175                         0x83, 0x57, 0x00, 0x16, 0xCF, 0x83, 0xEF, 0xBC,
176                         0x61, 0xC0, 0x82, 0x51, 0x3E, 0x21, 0x56, 0x1A,
177                         0x42, 0x7C, 0x00, 0x9D, 0x28, 0xC2, 0x98, 0xEF,
178                         0xAC, 0xE7, 0x8E, 0xD6, 0xD5, 0x6C, 0x2D, 0x45,
179                         0x05, 0xAD, 0x03, 0x2E, 0x9C, 0x04, 0xDC, 0x60,
180                         0xE7, 0x3A, 0x81, 0x69, 0x6D, 0xA6, 0x65, 0xC6,
181                         0xC4, 0x86, 0x03, 0xA5, 0x7B, 0x45, 0xAB, 0x33,
182                         0x22, 0x15, 0x85, 0xE6, 0x8E, 0xE3, 0x16, 0x91,
183                         0x87, 0xFB, 0x02, 0x39, 0x52, 0x86, 0x32, 0xDD,
184                         0x65, 0x6C, 0x80, 0x7E, 0xA3, 0x24, 0x8B, 0x7B,
185                         0x46, 0xD0, 0x02, 0xB2, 0xB5, 0xC7, 0x45, 0x8E,
186                         0xB8, 0x5B, 0x9C, 0xE9, 0x58, 0x79, 0xE0, 0x34,
187                         0x08, 0x59, 0x05, 0x5E, 0x3B, 0x0A, 0xBB, 0xC3,
188                         0xEA, 0xCE, 0x87, 0x19, 0xCA, 0xA8, 0x02, 0x65,
189                         0xC9, 0x72, 0x05, 0xD5, 0xDC, 0x4B, 0xCC, 0x90,
190                         0x2F, 0xE1, 0x83, 0x96, 0x29, 0xED, 0x71, 0x32,
191                         0x8A, 0x0F, 0x04, 0x49, 0xF5, 0x88, 0x55, 0x7E,
192                         0x68, 0x98, 0x86, 0x0E, 0x04, 0x2A, 0xEC, 0xD8,
193                         0x4B, 0x24, 0x04, 0xC2, 0x12, 0xC9, 0x22, 0x2D,
194                         0xA5, 0xBF, 0x8A, 0x89, 0xEF, 0x67, 0x97, 0x87,
195                         0x0C, 0xF5, 0x07, 0x71, 0xA6, 0x0F, 0x66, 0xA2,
196                         0xEE, 0x62, 0x85, 0x36, 0x57, 0xAD, 0xDF, 0x04,
197                         0xCD, 0xDE, 0x07, 0xFA, 0x41, 0x4E, 0x11, 0xF1,
198                         0x2B, 0x4D, 0x81, 0xB9, 0xB4, 0xE8, 0xAC, 0x53,
199                         0x8E, 0xA3, 0x06, 0x66, 0x68, 0x8D, 0x88, 0x1F,
200                         0x6C, 0x34, 0x84, 0x21, 0x99, 0x2F, 0x31, 0xB9,
201                         0x4F, 0x88, 0x06, 0xED, 0x8F, 0xCC, 0xFF, 0x4C,
202                         0x91, 0x23, 0xB8, 0x96, 0x42, 0x52, 0x7A, 0xD6,
203                         0x13, 0xB1, 0x09, 0xBF, 0x75, 0x16, 0x74, 0x85,
204                         0xF1, 0x26, 0x8B, 0xF8, 0x84, 0xB4, 0xCD, 0x23,
205                         0xD2, 0x9A, 0x09, 0x34, 0x92, 0x57, 0x03, 0xD6,
206                         0x34, 0x09, 0x8F, 0x77, 0x67, 0xF1, 0xBE, 0x74,
207                         0x91, 0xE7, 0x08, 0xA8, 0xBB, 0x94, 0x9A, 0x38,
208                         0x73, 0x70, 0x8A, 0xEF, 0x4A, 0x36, 0x23, 0x9E,
209                         0x50, 0xCC, 0x08, 0x23, 0x5C, 0xD5, 0xED, 0x6B,
210                         0xBE, 0x57, 0x86, 0x68, 0xA1, 0x7B, 0x58, 0xC1,
211                         0x17, 0x1D, 0x0B, 0x90, 0xE8, 0x13, 0xA9, 0xE4,
212                         0xF5, 0x8A, 0x89, 0xD7, 0x19, 0xB1, 0x10, 0x42,
213                         0xD6, 0x36, 0x0B, 0x1B, 0x0F, 0x52, 0xDE, 0xB7,
214                         0x30, 0xA5, 0x8D, 0x58, 0xFA, 0xF4, 0x63, 0x15,
215                         0x95, 0x4B, 0x0A, 0x87, 0x26, 0x91, 0x47, 0x59,
216                         0x77, 0xDC, 0x88, 0xC0, 0xD7, 0x33, 0xFE, 0xFF,
217                         0x54, 0x60, 0x0A, 0x0C, 0xC1, 0xD0, 0x30, 0x0A,
218                         0xAA, 0xEB, 0x94, 0x57, 0x2C, 0x6E, 0x95, 0xB0,
219                         0x1A, 0xE9, 0x0D, 0xE0, 0x4F, 0x1D, 0xCE, 0x47,
220                         0xF8, 0x7E, 0x8F, 0xA7, 0xBE, 0xBF, 0x77, 0xE1,
221                         0xDB, 0xC2, 0x0D, 0x6B, 0xA8, 0x5C, 0xB9, 0x14,
222                         0x3D, 0x51, 0x8B, 0x28, 0x5D, 0xFA, 0x04, 0xB6,
223                         0x98, 0xBF, 0x0C, 0xF7, 0x81, 0x9F, 0x20, 0xFA,
224                         0x7A, 0x28, 0x8E, 0xB0, 0x70, 0x3D, 0x99, 0x5C,
225                         0x59, 0x94, 0x0C, 0x7C, 0x66, 0xDE, 0x57, 0xA9,
226                         0xB7, 0x0F, 0x82, 0x37, 0x9B, 0x70, 0xE2, 0x03,
227                         0x1E, 0x45, 0x0F, 0xCF, 0xD2, 0x18, 0x13, 0x26,
228                         0xFC, 0xD2, 0x8D, 0x88, 0x23, 0xBA, 0xAA, 0x80,
229                         0xDF, 0x6E, 0x0F, 0x44, 0x35, 0x59, 0x64, 0x75,
230                         0x39, 0xFD, 0x89, 0x07, 0xC0, 0xFF, 0xD9, 0xD7,
231                         0x9C, 0x13, 0x0E, 0xD8, 0x1C, 0x9A, 0xFD, 0x9B,
232                         0x7E, 0x84, 0x8C, 0x9F, 0xED, 0x38, 0x44, 0x3D,
233                         0x5D, 0x38, 0x0E, 0x53, 0xFB, 0xDB, 0x8A, 0xC8,
234                         0xC3, 0xD3, 0xF0, 0x68, 0x76, 0x05, 0x4F, 0x12,
235                         0x24, 0x61, 0x10, 0x7D, 0xE9, 0x2F, 0xEA, 0x09,
236                         0xC6, 0xF6, 0x92, 0x3A, 0x18, 0x8D, 0x53, 0xAF,
237                         0xE5, 0x4A, 0x10, 0xF6, 0x0E, 0x6E, 0x9D, 0x5A,
238                         0x03, 0xD9, 0x96, 0xB5, 0xFB, 0xC8, 0x20, 0xF8,
239                         0xA6, 0x37, 0x11, 0x6A, 0x27, 0xAD, 0x04, 0xB4,
240                         0x44, 0xA0, 0x93, 0x2D, 0xD6, 0x0F, 0xBD, 0x12,
241                         0x67, 0x1C, 0x11, 0xE1, 0xC0, 0xEC, 0x73, 0xE7,
242                         0x89, 0x87, 0x9F, 0xAA, 0x3D, 0x42, 0xC6, 0x4D,
243                         0x20, 0xCD, 0x12, 0x52, 0x74, 0x2A, 0x37, 0x68,
244                         0xC2, 0x5A, 0x90, 0x15, 0x85, 0x88, 0x8E, 0xCE,
245                         0xE1, 0xE6, 0x12, 0xD9, 0x93, 0x6B, 0x40, 0x3B,
246                         0x07, 0x75, 0x94, 0x9A, 0x66, 0xCD, 0xFD, 0x99,
247                         0xA2, 0x9B, 0x13, 0x45, 0xBA, 0xA8, 0xD9, 0xD5,
248                         0x40, 0x0C, 0x91, 0x02, 0x4B, 0x0A, 0x60, 0x73,
249                         0x63, 0xB0, 0x13, 0xCE, 0x5D, 0xE9, 0xAE, 0x86,
250                         0x9D, 0x3B, 0x8D, 0x95, 0xB0, 0x57, 0x0B, 0x3C,
251                         0x2D, 0x39, 0x14, 0x22, 0xD3, 0x24, 0x50, 0xCB,
252                         0xCF, 0xAE, 0x96, 0x65, 0x22, 0x86, 0xE9, 0x6D,
253                         0xEC, 0x12, 0x14, 0xA9, 0x34, 0x65, 0x27, 0x98,
254                         0x0A, 0x81, 0x92, 0xEA, 0xC1, 0xC3, 0x9A, 0x3A,
255                         0xAF, 0x6F, 0x15, 0x35, 0x1D, 0xA6, 0xBE, 0x76,
256                         0x4D, 0xF8, 0x97, 0x72, 0xEC, 0x04, 0x07, 0xD0,
257                         0x6E, 0x44, 0x15, 0xBE, 0xFA, 0xE7, 0xC9, 0x25,
258                         0x80, 0xDF, 0x9B, 0xF5, 0x07, 0x49, 0x7C, 0x8F,
259                         0x29, 0x95, 0x16, 0x0D, 0x4E, 0x21, 0x8D, 0xAA,
260                         0xCB, 0x02, 0x94, 0x4A, 0xBF, 0x83, 0x34, 0x0C,
261                         0xE8, 0xBE, 0x16, 0x86, 0xA9, 0x60, 0xFA, 0xF9,
262                         0x0E, 0x2D, 0x90, 0xC5, 0x5C, 0xC6, 0x47, 0x5B,
263                         0xAB, 0xC3, 0x17, 0x1A, 0x80, 0xA3, 0x63, 0x17,
264                         0x49, 0x54, 0x95, 0x5D, 0x71, 0x01, 0xDA, 0xB1,
265                         0x6A, 0xE8, 0x17, 0x91, 0x67, 0xE2, 0x14, 0x44,
266                         0xB4, 0x43, 0xA9, 0xEA, 0xAA, 0x7C, 0x91, 0xDE,
267                         0x36, 0xD1, 0x18, 0xC3, 0x9D, 0x38, 0x9F, 0x8D,
268                         0xD4, 0x46, 0x9A, 0x84, 0x6C, 0x9A, 0x26, 0x2B,
269                         0xF7, 0xFA, 0x18, 0x48, 0x7A, 0x79, 0xE8, 0xDE,
270                         0x11, 0x69, 0x9E, 0x0B, 0x8F, 0xDF, 0x55, 0x7C,
271                         0xB4, 0x87, 0x19, 0xD4, 0x53, 0xBA, 0x71, 0x30,
272                         0x56, 0x10, 0x9B, 0x93, 0xA2, 0x18, 0xC8, 0x96,
273                         0x75, 0xAC, 0x19, 0x5F, 0xB4, 0xFB, 0x06, 0x63,
274                         0x9B, 0x37, 0x97, 0x14, 0x49, 0x55, 0xB3, 0xC9,
275                         0x32, 0x7D, 0x1A, 0xEC, 0x00, 0x3D, 0x42, 0xEC,
276                         0xD0, 0xEA, 0x98, 0xAB, 0xF1, 0x9F, 0xFB, 0x4A,
277                         0xF3, 0x56, 0x1A, 0x67, 0xE7, 0x7C, 0x35, 0xBF,
278                         0x15, 0xC5, 0x9C, 0x24, 0x12, 0xDA, 0x88, 0x1D,
279                         0xB0, 0x2B, 0x1B, 0xFB, 0xCE, 0xBF, 0xAC, 0x51,
280                         0x52, 0xBC, 0x99, 0xBC, 0x3F, 0x1D, 0x15, 0xF7,
281                         0x71, 0x00, 0x1B, 0x70, 0x29, 0xFE, 0xDB, 0x02,
282                         0x8F, 0x8B, 0x85, 0x2B, 0xC4, 0x40, 0x7E, 0xB8,
283                         0x3F, 0x89, 0x1C, 0x9C, 0xA7, 0x33, 0x25, 0x4F,
284                         0xDD, 0x1E, 0x9E, 0xDB, 0x56, 0x91, 0x9C, 0xE9,
285                         0xFE, 0xA2, 0x1C, 0x17, 0x40, 0x72, 0x52, 0x1C,
286                         0x18, 0x31, 0x9A, 0x54, 0xB5, 0xD4, 0xEF, 0xBE,
287                         0xBD, 0xDF, 0x1D, 0x8B, 0x69, 0xB1, 0xCB, 0xF2,
288                         0x5F, 0x48, 0x9F, 0xCC, 0x98, 0x13, 0x72, 0x54,
289                         0x7C, 0xF4, 0x1D, 0x00, 0x8E, 0xF0, 0xBC, 0xA1,
290                         0x92, 0x6F, 0x93, 0x4B, 0x73, 0x5E, 0x09, 0x0B,
291                         0x3B, 0x25, 0x1E, 0xB3, 0x3A, 0x36, 0xF8, 0x2E,
292                         0xD9, 0xB2, 0x9C, 0xF4, 0xCB, 0x94, 0x41, 0x88,
293                         0xFA, 0x0E, 0x1E, 0x38, 0xDD, 0x77, 0x8F, 0x7D,
294                         0x1C, 0x9D, 0x98, 0x7B, 0x28, 0xD1, 0x32, 0xDF,
295                         0xB9, 0x73, 0x1F, 0xA4, 0xF4, 0xB4, 0x16, 0x93,
296                         0x5B, 0xE4, 0x9D, 0xE3, 0x05, 0x16, 0xAF, 0x35,
297                         0x78, 0x58, 0x1F, 0x2F, 0x13, 0xF5, 0x61, 0xC0,
298                         0x66, 0x33, 0x61, 0x94, 0x1E, 0xAB, 0x24, 0x9A,
299                         0x4B, 0xC1, 0x23, 0xF8, 0xD1, 0x5C, 0xD7, 0x11,
300                         0xA9, 0x56, 0xA1, 0xBF, 0x20, 0xFE, 0x6E, 0xB7,
301                         0x8A, 0xEA, 0x23, 0x73, 0x36, 0x1D, 0xA0, 0x42,
302                         0x6C, 0x79, 0xA5, 0x30, 0xC3, 0xBB, 0x1D, 0xE0,
303                         0xC9, 0x97, 0x22, 0xEF, 0x1F, 0xDE, 0x39, 0xAC,
304                         0x2B, 0x00, 0xA0, 0xA8, 0xEE, 0x7C, 0x80, 0x0A,
305                         0x08, 0xBC, 0x22, 0x64, 0xF8, 0x9F, 0x4E, 0xFF,
306                         0xE6, 0x27, 0xAC, 0x2F, 0x05, 0x31, 0xFB, 0x55,
307                         0x4F, 0x6D, 0x21, 0xD7, 0x4C, 0x59, 0x0A, 0x70,
308                         0xAD, 0xFA, 0xA3, 0x90, 0xBD, 0xFB, 0xB3, 0xD6,
309                         0x8E, 0x46, 0x21, 0x5C, 0xAB, 0x18, 0x7D, 0x23,
310                         0x68, 0xD5, 0xA7, 0x1F, 0x5E, 0xBE, 0xC0, 0x81,
311                         0xCD, 0x3B, 0x20, 0xC0, 0x82, 0xDB, 0xE4, 0xCD,
312                         0x2F, 0xAC, 0xA2, 0x87, 0x73, 0x79, 0x5D, 0x6B,
313                         0x0C, 0x10, 0x20, 0x4B, 0x65, 0x9A, 0x93, 0x9E,
314                         0xF2, 0x9B, 0xBE, 0x10, 0x88, 0x24, 0x36, 0x24,
315                         0x42, 0x99, 0x27, 0xA7, 0xEB, 0x57, 0x6D, 0xD3,
316                         0xA0, 0x0E, 0xA5, 0xE0, 0x1A, 0xF5, 0xD4, 0x75,
317                         0x83, 0xB2, 0x27, 0x2C, 0x0C, 0x16, 0x1A, 0x80,
318                         0x65, 0x21, 0xA1, 0x6F, 0xF9, 0xB0, 0xA7, 0x22,
319                         0xC0, 0xCF, 0x26, 0xB0, 0x25, 0xD5, 0x83, 0x6E,
320                         0x22, 0x58, 0xA4, 0xF7, 0xD4, 0x77, 0x3A, 0xC8,
321                         0x01, 0xE4, 0x26, 0x3B, 0xC2, 0x94, 0xF4, 0x3D,
322                         0xEF, 0x7F, 0xA8, 0x70, 0x3F, 0x3A, 0x41, 0x97,
323                         0x46, 0x35, 0x25, 0x88, 0x76, 0x52, 0xB0, 0xB2,
324                         0xA4, 0xA2, 0xA7, 0xCF, 0x87, 0xF0, 0x09, 0x14,
325                         0x87, 0x1E, 0x25, 0x03, 0x91, 0x13, 0xC7, 0xE1,
326                         0x61, 0x8D, 0xA3, 0x40, 0x64, 0xB5, 0x7A, 0x43,
327                         0xC4, 0x63, 0x24, 0x9F, 0xB8, 0xD0, 0x5E, 0x0F,
328                         0x26, 0xF4, 0xA6, 0xD8, 0x49, 0x72, 0xE7, 0xA9,
329                         0x05, 0x48, 0x24, 0x14, 0x5F, 0x91, 0x29, 0x5C,
330                         0xDB, 0xE3, 0x9A, 0x6F, 0x92, 0x0F, 0xAC, 0xC6,
331                         0x59, 0x71, 0x2B, 0x46, 0xA5, 0x4B, 0xA2, 0x95,
332                         0xBB, 0xE6, 0xA9, 0x01, 0x54, 0xE9, 0x1B, 0x33,
333                         0x98, 0x5A, 0x2B, 0xCD, 0x42, 0x0A, 0xD5, 0xC6,
334                         0x7E, 0xC9, 0xAD, 0x8E, 0xB7, 0xAC, 0x68, 0x64,
335                         0xDB, 0x27, 0x2A, 0x51, 0x6B, 0xC9, 0x4C, 0x28,
336                         0x39, 0xB0, 0xA8, 0x16, 0x9A, 0x6B, 0xF5, 0x8E,
337                         0x1A, 0x0C, 0x2A, 0xDA, 0x8C, 0x88, 0x3B, 0x7B,
338                         0xF4, 0x97, 0xA4, 0x91, 0x71, 0x26, 0x8E, 0xD1,
339                         0x5D, 0xDD, 0x29, 0x69, 0x38, 0x4E, 0x7F, 0xF4,
340                         0xBF, 0x4A, 0xAB, 0x2E, 0xC9, 0xEC, 0xC6, 0x52,
341                         0x9C, 0xF6, 0x29, 0xE2, 0xDF, 0x0F, 0x08, 0xA7,
342                         0x7A, 0x65, 0xAF, 0xA1, 0x2A, 0xA9, 0xB5, 0x05,
343                         0xDF, 0x8B, 0x28, 0x7E, 0xF6, 0xCC, 0x91, 0x49,
344                         0x3D, 0x1C, 0xAA, 0x39, 0x07, 0x6E, 0x28, 0xEF,
345                         0x1E, 0xA0, 0x28, 0xF5, 0x11, 0x8D, 0xE6, 0x1A,
346                         0xE0, 0x2B, 0xB6, 0xAE, 0xFC, 0x33, 0x43, 0xA0,
347                         0x50, 0x29, 0x2F, 0x19, 0x9F, 0x40, 0x18, 0x57,
348                         0xB2, 0xBE, 0xAD, 0x5E, 0x6E, 0xE2, 0xA1, 0xF1,
349                         0x91, 0x02, 0x2F, 0x92, 0x78, 0x01, 0x6F, 0x04,
350                         0x77, 0x91, 0xA9, 0xD1, 0x8D, 0xA7, 0xD2, 0xA6,
351                         0xD2, 0x7F, 0x2E, 0x0E, 0x51, 0xC2, 0xF6, 0xEA,
352                         0x30, 0xE8, 0xAC, 0x49, 0xA0, 0x60, 0x4F, 0x4C,
353                         0x13, 0x54, 0x2E, 0x85, 0xB6, 0x83, 0x81, 0xB9,
354                         0xFD, 0xCF, 0xA0, 0xCE, 0x4B, 0x2D, 0x34, 0x13,
355                         0x54, 0x85, 0x2D, 0x36, 0x02, 0x45, 0xC5, 0x36,
356                         0xB6, 0x12, 0xAF, 0x71, 0xF3, 0xE7, 0x7C, 0x90,
357                         0x95, 0xAE, 0x2D, 0xBD, 0xE5, 0x04, 0xB2, 0x65,
358                         0x73, 0x3D, 0xAB, 0xFE, 0x10, 0xA2, 0x0F, 0xC7,
359                         0xD6, 0xD3, 0x2C, 0x21, 0xCC, 0xC7, 0x2B, 0x8B,
360                         0x34, 0x44, 0xAE, 0x66, 0x3D, 0x65, 0x92, 0x2D,
361                         0x17, 0xF8, 0x2C, 0xAA, 0x2B, 0x86, 0x5C, 0xD8,
362                         0x89, 0x13, 0xD2, 0x91, 0xA6, 0x58, 0x99, 0x02,
363                         0x6E, 0xA1, 0x32, 0x84, 0x39, 0x72, 0x3C, 0x19,
364                         0x8C, 0x36, 0xB0, 0xC3, 0xC8, 0xD0, 0x85, 0xBF,
365                         0xAF, 0x8A, 0x32, 0x0F, 0xDE, 0x33, 0x4B, 0x4A,
366                         0x49, 0x19, 0xB4, 0x4C, 0x2B, 0x95, 0xF6, 0xE8,
367                         0xEC, 0xF7, 0x33, 0x93, 0xF7, 0xF0, 0xD2, 0xA4,
368                         0x0E, 0x60, 0xB1, 0xD4, 0x06, 0x52, 0x6B, 0x02,
369                         0x2D, 0xDC, 0x33, 0x18, 0x10, 0xB1, 0xA5, 0xF7,
370                         0xC3, 0x47, 0xBD, 0x53, 0xED, 0x1F, 0x10, 0x5D,
371                         0x6A, 0x0D, 0x30, 0xAB, 0xA4, 0x77, 0xE1, 0x78,
372                         0x88, 0x9A, 0xB2, 0xEC, 0x55, 0xD5, 0x58, 0xDE,
373                         0xAB, 0x26, 0x30, 0x20, 0x43, 0x36, 0x96, 0x2B,
374                         0x4D, 0xB5, 0xB6, 0x63, 0xB6, 0x90, 0x2B, 0x89,
375                         0xE8, 0x5B, 0x31, 0xBC, 0x6A, 0xF5, 0x0F, 0xC5,
376                         0x0A, 0xCC, 0xB3, 0xFB, 0x9B, 0x57, 0xB6, 0x63,
377                         0x29, 0x70, 0x31, 0x37, 0x8D, 0xB4, 0x78, 0x96,
378                         0xD7, 0xFB, 0xAF, 0x6C, 0x60, 0x0A, 0xDD, 0x2C,
379                         0x67, 0xF9, 0x36, 0xDB, 0x03, 0x79, 0x86, 0xDB,
380                         0x85, 0x6E, 0xB4, 0x9C, 0xF2, 0xDB, 0x3F, 0x7D,
381                         0xA6, 0xD2, 0x36, 0x50, 0xE4, 0x38, 0xF1, 0x88,
382                         0x40, 0x41, 0xB0, 0x13, 0x11, 0x9E, 0x4C, 0x2A,
383                         0xE5, 0xAF, 0x37, 0xCC, 0xCD, 0xFB, 0x68, 0x66,
384                         0x07, 0x38, 0xB5, 0x8B, 0x3C, 0x59, 0xD1, 0xC0,
385                         0x24, 0x84, 0x37, 0x47, 0x2A, 0xBA, 0x1F, 0x35,
386                         0xCA, 0x1F, 0xB9, 0x0C, 0xD7, 0x14, 0xAA, 0x9F,
387                         0x63, 0x55, 0x34, 0xF4, 0x9E, 0x7C, 0x5B, 0xBA,
388                         0x81, 0xC2, 0xB6, 0xB3, 0x6F, 0xDE, 0xE2, 0x1C,
389                         0xA2, 0x7E, 0x34, 0x7F, 0x79, 0x3D, 0x2C, 0xE9,
390                         0x44, 0xED, 0xB2, 0x3C, 0x8C, 0x9B, 0x91, 0x4B,
391                         0xE1, 0x03, 0x35, 0xE3, 0x50, 0xFE, 0xB5, 0x07,
392                         0x03, 0x94, 0xB7, 0xA4, 0xA1, 0x5C, 0x0C, 0xA1,
393                         0x20, 0x28, 0x35, 0x68, 0xB7, 0xBF, 0xC2, 0x54,
394                         0xFE, 0x83, 0x8B, 0x13, 0x7A, 0x21, 0x47, 0xCE,
395                         0x7C, 0x11, 0x3A, 0x3A, 0x4D, 0x65, 0x49, 0x9D,
396                         0x9E, 0x86, 0xB8, 0x7D, 0xBC, 0xC7, 0xF0, 0x3B,
397                         0xBD, 0x3A, 0x3A, 0xB1, 0xAA, 0x24, 0x3E, 0xCE,
398                         0x5B, 0xA9, 0xBC, 0xF2, 0x5F, 0x82, 0x83, 0x6C,
399                         0xFE, 0x47, 0x3B, 0x2D, 0x83, 0xE7, 0xA7, 0x20,
400                         0x1C, 0xD0, 0xB9, 0x6A, 0x72, 0x45, 0x1E, 0x86,
401                         0x3F, 0x6C, 0x3B, 0xA6, 0x64, 0xA6, 0xD0, 0x73,
402                         0xD1, 0xF7, 0xB5, 0xED, 0x99, 0x08, 0x65, 0xD9,
403                         0x78, 0xBD, 0x38, 0x15, 0xD0, 0x60, 0x94, 0xFC,
404                         0x9A, 0x2A, 0xBA, 0x52, 0x21, 0xC2, 0x2D, 0x5A,
405                         0xB9, 0x96, 0x38, 0x9E, 0x37, 0x21, 0xE3, 0xAF,
406                         0x5F, 0x05, 0xBE, 0xDD, 0xC2, 0x87, 0x5E, 0x0D,
407                         0xFA, 0xEB, 0x39, 0x02, 0x1E, 0xE2, 0x7A, 0x41,
408                         0x18, 0x7C, 0xBB, 0x45, 0xEF, 0x40, 0xC3, 0xE7,
409                         0x3B, 0xC0, 0x39, 0x89, 0xF9, 0xA3, 0x0D, 0x12,
410                         0xC5, 0x4B, 0xA7, 0xD2, 0x14, 0x1D, 0xA8, 0xA8,
411                         0x75, 0x49, 0x3E, 0x65, 0x77, 0x6E, 0xF3, 0x5F,
412                         0x97, 0xDE, 0xBC, 0x22, 0x86, 0xCC, 0x4A, 0xF9,
413                         0xB4, 0x62, 0x3E, 0xEE, 0x90, 0x2F, 0x84, 0x0C,
414                         0x52, 0xF1, 0xB8, 0xAD, 0x65, 0x89, 0x39, 0xAE,
415                         0xF7, 0x1F, 0x3F, 0x72, 0xB9, 0xEC, 0x1D, 0xE2,
416                         0x15, 0x88, 0xBD, 0x35, 0x48, 0x4E, 0xA4, 0x44,
417                         0x36, 0x34, 0x3F, 0xF9, 0x5E, 0xAD, 0x6A, 0xB1,
418                         0xD8, 0xAF, 0xB1, 0xB2, 0xA3, 0x03, 0xDF, 0x1B,
419                         0x71, 0xE5, 0x3C, 0x4A, 0xEA, 0x6B, 0x2E, 0x3E,
420                         0x93, 0x72, 0xBE, 0x0D, 0x1B, 0xC9, 0x97, 0x98,
421                         0xB0, 0xCE, 0x3C, 0xC1, 0x0D, 0x2A, 0x59, 0x6D,
422                         0x56, 0x5D, 0xBA, 0x82, 0xF8, 0x8C, 0xE4, 0xCF,
423                         0xF3, 0xB3, 0x3D, 0x5D, 0x24, 0xE9, 0xC0, 0x83,
424                         0x11, 0x24, 0xBF, 0x1A, 0xD5, 0x4B, 0x79, 0x25,
425                         0x32, 0x98, 0x3D, 0xD6, 0xC3, 0xA8, 0xB7, 0xD0
426                 },
427         .len = 16448
428         },
429         .validAuthLenInBits = {
430                 .len = 16448
431         },
432         .validAuthOffsetLenInBits = {
433                 .len = 128
434         },
435         .digest = {
436                 .data = {0x17, 0x9F, 0x2F, 0xA6},
437                 .len  = 4
438         }
439 };
440
441 struct snow3g_hash_test_data snow3g_hash_test_case_4 = {
442         .key = {
443                 .data = {
444                         0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00,
445                         0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48
446                 },
447         .len = 16
448         },
449         .aad = {
450                 .data = {
451                         0x38, 0xA6, 0xF0, 0x56, 0x05, 0xD2, 0xEC, 0x49,
452                         0x38, 0xA6, 0xF0, 0x56, 0x05, 0xD2, 0xEC, 0x49,
453                 },
454                 .len = 16
455         },
456         .plaintext = {
457                 .data = {
458                         0x6B, 0x22, 0x77, 0x37, 0x29, 0x6F, 0x39, 0x3C,
459                         0x80, 0x79, 0x35, 0x3E, 0xDC, 0x87, 0xE2, 0xE8,
460                         0x05, 0xD2, 0xEC, 0x49, 0xA4, 0xF2, 0xD8, 0xE0
461                 },
462                 .len = 189
463         },
464         .validAuthLenInBits = {
465                 .len = 189
466                 },
467         .validAuthOffsetLenInBits = {
468                 .len = 128
469         },
470         .digest = {
471                 .data = {0x2B, 0xCE, 0x18, 0x20},
472                 .len  = 4
473         }
474 };
475
476 struct snow3g_hash_test_data snow3g_hash_test_case_5 = {
477         .key = {
478                 .data = {
479                         0xD4, 0x2F, 0x68, 0x24, 0x28, 0x20, 0x1C, 0xAF,
480                         0xCD, 0x9F, 0x97, 0x94, 0x5E, 0x6D, 0xE7, 0xB7
481                 },
482                 .len = 16
483         },
484         .aad = {
485                 .data = {
486                         0x3E, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0xD8, 0xE2,
487                         0xBE, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0x58, 0xE2
488                 },
489                 .len = 16
490         },
491         .plaintext = {
492                 .data = {
493                         0xB5, 0x92, 0x43, 0x84, 0x32, 0x8A, 0x4A, 0xE0,
494                         0x0B, 0x73, 0x71, 0x09, 0xF8, 0xB6, 0xC8, 0xDD,
495                         0x2B, 0x4D, 0xB6, 0x3D, 0xD5, 0x33, 0x98, 0x1C,
496                         0xEB, 0x19, 0xAA, 0xD5, 0x2A, 0x5B, 0x2B, 0xC0
497                 },
498                 .len = 254
499         },
500         .validAuthLenInBits = {
501                 .len = 254
502                 },
503         .validAuthOffsetLenInBits = {
504                 .len = 128
505         },
506         .digest = {
507                 .data = {0xFC, 0x7B, 0x18, 0xBD},
508                 .len  = 4
509         }
510 };
511
512 struct snow3g_hash_test_data snow3g_hash_test_case_6 = {
513         .key = {
514                 .data = {
515                         0xFD, 0xB9, 0xCF, 0xDF, 0x28, 0x93, 0x6C, 0xC4,
516                         0x83, 0xA3, 0x18, 0x69, 0xD8, 0x1B, 0x8F, 0xAB
517                 },
518                 .len = 16
519         },
520         .aad = {
521                 .data = {
522                         0x36, 0xAF, 0x61, 0x44, 0x98, 0x38, 0xF0, 0x3A,
523                         0xB6, 0xAF, 0x61, 0x44, 0x98, 0x38, 0x70, 0x3A
524                 },
525                 .len = 16
526         },
527         .plaintext = {
528                 .data = {
529                         0x59, 0x32, 0xBC, 0x0A, 0xCE, 0x2B, 0x0A, 0xBA,
530                         0x33, 0xD8, 0xAC, 0x18, 0x8A, 0xC5, 0x4F, 0x34,
531                         0x6F, 0xAD, 0x10, 0xBF, 0x9D, 0xEE, 0x29, 0x20,
532                         0xB4, 0x3B, 0xD0, 0xC5, 0x3A, 0x91, 0x5C, 0xB7,
533                         0xDF, 0x6C, 0xAA, 0x72, 0x05, 0x3A, 0xBF, 0xF2
534                 },
535                 .len = 319
536         },
537         .validAuthLenInBits = {
538                 .len = 319
539                 },
540         .validAuthOffsetLenInBits = {
541                 .len = 128
542         },
543         .digest = {
544                 .data = {0x02, 0xF1, 0xFA, 0xAF},
545                 .len  = 4
546         }
547 };
548 #endif /* TEST_CRYPTODEV_SNOW3G_HASH_TEST_VECTORS_H_ */