New upstream version 17.08
[deb_dpdk.git] / test / test / test_cryptodev_snow3g_hash_test_vectors.h
1 /*-
2  *   BSD LICENSE
3  *
4  *   Copyright(c) 2016-2017 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         } auth_iv;
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                 uint8_t data[64];
58                 unsigned len;
59         } digest;
60 };
61
62 struct snow3g_hash_test_data snow3g_hash_test_case_1 = {
63         .key = {
64                 .data = {
65                         0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9,
66                         0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E
67                 },
68         .len = 16
69         },
70         .auth_iv = {
71                 .data = {
72                         0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
73                         0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
74                 },
75                 .len = 16
76         },
77         .plaintext = {
78                 .data = {
79                         0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2,
80                         0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1,
81                         0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29,
82                         0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0,
83                         0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20,
84                         0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09
85                 },
86                 .len = 384
87         },
88         .validAuthLenInBits = {
89                 .len = 384
90                 },
91         .digest = {
92                 .data = {0x38, 0xB5, 0x54, 0xC0 },
93                 .len  = 4
94         }
95 };
96
97 struct snow3g_hash_test_data snow3g_hash_test_case_2 = {
98         .key = {
99                 .data = {
100                         0xF4, 0xEB, 0xEC, 0x69, 0xE7, 0x3E, 0xAF, 0x2E,
101                         0xB2, 0xCF, 0x6A, 0xF4, 0xB3, 0x12, 0x0F, 0xFD
102                 },
103         .len = 16
104         },
105         .auth_iv = {
106                 .data = {
107                         0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37,
108                         0xA9, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0xF7, 0x37
109                 },
110                 .len = 16
111         },
112         .plaintext = {
113                 .data = {
114                         0x10, 0xBF, 0xFF, 0x83, 0x9E, 0x0C, 0x71, 0x65,
115                         0x8D, 0xBB, 0x2D, 0x17, 0x07, 0xE1, 0x45, 0x72,
116                         0x4F, 0x41, 0xC1, 0x6F, 0x48, 0xBF, 0x40, 0x3C,
117                         0x3B, 0x18, 0xE3, 0x8F, 0xD5, 0xD1, 0x66, 0x3B,
118                         0x6F, 0x6D, 0x90, 0x01, 0x93, 0xE3, 0xCE, 0xA8,
119                         0xBB, 0x4F, 0x1B, 0x4F, 0x5B, 0xE8, 0x22, 0x03,
120                         0x22, 0x32, 0xA7, 0x8D, 0x7D, 0x75, 0x23, 0x8D,
121                         0x5E, 0x6D, 0xAE, 0xCD, 0x3B, 0x43, 0x22, 0xCF,
122                         0x59, 0xBC, 0x7E, 0xA8, 0x4A, 0xB1, 0x88, 0x11,
123                         0xB5, 0xBF, 0xB7, 0xBC, 0x55, 0x3F, 0x4F, 0xE4,
124                         0x44, 0x78, 0xCE, 0x28, 0x7A, 0x14, 0x87, 0x99,
125                         0x90, 0xD1, 0x8D, 0x12, 0xCA, 0x79, 0xD2, 0xC8,
126                         0x55, 0x14, 0x90, 0x21, 0xCD, 0x5C, 0xE8, 0xCA,
127                         0x03, 0x71, 0xCA, 0x04, 0xFC, 0xCE, 0x14, 0x3E,
128                         0x3D, 0x7C, 0xFE, 0xE9, 0x45, 0x85, 0xB5, 0x88,
129                         0x5C, 0xAC, 0x46, 0x06, 0x8B
130                 },
131                 .len = 1000
132         },
133         .validAuthLenInBits = {
134                 .len = 1000
135         },
136         .digest = {
137                 .data = {0x06, 0x17, 0x45, 0xAE},
138                 .len  = 4
139         }
140 };
141
142 struct snow3g_hash_test_data snow3g_hash_test_case_3 = {
143         .key = {
144                 .data = {
145                         0xB3, 0x12, 0x0F, 0xFD, 0xB2, 0xCF, 0x6A, 0xF4,
146                         0xE7, 0x3E, 0xAF, 0x2E, 0xF4, 0xEB, 0xEC, 0x69
147                 },
148         .len = 16
149         },
150         .auth_iv = {
151                 .data = {
152                         0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37,
153                         0xA9, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0xF7, 0x37
154                 },
155         .len = 16
156         },
157         .plaintext = {
158                 .data = {
159                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160                         0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
161                         0xE0, 0x95, 0x80, 0x45, 0xF3, 0xA0, 0xBB, 0xA4,
162                         0xE3, 0x96, 0x83, 0x46, 0xF0, 0xA3, 0xB8, 0xA7,
163                         0xC0, 0x2A, 0x01, 0x8A, 0xE6, 0x40, 0x76, 0x52,
164                         0x26, 0xB9, 0x87, 0xC9, 0x13, 0xE6, 0xCB, 0xF0,
165                         0x83, 0x57, 0x00, 0x16, 0xCF, 0x83, 0xEF, 0xBC,
166                         0x61, 0xC0, 0x82, 0x51, 0x3E, 0x21, 0x56, 0x1A,
167                         0x42, 0x7C, 0x00, 0x9D, 0x28, 0xC2, 0x98, 0xEF,
168                         0xAC, 0xE7, 0x8E, 0xD6, 0xD5, 0x6C, 0x2D, 0x45,
169                         0x05, 0xAD, 0x03, 0x2E, 0x9C, 0x04, 0xDC, 0x60,
170                         0xE7, 0x3A, 0x81, 0x69, 0x6D, 0xA6, 0x65, 0xC6,
171                         0xC4, 0x86, 0x03, 0xA5, 0x7B, 0x45, 0xAB, 0x33,
172                         0x22, 0x15, 0x85, 0xE6, 0x8E, 0xE3, 0x16, 0x91,
173                         0x87, 0xFB, 0x02, 0x39, 0x52, 0x86, 0x32, 0xDD,
174                         0x65, 0x6C, 0x80, 0x7E, 0xA3, 0x24, 0x8B, 0x7B,
175                         0x46, 0xD0, 0x02, 0xB2, 0xB5, 0xC7, 0x45, 0x8E,
176                         0xB8, 0x5B, 0x9C, 0xE9, 0x58, 0x79, 0xE0, 0x34,
177                         0x08, 0x59, 0x05, 0x5E, 0x3B, 0x0A, 0xBB, 0xC3,
178                         0xEA, 0xCE, 0x87, 0x19, 0xCA, 0xA8, 0x02, 0x65,
179                         0xC9, 0x72, 0x05, 0xD5, 0xDC, 0x4B, 0xCC, 0x90,
180                         0x2F, 0xE1, 0x83, 0x96, 0x29, 0xED, 0x71, 0x32,
181                         0x8A, 0x0F, 0x04, 0x49, 0xF5, 0x88, 0x55, 0x7E,
182                         0x68, 0x98, 0x86, 0x0E, 0x04, 0x2A, 0xEC, 0xD8,
183                         0x4B, 0x24, 0x04, 0xC2, 0x12, 0xC9, 0x22, 0x2D,
184                         0xA5, 0xBF, 0x8A, 0x89, 0xEF, 0x67, 0x97, 0x87,
185                         0x0C, 0xF5, 0x07, 0x71, 0xA6, 0x0F, 0x66, 0xA2,
186                         0xEE, 0x62, 0x85, 0x36, 0x57, 0xAD, 0xDF, 0x04,
187                         0xCD, 0xDE, 0x07, 0xFA, 0x41, 0x4E, 0x11, 0xF1,
188                         0x2B, 0x4D, 0x81, 0xB9, 0xB4, 0xE8, 0xAC, 0x53,
189                         0x8E, 0xA3, 0x06, 0x66, 0x68, 0x8D, 0x88, 0x1F,
190                         0x6C, 0x34, 0x84, 0x21, 0x99, 0x2F, 0x31, 0xB9,
191                         0x4F, 0x88, 0x06, 0xED, 0x8F, 0xCC, 0xFF, 0x4C,
192                         0x91, 0x23, 0xB8, 0x96, 0x42, 0x52, 0x7A, 0xD6,
193                         0x13, 0xB1, 0x09, 0xBF, 0x75, 0x16, 0x74, 0x85,
194                         0xF1, 0x26, 0x8B, 0xF8, 0x84, 0xB4, 0xCD, 0x23,
195                         0xD2, 0x9A, 0x09, 0x34, 0x92, 0x57, 0x03, 0xD6,
196                         0x34, 0x09, 0x8F, 0x77, 0x67, 0xF1, 0xBE, 0x74,
197                         0x91, 0xE7, 0x08, 0xA8, 0xBB, 0x94, 0x9A, 0x38,
198                         0x73, 0x70, 0x8A, 0xEF, 0x4A, 0x36, 0x23, 0x9E,
199                         0x50, 0xCC, 0x08, 0x23, 0x5C, 0xD5, 0xED, 0x6B,
200                         0xBE, 0x57, 0x86, 0x68, 0xA1, 0x7B, 0x58, 0xC1,
201                         0x17, 0x1D, 0x0B, 0x90, 0xE8, 0x13, 0xA9, 0xE4,
202                         0xF5, 0x8A, 0x89, 0xD7, 0x19, 0xB1, 0x10, 0x42,
203                         0xD6, 0x36, 0x0B, 0x1B, 0x0F, 0x52, 0xDE, 0xB7,
204                         0x30, 0xA5, 0x8D, 0x58, 0xFA, 0xF4, 0x63, 0x15,
205                         0x95, 0x4B, 0x0A, 0x87, 0x26, 0x91, 0x47, 0x59,
206                         0x77, 0xDC, 0x88, 0xC0, 0xD7, 0x33, 0xFE, 0xFF,
207                         0x54, 0x60, 0x0A, 0x0C, 0xC1, 0xD0, 0x30, 0x0A,
208                         0xAA, 0xEB, 0x94, 0x57, 0x2C, 0x6E, 0x95, 0xB0,
209                         0x1A, 0xE9, 0x0D, 0xE0, 0x4F, 0x1D, 0xCE, 0x47,
210                         0xF8, 0x7E, 0x8F, 0xA7, 0xBE, 0xBF, 0x77, 0xE1,
211                         0xDB, 0xC2, 0x0D, 0x6B, 0xA8, 0x5C, 0xB9, 0x14,
212                         0x3D, 0x51, 0x8B, 0x28, 0x5D, 0xFA, 0x04, 0xB6,
213                         0x98, 0xBF, 0x0C, 0xF7, 0x81, 0x9F, 0x20, 0xFA,
214                         0x7A, 0x28, 0x8E, 0xB0, 0x70, 0x3D, 0x99, 0x5C,
215                         0x59, 0x94, 0x0C, 0x7C, 0x66, 0xDE, 0x57, 0xA9,
216                         0xB7, 0x0F, 0x82, 0x37, 0x9B, 0x70, 0xE2, 0x03,
217                         0x1E, 0x45, 0x0F, 0xCF, 0xD2, 0x18, 0x13, 0x26,
218                         0xFC, 0xD2, 0x8D, 0x88, 0x23, 0xBA, 0xAA, 0x80,
219                         0xDF, 0x6E, 0x0F, 0x44, 0x35, 0x59, 0x64, 0x75,
220                         0x39, 0xFD, 0x89, 0x07, 0xC0, 0xFF, 0xD9, 0xD7,
221                         0x9C, 0x13, 0x0E, 0xD8, 0x1C, 0x9A, 0xFD, 0x9B,
222                         0x7E, 0x84, 0x8C, 0x9F, 0xED, 0x38, 0x44, 0x3D,
223                         0x5D, 0x38, 0x0E, 0x53, 0xFB, 0xDB, 0x8A, 0xC8,
224                         0xC3, 0xD3, 0xF0, 0x68, 0x76, 0x05, 0x4F, 0x12,
225                         0x24, 0x61, 0x10, 0x7D, 0xE9, 0x2F, 0xEA, 0x09,
226                         0xC6, 0xF6, 0x92, 0x3A, 0x18, 0x8D, 0x53, 0xAF,
227                         0xE5, 0x4A, 0x10, 0xF6, 0x0E, 0x6E, 0x9D, 0x5A,
228                         0x03, 0xD9, 0x96, 0xB5, 0xFB, 0xC8, 0x20, 0xF8,
229                         0xA6, 0x37, 0x11, 0x6A, 0x27, 0xAD, 0x04, 0xB4,
230                         0x44, 0xA0, 0x93, 0x2D, 0xD6, 0x0F, 0xBD, 0x12,
231                         0x67, 0x1C, 0x11, 0xE1, 0xC0, 0xEC, 0x73, 0xE7,
232                         0x89, 0x87, 0x9F, 0xAA, 0x3D, 0x42, 0xC6, 0x4D,
233                         0x20, 0xCD, 0x12, 0x52, 0x74, 0x2A, 0x37, 0x68,
234                         0xC2, 0x5A, 0x90, 0x15, 0x85, 0x88, 0x8E, 0xCE,
235                         0xE1, 0xE6, 0x12, 0xD9, 0x93, 0x6B, 0x40, 0x3B,
236                         0x07, 0x75, 0x94, 0x9A, 0x66, 0xCD, 0xFD, 0x99,
237                         0xA2, 0x9B, 0x13, 0x45, 0xBA, 0xA8, 0xD9, 0xD5,
238                         0x40, 0x0C, 0x91, 0x02, 0x4B, 0x0A, 0x60, 0x73,
239                         0x63, 0xB0, 0x13, 0xCE, 0x5D, 0xE9, 0xAE, 0x86,
240                         0x9D, 0x3B, 0x8D, 0x95, 0xB0, 0x57, 0x0B, 0x3C,
241                         0x2D, 0x39, 0x14, 0x22, 0xD3, 0x24, 0x50, 0xCB,
242                         0xCF, 0xAE, 0x96, 0x65, 0x22, 0x86, 0xE9, 0x6D,
243                         0xEC, 0x12, 0x14, 0xA9, 0x34, 0x65, 0x27, 0x98,
244                         0x0A, 0x81, 0x92, 0xEA, 0xC1, 0xC3, 0x9A, 0x3A,
245                         0xAF, 0x6F, 0x15, 0x35, 0x1D, 0xA6, 0xBE, 0x76,
246                         0x4D, 0xF8, 0x97, 0x72, 0xEC, 0x04, 0x07, 0xD0,
247                         0x6E, 0x44, 0x15, 0xBE, 0xFA, 0xE7, 0xC9, 0x25,
248                         0x80, 0xDF, 0x9B, 0xF5, 0x07, 0x49, 0x7C, 0x8F,
249                         0x29, 0x95, 0x16, 0x0D, 0x4E, 0x21, 0x8D, 0xAA,
250                         0xCB, 0x02, 0x94, 0x4A, 0xBF, 0x83, 0x34, 0x0C,
251                         0xE8, 0xBE, 0x16, 0x86, 0xA9, 0x60, 0xFA, 0xF9,
252                         0x0E, 0x2D, 0x90, 0xC5, 0x5C, 0xC6, 0x47, 0x5B,
253                         0xAB, 0xC3, 0x17, 0x1A, 0x80, 0xA3, 0x63, 0x17,
254                         0x49, 0x54, 0x95, 0x5D, 0x71, 0x01, 0xDA, 0xB1,
255                         0x6A, 0xE8, 0x17, 0x91, 0x67, 0xE2, 0x14, 0x44,
256                         0xB4, 0x43, 0xA9, 0xEA, 0xAA, 0x7C, 0x91, 0xDE,
257                         0x36, 0xD1, 0x18, 0xC3, 0x9D, 0x38, 0x9F, 0x8D,
258                         0xD4, 0x46, 0x9A, 0x84, 0x6C, 0x9A, 0x26, 0x2B,
259                         0xF7, 0xFA, 0x18, 0x48, 0x7A, 0x79, 0xE8, 0xDE,
260                         0x11, 0x69, 0x9E, 0x0B, 0x8F, 0xDF, 0x55, 0x7C,
261                         0xB4, 0x87, 0x19, 0xD4, 0x53, 0xBA, 0x71, 0x30,
262                         0x56, 0x10, 0x9B, 0x93, 0xA2, 0x18, 0xC8, 0x96,
263                         0x75, 0xAC, 0x19, 0x5F, 0xB4, 0xFB, 0x06, 0x63,
264                         0x9B, 0x37, 0x97, 0x14, 0x49, 0x55, 0xB3, 0xC9,
265                         0x32, 0x7D, 0x1A, 0xEC, 0x00, 0x3D, 0x42, 0xEC,
266                         0xD0, 0xEA, 0x98, 0xAB, 0xF1, 0x9F, 0xFB, 0x4A,
267                         0xF3, 0x56, 0x1A, 0x67, 0xE7, 0x7C, 0x35, 0xBF,
268                         0x15, 0xC5, 0x9C, 0x24, 0x12, 0xDA, 0x88, 0x1D,
269                         0xB0, 0x2B, 0x1B, 0xFB, 0xCE, 0xBF, 0xAC, 0x51,
270                         0x52, 0xBC, 0x99, 0xBC, 0x3F, 0x1D, 0x15, 0xF7,
271                         0x71, 0x00, 0x1B, 0x70, 0x29, 0xFE, 0xDB, 0x02,
272                         0x8F, 0x8B, 0x85, 0x2B, 0xC4, 0x40, 0x7E, 0xB8,
273                         0x3F, 0x89, 0x1C, 0x9C, 0xA7, 0x33, 0x25, 0x4F,
274                         0xDD, 0x1E, 0x9E, 0xDB, 0x56, 0x91, 0x9C, 0xE9,
275                         0xFE, 0xA2, 0x1C, 0x17, 0x40, 0x72, 0x52, 0x1C,
276                         0x18, 0x31, 0x9A, 0x54, 0xB5, 0xD4, 0xEF, 0xBE,
277                         0xBD, 0xDF, 0x1D, 0x8B, 0x69, 0xB1, 0xCB, 0xF2,
278                         0x5F, 0x48, 0x9F, 0xCC, 0x98, 0x13, 0x72, 0x54,
279                         0x7C, 0xF4, 0x1D, 0x00, 0x8E, 0xF0, 0xBC, 0xA1,
280                         0x92, 0x6F, 0x93, 0x4B, 0x73, 0x5E, 0x09, 0x0B,
281                         0x3B, 0x25, 0x1E, 0xB3, 0x3A, 0x36, 0xF8, 0x2E,
282                         0xD9, 0xB2, 0x9C, 0xF4, 0xCB, 0x94, 0x41, 0x88,
283                         0xFA, 0x0E, 0x1E, 0x38, 0xDD, 0x77, 0x8F, 0x7D,
284                         0x1C, 0x9D, 0x98, 0x7B, 0x28, 0xD1, 0x32, 0xDF,
285                         0xB9, 0x73, 0x1F, 0xA4, 0xF4, 0xB4, 0x16, 0x93,
286                         0x5B, 0xE4, 0x9D, 0xE3, 0x05, 0x16, 0xAF, 0x35,
287                         0x78, 0x58, 0x1F, 0x2F, 0x13, 0xF5, 0x61, 0xC0,
288                         0x66, 0x33, 0x61, 0x94, 0x1E, 0xAB, 0x24, 0x9A,
289                         0x4B, 0xC1, 0x23, 0xF8, 0xD1, 0x5C, 0xD7, 0x11,
290                         0xA9, 0x56, 0xA1, 0xBF, 0x20, 0xFE, 0x6E, 0xB7,
291                         0x8A, 0xEA, 0x23, 0x73, 0x36, 0x1D, 0xA0, 0x42,
292                         0x6C, 0x79, 0xA5, 0x30, 0xC3, 0xBB, 0x1D, 0xE0,
293                         0xC9, 0x97, 0x22, 0xEF, 0x1F, 0xDE, 0x39, 0xAC,
294                         0x2B, 0x00, 0xA0, 0xA8, 0xEE, 0x7C, 0x80, 0x0A,
295                         0x08, 0xBC, 0x22, 0x64, 0xF8, 0x9F, 0x4E, 0xFF,
296                         0xE6, 0x27, 0xAC, 0x2F, 0x05, 0x31, 0xFB, 0x55,
297                         0x4F, 0x6D, 0x21, 0xD7, 0x4C, 0x59, 0x0A, 0x70,
298                         0xAD, 0xFA, 0xA3, 0x90, 0xBD, 0xFB, 0xB3, 0xD6,
299                         0x8E, 0x46, 0x21, 0x5C, 0xAB, 0x18, 0x7D, 0x23,
300                         0x68, 0xD5, 0xA7, 0x1F, 0x5E, 0xBE, 0xC0, 0x81,
301                         0xCD, 0x3B, 0x20, 0xC0, 0x82, 0xDB, 0xE4, 0xCD,
302                         0x2F, 0xAC, 0xA2, 0x87, 0x73, 0x79, 0x5D, 0x6B,
303                         0x0C, 0x10, 0x20, 0x4B, 0x65, 0x9A, 0x93, 0x9E,
304                         0xF2, 0x9B, 0xBE, 0x10, 0x88, 0x24, 0x36, 0x24,
305                         0x42, 0x99, 0x27, 0xA7, 0xEB, 0x57, 0x6D, 0xD3,
306                         0xA0, 0x0E, 0xA5, 0xE0, 0x1A, 0xF5, 0xD4, 0x75,
307                         0x83, 0xB2, 0x27, 0x2C, 0x0C, 0x16, 0x1A, 0x80,
308                         0x65, 0x21, 0xA1, 0x6F, 0xF9, 0xB0, 0xA7, 0x22,
309                         0xC0, 0xCF, 0x26, 0xB0, 0x25, 0xD5, 0x83, 0x6E,
310                         0x22, 0x58, 0xA4, 0xF7, 0xD4, 0x77, 0x3A, 0xC8,
311                         0x01, 0xE4, 0x26, 0x3B, 0xC2, 0x94, 0xF4, 0x3D,
312                         0xEF, 0x7F, 0xA8, 0x70, 0x3F, 0x3A, 0x41, 0x97,
313                         0x46, 0x35, 0x25, 0x88, 0x76, 0x52, 0xB0, 0xB2,
314                         0xA4, 0xA2, 0xA7, 0xCF, 0x87, 0xF0, 0x09, 0x14,
315                         0x87, 0x1E, 0x25, 0x03, 0x91, 0x13, 0xC7, 0xE1,
316                         0x61, 0x8D, 0xA3, 0x40, 0x64, 0xB5, 0x7A, 0x43,
317                         0xC4, 0x63, 0x24, 0x9F, 0xB8, 0xD0, 0x5E, 0x0F,
318                         0x26, 0xF4, 0xA6, 0xD8, 0x49, 0x72, 0xE7, 0xA9,
319                         0x05, 0x48, 0x24, 0x14, 0x5F, 0x91, 0x29, 0x5C,
320                         0xDB, 0xE3, 0x9A, 0x6F, 0x92, 0x0F, 0xAC, 0xC6,
321                         0x59, 0x71, 0x2B, 0x46, 0xA5, 0x4B, 0xA2, 0x95,
322                         0xBB, 0xE6, 0xA9, 0x01, 0x54, 0xE9, 0x1B, 0x33,
323                         0x98, 0x5A, 0x2B, 0xCD, 0x42, 0x0A, 0xD5, 0xC6,
324                         0x7E, 0xC9, 0xAD, 0x8E, 0xB7, 0xAC, 0x68, 0x64,
325                         0xDB, 0x27, 0x2A, 0x51, 0x6B, 0xC9, 0x4C, 0x28,
326                         0x39, 0xB0, 0xA8, 0x16, 0x9A, 0x6B, 0xF5, 0x8E,
327                         0x1A, 0x0C, 0x2A, 0xDA, 0x8C, 0x88, 0x3B, 0x7B,
328                         0xF4, 0x97, 0xA4, 0x91, 0x71, 0x26, 0x8E, 0xD1,
329                         0x5D, 0xDD, 0x29, 0x69, 0x38, 0x4E, 0x7F, 0xF4,
330                         0xBF, 0x4A, 0xAB, 0x2E, 0xC9, 0xEC, 0xC6, 0x52,
331                         0x9C, 0xF6, 0x29, 0xE2, 0xDF, 0x0F, 0x08, 0xA7,
332                         0x7A, 0x65, 0xAF, 0xA1, 0x2A, 0xA9, 0xB5, 0x05,
333                         0xDF, 0x8B, 0x28, 0x7E, 0xF6, 0xCC, 0x91, 0x49,
334                         0x3D, 0x1C, 0xAA, 0x39, 0x07, 0x6E, 0x28, 0xEF,
335                         0x1E, 0xA0, 0x28, 0xF5, 0x11, 0x8D, 0xE6, 0x1A,
336                         0xE0, 0x2B, 0xB6, 0xAE, 0xFC, 0x33, 0x43, 0xA0,
337                         0x50, 0x29, 0x2F, 0x19, 0x9F, 0x40, 0x18, 0x57,
338                         0xB2, 0xBE, 0xAD, 0x5E, 0x6E, 0xE2, 0xA1, 0xF1,
339                         0x91, 0x02, 0x2F, 0x92, 0x78, 0x01, 0x6F, 0x04,
340                         0x77, 0x91, 0xA9, 0xD1, 0x8D, 0xA7, 0xD2, 0xA6,
341                         0xD2, 0x7F, 0x2E, 0x0E, 0x51, 0xC2, 0xF6, 0xEA,
342                         0x30, 0xE8, 0xAC, 0x49, 0xA0, 0x60, 0x4F, 0x4C,
343                         0x13, 0x54, 0x2E, 0x85, 0xB6, 0x83, 0x81, 0xB9,
344                         0xFD, 0xCF, 0xA0, 0xCE, 0x4B, 0x2D, 0x34, 0x13,
345                         0x54, 0x85, 0x2D, 0x36, 0x02, 0x45, 0xC5, 0x36,
346                         0xB6, 0x12, 0xAF, 0x71, 0xF3, 0xE7, 0x7C, 0x90,
347                         0x95, 0xAE, 0x2D, 0xBD, 0xE5, 0x04, 0xB2, 0x65,
348                         0x73, 0x3D, 0xAB, 0xFE, 0x10, 0xA2, 0x0F, 0xC7,
349                         0xD6, 0xD3, 0x2C, 0x21, 0xCC, 0xC7, 0x2B, 0x8B,
350                         0x34, 0x44, 0xAE, 0x66, 0x3D, 0x65, 0x92, 0x2D,
351                         0x17, 0xF8, 0x2C, 0xAA, 0x2B, 0x86, 0x5C, 0xD8,
352                         0x89, 0x13, 0xD2, 0x91, 0xA6, 0x58, 0x99, 0x02,
353                         0x6E, 0xA1, 0x32, 0x84, 0x39, 0x72, 0x3C, 0x19,
354                         0x8C, 0x36, 0xB0, 0xC3, 0xC8, 0xD0, 0x85, 0xBF,
355                         0xAF, 0x8A, 0x32, 0x0F, 0xDE, 0x33, 0x4B, 0x4A,
356                         0x49, 0x19, 0xB4, 0x4C, 0x2B, 0x95, 0xF6, 0xE8,
357                         0xEC, 0xF7, 0x33, 0x93, 0xF7, 0xF0, 0xD2, 0xA4,
358                         0x0E, 0x60, 0xB1, 0xD4, 0x06, 0x52, 0x6B, 0x02,
359                         0x2D, 0xDC, 0x33, 0x18, 0x10, 0xB1, 0xA5, 0xF7,
360                         0xC3, 0x47, 0xBD, 0x53, 0xED, 0x1F, 0x10, 0x5D,
361                         0x6A, 0x0D, 0x30, 0xAB, 0xA4, 0x77, 0xE1, 0x78,
362                         0x88, 0x9A, 0xB2, 0xEC, 0x55, 0xD5, 0x58, 0xDE,
363                         0xAB, 0x26, 0x30, 0x20, 0x43, 0x36, 0x96, 0x2B,
364                         0x4D, 0xB5, 0xB6, 0x63, 0xB6, 0x90, 0x2B, 0x89,
365                         0xE8, 0x5B, 0x31, 0xBC, 0x6A, 0xF5, 0x0F, 0xC5,
366                         0x0A, 0xCC, 0xB3, 0xFB, 0x9B, 0x57, 0xB6, 0x63,
367                         0x29, 0x70, 0x31, 0x37, 0x8D, 0xB4, 0x78, 0x96,
368                         0xD7, 0xFB, 0xAF, 0x6C, 0x60, 0x0A, 0xDD, 0x2C,
369                         0x67, 0xF9, 0x36, 0xDB, 0x03, 0x79, 0x86, 0xDB,
370                         0x85, 0x6E, 0xB4, 0x9C, 0xF2, 0xDB, 0x3F, 0x7D,
371                         0xA6, 0xD2, 0x36, 0x50, 0xE4, 0x38, 0xF1, 0x88,
372                         0x40, 0x41, 0xB0, 0x13, 0x11, 0x9E, 0x4C, 0x2A,
373                         0xE5, 0xAF, 0x37, 0xCC, 0xCD, 0xFB, 0x68, 0x66,
374                         0x07, 0x38, 0xB5, 0x8B, 0x3C, 0x59, 0xD1, 0xC0,
375                         0x24, 0x84, 0x37, 0x47, 0x2A, 0xBA, 0x1F, 0x35,
376                         0xCA, 0x1F, 0xB9, 0x0C, 0xD7, 0x14, 0xAA, 0x9F,
377                         0x63, 0x55, 0x34, 0xF4, 0x9E, 0x7C, 0x5B, 0xBA,
378                         0x81, 0xC2, 0xB6, 0xB3, 0x6F, 0xDE, 0xE2, 0x1C,
379                         0xA2, 0x7E, 0x34, 0x7F, 0x79, 0x3D, 0x2C, 0xE9,
380                         0x44, 0xED, 0xB2, 0x3C, 0x8C, 0x9B, 0x91, 0x4B,
381                         0xE1, 0x03, 0x35, 0xE3, 0x50, 0xFE, 0xB5, 0x07,
382                         0x03, 0x94, 0xB7, 0xA4, 0xA1, 0x5C, 0x0C, 0xA1,
383                         0x20, 0x28, 0x35, 0x68, 0xB7, 0xBF, 0xC2, 0x54,
384                         0xFE, 0x83, 0x8B, 0x13, 0x7A, 0x21, 0x47, 0xCE,
385                         0x7C, 0x11, 0x3A, 0x3A, 0x4D, 0x65, 0x49, 0x9D,
386                         0x9E, 0x86, 0xB8, 0x7D, 0xBC, 0xC7, 0xF0, 0x3B,
387                         0xBD, 0x3A, 0x3A, 0xB1, 0xAA, 0x24, 0x3E, 0xCE,
388                         0x5B, 0xA9, 0xBC, 0xF2, 0x5F, 0x82, 0x83, 0x6C,
389                         0xFE, 0x47, 0x3B, 0x2D, 0x83, 0xE7, 0xA7, 0x20,
390                         0x1C, 0xD0, 0xB9, 0x6A, 0x72, 0x45, 0x1E, 0x86,
391                         0x3F, 0x6C, 0x3B, 0xA6, 0x64, 0xA6, 0xD0, 0x73,
392                         0xD1, 0xF7, 0xB5, 0xED, 0x99, 0x08, 0x65, 0xD9,
393                         0x78, 0xBD, 0x38, 0x15, 0xD0, 0x60, 0x94, 0xFC,
394                         0x9A, 0x2A, 0xBA, 0x52, 0x21, 0xC2, 0x2D, 0x5A,
395                         0xB9, 0x96, 0x38, 0x9E, 0x37, 0x21, 0xE3, 0xAF,
396                         0x5F, 0x05, 0xBE, 0xDD, 0xC2, 0x87, 0x5E, 0x0D,
397                         0xFA, 0xEB, 0x39, 0x02, 0x1E, 0xE2, 0x7A, 0x41,
398                         0x18, 0x7C, 0xBB, 0x45, 0xEF, 0x40, 0xC3, 0xE7,
399                         0x3B, 0xC0, 0x39, 0x89, 0xF9, 0xA3, 0x0D, 0x12,
400                         0xC5, 0x4B, 0xA7, 0xD2, 0x14, 0x1D, 0xA8, 0xA8,
401                         0x75, 0x49, 0x3E, 0x65, 0x77, 0x6E, 0xF3, 0x5F,
402                         0x97, 0xDE, 0xBC, 0x22, 0x86, 0xCC, 0x4A, 0xF9,
403                         0xB4, 0x62, 0x3E, 0xEE, 0x90, 0x2F, 0x84, 0x0C,
404                         0x52, 0xF1, 0xB8, 0xAD, 0x65, 0x89, 0x39, 0xAE,
405                         0xF7, 0x1F, 0x3F, 0x72, 0xB9, 0xEC, 0x1D, 0xE2,
406                         0x15, 0x88, 0xBD, 0x35, 0x48, 0x4E, 0xA4, 0x44,
407                         0x36, 0x34, 0x3F, 0xF9, 0x5E, 0xAD, 0x6A, 0xB1,
408                         0xD8, 0xAF, 0xB1, 0xB2, 0xA3, 0x03, 0xDF, 0x1B,
409                         0x71, 0xE5, 0x3C, 0x4A, 0xEA, 0x6B, 0x2E, 0x3E,
410                         0x93, 0x72, 0xBE, 0x0D, 0x1B, 0xC9, 0x97, 0x98,
411                         0xB0, 0xCE, 0x3C, 0xC1, 0x0D, 0x2A, 0x59, 0x6D,
412                         0x56, 0x5D, 0xBA, 0x82, 0xF8, 0x8C, 0xE4, 0xCF,
413                         0xF3, 0xB3, 0x3D, 0x5D, 0x24, 0xE9, 0xC0, 0x83,
414                         0x11, 0x24, 0xBF, 0x1A, 0xD5, 0x4B, 0x79, 0x25,
415                         0x32, 0x98, 0x3D, 0xD6, 0xC3, 0xA8, 0xB7, 0xD0
416                 },
417         .len = 16448
418         },
419         .validAuthLenInBits = {
420                 .len = 16448
421         },
422         .digest = {
423                 .data = {0x17, 0x9F, 0x2F, 0xA6},
424                 .len  = 4
425         }
426 };
427
428 struct snow3g_hash_test_data snow3g_hash_test_case_4 = {
429         .key = {
430                 .data = {
431                         0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00,
432                         0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48
433                 },
434         .len = 16
435         },
436         .auth_iv = {
437                 .data = {
438                         0x38, 0xA6, 0xF0, 0x56, 0x05, 0xD2, 0xEC, 0x49,
439                         0x38, 0xA6, 0xF0, 0x56, 0x05, 0xD2, 0xEC, 0x49,
440                 },
441                 .len = 16
442         },
443         .plaintext = {
444                 .data = {
445                         0x6B, 0x22, 0x77, 0x37, 0x29, 0x6F, 0x39, 0x3C,
446                         0x80, 0x79, 0x35, 0x3E, 0xDC, 0x87, 0xE2, 0xE8,
447                         0x05, 0xD2, 0xEC, 0x49, 0xA4, 0xF2, 0xD8, 0xE0
448                 },
449                 .len = 189
450         },
451         .validAuthLenInBits = {
452                 .len = 189
453                 },
454         .digest = {
455                 .data = {0x2B, 0xCE, 0x18, 0x20},
456                 .len  = 4
457         }
458 };
459
460 struct snow3g_hash_test_data snow3g_hash_test_case_5 = {
461         .key = {
462                 .data = {
463                         0xD4, 0x2F, 0x68, 0x24, 0x28, 0x20, 0x1C, 0xAF,
464                         0xCD, 0x9F, 0x97, 0x94, 0x5E, 0x6D, 0xE7, 0xB7
465                 },
466                 .len = 16
467         },
468         .auth_iv = {
469                 .data = {
470                         0x3E, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0xD8, 0xE2,
471                         0xBE, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0x58, 0xE2
472                 },
473                 .len = 16
474         },
475         .plaintext = {
476                 .data = {
477                         0xB5, 0x92, 0x43, 0x84, 0x32, 0x8A, 0x4A, 0xE0,
478                         0x0B, 0x73, 0x71, 0x09, 0xF8, 0xB6, 0xC8, 0xDD,
479                         0x2B, 0x4D, 0xB6, 0x3D, 0xD5, 0x33, 0x98, 0x1C,
480                         0xEB, 0x19, 0xAA, 0xD5, 0x2A, 0x5B, 0x2B, 0xC0
481                 },
482                 .len = 254
483         },
484         .validAuthLenInBits = {
485                 .len = 254
486                 },
487         .digest = {
488                 .data = {0xFC, 0x7B, 0x18, 0xBD},
489                 .len  = 4
490         }
491 };
492
493 struct snow3g_hash_test_data snow3g_hash_test_case_6 = {
494         .key = {
495                 .data = {
496                         0xFD, 0xB9, 0xCF, 0xDF, 0x28, 0x93, 0x6C, 0xC4,
497                         0x83, 0xA3, 0x18, 0x69, 0xD8, 0x1B, 0x8F, 0xAB
498                 },
499                 .len = 16
500         },
501         .auth_iv = {
502                 .data = {
503                         0x36, 0xAF, 0x61, 0x44, 0x98, 0x38, 0xF0, 0x3A,
504                         0xB6, 0xAF, 0x61, 0x44, 0x98, 0x38, 0x70, 0x3A
505                 },
506                 .len = 16
507         },
508         .plaintext = {
509                 .data = {
510                         0x59, 0x32, 0xBC, 0x0A, 0xCE, 0x2B, 0x0A, 0xBA,
511                         0x33, 0xD8, 0xAC, 0x18, 0x8A, 0xC5, 0x4F, 0x34,
512                         0x6F, 0xAD, 0x10, 0xBF, 0x9D, 0xEE, 0x29, 0x20,
513                         0xB4, 0x3B, 0xD0, 0xC5, 0x3A, 0x91, 0x5C, 0xB7,
514                         0xDF, 0x6C, 0xAA, 0x72, 0x05, 0x3A, 0xBF, 0xF2
515                 },
516                 .len = 319
517         },
518         .validAuthLenInBits = {
519                 .len = 319
520                 },
521         .digest = {
522                 .data = {0x02, 0xF1, 0xFA, 0xAF},
523                 .len  = 4
524         }
525 };
526 #endif /* TEST_CRYPTODEV_SNOW3G_HASH_TEST_VECTORS_H_ */