1a9de470cSBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause 202ed7b38SDamian Nowak * Copyright(c) 2015-2019 Intel Corporation 3a9de470cSBruce Richardson */ 4a9de470cSBruce Richardson 5a9de470cSBruce Richardson #ifndef TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_ 6a9de470cSBruce Richardson #define TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_ 7a9de470cSBruce Richardson 8a9de470cSBruce Richardson struct snow3g_test_data { 9a9de470cSBruce Richardson struct { 10a9de470cSBruce Richardson uint8_t data[64]; 11a9de470cSBruce Richardson unsigned len; 12a9de470cSBruce Richardson } key; 13a9de470cSBruce Richardson 14a9de470cSBruce Richardson struct { 15*0efea35aSTyler Retzlaff alignas(16) uint8_t data[64]; 16a9de470cSBruce Richardson unsigned len; 17a9de470cSBruce Richardson } cipher_iv; 18a9de470cSBruce Richardson 19a9de470cSBruce Richardson struct { 20a9de470cSBruce Richardson uint8_t data[1024]; 21a9de470cSBruce Richardson unsigned len; /* length must be in Bits */ 22a9de470cSBruce Richardson } plaintext; 23a9de470cSBruce Richardson 24a9de470cSBruce Richardson struct { 25a9de470cSBruce Richardson uint8_t data[1024]; 26a9de470cSBruce Richardson unsigned len; /* length must be in Bits */ 27a9de470cSBruce Richardson } ciphertext; 28a9de470cSBruce Richardson 29a9de470cSBruce Richardson struct { 30a9de470cSBruce Richardson unsigned len; 31a9de470cSBruce Richardson } validDataLenInBits; 32a9de470cSBruce Richardson 33a9de470cSBruce Richardson struct { 34a9de470cSBruce Richardson unsigned len; 35a9de470cSBruce Richardson } validCipherLenInBits; 36a9de470cSBruce Richardson 37a9de470cSBruce Richardson struct { 38a9de470cSBruce Richardson unsigned len; 39a9de470cSBruce Richardson } validAuthLenInBits; 40a9de470cSBruce Richardson 41a9de470cSBruce Richardson struct { 42a9de470cSBruce Richardson uint8_t data[64]; 43a9de470cSBruce Richardson unsigned len; 44a9de470cSBruce Richardson } auth_iv; 45a9de470cSBruce Richardson 46a9de470cSBruce Richardson struct { 47a9de470cSBruce Richardson uint8_t data[64]; 4824342adeSLukasz Krakowiak unsigned int len; /* length must be in Bytes */ 4924342adeSLukasz Krakowiak unsigned int offset_bytes; /* offset must be in Bytes */ 50a9de470cSBruce Richardson } digest; 5124342adeSLukasz Krakowiak 5224342adeSLukasz Krakowiak struct { 5324342adeSLukasz Krakowiak unsigned int len_bits; /* length must be in Bits */ 5424342adeSLukasz Krakowiak unsigned int offset_bits; 5524342adeSLukasz Krakowiak } cipher; 5624342adeSLukasz Krakowiak 5724342adeSLukasz Krakowiak struct { 5824342adeSLukasz Krakowiak unsigned int len_bits; /* length must be in Bits */ 5924342adeSLukasz Krakowiak unsigned int offset_bits; 6024342adeSLukasz Krakowiak } auth; 61a9de470cSBruce Richardson }; 6202ed7b38SDamian Nowak 63a9de470cSBruce Richardson struct snow3g_test_data snow3g_test_case_1 = { 64a9de470cSBruce Richardson .key = { 65a9de470cSBruce Richardson .data = { 66a9de470cSBruce Richardson 0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00, 67a9de470cSBruce Richardson 0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48 68a9de470cSBruce Richardson }, 69a9de470cSBruce Richardson .len = 16 70a9de470cSBruce Richardson }, 71a9de470cSBruce Richardson .cipher_iv = { 72a9de470cSBruce Richardson .data = { 73a9de470cSBruce Richardson 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00, 74a9de470cSBruce Richardson 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00 75a9de470cSBruce Richardson }, 76a9de470cSBruce Richardson .len = 16 77a9de470cSBruce Richardson }, 78a9de470cSBruce Richardson .plaintext = { 79a9de470cSBruce Richardson .data = { 80a9de470cSBruce Richardson 0x7E, 0xC6, 0x12, 0x72, 0x74, 0x3B, 0xF1, 0x61, 81a9de470cSBruce Richardson 0x47, 0x26, 0x44, 0x6A, 0x6C, 0x38, 0xCE, 0xD1, 82a9de470cSBruce Richardson 0x66, 0xF6, 0xCA, 0x76, 0xEB, 0x54, 0x30, 0x04, 83a9de470cSBruce Richardson 0x42, 0x86, 0x34, 0x6C, 0xEF, 0x13, 0x0F, 0x92, 84a9de470cSBruce Richardson 0x92, 0x2B, 0x03, 0x45, 0x0D, 0x3A, 0x99, 0x75, 85a9de470cSBruce Richardson 0xE5, 0xBD, 0x2E, 0xA0, 0xEB, 0x55, 0xAD, 0x8E, 86a9de470cSBruce Richardson 0x1B, 0x19, 0x9E, 0x3E, 0xC4, 0x31, 0x60, 0x20, 87a9de470cSBruce Richardson 0xE9, 0xA1, 0xB2, 0x85, 0xE7, 0x62, 0x79, 0x53, 88a9de470cSBruce Richardson 0x59, 0xB7, 0xBD, 0xFD, 0x39, 0xBE, 0xF4, 0xB2, 89a9de470cSBruce Richardson 0x48, 0x45, 0x83, 0xD5, 0xAF, 0xE0, 0x82, 0xAE, 90a9de470cSBruce Richardson 0xE6, 0x38, 0xBF, 0x5F, 0xD5, 0xA6, 0x06, 0x19, 91a9de470cSBruce Richardson 0x39, 0x01, 0xA0, 0x8F, 0x4A, 0xB4, 0x1A, 0xAB, 92a9de470cSBruce Richardson 0x9B, 0x13, 0x48, 0x80 93a9de470cSBruce Richardson }, 94a9de470cSBruce Richardson .len = 800 95a9de470cSBruce Richardson }, 96a9de470cSBruce Richardson .ciphertext = { 97a9de470cSBruce Richardson .data = { 98a9de470cSBruce Richardson 0x8C, 0xEB, 0xA6, 0x29, 0x43, 0xDC, 0xED, 0x3A, 99a9de470cSBruce Richardson 0x09, 0x90, 0xB0, 0x6E, 0xA1, 0xB0, 0xA2, 0xC4, 100a9de470cSBruce Richardson 0xFB, 0x3C, 0xED, 0xC7, 0x1B, 0x36, 0x9F, 0x42, 101a9de470cSBruce Richardson 0xBA, 0x64, 0xC1, 0xEB, 0x66, 0x65, 0xE7, 0x2A, 102a9de470cSBruce Richardson 0xA1, 0xC9, 0xBB, 0x0D, 0xEA, 0xA2, 0x0F, 0xE8, 103a9de470cSBruce Richardson 0x60, 0x58, 0xB8, 0xBA, 0xEE, 0x2C, 0x2E, 0x7F, 104a9de470cSBruce Richardson 0x0B, 0xEC, 0xCE, 0x48, 0xB5, 0x29, 0x32, 0xA5, 105a9de470cSBruce Richardson 0x3C, 0x9D, 0x5F, 0x93, 0x1A, 0x3A, 0x7C, 0x53, 106a9de470cSBruce Richardson 0x22, 0x59, 0xAF, 0x43, 0x25, 0xE2, 0xA6, 0x5E, 107a9de470cSBruce Richardson 0x30, 0x84, 0xAD, 0x5F, 0x6A, 0x51, 0x3B, 0x7B, 108a9de470cSBruce Richardson 0xDD, 0xC1, 0xB6, 0x5F, 0x0A, 0xA0, 0xD9, 0x7A, 109a9de470cSBruce Richardson 0x05, 0x3D, 0xB5, 0x5A, 0x88, 0xC4, 0xC4, 0xF9, 110a9de470cSBruce Richardson 0x60, 0x5E, 0x41, 0x40 111a9de470cSBruce Richardson }, 112a9de470cSBruce Richardson .len = 800 113a9de470cSBruce Richardson }, 11424342adeSLukasz Krakowiak .cipher = { 11524342adeSLukasz Krakowiak .offset_bits = 0 11624342adeSLukasz Krakowiak }, 117a9de470cSBruce Richardson .validDataLenInBits = { 118a9de470cSBruce Richardson .len = 798 119a9de470cSBruce Richardson }, 120a9de470cSBruce Richardson .validCipherLenInBits = { 121a9de470cSBruce Richardson .len = 800 122a9de470cSBruce Richardson }, 123a9de470cSBruce Richardson .auth_iv = { 124a9de470cSBruce Richardson .data = { 125a9de470cSBruce Richardson 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00, 126a9de470cSBruce Richardson 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00 127a9de470cSBruce Richardson }, 128a9de470cSBruce Richardson .len = 16 129a9de470cSBruce Richardson } 130a9de470cSBruce Richardson }; 131a9de470cSBruce Richardson 132a9de470cSBruce Richardson struct snow3g_test_data snow3g_test_case_2 = { 133a9de470cSBruce Richardson .key = { 134a9de470cSBruce Richardson .data = { 135a9de470cSBruce Richardson 0xEF, 0xA8, 0xB2, 0x22, 0x9E, 0x72, 0x0C, 0x2A, 136a9de470cSBruce Richardson 0x7C, 0x36, 0xEA, 0x55, 0xE9, 0x60, 0x56, 0x95 137a9de470cSBruce Richardson }, 138a9de470cSBruce Richardson .len = 16 139a9de470cSBruce Richardson }, 140a9de470cSBruce Richardson .cipher_iv = { 141a9de470cSBruce Richardson .data = { 142a9de470cSBruce Richardson 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00, 143a9de470cSBruce Richardson 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00 144a9de470cSBruce Richardson }, 145a9de470cSBruce Richardson .len = 16 146a9de470cSBruce Richardson }, 147a9de470cSBruce Richardson .plaintext = { 148a9de470cSBruce Richardson .data = { 149a9de470cSBruce Richardson 0x10, 0x11, 0x12, 0x31, 0xE0, 0x60, 0x25, 0x3A, 150a9de470cSBruce Richardson 0x43, 0xFD, 0x3F, 0x57, 0xE3, 0x76, 0x07, 0xAB, 151a9de470cSBruce Richardson 0x28, 0x27, 0xB5, 0x99, 0xB6, 0xB1, 0xBB, 0xDA, 152a9de470cSBruce Richardson 0x37, 0xA8, 0xAB, 0xCC, 0x5A, 0x8C, 0x55, 0x0D, 153a9de470cSBruce Richardson 0x1B, 0xFB, 0x2F, 0x49, 0x46, 0x24, 0xFB, 0x50, 154a9de470cSBruce Richardson 0x36, 0x7F, 0xA3, 0x6C, 0xE3, 0xBC, 0x68, 0xF1, 155a9de470cSBruce Richardson 0x1C, 0xF9, 0x3B, 0x15, 0x10, 0x37, 0x6B, 0x02, 156a9de470cSBruce Richardson 0x13, 0x0F, 0x81, 0x2A, 0x9F, 0xA1, 0x69, 0xD8 157a9de470cSBruce Richardson }, 158a9de470cSBruce Richardson .len = 512 159a9de470cSBruce Richardson }, 160a9de470cSBruce Richardson .ciphertext = { 161a9de470cSBruce Richardson .data = { 162a9de470cSBruce Richardson 0xE0, 0xDA, 0x15, 0xCA, 0x8E, 0x25, 0x54, 0xF5, 163a9de470cSBruce Richardson 0xE5, 0x6C, 0x94, 0x68, 0xDC, 0x6C, 0x7C, 0x12, 164a9de470cSBruce Richardson 0x9C, 0x56, 0x8A, 0xA5, 0x03, 0x23, 0x17, 0xE0, 165a9de470cSBruce Richardson 0x4E, 0x07, 0x29, 0x64, 0x6C, 0xAB, 0xEF, 0xA6, 166a9de470cSBruce Richardson 0x89, 0x86, 0x4C, 0x41, 0x0F, 0x24, 0xF9, 0x19, 167a9de470cSBruce Richardson 0xE6, 0x1E, 0x3D, 0xFD, 0xFA, 0xD7, 0x7E, 0x56, 168a9de470cSBruce Richardson 0x0D, 0xB0, 0xA9, 0xCD, 0x36, 0xC3, 0x4A, 0xE4, 169a9de470cSBruce Richardson 0x18, 0x14, 0x90, 0xB2, 0x9F, 0x5F, 0xA2, 0xFC 170a9de470cSBruce Richardson }, 171a9de470cSBruce Richardson .len = 512 172a9de470cSBruce Richardson }, 17324342adeSLukasz Krakowiak .cipher = { 17424342adeSLukasz Krakowiak .offset_bits = 0 17524342adeSLukasz Krakowiak }, 176a9de470cSBruce Richardson .validDataLenInBits = { 177a9de470cSBruce Richardson .len = 510 178a9de470cSBruce Richardson }, 179a9de470cSBruce Richardson .validCipherLenInBits = { 180a9de470cSBruce Richardson .len = 512 181a9de470cSBruce Richardson }, 182a9de470cSBruce Richardson .auth_iv = { 183a9de470cSBruce Richardson .data = { 184a9de470cSBruce Richardson 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00, 185a9de470cSBruce Richardson 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00 186a9de470cSBruce Richardson }, 187a9de470cSBruce Richardson .len = 16 188a9de470cSBruce Richardson } 189a9de470cSBruce Richardson }; 190a9de470cSBruce Richardson 191a9de470cSBruce Richardson struct snow3g_test_data snow3g_test_case_3 = { 192a9de470cSBruce Richardson .key = { 193a9de470cSBruce Richardson .data = { 194a9de470cSBruce Richardson 0x5A, 0xCB, 0x1D, 0x64, 0x4C, 0x0D, 0x51, 0x20, 195a9de470cSBruce Richardson 0x4E, 0xA5, 0xF1, 0x45, 0x10, 0x10, 0xD8, 0x52 196a9de470cSBruce Richardson }, 197a9de470cSBruce Richardson .len = 16 198a9de470cSBruce Richardson }, 199a9de470cSBruce Richardson .cipher_iv = { 200a9de470cSBruce Richardson .data = { 201a9de470cSBruce Richardson 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00, 202a9de470cSBruce Richardson 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00 203a9de470cSBruce Richardson }, 204a9de470cSBruce Richardson .len = 16 205a9de470cSBruce Richardson }, 206a9de470cSBruce Richardson .plaintext = { 207a9de470cSBruce Richardson .data = { 208a9de470cSBruce Richardson 0xAD, 0x9C, 0x44, 0x1F, 0x89, 0x0B, 0x38, 0xC4, 209a9de470cSBruce Richardson 0x57, 0xA4, 0x9D, 0x42, 0x14, 0x07, 0xE8 210a9de470cSBruce Richardson }, 211a9de470cSBruce Richardson .len = 120 212a9de470cSBruce Richardson }, 213a9de470cSBruce Richardson .ciphertext = { 214a9de470cSBruce Richardson .data = { 215a9de470cSBruce Richardson 0xBA, 0x0F, 0x31, 0x30, 0x03, 0x34, 0xC5, 0x6B, 216a9de470cSBruce Richardson 0x52, 0xA7, 0x49, 0x7C, 0xBA, 0xC0, 0x46 217a9de470cSBruce Richardson }, 218a9de470cSBruce Richardson .len = 120 219a9de470cSBruce Richardson }, 22024342adeSLukasz Krakowiak .cipher = { 22124342adeSLukasz Krakowiak .offset_bits = 0 22224342adeSLukasz Krakowiak }, 223a9de470cSBruce Richardson .validDataLenInBits = { 224a9de470cSBruce Richardson .len = 120 225a9de470cSBruce Richardson }, 226a9de470cSBruce Richardson .validCipherLenInBits = { 227a9de470cSBruce Richardson .len = 120 228a9de470cSBruce Richardson }, 229a9de470cSBruce Richardson .auth_iv = { 230a9de470cSBruce Richardson .data = { 231a9de470cSBruce Richardson 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00, 232a9de470cSBruce Richardson 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00 233a9de470cSBruce Richardson }, 234a9de470cSBruce Richardson .len = 16 235a9de470cSBruce Richardson }, 236a9de470cSBruce Richardson .digest = { 237a9de470cSBruce Richardson .data = {0xE8, 0x60, 0x5A, 0x3E}, 238a9de470cSBruce Richardson .len = 4 239a9de470cSBruce Richardson }, 240a9de470cSBruce Richardson .validAuthLenInBits = { 241a9de470cSBruce Richardson .len = 120 242a9de470cSBruce Richardson } 243a9de470cSBruce Richardson }; 244a9de470cSBruce Richardson 245a9de470cSBruce Richardson struct snow3g_test_data snow3g_test_case_4 = { 246a9de470cSBruce Richardson .key = { 247a9de470cSBruce Richardson .data = { 248a9de470cSBruce Richardson 0xD3, 0xC5, 0xD5, 0x92, 0x32, 0x7F, 0xB1, 0x1C, 249a9de470cSBruce Richardson 0x40, 0x35, 0xC6, 0x68, 0x0A, 0xF8, 0xC6, 0xD1 250a9de470cSBruce Richardson }, 251a9de470cSBruce Richardson .len = 16 252a9de470cSBruce Richardson }, 253a9de470cSBruce Richardson .cipher_iv = { 254a9de470cSBruce Richardson .data = { 255a9de470cSBruce Richardson 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00, 256a9de470cSBruce Richardson 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00 257a9de470cSBruce Richardson }, 258a9de470cSBruce Richardson .len = 16 259a9de470cSBruce Richardson }, 260a9de470cSBruce Richardson .plaintext = { 261a9de470cSBruce Richardson .data = { 262a9de470cSBruce Richardson 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB, 0x1A, 263a9de470cSBruce Richardson 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D, 0x80, 264a9de470cSBruce Richardson 0x8C, 0xE3, 0x3E, 0x2C, 0xC3, 0xC0, 0xB5, 0xFC, 265a9de470cSBruce Richardson 0x1F, 0x3D, 0xE8, 0xA6, 0xDC, 0x66, 0xB1, 0xF0 266a9de470cSBruce Richardson }, 267a9de470cSBruce Richardson .len = 256 268a9de470cSBruce Richardson }, 269a9de470cSBruce Richardson .ciphertext = { 270a9de470cSBruce Richardson .data = { 271a9de470cSBruce Richardson 0x98, 0x9B, 0x71, 0x9C, 0xDC, 0x33, 0xCE, 0xB7, 272a9de470cSBruce Richardson 0xCF, 0x27, 0x6A, 0x52, 0x82, 0x7C, 0xEF, 0x94, 273a9de470cSBruce Richardson 0xA5, 0x6C, 0x40, 0xC0, 0xAB, 0x9D, 0x81, 0xF7, 274a9de470cSBruce Richardson 0xA2, 0xA9, 0xBA, 0xC6, 0x0E, 0x11, 0xC4, 0xB0 275a9de470cSBruce Richardson }, 276a9de470cSBruce Richardson .len = 256 277a9de470cSBruce Richardson }, 27824342adeSLukasz Krakowiak .cipher = { 27924342adeSLukasz Krakowiak .offset_bits = 0 28024342adeSLukasz Krakowiak }, 281a9de470cSBruce Richardson .validDataLenInBits = { 282a9de470cSBruce Richardson .len = 253 283a9de470cSBruce Richardson }, 284a9de470cSBruce Richardson .validCipherLenInBits = { 285a9de470cSBruce Richardson .len = 256 286a9de470cSBruce Richardson } 287a9de470cSBruce Richardson }; 288a9de470cSBruce Richardson 289a9de470cSBruce Richardson struct snow3g_test_data snow3g_test_case_5 = { 290a9de470cSBruce Richardson .key = { 291a9de470cSBruce Richardson .data = { 292a9de470cSBruce Richardson 0x60, 0x90, 0xEA, 0xE0, 0x4C, 0x83, 0x70, 0x6E, 293a9de470cSBruce Richardson 0xEC, 0xBF, 0x65, 0x2B, 0xE8, 0xE3, 0x65, 0x66 294a9de470cSBruce Richardson }, 295a9de470cSBruce Richardson .len = 16 296a9de470cSBruce Richardson }, 297a9de470cSBruce Richardson .cipher_iv = { 298a9de470cSBruce Richardson .data = { 299a9de470cSBruce Richardson 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00, 300a9de470cSBruce Richardson 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00 301a9de470cSBruce Richardson }, 302a9de470cSBruce Richardson .len = 16}, 303a9de470cSBruce Richardson .plaintext = { 304a9de470cSBruce Richardson .data = { 305a9de470cSBruce Richardson 0x40, 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB, 306a9de470cSBruce Richardson 0x42, 0x86, 0xB2, 0x99, 0x78, 0x3D, 0xAF, 0x44, 307a9de470cSBruce Richardson 0x2C, 0x09, 0x9F, 0x7A, 0xB0, 0xF5, 0x8D, 0x5C, 308a9de470cSBruce Richardson 0x8E, 0x46, 0xB1, 0x04, 0xF0, 0x8F, 0x01, 0xB4, 309a9de470cSBruce Richardson 0x1A, 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D, 310a9de470cSBruce Richardson 0x36, 0xBD, 0x1A, 0x3D, 0x90, 0xDC, 0x3A, 0x41, 311a9de470cSBruce Richardson 0xB4, 0x6D, 0x51, 0x67, 0x2A, 0xC4, 0xC9, 0x66, 312a9de470cSBruce Richardson 0x3A, 0x2B, 0xE0, 0x63, 0xDA, 0x4B, 0xC8, 0xD2, 313a9de470cSBruce Richardson 0x80, 0x8C, 0xE3, 0x3E, 0x2C, 0xCC, 0xBF, 0xC6, 314a9de470cSBruce Richardson 0x34, 0xE1, 0xB2, 0x59, 0x06, 0x08, 0x76, 0xA0, 315a9de470cSBruce Richardson 0xFB, 0xB5, 0xA4, 0x37, 0xEB, 0xCC, 0x8D, 0x31, 316a9de470cSBruce Richardson 0xC1, 0x9E, 0x44, 0x54, 0x31, 0x87, 0x45, 0xE3, 317a9de470cSBruce Richardson 0x98, 0x76, 0x45, 0x98, 0x7A, 0x98, 0x6F, 0x2C, 318a9de470cSBruce Richardson 0xB0 319a9de470cSBruce Richardson }, 320a9de470cSBruce Richardson .len = 840 321a9de470cSBruce Richardson }, 322a9de470cSBruce Richardson .ciphertext = { 323a9de470cSBruce Richardson .data = { 324a9de470cSBruce Richardson 0x58, 0x92, 0xBB, 0xA8, 0x8B, 0xBB, 0xCA, 0xAE, 325a9de470cSBruce Richardson 0xAE, 0x76, 0x9A, 0xA0, 0x6B, 0x68, 0x3D, 0x3A, 326a9de470cSBruce Richardson 0x17, 0xCC, 0x04, 0xA3, 0x69, 0x88, 0x16, 0x97, 327a9de470cSBruce Richardson 0x43, 0x5E, 0x44, 0xFE, 0xD5, 0xFF, 0x9A, 0xF5, 328a9de470cSBruce Richardson 0x7B, 0x9E, 0x89, 0x0D, 0x4D, 0x5C, 0x64, 0x70, 329a9de470cSBruce Richardson 0x98, 0x85, 0xD4, 0x8A, 0xE4, 0x06, 0x90, 0xEC, 330a9de470cSBruce Richardson 0x04, 0x3B, 0xAA, 0xE9, 0x70, 0x57, 0x96, 0xE4, 331a9de470cSBruce Richardson 0xA9, 0xFF, 0x5A, 0x4B, 0x8D, 0x8B, 0x36, 0xD7, 332a9de470cSBruce Richardson 0xF3, 0xFE, 0x57, 0xCC, 0x6C, 0xFD, 0x6C, 0xD0, 333a9de470cSBruce Richardson 0x05, 0xCD, 0x38, 0x52, 0xA8, 0x5E, 0x94, 0xCE, 334a9de470cSBruce Richardson 0x6B, 0xCD, 0x90, 0xD0, 0xD0, 0x78, 0x39, 0xCE, 335a9de470cSBruce Richardson 0x09, 0x73, 0x35, 0x44, 0xCA, 0x8E, 0x35, 0x08, 336a9de470cSBruce Richardson 0x43, 0x24, 0x85, 0x50, 0x92, 0x2A, 0xC1, 0x28, 337a9de470cSBruce Richardson 0x18 338a9de470cSBruce Richardson }, 339a9de470cSBruce Richardson .len = 840 340a9de470cSBruce Richardson }, 34124342adeSLukasz Krakowiak .cipher = { 34224342adeSLukasz Krakowiak .offset_bits = 0 34324342adeSLukasz Krakowiak }, 344a9de470cSBruce Richardson .validDataLenInBits = { 345a9de470cSBruce Richardson .len = 837 346a9de470cSBruce Richardson }, 347a9de470cSBruce Richardson .validCipherLenInBits = { 348a9de470cSBruce Richardson .len = 840 349a9de470cSBruce Richardson }, 350a9de470cSBruce Richardson }; 35102ed7b38SDamian Nowak 35202ed7b38SDamian Nowak struct snow3g_test_data snow3g_auth_cipher_test_case_1 = { 353a9de470cSBruce Richardson .key = { 354a9de470cSBruce Richardson .data = { 355a9de470cSBruce Richardson 0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9, 356a9de470cSBruce Richardson 0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E 357a9de470cSBruce Richardson }, 358a9de470cSBruce Richardson .len = 16 359a9de470cSBruce Richardson }, 360a9de470cSBruce Richardson .cipher_iv = { 361a9de470cSBruce Richardson .data = { 3623271c24bSCiara Power 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00, 3633271c24bSCiara Power 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00 364a9de470cSBruce Richardson }, 365a9de470cSBruce Richardson .len = 16 366a9de470cSBruce Richardson }, 367a9de470cSBruce Richardson .auth_iv = { 368a9de470cSBruce Richardson .data = { 369a9de470cSBruce Richardson 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD, 370a9de470cSBruce Richardson 0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD 371a9de470cSBruce Richardson }, 372a9de470cSBruce Richardson .len = 16 373a9de470cSBruce Richardson }, 374a9de470cSBruce Richardson .plaintext = { 375a9de470cSBruce Richardson .data = { 376a9de470cSBruce Richardson 0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2, 377a9de470cSBruce Richardson 0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1, 378a9de470cSBruce Richardson 0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29, 379a9de470cSBruce Richardson 0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0, 380a9de470cSBruce Richardson 0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20, 381a9de470cSBruce Richardson 0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09 382a9de470cSBruce Richardson }, 383a9de470cSBruce Richardson .len = 384 384a9de470cSBruce Richardson }, 385a9de470cSBruce Richardson .ciphertext = { 386a9de470cSBruce Richardson .data = { 3873271c24bSCiara Power 0x86, 0x4F, 0x4D, 0xE8, 0x86, 0xE6, 0x3E, 0x66, 3883271c24bSCiara Power 0x52, 0x97, 0xC7, 0x62, 0xAE, 0x8E, 0xA2, 0xDB, 3893271c24bSCiara Power 0x01, 0xD6, 0x33, 0xA9, 0xA4, 0xCE, 0x02, 0xD5, 3903271c24bSCiara Power 0xC2, 0xC5, 0x5F, 0x90, 0xE0, 0x89, 0x48, 0xD4, 3913271c24bSCiara Power 0x92, 0xF4, 0xE5, 0x9A, 0xDA, 0x13, 0x76, 0xFF, 3923271c24bSCiara Power 0x6E, 0x76, 0x6B, 0x71, 0x62, 0x28, 0xB2, 0xEC 393a9de470cSBruce Richardson }, 394a9de470cSBruce Richardson .len = 384 395a9de470cSBruce Richardson }, 39624342adeSLukasz Krakowiak .cipher = { 39724342adeSLukasz Krakowiak .len_bits = 384, 39824342adeSLukasz Krakowiak .offset_bits = 0 39924342adeSLukasz Krakowiak }, 40024342adeSLukasz Krakowiak .auth = { 40124342adeSLukasz Krakowiak .len_bits = 384, 40224342adeSLukasz Krakowiak .offset_bits = 0 40324342adeSLukasz Krakowiak }, 404a9de470cSBruce Richardson .digest = { 405a9de470cSBruce Richardson .data = {0x38, 0xB5, 0x54, 0xC0 }, 40624342adeSLukasz Krakowiak .len = 4, 40724342adeSLukasz Krakowiak .offset_bytes = 0 408a9de470cSBruce Richardson }, 409a9de470cSBruce Richardson .validDataLenInBits = { 410a9de470cSBruce Richardson .len = 384 411a9de470cSBruce Richardson }, 412a9de470cSBruce Richardson .validCipherLenInBits = { 413a9de470cSBruce Richardson .len = 384 414a9de470cSBruce Richardson }, 415a9de470cSBruce Richardson .validAuthLenInBits = { 416a9de470cSBruce Richardson .len = 384 417a9de470cSBruce Richardson }, 418a9de470cSBruce Richardson }; 419a9de470cSBruce Richardson 42024342adeSLukasz Krakowiak struct snow3g_test_data snow3g_test_case_7 = { 42124342adeSLukasz Krakowiak .key = { 42224342adeSLukasz Krakowiak .data = { 42324342adeSLukasz Krakowiak 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 42424342adeSLukasz Krakowiak 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 42524342adeSLukasz Krakowiak 42624342adeSLukasz Krakowiak }, 42724342adeSLukasz Krakowiak .len = 16 42824342adeSLukasz Krakowiak }, 42924342adeSLukasz Krakowiak .cipher_iv = { 43024342adeSLukasz Krakowiak .data = { 4313271c24bSCiara Power 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00, 4323271c24bSCiara Power 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00 43324342adeSLukasz Krakowiak }, 43424342adeSLukasz Krakowiak .len = 16 43524342adeSLukasz Krakowiak }, 43624342adeSLukasz Krakowiak .auth_iv = { 43724342adeSLukasz Krakowiak .data = { 4383271c24bSCiara Power 0x36, 0xAF, 0x61, 0x44, 0x98, 0x38, 0xF0, 0x3A, 4393271c24bSCiara Power 0x36, 0xAF, 0x61, 0x44, 0x98, 0x38, 0xF0, 0x3A 44024342adeSLukasz Krakowiak }, 44124342adeSLukasz Krakowiak .len = 16 44224342adeSLukasz Krakowiak }, 44324342adeSLukasz Krakowiak .plaintext = { 44424342adeSLukasz Krakowiak .data = { 44524342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 44624342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 44724342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 44824342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 44924342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45024342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45124342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45224342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45324342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45424342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45524342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45624342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45724342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45824342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 45924342adeSLukasz Krakowiak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 4603271c24bSCiara Power 0x5A, 0x5A, 0x5A, 0x5A, 0xBB, 0x2B, 0x8B, 0x15, 46124342adeSLukasz Krakowiak }, 46224342adeSLukasz Krakowiak .len = 128 << 3 46324342adeSLukasz Krakowiak }, 46424342adeSLukasz Krakowiak .ciphertext = { 46524342adeSLukasz Krakowiak .data = { 4663271c24bSCiara Power 0x5A, 0x5A, 0x8A, 0x35, 0xF7, 0x36, 0xDA, 0xD7, 4673271c24bSCiara Power 0xC4, 0x2C, 0x10, 0xEA, 0x92, 0x9C, 0x00, 0xF0, 4683271c24bSCiara Power 0xAE, 0x35, 0x5E, 0x8D, 0xB6, 0x88, 0x30, 0x66, 4693271c24bSCiara Power 0x74, 0x8B, 0xA2, 0x82, 0x5C, 0xA7, 0xF3, 0x54, 4703271c24bSCiara Power 0x75, 0x02, 0xA9, 0x90, 0x6B, 0x4B, 0x6A, 0x63, 4713271c24bSCiara Power 0xFF, 0x4B, 0x08, 0xFE, 0x11, 0x3C, 0x5A, 0x53, 4723271c24bSCiara Power 0xEE, 0x68, 0x14, 0x41, 0x17, 0xCD, 0x7B, 0x27, 4733271c24bSCiara Power 0x88, 0xAF, 0x99, 0xE2, 0x9C, 0x86, 0x42, 0x12, 4743271c24bSCiara Power 0x97, 0x93, 0xF0, 0xE6, 0xE2, 0xB2, 0x2D, 0xDA, 4753271c24bSCiara Power 0x2C, 0x59, 0xB0, 0xA7, 0x09, 0xF6, 0x32, 0xC0, 4763271c24bSCiara Power 0x35, 0x9A, 0xD3, 0xBA, 0xDC, 0x8F, 0x2E, 0x18, 4773271c24bSCiara Power 0x97, 0x87, 0x44, 0xD6, 0x43, 0xFA, 0x86, 0x5A, 4783271c24bSCiara Power 0xB0, 0xA2, 0x5A, 0xB8, 0x5F, 0x57, 0xE3, 0x2F, 4793271c24bSCiara Power 0x73, 0x9C, 0x01, 0x3A, 0x02, 0x08, 0x8C, 0xEB, 4803271c24bSCiara Power 0xA0, 0x5D, 0x74, 0x58, 0x5A, 0xA1, 0x58, 0x17, 4813271c24bSCiara Power 0x5E, 0x86, 0x96, 0xE6, 0x9C, 0xEE, 0x8C, 0xA8 48224342adeSLukasz Krakowiak 48324342adeSLukasz Krakowiak }, 48424342adeSLukasz Krakowiak .len = 128 << 3 48524342adeSLukasz Krakowiak }, 48624342adeSLukasz Krakowiak .cipher = { 48724342adeSLukasz Krakowiak .len_bits = 126 << 3, 48824342adeSLukasz Krakowiak .offset_bits = 2 << 3 48924342adeSLukasz Krakowiak }, 49024342adeSLukasz Krakowiak .auth = { 49124342adeSLukasz Krakowiak .len_bits = 124 << 3, 49224342adeSLukasz Krakowiak .offset_bits = 0 49324342adeSLukasz Krakowiak }, 49424342adeSLukasz Krakowiak .digest = { 49524342adeSLukasz Krakowiak .data = { 4963271c24bSCiara Power 0x9C, 0xEE, 0x8C, 0xA8 49724342adeSLukasz Krakowiak }, 49824342adeSLukasz Krakowiak .len = 4, 49924342adeSLukasz Krakowiak .offset_bytes = 124 50024342adeSLukasz Krakowiak }, 50124342adeSLukasz Krakowiak .validDataLenInBits = { 50224342adeSLukasz Krakowiak .len = 128 << 3 50324342adeSLukasz Krakowiak }, 50424342adeSLukasz Krakowiak .validCipherLenInBits = { 50524342adeSLukasz Krakowiak .len = 126 << 3 50624342adeSLukasz Krakowiak }, 50724342adeSLukasz Krakowiak .validAuthLenInBits = { 50824342adeSLukasz Krakowiak .len = 124 << 3 50924342adeSLukasz Krakowiak }, 51024342adeSLukasz Krakowiak }; 51124342adeSLukasz Krakowiak 51202ed7b38SDamian Nowak struct snow3g_test_data snow3g_auth_cipher_test_case_2 = { 51302ed7b38SDamian Nowak .key = { 51402ed7b38SDamian Nowak .data = { 51502ed7b38SDamian Nowak 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 51602ed7b38SDamian Nowak 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 51702ed7b38SDamian Nowak 51802ed7b38SDamian Nowak }, 51902ed7b38SDamian Nowak .len = 16 52002ed7b38SDamian Nowak }, 52102ed7b38SDamian Nowak .cipher_iv = { 52202ed7b38SDamian Nowak .data = { 5233271c24bSCiara Power 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00, 5243271c24bSCiara Power 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00 52502ed7b38SDamian Nowak }, 52602ed7b38SDamian Nowak .len = 16 52702ed7b38SDamian Nowak }, 52802ed7b38SDamian Nowak .auth_iv = { 52902ed7b38SDamian Nowak .data = { 5303271c24bSCiara Power 0x3E, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0xD8, 0xE2, 5313271c24bSCiara Power 0x3E, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0xD8, 0xE2 53202ed7b38SDamian Nowak }, 53302ed7b38SDamian Nowak .len = 16 53402ed7b38SDamian Nowak }, 53502ed7b38SDamian Nowak .plaintext = { 53602ed7b38SDamian Nowak .data = { 53702ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 53802ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 53902ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54002ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54102ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54202ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54302ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54402ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54502ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54602ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54702ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54802ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 54902ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 55002ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 55102ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 55202ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x01, 0x02, 0x03, 0x04, 55302ed7b38SDamian Nowak 55402ed7b38SDamian Nowak }, 55502ed7b38SDamian Nowak .len = 128 << 3 55602ed7b38SDamian Nowak }, 55702ed7b38SDamian Nowak .ciphertext = { 55802ed7b38SDamian Nowak .data = { 5593271c24bSCiara Power 0x5A, 0x5A, 0xCF, 0xCF, 0x3D, 0x11, 0xBF, 0xD9, 5603271c24bSCiara Power 0xC3, 0x7F, 0x7C, 0xA8, 0x1A, 0x9F, 0x9F, 0x34, 5613271c24bSCiara Power 0xC5, 0x6E, 0x1B, 0x2C, 0xE0, 0x81, 0x4B, 0x66, 5623271c24bSCiara Power 0x87, 0xCB, 0xD5, 0x61, 0x04, 0xED, 0xBC, 0x69, 5633271c24bSCiara Power 0x79, 0x86, 0x73, 0x48, 0x69, 0x4A, 0xBA, 0x55, 5643271c24bSCiara Power 0x44, 0x6C, 0xEF, 0xD9, 0x34, 0x61, 0x59, 0x67, 5653271c24bSCiara Power 0x80, 0x4E, 0x03, 0x95, 0x0A, 0xA1, 0x6C, 0xBA, 5663271c24bSCiara Power 0x74, 0xBD, 0xAF, 0x11, 0x4B, 0xE6, 0x98, 0x61, 5673271c24bSCiara Power 0x4E, 0xD4, 0x3E, 0xE4, 0x99, 0x55, 0x5C, 0x3A, 5683271c24bSCiara Power 0x8C, 0x3E, 0xC0, 0x01, 0x6E, 0x15, 0xE1, 0x0E, 5693271c24bSCiara Power 0x71, 0x4C, 0x89, 0x43, 0x8A, 0x48, 0x69, 0x6D, 5703271c24bSCiara Power 0x02, 0x10, 0xC6, 0x54, 0x37, 0x18, 0xAA, 0x10, 5713271c24bSCiara Power 0x90, 0x80, 0x0B, 0x69, 0x08, 0xB4, 0xF9, 0x4D, 5723271c24bSCiara Power 0xD1, 0x2E, 0x43, 0xD9, 0x92, 0xAF, 0x06, 0x4A, 5733271c24bSCiara Power 0xAF, 0x26, 0x25, 0x77, 0x37, 0xD0, 0xFC, 0x3C, 5743271c24bSCiara Power 0xA0, 0xCB, 0xAF, 0x06, 0x95, 0x26, 0x30, 0x38, 57502ed7b38SDamian Nowak 57602ed7b38SDamian Nowak }, 57702ed7b38SDamian Nowak .len = 128 << 3 57802ed7b38SDamian Nowak }, 57902ed7b38SDamian Nowak .cipher = { 58002ed7b38SDamian Nowak .len_bits = 126 << 3, 58102ed7b38SDamian Nowak .offset_bits = 2 << 3 58202ed7b38SDamian Nowak }, 58302ed7b38SDamian Nowak .auth = { 58402ed7b38SDamian Nowak .len_bits = 124 << 3, 58502ed7b38SDamian Nowak .offset_bits = 0 58602ed7b38SDamian Nowak }, 58702ed7b38SDamian Nowak .digest = { 58802ed7b38SDamian Nowak .data = { 5893271c24bSCiara Power 0x95, 0x26, 0x30, 0x38 59002ed7b38SDamian Nowak }, 59102ed7b38SDamian Nowak .len = 4, 59202ed7b38SDamian Nowak .offset_bytes = 124 59302ed7b38SDamian Nowak }, 59402ed7b38SDamian Nowak .validDataLenInBits = { 59502ed7b38SDamian Nowak .len = 128 << 3 59602ed7b38SDamian Nowak }, 59702ed7b38SDamian Nowak .validCipherLenInBits = { 59802ed7b38SDamian Nowak .len = 126 << 3 59902ed7b38SDamian Nowak }, 60002ed7b38SDamian Nowak .validAuthLenInBits = { 60102ed7b38SDamian Nowak .len = 124 << 3 60202ed7b38SDamian Nowak }, 60302ed7b38SDamian Nowak }; 60402ed7b38SDamian Nowak 60511c5485bSDamian Nowak struct snow3g_test_data snow3g_auth_cipher_test_case_3 = { 60611c5485bSDamian Nowak .key = { 60711c5485bSDamian Nowak .data = { 60811c5485bSDamian Nowak 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 60911c5485bSDamian Nowak 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 61011c5485bSDamian Nowak 61111c5485bSDamian Nowak }, 61211c5485bSDamian Nowak .len = 16 61311c5485bSDamian Nowak }, 61411c5485bSDamian Nowak .cipher_iv = { 61511c5485bSDamian Nowak .data = { 6163271c24bSCiara Power 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00, 6173271c24bSCiara Power 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00 61811c5485bSDamian Nowak }, 61911c5485bSDamian Nowak .len = 16 62011c5485bSDamian Nowak }, 62111c5485bSDamian Nowak .auth_iv = { 62211c5485bSDamian Nowak .data = { 6233271c24bSCiara Power 0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37, 6243271c24bSCiara Power 0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37 62511c5485bSDamian Nowak }, 62611c5485bSDamian Nowak .len = 16 62711c5485bSDamian Nowak }, 62811c5485bSDamian Nowak .plaintext = { 62911c5485bSDamian Nowak .data = { 63011c5485bSDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 63111c5485bSDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 63211c5485bSDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 63311c5485bSDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 63411c5485bSDamian Nowak }, 63511c5485bSDamian Nowak .len = 32 << 3 63611c5485bSDamian Nowak }, 63711c5485bSDamian Nowak .ciphertext = { 63811c5485bSDamian Nowak .data = { 6393271c24bSCiara Power 0x5A, 0x5A, 0x93, 0xB0, 0x3F, 0xA4, 0xEB, 0xD4, 6403271c24bSCiara Power 0x51, 0x12, 0x3B, 0x95, 0x93, 0x12, 0xBF, 0xBE, 6413271c24bSCiara Power 0xF2, 0xFE, 0xA5, 0xAE, 0xE7, 0xF4, 0x80, 0x3E, 6423271c24bSCiara Power 0xB2, 0xD1, 0xFF, 0x5F, 0xD9, 0x32, 0x72, 0xFE, 64311c5485bSDamian Nowak }, 64411c5485bSDamian Nowak .len = 32 << 3 64511c5485bSDamian Nowak }, 64611c5485bSDamian Nowak .cipher = { 64711c5485bSDamian Nowak .len_bits = 30 << 3, 64811c5485bSDamian Nowak .offset_bits = 2 << 3 64911c5485bSDamian Nowak }, 65011c5485bSDamian Nowak .auth = { 65111c5485bSDamian Nowak .len_bits = 28 << 3, 65211c5485bSDamian Nowak .offset_bits = 0 65311c5485bSDamian Nowak }, 65411c5485bSDamian Nowak .digest = { 65511c5485bSDamian Nowak .data = { 6563271c24bSCiara Power 0xD9, 0x32, 0x72, 0xFE 65711c5485bSDamian Nowak }, 65811c5485bSDamian Nowak .len = 4, 65911c5485bSDamian Nowak .offset_bytes = 28 66011c5485bSDamian Nowak }, 66111c5485bSDamian Nowak .validDataLenInBits = { 66211c5485bSDamian Nowak .len = 32 << 3 66311c5485bSDamian Nowak }, 66411c5485bSDamian Nowak .validCipherLenInBits = { 66511c5485bSDamian Nowak .len = 30 << 3 66611c5485bSDamian Nowak }, 66711c5485bSDamian Nowak .validAuthLenInBits = { 66811c5485bSDamian Nowak .len = 28 << 3 66911c5485bSDamian Nowak }, 67011c5485bSDamian Nowak }; 67111c5485bSDamian Nowak 67202ed7b38SDamian Nowak struct snow3g_test_data snow3g_auth_cipher_partial_digest_encryption = { 67302ed7b38SDamian Nowak .key = { 67402ed7b38SDamian Nowak .data = { 67502ed7b38SDamian Nowak 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 67602ed7b38SDamian Nowak 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 67702ed7b38SDamian Nowak 67802ed7b38SDamian Nowak }, 67902ed7b38SDamian Nowak .len = 16 68002ed7b38SDamian Nowak }, 68102ed7b38SDamian Nowak .cipher_iv = { 68202ed7b38SDamian Nowak .data = { 6833271c24bSCiara Power 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00, 6843271c24bSCiara Power 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00 68502ed7b38SDamian Nowak }, 68602ed7b38SDamian Nowak .len = 16 68702ed7b38SDamian Nowak }, 68802ed7b38SDamian Nowak .auth_iv = { 68902ed7b38SDamian Nowak .data = { 6903271c24bSCiara Power 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD, 6913271c24bSCiara Power 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD 69202ed7b38SDamian Nowak }, 69302ed7b38SDamian Nowak .len = 16 69402ed7b38SDamian Nowak }, 69502ed7b38SDamian Nowak .plaintext = { 69602ed7b38SDamian Nowak .data = { 69702ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 69802ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 69902ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 70002ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A 70102ed7b38SDamian Nowak }, 70202ed7b38SDamian Nowak .len = 32 << 3 70302ed7b38SDamian Nowak }, 70402ed7b38SDamian Nowak .ciphertext = { 70502ed7b38SDamian Nowak .data = { 70602ed7b38SDamian Nowak 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 7073271c24bSCiara Power 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0xA2, 0xB7, 7083271c24bSCiara Power 0xDF, 0xA7, 0x98, 0xA1, 0xD8, 0xD4, 0x9B, 0x6E, 7093271c24bSCiara Power 0x2C, 0x7A, 0x66, 0x15, 0xCC, 0x4C, 0xE5, 0xE0 71002ed7b38SDamian Nowak }, 71102ed7b38SDamian Nowak .len = 32 << 3 71202ed7b38SDamian Nowak }, 71302ed7b38SDamian Nowak .cipher = { 71402ed7b38SDamian Nowak .len_bits = 16 << 3, 71502ed7b38SDamian Nowak .offset_bits = 14 << 3 71602ed7b38SDamian Nowak }, 71702ed7b38SDamian Nowak .auth = { 71802ed7b38SDamian Nowak .len_bits = 28 << 3, 71902ed7b38SDamian Nowak .offset_bits = 0 72002ed7b38SDamian Nowak }, 72102ed7b38SDamian Nowak .digest = { 72202ed7b38SDamian Nowak .data = { 7233271c24bSCiara Power 0xCC, 0x4C, 0xE5, 0xE0 72402ed7b38SDamian Nowak }, 72502ed7b38SDamian Nowak .len = 4, 72602ed7b38SDamian Nowak .offset_bytes = 28 72702ed7b38SDamian Nowak }, 72802ed7b38SDamian Nowak .validDataLenInBits = { 72902ed7b38SDamian Nowak .len = 32 << 3 73002ed7b38SDamian Nowak }, 73102ed7b38SDamian Nowak .validCipherLenInBits = { 73202ed7b38SDamian Nowak .len = 16 << 3 73302ed7b38SDamian Nowak }, 73402ed7b38SDamian Nowak .validAuthLenInBits = { 73502ed7b38SDamian Nowak .len = 28 << 3 73602ed7b38SDamian Nowak }, 73702ed7b38SDamian Nowak }; 73802ed7b38SDamian Nowak 7395f8cdb8dSTejasree Kondoj struct snow3g_test_data snow3g_auth_cipher_total_digest_encryption_1 = { 7405f8cdb8dSTejasree Kondoj .key = { 7415f8cdb8dSTejasree Kondoj .data = { 7425f8cdb8dSTejasree Kondoj 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 7435f8cdb8dSTejasree Kondoj 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 7445f8cdb8dSTejasree Kondoj 7455f8cdb8dSTejasree Kondoj }, 7465f8cdb8dSTejasree Kondoj .len = 16 7475f8cdb8dSTejasree Kondoj }, 7485f8cdb8dSTejasree Kondoj .cipher_iv = { 7495f8cdb8dSTejasree Kondoj .data = { 7505f8cdb8dSTejasree Kondoj 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00, 7515f8cdb8dSTejasree Kondoj 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00 7525f8cdb8dSTejasree Kondoj }, 7535f8cdb8dSTejasree Kondoj .len = 16 7545f8cdb8dSTejasree Kondoj }, 7555f8cdb8dSTejasree Kondoj .auth_iv = { 7565f8cdb8dSTejasree Kondoj .data = { 7575f8cdb8dSTejasree Kondoj 0xB6, 0xAF, 0x61, 0x44, 0x98, 0x38, 0x70, 0x3A, 7585f8cdb8dSTejasree Kondoj 0x36, 0xAF, 0x61, 0x44, 0x98, 0x38, 0xF0, 0x3A 7595f8cdb8dSTejasree Kondoj }, 7605f8cdb8dSTejasree Kondoj .len = 16 7615f8cdb8dSTejasree Kondoj }, 7625f8cdb8dSTejasree Kondoj .plaintext = { 7635f8cdb8dSTejasree Kondoj .data = { 7645f8cdb8dSTejasree Kondoj 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 7655f8cdb8dSTejasree Kondoj 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 7665f8cdb8dSTejasree Kondoj 0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67, 7675f8cdb8dSTejasree Kondoj 0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22, 7685f8cdb8dSTejasree Kondoj }, 7695f8cdb8dSTejasree Kondoj .len = 32 << 3 7705f8cdb8dSTejasree Kondoj }, 7715f8cdb8dSTejasree Kondoj .ciphertext = { 7725f8cdb8dSTejasree Kondoj .data = { 7735f8cdb8dSTejasree Kondoj 0x5A, 0x5A, 0xCF, 0xCF, 0x3D, 0x11, 0xBF, 0xD9, 7745f8cdb8dSTejasree Kondoj 0xC3, 0x7F, 0x7C, 0xA8, 0x1A, 0x9F, 0x9F, 0x34, 7755f8cdb8dSTejasree Kondoj 0x99, 0xF7, 0x13, 0x2D, 0x22, 0xDC, 0xF5, 0x5B, 7765f8cdb8dSTejasree Kondoj 0x3F, 0x49, 0x70, 0x63, 0x26, 0x6C, 0x4E, 0x8E 7775f8cdb8dSTejasree Kondoj }, 7785f8cdb8dSTejasree Kondoj .len = 32 << 3 7795f8cdb8dSTejasree Kondoj }, 7805f8cdb8dSTejasree Kondoj .cipher = { 7815f8cdb8dSTejasree Kondoj .len_bits = 30 << 3, 7825f8cdb8dSTejasree Kondoj .offset_bits = 2 << 3 7835f8cdb8dSTejasree Kondoj }, 7845f8cdb8dSTejasree Kondoj .auth = { 7855f8cdb8dSTejasree Kondoj .len_bits = 26 << 3, 7865f8cdb8dSTejasree Kondoj .offset_bits = 2 << 3 7875f8cdb8dSTejasree Kondoj }, 7885f8cdb8dSTejasree Kondoj .digest = { 7895f8cdb8dSTejasree Kondoj .data = { 7905f8cdb8dSTejasree Kondoj 0x26, 0x6C, 0x4E, 0x8E 7915f8cdb8dSTejasree Kondoj }, 7925f8cdb8dSTejasree Kondoj .len = 4, 7935f8cdb8dSTejasree Kondoj .offset_bytes = 28 7945f8cdb8dSTejasree Kondoj }, 7955f8cdb8dSTejasree Kondoj .validDataLenInBits = { 7965f8cdb8dSTejasree Kondoj .len = 32 << 3 7975f8cdb8dSTejasree Kondoj }, 7985f8cdb8dSTejasree Kondoj .validCipherLenInBits = { 7995f8cdb8dSTejasree Kondoj .len = 30 << 3 8005f8cdb8dSTejasree Kondoj }, 8015f8cdb8dSTejasree Kondoj .validAuthLenInBits = { 8025f8cdb8dSTejasree Kondoj .len = 26 << 3 8035f8cdb8dSTejasree Kondoj }, 8045f8cdb8dSTejasree Kondoj }; 8055f8cdb8dSTejasree Kondoj 806a9de470cSBruce Richardson #endif /* TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_ */ 807