FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
aes_gcm.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /* Test vectors published in GCM Specification */
17 
18 #include <vppinfra/clib.h>
19 #include <vnet/crypto/crypto.h>
20 #include <unittest/crypto/crypto.h>
21 
22 static u8 tc6_iv[] = {
23  0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5,
24  0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa,
25  0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1,
26  0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28,
27  0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39,
28  0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54,
29  0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57,
30  0xa6, 0x37, 0xb3, 0x9b
31 };
32 
33 static u8 tc6_plaintext[] = {
34  0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
35  0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
36  0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
37  0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
38  0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
39  0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
40  0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
41  0xba, 0x63, 0x7b, 0x39,
42 };
43 
44 static u8 tc6_key[] = {
45  0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
46  0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
47 };
48 
49 static u8 tc6_aad[] = {
50  0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
51  0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
52  0xab, 0xad, 0xda, 0xd2
53 };
54 
55 static u8 tc6_ciphertext[] = {
56  0x8c, 0xe2, 0x49, 0x98, 0x62, 0x56, 0x15, 0xb6,
57  0x03, 0xa0, 0x33, 0xac, 0xa1, 0x3f, 0xb8, 0x94,
58  0xbe, 0x91, 0x12, 0xa5, 0xc3, 0xa2, 0x11, 0xa8,
59  0xba, 0x26, 0x2a, 0x3c, 0xca, 0x7e, 0x2c, 0xa7,
60  0x01, 0xe4, 0xa9, 0xa4, 0xfb, 0xa4, 0x3c, 0x90,
61  0xcc, 0xdc, 0xb2, 0x81, 0xd4, 0x8c, 0x7c, 0x6f,
62  0xd6, 0x28, 0x75, 0xd2, 0xac, 0xa4, 0x17, 0x03,
63  0x4c, 0x34, 0xae, 0xe5
64 };
65 
66 static u8 tc6_tag[] = {
67  0x61, 0x9c, 0xc5, 0xae, 0xff, 0xfe, 0x0b, 0xfa,
68  0x46, 0x2a, 0xf4, 0x3c, 0x16, 0x99, 0xd0, 0x50,
69 };
70 
71 /* *INDENT-OFF* */
72 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm_tc6) = {
73  .name = "128-GCM Spec. TC6",
74  .alg = VNET_CRYPTO_ALG_AES_128_GCM,
75  .iv = TEST_DATA (tc6_iv),
76  .key = TEST_DATA (tc6_key),
77  .plaintext = TEST_DATA (tc6_plaintext),
78  .ciphertext = TEST_DATA (tc6_ciphertext),
79  .tag = TEST_DATA (tc6_tag),
80  .aad = TEST_DATA (tc6_aad),
81 };
82 
83 /* *INDENT-ON* */
84 
85 static u8 tc5_iv[] = {
86  0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad
87 };
88 
89 static u8 tc5_ciphertext[] = {
90  0x61, 0x35, 0x3b, 0x4c, 0x28, 0x06, 0x93, 0x4a,
91  0x77, 0x7f, 0xf5, 0x1f, 0xa2, 0x2a, 0x47, 0x55,
92  0x69, 0x9b, 0x2a, 0x71, 0x4f, 0xcd, 0xc6, 0xf8,
93  0x37, 0x66, 0xe5, 0xf9, 0x7b, 0x6c, 0x74, 0x23,
94  0x73, 0x80, 0x69, 0x00, 0xe4, 0x9f, 0x24, 0xb2,
95  0x2b, 0x09, 0x75, 0x44, 0xd4, 0x89, 0x6b, 0x42,
96  0x49, 0x89, 0xb5, 0xe1, 0xeb, 0xac, 0x0f, 0x07,
97  0xc2, 0x3f, 0x45, 0x98
98 };
99 
100 static u8 tc5_tag[] = {
101  0x36, 0x12, 0xd2, 0xe7, 0x9e, 0x3b, 0x07, 0x85,
102  0x56, 0x1b, 0xe1, 0x4a, 0xac, 0xa2, 0xfc, 0xcb
103 };
104 
105 /* *INDENT-OFF* */
106 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm_tc5) = {
107  .name = "128-GCM Spec. TC5",
108  .alg = VNET_CRYPTO_ALG_AES_128_GCM,
109  .iv = TEST_DATA (tc5_iv),
110  .key = TEST_DATA (tc6_key),
111  .plaintext = TEST_DATA (tc6_plaintext),
112  .ciphertext = TEST_DATA (tc5_ciphertext),
113  .tag = TEST_DATA (tc5_tag),
114  .aad = TEST_DATA (tc6_aad),
115 };
116 /* *INDENT-ON* */
117 
118 static u8 tc4_iv[] = {
119  0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
120  0xde, 0xca, 0xf8, 0x88
121 };
122 
123 static u8 tc4_ciphertext[] = {
124  0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
125  0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
126  0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
127  0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
128  0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
129  0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
130  0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
131  0x3d, 0x58, 0xe0, 0x91
132 };
133 
134 static u8 tc4_tag[] = {
135  0x5b, 0xc9, 0x4f, 0xbc, 0x32, 0x21, 0xa5, 0xdb,
136  0x94, 0xfa, 0xe9, 0x5a, 0xe7, 0x12, 0x1a, 0x47
137 };
138 
139 /* *INDENT-OFF* */
140 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm_tc4) = {
141  .name = "128-GCM Spec. TC4",
142  .alg = VNET_CRYPTO_ALG_AES_128_GCM,
143  .iv = TEST_DATA (tc4_iv),
144  .key = TEST_DATA (tc6_key),
145  .plaintext = TEST_DATA (tc6_plaintext),
146  .ciphertext = TEST_DATA (tc4_ciphertext),
147  .tag = TEST_DATA (tc4_tag),
148  .aad = TEST_DATA (tc6_aad),
149 };
150 /* *INDENT-ON* */
151 
152 static u8 tc3_plaintext[] = {
153  0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
154  0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
155  0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
156  0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
157  0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
158  0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
159  0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
160  0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55
161 };
162 
163 static u8 tc3_ciphertext[] = {
164  0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
165  0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
166  0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
167  0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
168  0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
169  0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
170  0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
171  0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85
172 };
173 
174 static u8 tc3_tag[] = {
175  0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6,
176  0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4
177 };
178 
179 /* *INDENT-OFF* */
180 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm_tc3) = {
181  .name = "128-GCM Spec. TC3",
182  .alg = VNET_CRYPTO_ALG_AES_128_GCM,
183  .iv = TEST_DATA (tc4_iv),
184  .key = TEST_DATA (tc6_key),
185  .plaintext = TEST_DATA (tc3_plaintext),
186  .ciphertext = TEST_DATA (tc3_ciphertext),
187  .tag = TEST_DATA (tc3_tag),
188 };
189 /* *INDENT-ON* */
190 
191 static u8 tc2_key[16] = { 0, };
192 static u8 tc2_iv[12] = { 0, };
193 static u8 tc2_plaintext[16] = { 0, };
194 
195 static u8 tc2_tag[] = {
196  0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd,
197  0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf
198 };
199 
200 static u8 tc2_ciphertext[] = {
201  0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92,
202  0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78
203 };
204 
205 /* *INDENT-OFF* */
206 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm_tc2) = {
207  .name = "128-GCM Spec. TC2",
208  .alg = VNET_CRYPTO_ALG_AES_128_GCM,
209  .iv = TEST_DATA (tc2_iv),
210  .key = TEST_DATA (tc2_key),
211  .plaintext = TEST_DATA (tc2_plaintext),
212  .ciphertext = TEST_DATA (tc2_ciphertext),
213  .tag = TEST_DATA (tc2_tag),
214 };
215 /* *INDENT-ON* */
216 
217 static u8 tc1_tag[] = {
218  0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61,
219  0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a
220 };
221 
222 /* *INDENT-OFF* */
223 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm_tc1) = {
224  .name = "128-GCM Spec. TC1",
225  .alg = VNET_CRYPTO_ALG_AES_128_GCM,
226  .iv = TEST_DATA (tc2_iv),
227  .key = TEST_DATA (tc2_key),
228  .tag = TEST_DATA (tc1_tag),
229 };
230 /* *INDENT-ON* */
231 
232 static u8 tc1_256_key[32] = { 0, };
233 
234 static u8 tc1_256_tag[] = {
235  0x53, 0x0f, 0x8a, 0xfb, 0xc7, 0x45, 0x36, 0xb9,
236  0xa9, 0x63, 0xb4, 0xf1, 0xc4, 0xcb, 0x73, 0x8b,
237 };
238 
239 /* *INDENT-OFF* */
240 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm256_tc1) = {
241  .name = "256-GCM Spec. TC1",
242  .alg = VNET_CRYPTO_ALG_AES_256_GCM,
243  .key = TEST_DATA (tc1_256_key),
244  .iv = TEST_DATA (tc2_iv),
245  .tag = TEST_DATA (tc1_256_tag),
246 };
247 /* *INDENT-ON* */
248 
249 static u8 tc2_256_ciphertext[] = {
250  0xce, 0xa7, 0x40, 0x3d, 0x4d, 0x60, 0x6b, 0x6e,
251  0x07, 0x4e, 0xc5, 0xd3, 0xba, 0xf3, 0x9d, 0x18
252 };
253 
254 static u8 tc2_256_tag[] = {
255  0xd0, 0xd1, 0xc8, 0xa7, 0x99, 0x99, 0x6b, 0xf0,
256  0x26, 0x5b, 0x98, 0xb5, 0xd4, 0x8a, 0xb9, 0x19
257 };
258 
259 /* *INDENT-OFF* */
260 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm256_tc2) = {
261  .name = "256-GCM Spec. TC2",
262  .alg = VNET_CRYPTO_ALG_AES_256_GCM,
263  .key = TEST_DATA (tc1_256_key),
264  .iv = TEST_DATA (tc2_iv),
265  .plaintext = TEST_DATA(tc2_plaintext),
266  .ciphertext = TEST_DATA(tc2_256_ciphertext),
267  .tag = TEST_DATA (tc2_256_tag),
268 };
269 /* *INDENT-ON* */
270 
271 static u8 tc3_256_key[] = {
272  0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
273  0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
274  0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
275  0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
276 };
277 
278 static u8 tc3_256_ciphertext[] = {
279  0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07,
280  0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d,
281  0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9,
282  0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa,
283  0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d,
284  0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38,
285  0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a,
286  0xbc, 0xc9, 0xf6, 0x62, 0x89, 0x80, 0x15, 0xad
287 };
288 
289 static u8 tc3_256_tag[] = {
290  0xb0, 0x94, 0xda, 0xc5, 0xd9, 0x34, 0x71, 0xbd,
291  0xec, 0x1a, 0x50, 0x22, 0x70, 0xe3, 0xcc, 0x6c
292 };
293 
294 /* *INDENT-OFF* */
295 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm256_tc3) = {
296  .name = "256-GCM Spec. TC3",
297  .alg = VNET_CRYPTO_ALG_AES_256_GCM,
298  .key = TEST_DATA (tc3_256_key),
299  .iv = TEST_DATA (tc4_iv),
300  .plaintext = TEST_DATA(tc3_plaintext),
301  .ciphertext = TEST_DATA(tc3_256_ciphertext),
302  .tag = TEST_DATA (tc3_256_tag),
303 };
304 /* *INDENT-ON* */
305 
306 static u8 tc4_256_ciphertext[] = {
307  0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07,
308  0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d,
309  0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9,
310  0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa,
311  0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d,
312  0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38,
313  0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a,
314  0xbc, 0xc9, 0xf6, 0x62
315 };
316 
317 static u8 tc4_256_tag[] = {
318  0x76, 0xfc, 0x6e, 0xce, 0x0f, 0x4e, 0x17, 0x68,
319  0xcd, 0xdf, 0x88, 0x53, 0xbb, 0x2d, 0x55, 0x1b
320 };
321 
322 /* *INDENT-OFF* */
323 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm256_tc4) = {
324  .name = "256-GCM Spec. TC4",
325  .alg = VNET_CRYPTO_ALG_AES_256_GCM,
326  .key = TEST_DATA (tc3_256_key),
327  .iv = TEST_DATA (tc4_iv),
328  .plaintext = TEST_DATA(tc6_plaintext),
329  .ciphertext = TEST_DATA(tc4_256_ciphertext),
330  .aad = TEST_DATA(tc6_aad),
331  .tag = TEST_DATA (tc4_256_tag),
332 };
333 /* *INDENT-ON* */
334 
335 static u8 tc5_256_ciphertext[] = {
336  0xc3, 0x76, 0x2d, 0xf1, 0xca, 0x78, 0x7d, 0x32,
337  0xae, 0x47, 0xc1, 0x3b, 0xf1, 0x98, 0x44, 0xcb,
338  0xaf, 0x1a, 0xe1, 0x4d, 0x0b, 0x97, 0x6a, 0xfa,
339  0xc5, 0x2f, 0xf7, 0xd7, 0x9b, 0xba, 0x9d, 0xe0,
340  0xfe, 0xb5, 0x82, 0xd3, 0x39, 0x34, 0xa4, 0xf0,
341  0x95, 0x4c, 0xc2, 0x36, 0x3b, 0xc7, 0x3f, 0x78,
342  0x62, 0xac, 0x43, 0x0e, 0x64, 0xab, 0xe4, 0x99,
343  0xf4, 0x7c, 0x9b, 0x1f
344 };
345 
346 static u8 tc5_256_tag[] = {
347  0x3a, 0x33, 0x7d, 0xbf, 0x46, 0xa7, 0x92, 0xc4,
348  0x5e, 0x45, 0x49, 0x13, 0xfe, 0x2e, 0xa8, 0xf2
349 };
350 
351 /* *INDENT-OFF* */
352 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm256_tc5) = {
353  .name = "256-GCM Spec. TC5",
354  .alg = VNET_CRYPTO_ALG_AES_256_GCM,
355  .key = TEST_DATA (tc3_256_key),
356  .iv = TEST_DATA (tc5_iv),
357  .plaintext = TEST_DATA(tc6_plaintext),
358  .ciphertext = TEST_DATA(tc5_256_ciphertext),
359  .aad = TEST_DATA(tc6_aad),
360  .tag = TEST_DATA (tc5_256_tag),
361 };
362 /* *INDENT-ON* */
363 
364 static u8 tc6_256_ciphertext[] = {
365  0x5a, 0x8d, 0xef, 0x2f, 0x0c, 0x9e, 0x53, 0xf1,
366  0xf7, 0x5d, 0x78, 0x53, 0x65, 0x9e, 0x2a, 0x20,
367  0xee, 0xb2, 0xb2, 0x2a, 0xaf, 0xde, 0x64, 0x19,
368  0xa0, 0x58, 0xab, 0x4f, 0x6f, 0x74, 0x6b, 0xf4,
369  0x0f, 0xc0, 0xc3, 0xb7, 0x80, 0xf2, 0x44, 0x45,
370  0x2d, 0xa3, 0xeb, 0xf1, 0xc5, 0xd8, 0x2c, 0xde,
371  0xa2, 0x41, 0x89, 0x97, 0x20, 0x0e, 0xf8, 0x2e,
372  0x44, 0xae, 0x7e, 0x3f
373 };
374 
375 static u8 tc6_256_tag[] = {
376  0xa4, 0x4a, 0x82, 0x66, 0xee, 0x1c, 0x8e, 0xb0,
377  0xc8, 0xb5, 0xd4, 0xcf, 0x5a, 0xe9, 0xf1, 0x9a
378 };
379 
380 /* *INDENT-OFF* */
381 UNITTEST_REGISTER_CRYPTO_TEST (aes_gcm256_tc6) = {
382  .name = "256-GCM Spec. TC6",
383  .alg = VNET_CRYPTO_ALG_AES_256_GCM,
384  .key = TEST_DATA (tc3_256_key),
385  .iv = TEST_DATA (tc6_iv),
386  .plaintext = TEST_DATA(tc6_plaintext),
387  .ciphertext = TEST_DATA(tc6_256_ciphertext),
388  .aad = TEST_DATA(tc6_aad),
389  .tag = TEST_DATA (tc6_256_tag),
390 };
391 /* *INDENT-ON* */
392 
393 /*
394  * fd.io coding-style-patch-verification: ON
395  *
396  * Local Variables:
397  * eval: (c-set-style "gnu")
398  * End:
399  */
static u8 tc6_256_ciphertext[]
Definition: aes_gcm.c:364
static u8 tc3_plaintext[]
Definition: aes_gcm.c:152
static u8 tc6_aad[]
Definition: aes_gcm.c:49
static u8 tc3_256_tag[]
Definition: aes_gcm.c:289
static u8 tc6_key[]
Definition: aes_gcm.c:44
static u8 tc1_tag[]
Definition: aes_gcm.c:217
unsigned char u8
Definition: types.h:56
static u8 tc2_key[16]
Definition: aes_gcm.c:191
static u8 tc6_ciphertext[]
Definition: aes_gcm.c:55
static u8 tc6_plaintext[]
Definition: aes_gcm.c:33
static u8 tc2_ciphertext[]
Definition: aes_gcm.c:200
static u8 tc1_256_key[32]
Definition: aes_gcm.c:232
static u8 tc6_256_tag[]
Definition: aes_gcm.c:375
static u8 tc5_ciphertext[]
Definition: aes_gcm.c:89
static u8 tc2_256_tag[]
Definition: aes_gcm.c:254
static u8 tc1_256_tag[]
Definition: aes_gcm.c:234
static u8 tc2_256_ciphertext[]
Definition: aes_gcm.c:249
static u8 tc5_256_ciphertext[]
Definition: aes_gcm.c:335
static u8 tc5_iv[]
Definition: aes_gcm.c:85
static u8 tc5_tag[]
Definition: aes_gcm.c:100
static u8 tc6_iv[]
Definition: aes_gcm.c:22
static u8 tc5_256_tag[]
Definition: aes_gcm.c:346
static u8 tc4_256_ciphertext[]
Definition: aes_gcm.c:306
UNITTEST_REGISTER_CRYPTO_TEST(aes_gcm_tc6)
static u8 tc4_256_tag[]
Definition: aes_gcm.c:317
static u8 tc3_ciphertext[]
Definition: aes_gcm.c:163
static u8 tc2_plaintext[16]
Definition: aes_gcm.c:193
static u8 tc2_iv[12]
Definition: aes_gcm.c:192
static u8 tc3_256_key[]
Definition: aes_gcm.c:271
static u8 tc6_tag[]
Definition: aes_gcm.c:66
static u8 tc3_256_ciphertext[]
Definition: aes_gcm.c:278
#define TEST_DATA(n)
Definition: crypto.h:46
static u8 tc3_tag[]
Definition: aes_gcm.c:174
static u8 tc4_iv[]
Definition: aes_gcm.c:118
static u8 tc4_ciphertext[]
Definition: aes_gcm.c:123
static u8 tc4_tag[]
Definition: aes_gcm.c:134
static u8 tc2_tag[]
Definition: aes_gcm.c:195