15129044dSC.J. Collier/*-
25129044dSC.J. Collier *   BSD LICENSE
35129044dSC.J. Collier *
45129044dSC.J. Collier *   Copyright(c) 2015 Intel Corporation. All rights reserved.
55129044dSC.J. Collier *
65129044dSC.J. Collier *   Redistribution and use in source and binary forms, with or without
75129044dSC.J. Collier *   modification, are permitted provided that the following conditions
85129044dSC.J. Collier *   are met:
95129044dSC.J. Collier *
105129044dSC.J. Collier *   * Redistributions of source code must retain the above copyright
115129044dSC.J. Collier *     notice, this list of conditions and the following disclaimer.
125129044dSC.J. Collier *   * Redistributions in binary form must reproduce the above copyright
135129044dSC.J. Collier *     notice, this list of conditions and the following disclaimer in
145129044dSC.J. Collier *     the documentation and/or other materials provided with the
155129044dSC.J. Collier *     distribution.
165129044dSC.J. Collier *   * Neither the name of Intel Corporation nor the names of its
175129044dSC.J. Collier *     contributors may be used to endorse or promote products derived
185129044dSC.J. Collier *     from this software without specific prior written permission.
195129044dSC.J. Collier *
205129044dSC.J. Collier *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
215129044dSC.J. Collier *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
225129044dSC.J. Collier *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
235129044dSC.J. Collier *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
245129044dSC.J. Collier *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
255129044dSC.J. Collier *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
265129044dSC.J. Collier *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
275129044dSC.J. Collier *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
285129044dSC.J. Collier *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
295129044dSC.J. Collier *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
305129044dSC.J. Collier *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
315129044dSC.J. Collier */
325129044dSC.J. Collier
335129044dSC.J. Collier#ifndef TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_
345129044dSC.J. Collier#define TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_
355129044dSC.J. Collier
365129044dSC.J. Collierstruct snow3g_test_data {
375129044dSC.J. Collier	struct {
385129044dSC.J. Collier		uint8_t data[64];
395129044dSC.J. Collier		unsigned len;
405129044dSC.J. Collier	} key;
415129044dSC.J. Collier
425129044dSC.J. Collier	struct {
435129044dSC.J. Collier		uint8_t data[64] __rte_aligned(16);
445129044dSC.J. Collier		unsigned len;
455129044dSC.J. Collier	} iv;
465129044dSC.J. Collier
475129044dSC.J. Collier	struct {
485129044dSC.J. Collier		uint8_t data[1024];
495129044dSC.J. Collier		unsigned len; /* length must be in Bits */
505129044dSC.J. Collier	} plaintext;
515129044dSC.J. Collier
525129044dSC.J. Collier	struct {
535129044dSC.J. Collier		uint8_t data[1024];
545129044dSC.J. Collier		unsigned len; /* length must be in Bits */
555129044dSC.J. Collier	} ciphertext;
565129044dSC.J. Collier
575129044dSC.J. Collier	struct {
585129044dSC.J. Collier		unsigned len;
595129044dSC.J. Collier	} validDataLenInBits;
605129044dSC.J. Collier
615129044dSC.J. Collier	struct {
625129044dSC.J. Collier		unsigned len;
635129044dSC.J. Collier	} validCipherLenInBits;
645129044dSC.J. Collier
655129044dSC.J. Collier	struct {
665129044dSC.J. Collier		unsigned len;
675129044dSC.J. Collier	} validCipherOffsetLenInBits;
685129044dSC.J. Collier
695129044dSC.J. Collier	struct {
705129044dSC.J. Collier		unsigned len;
715129044dSC.J. Collier	} validAuthLenInBits;
725129044dSC.J. Collier
735129044dSC.J. Collier	struct {
745129044dSC.J. Collier		unsigned len;
755129044dSC.J. Collier	} validAuthOffsetLenInBits;
765129044dSC.J. Collier
775129044dSC.J. Collier	struct {
785129044dSC.J. Collier		uint8_t data[64];
795129044dSC.J. Collier		unsigned len;
805129044dSC.J. Collier	} aad;
815129044dSC.J. Collier
825129044dSC.J. Collier	struct {
835129044dSC.J. Collier		uint8_t data[64];
845129044dSC.J. Collier		unsigned len;
855129044dSC.J. Collier	} digest;
865129044dSC.J. Collier};
875129044dSC.J. Collierstruct snow3g_test_data snow3g_test_case_1 = {
885129044dSC.J. Collier	.key = {
895129044dSC.J. Collier		.data = {
905129044dSC.J. Collier			0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00,
915129044dSC.J. Collier			0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48
925129044dSC.J. Collier		},
935129044dSC.J. Collier		.len = 16
945129044dSC.J. Collier	},
955129044dSC.J. Collier	.iv = {
965129044dSC.J. Collier		.data = {
975129044dSC.J. Collier			0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00,
985129044dSC.J. Collier			0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00
995129044dSC.J. Collier		},
1005129044dSC.J. Collier		.len = 16
1015129044dSC.J. Collier	},
1025129044dSC.J. Collier	.plaintext = {
1035129044dSC.J. Collier		.data = {
1045129044dSC.J. Collier			0x7E, 0xC6, 0x12, 0x72, 0x74, 0x3B, 0xF1, 0x61,
1055129044dSC.J. Collier			0x47, 0x26, 0x44, 0x6A, 0x6C, 0x38, 0xCE, 0xD1,
1065129044dSC.J. Collier			0x66, 0xF6, 0xCA, 0x76, 0xEB, 0x54, 0x30, 0x04,
1075129044dSC.J. Collier			0x42, 0x86, 0x34, 0x6C, 0xEF, 0x13, 0x0F, 0x92,
1085129044dSC.J. Collier			0x92, 0x2B, 0x03, 0x45, 0x0D, 0x3A, 0x99, 0x75,
1095129044dSC.J. Collier			0xE5, 0xBD, 0x2E, 0xA0, 0xEB, 0x55, 0xAD, 0x8E,
1105129044dSC.J. Collier			0x1B, 0x19, 0x9E, 0x3E, 0xC4, 0x31, 0x60, 0x20,
1115129044dSC.J. Collier			0xE9, 0xA1, 0xB2, 0x85, 0xE7, 0x62, 0x79, 0x53,
1125129044dSC.J. Collier			0x59, 0xB7, 0xBD, 0xFD, 0x39, 0xBE, 0xF4, 0xB2,
1135129044dSC.J. Collier			0x48, 0x45, 0x83, 0xD5, 0xAF, 0xE0, 0x82, 0xAE,
1145129044dSC.J. Collier			0xE6, 0x38, 0xBF, 0x5F, 0xD5, 0xA6, 0x06, 0x19,
1155129044dSC.J. Collier			0x39, 0x01, 0xA0, 0x8F, 0x4A, 0xB4, 0x1A, 0xAB,
1165129044dSC.J. Collier			0x9B, 0x13, 0x48, 0x80
1175129044dSC.J. Collier		},
1185129044dSC.J. Collier		.len = 800
1195129044dSC.J. Collier	},
1205129044dSC.J. Collier	.ciphertext = {
1215129044dSC.J. Collier		.data = {
1225129044dSC.J. Collier			0x8C, 0xEB, 0xA6, 0x29, 0x43, 0xDC, 0xED, 0x3A,
1235129044dSC.J. Collier			0x09, 0x90, 0xB0, 0x6E, 0xA1, 0xB0, 0xA2, 0xC4,
1245129044dSC.J. Collier			0xFB, 0x3C, 0xED, 0xC7, 0x1B, 0x36, 0x9F, 0x42,
1255129044dSC.J. Collier			0xBA, 0x64, 0xC1, 0xEB, 0x66, 0x65, 0xE7, 0x2A,
1265129044dSC.J. Collier			0xA1, 0xC9, 0xBB, 0x0D, 0xEA, 0xA2, 0x0F, 0xE8,
1275129044dSC.J. Collier			0x60, 0x58, 0xB8, 0xBA, 0xEE, 0x2C, 0x2E, 0x7F,
1285129044dSC.J. Collier			0x0B, 0xEC, 0xCE, 0x48, 0xB5, 0x29, 0x32, 0xA5,
1295129044dSC.J. Collier			0x3C, 0x9D, 0x5F, 0x93, 0x1A, 0x3A, 0x7C, 0x53,
1305129044dSC.J. Collier			0x22, 0x59, 0xAF, 0x43, 0x25, 0xE2, 0xA6, 0x5E,
1315129044dSC.J. Collier			0x30, 0x84, 0xAD, 0x5F, 0x6A, 0x51, 0x3B, 0x7B,
1325129044dSC.J. Collier			0xDD, 0xC1, 0xB6, 0x5F, 0x0A, 0xA0, 0xD9, 0x7A,
1335129044dSC.J. Collier			0x05, 0x3D, 0xB5, 0x5A, 0x88, 0xC4, 0xC4, 0xF9,
1345129044dSC.J. Collier			0x60, 0x5E, 0x41, 0x40
1355129044dSC.J. Collier		},
1365129044dSC.J. Collier		.len = 800
1375129044dSC.J. Collier	},
1385129044dSC.J. Collier	.validDataLenInBits = {
1395129044dSC.J. Collier		.len = 798
1405129044dSC.J. Collier	},
1415129044dSC.J. Collier	.validCipherLenInBits = {
1425129044dSC.J. Collier		.len = 800
1435129044dSC.J. Collier	},
1445129044dSC.J. Collier	.validCipherOffsetLenInBits = {
1455129044dSC.J. Collier		.len = 128
1465129044dSC.J. Collier	},
1475129044dSC.J. Collier	.aad = {
1485129044dSC.J. Collier		.data = {
1495129044dSC.J. Collier			 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00,
1505129044dSC.J. Collier			 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00
1515129044dSC.J. Collier		},
1525129044dSC.J. Collier		.len = 16
1535129044dSC.J. Collier	}
1545129044dSC.J. Collier};
1555129044dSC.J. Collier
1565129044dSC.J. Collierstruct snow3g_test_data snow3g_test_case_2 = {
1575129044dSC.J. Collier	.key = {
1585129044dSC.J. Collier		.data = {
1595129044dSC.J. Collier			0xEF, 0xA8, 0xB2, 0x22, 0x9E, 0x72, 0x0C, 0x2A,
1605129044dSC.J. Collier			0x7C, 0x36, 0xEA, 0x55, 0xE9, 0x60, 0x56, 0x95
1615129044dSC.J. Collier		},
1625129044dSC.J. Collier		.len = 16
1635129044dSC.J. Collier	},
1645129044dSC.J. Collier	.iv = {
1655129044dSC.J. Collier	       .data = {
1665129044dSC.J. Collier			0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00,
1675129044dSC.J. Collier			0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00
1685129044dSC.J. Collier		},
1695129044dSC.J. Collier	       .len = 16
1705129044dSC.J. Collier	},
1715129044dSC.J. Collier	.plaintext = {
1725129044dSC.J. Collier		.data = {
1735129044dSC.J. Collier			0x10, 0x11, 0x12, 0x31, 0xE0, 0x60, 0x25, 0x3A,
1745129044dSC.J. Collier			0x43, 0xFD, 0x3F, 0x57, 0xE3, 0x76, 0x07, 0xAB,
1755129044dSC.J. Collier			0x28, 0x27, 0xB5, 0x99, 0xB6, 0xB1, 0xBB, 0xDA,
1765129044dSC.J. Collier			0x37, 0xA8, 0xAB, 0xCC, 0x5A, 0x8C, 0x55, 0x0D,
1775129044dSC.J. Collier			0x1B, 0xFB, 0x2F, 0x49, 0x46, 0x24, 0xFB, 0x50,
1785129044dSC.J. Collier			0x36, 0x7F, 0xA3, 0x6C, 0xE3, 0xBC, 0x68, 0xF1,
1795129044dSC.J. Collier			0x1C, 0xF9, 0x3B, 0x15, 0x10, 0x37, 0x6B, 0x02,
1805129044dSC.J. Collier			0x13, 0x0F, 0x81, 0x2A, 0x9F, 0xA1, 0x69, 0xD8
1815129044dSC.J. Collier		},
1825129044dSC.J. Collier		.len = 512
1835129044dSC.J. Collier	},
1845129044dSC.J. Collier	.ciphertext = {
1855129044dSC.J. Collier		.data = {
1865129044dSC.J. Collier				0xE0, 0xDA, 0x15, 0xCA, 0x8E, 0x25, 0x54, 0xF5,
1875129044dSC.J. Collier				0xE5, 0x6C, 0x94, 0x68, 0xDC, 0x6C, 0x7C, 0x12,
1885129044dSC.J. Collier				0x9C, 0x56, 0x8A, 0xA5, 0x03, 0x23, 0x17, 0xE0,
1895129044dSC.J. Collier				0x4E, 0x07, 0x29, 0x64, 0x6C, 0xAB, 0xEF, 0xA6,
1905129044dSC.J. Collier				0x89, 0x86, 0x4C, 0x41, 0x0F, 0x24, 0xF9, 0x19,
1915129044dSC.J. Collier				0xE6, 0x1E, 0x3D, 0xFD, 0xFA, 0xD7, 0x7E, 0x56,
1925129044dSC.J. Collier				0x0D, 0xB0, 0xA9, 0xCD, 0x36, 0xC3, 0x4A, 0xE4,
1935129044dSC.J. Collier				0x18, 0x14, 0x90, 0xB2, 0x9F, 0x5F, 0xA2, 0xFC
1945129044dSC.J. Collier		},
1955129044dSC.J. Collier		.len = 512
1965129044dSC.J. Collier	},
1975129044dSC.J. Collier	.validDataLenInBits = {
1985129044dSC.J. Collier		.len = 510
1995129044dSC.J. Collier	},
2005129044dSC.J. Collier	.validCipherLenInBits = {
2015129044dSC.J. Collier		.len = 512
2025129044dSC.J. Collier	},
2035129044dSC.J. Collier	.validCipherOffsetLenInBits = {
2045129044dSC.J. Collier		.len = 128
2055129044dSC.J. Collier	},
2065129044dSC.J. Collier	.aad = {
2075129044dSC.J. Collier		.data = {
2085129044dSC.J. Collier			 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00,
2095129044dSC.J. Collier			 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00
2105129044dSC.J. Collier		},
2115129044dSC.J. Collier		.len = 16
2125129044dSC.J. Collier	}
2135129044dSC.J. Collier};
2145129044dSC.J. Collier
2155129044dSC.J. Collierstruct snow3g_test_data snow3g_test_case_3 = {
2165129044dSC.J. Collier	.key = {
2175129044dSC.J. Collier		.data = {
2185129044dSC.J. Collier			 0x5A, 0xCB, 0x1D, 0x64, 0x4C, 0x0D, 0x51, 0x20,
2195129044dSC.J. Collier			 0x4E, 0xA5, 0xF1, 0x45, 0x10, 0x10, 0xD8, 0x52
2205129044dSC.J. Collier		},
2215129044dSC.J. Collier		.len = 16
2225129044dSC.J. Collier	},
2235129044dSC.J. Collier	.iv = {
2245129044dSC.J. Collier		.data = {
2255129044dSC.J. Collier			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
2265129044dSC.J. Collier			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
2275129044dSC.J. Collier		},
2285129044dSC.J. Collier		.len = 16
2295129044dSC.J. Collier	},
2305129044dSC.J. Collier	.plaintext = {
2315129044dSC.J. Collier		.data = {
2325129044dSC.J. Collier			0xAD, 0x9C, 0x44, 0x1F, 0x89, 0x0B, 0x38, 0xC4,
2335129044dSC.J. Collier			0x57, 0xA4, 0x9D, 0x42, 0x14, 0x07, 0xE8
2345129044dSC.J. Collier		},
2355129044dSC.J. Collier		.len = 120
2365129044dSC.J. Collier	},
2375129044dSC.J. Collier	.ciphertext = {
2385129044dSC.J. Collier		.data = {
2395129044dSC.J. Collier			0xBA, 0x0F, 0x31, 0x30, 0x03, 0x34, 0xC5, 0x6B,
2405129044dSC.J. Collier			0x52, 0xA7, 0x49, 0x7C, 0xBA, 0xC0, 0x46
2415129044dSC.J. Collier		},
2425129044dSC.J. Collier		.len = 120
2435129044dSC.J. Collier	},
2445129044dSC.J. Collier	.validDataLenInBits = {
2455129044dSC.J. Collier		.len = 120
2465129044dSC.J. Collier	},
2475129044dSC.J. Collier	.validCipherLenInBits = {
2485129044dSC.J. Collier		.len = 120
2495129044dSC.J. Collier	},
2505129044dSC.J. Collier	.validCipherOffsetLenInBits = {
2515129044dSC.J. Collier		.len = 128
2525129044dSC.J. Collier	},
2535129044dSC.J. Collier	.aad = {
2545129044dSC.J. Collier		.data = {
2555129044dSC.J. Collier			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
2565129044dSC.J. Collier			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
2575129044dSC.J. Collier		},
2585129044dSC.J. Collier		.len = 16
2595129044dSC.J. Collier	},
2605129044dSC.J. Collier	.digest = {
2615129044dSC.J. Collier		.data = {0xE8, 0x60, 0x5A, 0x3E},
2625129044dSC.J. Collier		.len  = 4
2635129044dSC.J. Collier	},
2645129044dSC.J. Collier	.validAuthLenInBits = {
2655129044dSC.J. Collier		.len = 120
2665129044dSC.J. Collier	},
2675129044dSC.J. Collier	.validAuthOffsetLenInBits = {
2685129044dSC.J. Collier		.len = 128
2695129044dSC.J. Collier	}
2705129044dSC.J. Collier};
2715129044dSC.J. Collier
2725129044dSC.J. Collierstruct snow3g_test_data snow3g_test_case_4 = {
2735129044dSC.J. Collier	.key = {
2745129044dSC.J. Collier		.data = {
2755129044dSC.J. Collier			0xD3, 0xC5, 0xD5, 0x92, 0x32, 0x7F, 0xB1, 0x1C,
2765129044dSC.J. Collier			0x40, 0x35, 0xC6, 0x68, 0x0A, 0xF8, 0xC6, 0xD1
2775129044dSC.J. Collier		},
2785129044dSC.J. Collier		.len = 16
2795129044dSC.J. Collier	},
2805129044dSC.J. Collier	.iv = {
2815129044dSC.J. Collier		.data = {
2825129044dSC.J. Collier			0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00,
2835129044dSC.J. Collier			0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00
2845129044dSC.J. Collier		},
2855129044dSC.J. Collier		.len = 16
2865129044dSC.J. Collier	},
2875129044dSC.J. Collier	.plaintext = {
2885129044dSC.J. Collier		.data = {
2895129044dSC.J. Collier			0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB, 0x1A,
2905129044dSC.J. Collier			0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D, 0x80,
2915129044dSC.J. Collier			0x8C, 0xE3, 0x3E, 0x2C, 0xC3, 0xC0, 0xB5, 0xFC,
2925129044dSC.J. Collier			0x1F, 0x3D, 0xE8, 0xA6, 0xDC, 0x66, 0xB1, 0xF0
2935129044dSC.J. Collier		},
2945129044dSC.J. Collier		.len = 256
2955129044dSC.J. Collier	},
2965129044dSC.J. Collier	.ciphertext = {
2975129044dSC.J. Collier		.data = {
2985129044dSC.J. Collier			0x98, 0x9B, 0x71, 0x9C, 0xDC, 0x33, 0xCE, 0xB7,
2995129044dSC.J. Collier			0xCF, 0x27, 0x6A, 0x52, 0x82, 0x7C, 0xEF, 0x94,
3005129044dSC.J. Collier			0xA5, 0x6C, 0x40, 0xC0, 0xAB, 0x9D, 0x81, 0xF7,
3015129044dSC.J. Collier			0xA2, 0xA9, 0xBA, 0xC6, 0x0E, 0x11, 0xC4, 0xB0
3025129044dSC.J. Collier		},
3035129044dSC.J. Collier		.len = 256
3045129044dSC.J. Collier	},
3055129044dSC.J. Collier	.validDataLenInBits = {
3065129044dSC.J. Collier		.len = 253
3075129044dSC.J. Collier	},
3085129044dSC.J. Collier	.validCipherLenInBits = {
3095129044dSC.J. Collier		.len = 256
3105129044dSC.J. Collier	},
3115129044dSC.J. Collier	.validCipherOffsetLenInBits = {
3125129044dSC.J. Collier		.len = 128
3135129044dSC.J. Collier	}
3145129044dSC.J. Collier};
3155129044dSC.J. Collier
3165129044dSC.J. Collierstruct snow3g_test_data snow3g_test_case_5 = {
3175129044dSC.J. Collier	.key = {
3185129044dSC.J. Collier		.data = {
3195129044dSC.J. Collier			0x60, 0x90, 0xEA, 0xE0, 0x4C, 0x83, 0x70, 0x6E,
3205129044dSC.J. Collier			0xEC, 0xBF, 0x65, 0x2B, 0xE8, 0xE3, 0x65, 0x66
3215129044dSC.J. Collier		},
3225129044dSC.J. Collier		.len = 16
3235129044dSC.J. Collier	},
3245129044dSC.J. Collier	.iv = {
3255129044dSC.J. Collier		.data = {
3265129044dSC.J. Collier			0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00,
3275129044dSC.J. Collier			0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00
3285129044dSC.J. Collier		},
3295129044dSC.J. Collier		.len = 16},
3305129044dSC.J. Collier	.plaintext = {
3315129044dSC.J. Collier		.data = {
3325129044dSC.J. Collier			0x40, 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB,
3335129044dSC.J. Collier			0x42, 0x86, 0xB2, 0x99, 0x78, 0x3D, 0xAF, 0x44,
3345129044dSC.J. Collier			0x2C, 0x09, 0x9F, 0x7A, 0xB0, 0xF5, 0x8D, 0x5C,
3355129044dSC.J. Collier			0x8E, 0x46, 0xB1, 0x04, 0xF0, 0x8F, 0x01, 0xB4,
3365129044dSC.J. Collier			0x1A, 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D,
3375129044dSC.J. Collier			0x36, 0xBD, 0x1A, 0x3D, 0x90, 0xDC, 0x3A, 0x41,
3385129044dSC.J. Collier			0xB4, 0x6D, 0x51, 0x67, 0x2A, 0xC4, 0xC9, 0x66,
3395129044dSC.J. Collier			0x3A, 0x2B, 0xE0, 0x63, 0xDA, 0x4B, 0xC8, 0xD2,
3405129044dSC.J. Collier			0x80, 0x8C, 0xE3, 0x3E, 0x2C, 0xCC, 0xBF, 0xC6,
3415129044dSC.J. Collier			0x34, 0xE1, 0xB2, 0x59, 0x06, 0x08, 0x76, 0xA0,
3425129044dSC.J. Collier			0xFB, 0xB5, 0xA4, 0x37, 0xEB, 0xCC, 0x8D, 0x31,
3435129044dSC.J. Collier			0xC1, 0x9E, 0x44, 0x54, 0x31, 0x87, 0x45, 0xE3,
3445129044dSC.J. Collier			0x98, 0x76, 0x45, 0x98, 0x7A, 0x98, 0x6F, 0x2C,
3455129044dSC.J. Collier			0xB0
3465129044dSC.J. Collier		},
3475129044dSC.J. Collier		.len = 840
3485129044dSC.J. Collier	},
3495129044dSC.J. Collier	.ciphertext = {
3505129044dSC.J. Collier		.data = {
3515129044dSC.J. Collier			0x58, 0x92, 0xBB, 0xA8, 0x8B, 0xBB, 0xCA, 0xAE,
3525129044dSC.J. Collier			0xAE, 0x76, 0x9A, 0xA0, 0x6B, 0x68, 0x3D, 0x3A,
3535129044dSC.J. Collier			0x17, 0xCC, 0x04, 0xA3, 0x69, 0x88, 0x16, 0x97,
3545129044dSC.J. Collier			0x43, 0x5E, 0x44, 0xFE, 0xD5, 0xFF, 0x9A, 0xF5,
3555129044dSC.J. Collier			0x7B, 0x9E, 0x89, 0x0D, 0x4D, 0x5C, 0x64, 0x70,
3565129044dSC.J. Collier			0x98, 0x85, 0xD4, 0x8A, 0xE4, 0x06, 0x90, 0xEC,
3575129044dSC.J. Collier			0x04, 0x3B, 0xAA, 0xE9, 0x70, 0x57, 0x96, 0xE4,
3585129044dSC.J. Collier			0xA9, 0xFF, 0x5A, 0x4B, 0x8D, 0x8B, 0x36, 0xD7,
3595129044dSC.J. Collier			0xF3, 0xFE, 0x57, 0xCC, 0x6C, 0xFD, 0x6C, 0xD0,
3605129044dSC.J. Collier			0x05, 0xCD, 0x38, 0x52, 0xA8, 0x5E, 0x94, 0xCE,
3615129044dSC.J. Collier			0x6B, 0xCD, 0x90, 0xD0, 0xD0, 0x78, 0x39, 0xCE,
3625129044dSC.J. Collier			0x09, 0x73, 0x35, 0x44, 0xCA, 0x8E, 0x35, 0x08,
3635129044dSC.J. Collier			0x43, 0x24, 0x85, 0x50, 0x92, 0x2A, 0xC1, 0x28,
3645129044dSC.J. Collier			0x18
3655129044dSC.J. Collier		},
3665129044dSC.J. Collier		.len = 840
3675129044dSC.J. Collier	},
3685129044dSC.J. Collier	.validDataLenInBits = {
3695129044dSC.J. Collier		.len = 837
3705129044dSC.J. Collier	},
3715129044dSC.J. Collier	.validCipherLenInBits = {
3725129044dSC.J. Collier		.len = 840
3735129044dSC.J. Collier	},
3745129044dSC.J. Collier	.validCipherOffsetLenInBits = {
3755129044dSC.J. Collier		.len = 128
3765129044dSC.J. Collier	}
3775129044dSC.J. Collier};
3785129044dSC.J. Collierstruct snow3g_test_data snow3g_test_case_6 = {
3795129044dSC.J. Collier	.key = {
3805129044dSC.J. Collier		.data = {
3815129044dSC.J. Collier			0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9,
3825129044dSC.J. Collier			0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E
3835129044dSC.J. Collier		},
3845129044dSC.J. Collier		.len = 16
3855129044dSC.J. Collier	},
3865129044dSC.J. Collier	.iv = {
3875129044dSC.J. Collier		.data = {
3885129044dSC.J. Collier			0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
3895129044dSC.J. Collier			0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
3905129044dSC.J. Collier		},
3915129044dSC.J. Collier		.len = 16
3925129044dSC.J. Collier	},
3935129044dSC.J. Collier	.aad = {
3945129044dSC.J. Collier		.data = {
3955129044dSC.J. Collier			0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
3965129044dSC.J. Collier			0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
3975129044dSC.J. Collier		},
3985129044dSC.J. Collier		.len = 16
3995129044dSC.J. Collier	},
4005129044dSC.J. Collier	.plaintext = {
4015129044dSC.J. Collier		.data = {
4025129044dSC.J. Collier			0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2,
4035129044dSC.J. Collier			0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1,
4045129044dSC.J. Collier			0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29,
4055129044dSC.J. Collier			0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0,
4065129044dSC.J. Collier			0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20,
4075129044dSC.J. Collier			0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09
4085129044dSC.J. Collier		},
4095129044dSC.J. Collier		.len = 384
4105129044dSC.J. Collier	},
4115129044dSC.J. Collier	.ciphertext = {
4125129044dSC.J. Collier	   .data = {
4135129044dSC.J. Collier			0x95, 0x2E, 0x5A, 0xE1, 0x50, 0xB8, 0x59, 0x2A,
4145129044dSC.J. Collier			0x9B, 0xA0, 0x38, 0xA9, 0x8E, 0x2F, 0xED, 0xAB,
4155129044dSC.J. Collier			0xFD, 0xC8, 0x3B, 0x47, 0x46, 0x0B, 0x50, 0x16,
4165129044dSC.J. Collier			0xEC, 0x88, 0x45, 0xB6, 0x05, 0xC7, 0x54, 0xF8,
4175129044dSC.J. Collier			0xBD, 0x91, 0xAA, 0xB6, 0xA4, 0xDC, 0x64, 0xB4,
4185129044dSC.J. Collier			0xCB, 0xEB, 0x97, 0x06, 0x4C, 0xF7, 0x02, 0x3D
4195129044dSC.J. Collier		},
4205129044dSC.J. Collier		.len = 384
4215129044dSC.J. Collier	},
4225129044dSC.J. Collier	.digest = {
4235129044dSC.J. Collier		.data = {0x38, 0xB5, 0x54, 0xC0 },
4245129044dSC.J. Collier		.len  = 4
4255129044dSC.J. Collier	},
4265129044dSC.J. Collier	.validDataLenInBits = {
4275129044dSC.J. Collier		.len = 384
4285129044dSC.J. Collier	},
4295129044dSC.J. Collier	.validCipherLenInBits = {
4305129044dSC.J. Collier		.len = 384
4315129044dSC.J. Collier	},
4325129044dSC.J. Collier	.validCipherOffsetLenInBits = {
4335129044dSC.J. Collier		.len = 128
4345129044dSC.J. Collier	},
4355129044dSC.J. Collier	.validAuthLenInBits = {
4365129044dSC.J. Collier		.len = 384
4375129044dSC.J. Collier	},
4385129044dSC.J. Collier	.validAuthOffsetLenInBits = {
4395129044dSC.J. Collier		.len = 128
4405129044dSC.J. Collier	}
4415129044dSC.J. Collier};
4425129044dSC.J. Collier
4435129044dSC.J. Collier#endif /* TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_ */
444