1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2020 Intel Corporation 3 */ 4 5 #ifndef TEST_CRYPTODEV_SECURITY_DOCSIS_TEST_VECTORS_H_ 6 #define TEST_CRYPTODEV_SECURITY_DOCSIS_TEST_VECTORS_H_ 7 8 /* 9 * DOCSIS test data and cases 10 * - encrypt direction: CRC-Crypto 11 * - decrypt direction: Crypto-CRC 12 */ 13 14 struct docsis_test_data { 15 struct { 16 uint8_t data[32]; 17 unsigned int len; 18 } key; 19 20 struct { 21 uint8_t data[16] __rte_aligned(16); 22 unsigned int len; 23 } iv; 24 25 struct { 26 uint8_t data[1024]; 27 unsigned int len; 28 unsigned int cipher_offset; 29 unsigned int crc_offset; 30 bool no_cipher; 31 bool no_crc; 32 } plaintext; 33 34 struct { 35 uint8_t data[1024]; 36 unsigned int len; 37 unsigned int cipher_offset; 38 unsigned int crc_offset; 39 bool no_cipher; 40 bool no_crc; 41 } ciphertext; 42 }; 43 44 struct docsis_test_data docsis_test_case_1 = { 45 .key = { 46 .data = { 47 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 48 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 49 }, 50 .len = 16 51 }, 52 .iv = { 53 .data = { 54 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 55 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 56 }, 57 .len = 16 58 }, 59 .plaintext = { 60 .data = { 61 /* DOCSIS header */ 62 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 63 /* Ethernet frame */ 64 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 65 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 66 /* CRC */ 67 0xFF, 0xFF, 0xFF, 0xFF 68 }, 69 .len = 24, 70 .cipher_offset = 18, 71 .crc_offset = 6, 72 .no_cipher = false, 73 .no_crc = false 74 }, 75 .ciphertext = { 76 .data = { 77 /* DOCSIS header */ 78 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 79 /* Ethernet frame */ 80 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 81 0x04, 0x03, 0x02, 0x01, 0x7A, 0xF0, 82 /* CRC */ 83 0x61, 0xF8, 0x63, 0x42 84 }, 85 .len = 24, 86 .cipher_offset = 18, 87 .crc_offset = 6, 88 .no_cipher = false, 89 .no_crc = false 90 } 91 }; 92 93 struct docsis_test_data docsis_test_case_2 = { 94 .key = { 95 .data = { 96 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 97 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 98 }, 99 .len = 16 100 }, 101 .iv = { 102 .data = { 103 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 104 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 105 }, 106 .len = 16 107 }, 108 .plaintext = { 109 .data = { 110 /* DOCSIS header */ 111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 112 /* Ethernet frame */ 113 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 114 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 115 /* CRC */ 116 0xFF, 0xFF, 0xFF, 0xFF 117 }, 118 .len = 25, 119 .cipher_offset = 18, 120 .crc_offset = 6, 121 .no_cipher = false, 122 .no_crc = false 123 }, 124 .ciphertext = { 125 .data = { 126 /* DOCSIS header */ 127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 128 /* Ethernet frame */ 129 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 130 0x04, 0x03, 0x02, 0x01, 0x7A, 0xF0, 0xDF, 131 /* CRC */ 132 0xFE, 0x12, 0x99, 0xE5 133 }, 134 .len = 25, 135 .cipher_offset = 18, 136 .crc_offset = 6, 137 .no_cipher = false, 138 .no_crc = false 139 } 140 }; 141 142 struct docsis_test_data docsis_test_case_3 = { 143 .key = { 144 .data = { 145 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 146 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 147 }, 148 .len = 16 149 }, 150 .iv = { 151 .data = { 152 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 153 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 154 }, 155 .len = 16 156 }, 157 .plaintext = { 158 .data = { 159 /* DOCSIS header */ 160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 161 /* Ethernet frame */ 162 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 163 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 164 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 165 /* CRC */ 166 0xFF, 0xFF, 0xFF, 0xFF 167 }, 168 .len = 34, 169 .cipher_offset = 18, 170 .crc_offset = 6, 171 .no_cipher = false, 172 .no_crc = false 173 }, 174 .ciphertext = { 175 .data = { 176 /* DOCSIS header */ 177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 178 /* Ethernet frame */ 179 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 180 0x04, 0x03, 0x02, 0x01, 0xD6, 0xE2, 0x70, 0x5C, 181 0xE6, 0x4D, 0xCC, 0x8C, 0x47, 0xB7, 0x09, 0xD6, 182 /* CRC */ 183 0x54, 0x85, 0xF8, 0x32 184 }, 185 .len = 34, 186 .cipher_offset = 18, 187 .crc_offset = 6, 188 .no_cipher = false, 189 .no_crc = false 190 } 191 }; 192 193 struct docsis_test_data docsis_test_case_4 = { 194 .key = { 195 .data = { 196 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 197 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 198 }, 199 .len = 16 200 }, 201 .iv = { 202 .data = { 203 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 204 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 205 }, 206 .len = 16 207 }, 208 .plaintext = { 209 .data = { 210 /* DOCSIS header */ 211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 212 /* Ethernet frame */ 213 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 214 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 215 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 216 0xAA, 217 /* CRC */ 218 0xFF, 0xFF, 0xFF, 0xFF 219 }, 220 .len = 35, 221 .cipher_offset = 18, 222 .crc_offset = 6, 223 .no_cipher = false, 224 .no_crc = false 225 }, 226 .ciphertext = { 227 .data = { 228 /* DOCSIS header */ 229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 230 /* Ethernet frame */ 231 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 232 0x04, 0x03, 0x02, 0x01, 0x92, 0x6A, 0xC2, 0xDC, 233 0xEE, 0x3B, 0x31, 0xEC, 0x03, 0xDE, 0x95, 0x33, 234 0x5E, 235 /* CRC */ 236 0xFE, 0x47, 0x3E, 0x22 237 }, 238 .len = 35, 239 .cipher_offset = 18, 240 .crc_offset = 6, 241 .no_cipher = false, 242 .no_crc = false 243 } 244 }; 245 246 struct docsis_test_data docsis_test_case_5 = { 247 .key = { 248 .data = { 249 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 250 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 251 }, 252 .len = 16 253 }, 254 .iv = { 255 .data = { 256 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 257 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 258 }, 259 .len = 16 260 }, 261 .plaintext = { 262 .data = { 263 /* DOCSIS header */ 264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 265 /* Ethernet frame */ 266 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 267 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 268 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 269 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 270 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 271 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 272 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 273 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 274 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 275 /* CRC */ 276 0xFF, 0xFF, 0xFF, 0xFF 277 }, 278 .len = 82, 279 .cipher_offset = 18, 280 .crc_offset = 6, 281 .no_cipher = false, 282 .no_crc = false 283 }, 284 .ciphertext = { 285 .data = { 286 /* DOCSIS header */ 287 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 288 /* Ethernet frame */ 289 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 290 0x04, 0x03, 0x02, 0x01, 0x77, 0x74, 0x56, 0x05, 291 0xD1, 0x14, 0xA2, 0x8D, 0x2C, 0x9A, 0x11, 0xFC, 292 0x7D, 0xB0, 0xE7, 0x18, 0xCE, 0x75, 0x7C, 0x89, 293 0x14, 0x56, 0xE2, 0xF2, 0xB7, 0x47, 0x08, 0x27, 294 0xF7, 0x08, 0x7A, 0x13, 0x90, 0x81, 0x75, 0xB0, 295 0xC7, 0x91, 0x04, 0x83, 0xAD, 0x11, 0x46, 0x46, 296 0xF8, 0x54, 0x87, 0xA0, 0x42, 0xF3, 0x71, 0xA9, 297 0x8A, 0xCD, 0x59, 0x77, 0x67, 0x11, 0x1A, 0x87, 298 /* CRC */ 299 0xAB, 0xED, 0x2C, 0x26 300 }, 301 .len = 82, 302 .cipher_offset = 18, 303 .crc_offset = 6, 304 .no_cipher = false, 305 .no_crc = false 306 } 307 }; 308 309 struct docsis_test_data docsis_test_case_6 = { 310 .key = { 311 .data = { 312 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 313 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 314 }, 315 .len = 16 316 }, 317 .iv = { 318 .data = { 319 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 320 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 321 }, 322 .len = 16 323 }, 324 .plaintext = { 325 .data = { 326 /* DOCSIS header */ 327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 328 /* Ethernet frame */ 329 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 330 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 331 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 332 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 333 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 334 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 335 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 336 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 337 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 338 0xAA, 339 /* CRC */ 340 0xFF, 0xFF, 0xFF, 0xFF 341 }, 342 .len = 83, 343 .cipher_offset = 18, 344 .crc_offset = 6, 345 .no_cipher = false, 346 .no_crc = false 347 }, 348 .ciphertext = { 349 .data = { 350 /* DOCSIS header */ 351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 352 /* Ethernet frame */ 353 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 354 0x04, 0x03, 0x02, 0x01, 0x77, 0x74, 0x56, 0x05, 355 0xD1, 0x14, 0xA2, 0x8D, 0x2C, 0x9A, 0x11, 0xFC, 356 0x7D, 0xB0, 0xE7, 0x18, 0xCE, 0x75, 0x7C, 0x89, 357 0x14, 0x56, 0xE2, 0xF2, 0xB7, 0x47, 0x08, 0x27, 358 0xF7, 0x08, 0x7A, 0x13, 0x90, 0x81, 0x75, 0xB0, 359 0xC7, 0x91, 0x04, 0x83, 0xAD, 0x11, 0x46, 0x46, 360 0xF8, 0x54, 0x87, 0xA0, 0xA4, 0x0C, 0xC2, 0xF0, 361 0x81, 0x49, 0xA8, 0xA6, 0x6C, 0x48, 0xEB, 0x1F, 362 0x4B, 363 /* CRC */ 364 0x2F, 0xD4, 0x48, 0x18 365 }, 366 .len = 83, 367 .cipher_offset = 18, 368 .crc_offset = 6, 369 .no_cipher = false, 370 .no_crc = false 371 } 372 }; 373 374 struct docsis_test_data docsis_test_case_7 = { 375 .key = { 376 .data = { 377 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 378 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 379 }, 380 .len = 16 381 }, 382 .iv = { 383 .data = { 384 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 385 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 386 }, 387 .len = 16 388 }, 389 .plaintext = { 390 .data = { 391 /* DOCSIS header */ 392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 393 /* Ethernet frame */ 394 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 395 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 396 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 397 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 398 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 399 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 400 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 401 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 402 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 403 0xAA, 404 /* CRC */ 405 0xFF, 0xFF, 0xFF, 0xFF 406 }, 407 .len = 83, 408 .cipher_offset = 40, 409 .crc_offset = 6, 410 .no_cipher = false, 411 .no_crc = false 412 }, 413 .ciphertext = { 414 .data = { 415 /* DOCSIS header */ 416 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 417 /* Ethernet frame */ 418 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 419 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 420 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 421 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 422 0xAA, 0xAA, 0x3B, 0x9F, 0x72, 0x4C, 0xB5, 0x72, 423 0x3E, 0x56, 0x54, 0x49, 0x13, 0x53, 0xC4, 0xAA, 424 0xCD, 0xEA, 0x6A, 0x88, 0x99, 0x07, 0x86, 0xF4, 425 0xCF, 0x03, 0x4E, 0xDF, 0x65, 0x61, 0x47, 0x5B, 426 0x2F, 0x81, 0x09, 0x12, 0x9A, 0xC2, 0x24, 0x8C, 427 0x09, 428 /* CRC */ 429 0x11, 0xB4, 0x06, 0x33 430 }, 431 .len = 83, 432 .cipher_offset = 40, 433 .crc_offset = 6, 434 .no_cipher = false, 435 .no_crc = false 436 } 437 }; 438 439 struct docsis_test_data docsis_test_case_8 = { 440 .key = { 441 .data = { 442 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 443 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 444 }, 445 .len = 16 446 }, 447 .iv = { 448 .data = { 449 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 450 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 451 }, 452 .len = 16 453 }, 454 .plaintext = { 455 .data = { 456 /* DOCSIS header */ 457 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 458 /* Ethernet frame */ 459 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 460 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 461 /* CRC */ 462 0xFF, 0xFF, 0xFF, 0xFF 463 }, 464 .len = 24, 465 .cipher_offset = 18, 466 .crc_offset = 6, 467 .no_cipher = false, 468 .no_crc = true 469 }, 470 .ciphertext = { 471 .data = { 472 /* DOCSIS header */ 473 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 474 /* Ethernet frame */ 475 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 476 0x04, 0x03, 0x02, 0x01, 0x7A, 0xF0, 477 /* CRC */ 478 0x8A, 0x0F, 0x74, 0xE8 479 }, 480 .len = 24, 481 .cipher_offset = 18, 482 .crc_offset = 6, 483 .no_cipher = false, 484 .no_crc = true 485 } 486 }; 487 488 struct docsis_test_data docsis_test_case_9 = { 489 .key = { 490 .data = { 491 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 492 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 493 }, 494 .len = 16 495 }, 496 .iv = { 497 .data = { 498 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 499 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 500 }, 501 .len = 16 502 }, 503 .plaintext = { 504 .data = { 505 /* DOCSIS header */ 506 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 507 /* Ethernet frame */ 508 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 509 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 510 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 511 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 512 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 513 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 514 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 515 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 516 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 517 0xAA, 518 /* CRC */ 519 0xFF, 0xFF, 0xFF, 0xFF 520 }, 521 .len = 83, 522 .cipher_offset = 40, 523 .crc_offset = 6, 524 .no_cipher = false, 525 .no_crc = true 526 }, 527 .ciphertext = { 528 .data = { 529 /* DOCSIS header */ 530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 531 /* Ethernet frame */ 532 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 533 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 534 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 535 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 536 0xAA, 0xAA, 0x3B, 0x9F, 0x72, 0x4C, 0xB5, 0x72, 537 0x3E, 0x56, 0x54, 0x49, 0x13, 0x53, 0xC4, 0xAA, 538 0xCD, 0xEA, 0x6A, 0x88, 0x99, 0x07, 0x86, 0xF4, 539 0xCF, 0x03, 0x4E, 0xDF, 0x65, 0x61, 0x47, 0x5B, 540 0x2F, 0x81, 0x09, 0x12, 0x9A, 0xC2, 0x24, 0x8C, 541 0x09, 542 /* CRC */ 543 0x5D, 0x2B, 0x12, 0xF4 544 }, 545 .len = 83, 546 .cipher_offset = 40, 547 .crc_offset = 6, 548 .no_cipher = false, 549 .no_crc = true 550 } 551 }; 552 553 struct docsis_test_data docsis_test_case_10 = { 554 .key = { 555 .data = { 556 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 557 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 558 }, 559 .len = 16 560 }, 561 .iv = { 562 .data = { 563 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 564 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 565 }, 566 .len = 16 567 }, 568 .plaintext = { 569 .data = { 570 /* DOCSIS header */ 571 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 572 /* Ethernet frame */ 573 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 574 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 575 /* CRC */ 576 0xFF, 0xFF, 0xFF, 0xFF 577 }, 578 .len = 24, 579 .cipher_offset = 18, 580 .crc_offset = 6, 581 .no_cipher = true, 582 .no_crc = false 583 }, 584 .ciphertext = { 585 .data = { 586 /* DOCSIS header */ 587 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 588 /* Ethernet frame */ 589 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 590 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 591 /* CRC */ 592 0x14, 0x08, 0xE8, 0x55 593 }, 594 .len = 24, 595 .cipher_offset = 18, 596 .crc_offset = 6, 597 .no_cipher = true, 598 .no_crc = false 599 } 600 }; 601 602 struct docsis_test_data docsis_test_case_11 = { 603 .key = { 604 .data = { 605 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 606 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 607 }, 608 .len = 16 609 }, 610 .iv = { 611 .data = { 612 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 613 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 614 }, 615 .len = 16 616 }, 617 .plaintext = { 618 .data = { 619 /* DOCSIS header */ 620 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 621 /* Ethernet frame */ 622 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 623 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 624 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 625 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 626 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 627 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 628 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 629 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 630 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 631 0xAA, 632 /* CRC */ 633 0xFF, 0xFF, 0xFF, 0xFF 634 }, 635 .len = 83, 636 .cipher_offset = 40, 637 .crc_offset = 6, 638 .no_cipher = true, 639 .no_crc = false 640 }, 641 .ciphertext = { 642 .data = { 643 /* DOCSIS header */ 644 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 645 /* Ethernet frame */ 646 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 647 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 648 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 649 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 650 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 651 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 652 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 653 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 654 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 655 0xAA, 656 /* CRC */ 657 0xB3, 0x60, 0xEB, 0x38 658 }, 659 .len = 83, 660 .cipher_offset = 40, 661 .crc_offset = 6, 662 .no_cipher = true, 663 .no_crc = false 664 } 665 }; 666 667 struct docsis_test_data docsis_test_case_12 = { 668 .key = { 669 .data = { 670 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 671 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 672 }, 673 .len = 16 674 }, 675 .iv = { 676 .data = { 677 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 678 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 679 }, 680 .len = 16 681 }, 682 .plaintext = { 683 .data = { 684 /* DOCSIS header */ 685 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 686 /* Ethernet frame */ 687 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 688 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 689 /* CRC */ 690 0xFF, 0xFF, 0xFF, 0xFF 691 }, 692 .len = 24, 693 .cipher_offset = 18, 694 .crc_offset = 6, 695 .no_cipher = true, 696 .no_crc = true 697 }, 698 .ciphertext = { 699 .data = { 700 /* DOCSIS header */ 701 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 702 /* Ethernet frame */ 703 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 704 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 705 /* CRC */ 706 0xFF, 0xFF, 0xFF, 0xFF 707 }, 708 .len = 24, 709 .cipher_offset = 18, 710 .crc_offset = 6, 711 .no_cipher = true, 712 .no_crc = true 713 } 714 }; 715 716 struct docsis_test_data docsis_test_case_13 = { 717 .key = { 718 .data = { 719 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 720 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 721 }, 722 .len = 16 723 }, 724 .iv = { 725 .data = { 726 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 727 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 728 }, 729 .len = 16 730 }, 731 .plaintext = { 732 .data = { 733 /* DOCSIS header */ 734 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 735 /* Ethernet frame */ 736 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 737 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 738 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 739 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 740 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 741 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 742 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 743 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 744 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 745 0xAA, 746 /* CRC */ 747 0xFF, 0xFF, 0xFF, 0xFF 748 }, 749 .len = 83, 750 .cipher_offset = 40, 751 .crc_offset = 6, 752 .no_cipher = true, 753 .no_crc = true 754 }, 755 .ciphertext = { 756 .data = { 757 /* DOCSIS header */ 758 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 759 /* Ethernet frame */ 760 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 761 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 762 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 763 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 764 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 765 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 766 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 767 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 768 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 769 0xAA, 770 /* CRC */ 771 0xFF, 0xFF, 0xFF, 0xFF 772 }, 773 .len = 83, 774 .cipher_offset = 40, 775 .crc_offset = 6, 776 .no_cipher = true, 777 .no_crc = true 778 } 779 }; 780 781 struct docsis_test_data docsis_test_case_14 = { 782 .key = { 783 .data = { 784 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 785 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 786 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 787 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 788 }, 789 .len = 32 790 }, 791 .iv = { 792 .data = { 793 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 794 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 795 }, 796 .len = 16 797 }, 798 .plaintext = { 799 .data = { 800 /* DOCSIS header */ 801 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 802 /* Ethernet frame */ 803 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 804 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 805 /* CRC */ 806 0xFF, 0xFF, 0xFF, 0xFF 807 }, 808 .len = 24, 809 .cipher_offset = 18, 810 .crc_offset = 6, 811 .no_cipher = false, 812 .no_crc = false 813 }, 814 .ciphertext = { 815 .data = { 816 /* DOCSIS header */ 817 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 818 /* Ethernet frame */ 819 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 820 0x04, 0x03, 0x02, 0x01, 0x6A, 0x86, 821 /* CRC */ 822 0x9B, 0xB3, 0x1A, 0x26 823 }, 824 .len = 24, 825 .cipher_offset = 18, 826 .crc_offset = 6, 827 .no_cipher = false, 828 .no_crc = false 829 } 830 }; 831 832 struct docsis_test_data docsis_test_case_15 = { 833 .key = { 834 .data = { 835 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 836 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 837 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 838 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 839 }, 840 .len = 32 841 }, 842 .iv = { 843 .data = { 844 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 845 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 846 }, 847 .len = 16 848 }, 849 .plaintext = { 850 .data = { 851 /* DOCSIS header */ 852 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 853 /* Ethernet frame */ 854 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 855 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 856 /* CRC */ 857 0xFF, 0xFF, 0xFF, 0xFF 858 }, 859 .len = 25, 860 .cipher_offset = 18, 861 .crc_offset = 6, 862 .no_cipher = false, 863 .no_crc = false 864 }, 865 .ciphertext = { 866 .data = { 867 /* DOCSIS header */ 868 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 869 /* Ethernet frame */ 870 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 871 0x04, 0x03, 0x02, 0x01, 0x6A, 0x86, 0x25, 872 /* CRC */ 873 0xB5, 0x6B, 0xFD, 0xCB 874 }, 875 .len = 25, 876 .cipher_offset = 18, 877 .crc_offset = 6, 878 .no_cipher = false, 879 .no_crc = false 880 } 881 }; 882 883 struct docsis_test_data docsis_test_case_16 = { 884 .key = { 885 .data = { 886 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 887 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 888 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 889 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 890 }, 891 .len = 32 892 }, 893 .iv = { 894 .data = { 895 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 896 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 897 }, 898 .len = 16 899 }, 900 .plaintext = { 901 .data = { 902 /* DOCSIS header */ 903 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 904 /* Ethernet frame */ 905 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 906 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 907 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 908 /* CRC */ 909 0xFF, 0xFF, 0xFF, 0xFF 910 }, 911 .len = 34, 912 .cipher_offset = 18, 913 .crc_offset = 6, 914 .no_cipher = false, 915 .no_crc = false 916 }, 917 .ciphertext = { 918 .data = { 919 /* DOCSIS header */ 920 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 921 /* Ethernet frame */ 922 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 923 0x04, 0x03, 0x02, 0x01, 0xF6, 0xA1, 0x2E, 0x0A, 924 0xBB, 0x27, 0x82, 0x4F, 0x99, 0x0A, 0xE2, 0x3F, 925 /* CRC */ 926 0xEB, 0xB7, 0x89, 0xB0 927 }, 928 .len = 34, 929 .cipher_offset = 18, 930 .crc_offset = 6, 931 .no_cipher = false, 932 .no_crc = false 933 } 934 }; 935 936 struct docsis_test_data docsis_test_case_17 = { 937 .key = { 938 .data = { 939 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 940 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 941 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 942 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 943 }, 944 .len = 32 945 }, 946 .iv = { 947 .data = { 948 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 949 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 950 }, 951 .len = 16 952 }, 953 .plaintext = { 954 .data = { 955 /* DOCSIS header */ 956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 957 /* Ethernet frame */ 958 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 959 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 960 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 961 0xAA, 962 /* CRC */ 963 0xFF, 0xFF, 0xFF, 0xFF 964 }, 965 .len = 35, 966 .cipher_offset = 18, 967 .crc_offset = 6, 968 .no_cipher = false, 969 .no_crc = false 970 }, 971 .ciphertext = { 972 .data = { 973 /* DOCSIS header */ 974 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 975 /* Ethernet frame */ 976 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 977 0x04, 0x03, 0x02, 0x01, 0xE1, 0x30, 0x38, 0xC8, 978 0xC4, 0x59, 0x8D, 0x43, 0x9A, 0xBE, 0xBE, 0x73, 979 0xC3, 980 /*CRC */ 981 0x8C, 0xE1, 0x89, 0x8B 982 }, 983 .len = 35, 984 .cipher_offset = 18, 985 .crc_offset = 6, 986 .no_cipher = false, 987 .no_crc = false 988 } 989 }; 990 991 struct docsis_test_data docsis_test_case_18 = { 992 .key = { 993 .data = { 994 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 995 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 996 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 997 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 998 }, 999 .len = 32 1000 }, 1001 .iv = { 1002 .data = { 1003 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1004 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1005 }, 1006 .len = 16 1007 }, 1008 .plaintext = { 1009 .data = { 1010 /* DOCSIS header */ 1011 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1012 /* Ethernet frame */ 1013 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1014 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1015 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1016 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1017 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1018 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1019 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1020 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1021 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1022 /* CRC */ 1023 0xFF, 0xFF, 0xFF, 0xFF 1024 }, 1025 .len = 82, 1026 .cipher_offset = 18, 1027 .crc_offset = 6, 1028 .no_cipher = false, 1029 .no_crc = false 1030 }, 1031 .ciphertext = { 1032 .data = { 1033 /* DOCSIS header */ 1034 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1035 /* Ethernet frame */ 1036 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1037 0x04, 0x03, 0x02, 0x01, 0xE9, 0x12, 0x3B, 0x12, 1038 0x36, 0x56, 0x95, 0xA6, 0x97, 0xF1, 0x74, 0x68, 1039 0xBA, 0x58, 0x77, 0xEA, 0x43, 0x11, 0x85, 0xD4, 1040 0x7A, 0xF8, 0x1C, 0x11, 0x50, 0xD1, 0xF1, 0xBD, 1041 0x15, 0x4D, 0x99, 0xB5, 0x39, 0x74, 0x84, 0xDF, 1042 0xD4, 0x8B, 0xDC, 0xB7, 0x58, 0x1B, 0x22, 0xAB, 1043 0xF3, 0x29, 0xC6, 0xCB, 0x26, 0x07, 0x36, 0x6B, 1044 0x8C, 0xAC, 0x6E, 0x99, 0x37, 0x94, 0xDF, 0x31, 1045 /* CRC */ 1046 0xA1, 0x7D, 0x70, 0xBB 1047 }, 1048 .len = 82, 1049 .cipher_offset = 18, 1050 .crc_offset = 6, 1051 .no_cipher = false, 1052 .no_crc = false 1053 } 1054 }; 1055 1056 struct docsis_test_data docsis_test_case_19 = { 1057 .key = { 1058 .data = { 1059 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1060 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1061 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1062 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1063 }, 1064 .len = 32 1065 }, 1066 .iv = { 1067 .data = { 1068 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1069 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1070 }, 1071 .len = 16 1072 }, 1073 .plaintext = { 1074 .data = { 1075 /* DOCSIS header */ 1076 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1077 /* Ethernet frame */ 1078 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1079 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1080 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1081 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1082 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1083 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1084 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1085 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1086 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1087 0xAA, 1088 /* CRC */ 1089 0xFF, 0xFF, 0xFF, 0xFF 1090 }, 1091 .len = 83, 1092 .cipher_offset = 18, 1093 .crc_offset = 6, 1094 .no_cipher = false, 1095 .no_crc = false 1096 }, 1097 .ciphertext = { 1098 .data = { 1099 /* DOCSIS header */ 1100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1101 /* Ethernet frame */ 1102 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1103 0x04, 0x03, 0x02, 0x01, 0xE9, 0x12, 0x3B, 0x12, 1104 0x36, 0x56, 0x95, 0xA6, 0x97, 0xF1, 0x74, 0x68, 1105 0xBA, 0x58, 0x77, 0xEA, 0x43, 0x11, 0x85, 0xD4, 1106 0x7A, 0xF8, 0x1C, 0x11, 0x50, 0xD1, 0xF1, 0xBD, 1107 0x15, 0x4D, 0x99, 0xB5, 0x39, 0x74, 0x84, 0xDF, 1108 0xD4, 0x8B, 0xDC, 0xB7, 0x58, 0x1B, 0x22, 0xAB, 1109 0xF3, 0x29, 0xC6, 0xCB, 0x13, 0xED, 0x08, 0xF5, 1110 0x1B, 0x4B, 0xD8, 0x79, 0x93, 0x26, 0x69, 0x03, 1111 0x23, 1112 /* CRC */ 1113 0xC8, 0x8E, 0x02, 0x3A 1114 }, 1115 .len = 83, 1116 .cipher_offset = 18, 1117 .crc_offset = 6, 1118 .no_cipher = false, 1119 .no_crc = false 1120 } 1121 }; 1122 1123 struct docsis_test_data docsis_test_case_20 = { 1124 .key = { 1125 .data = { 1126 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1127 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1128 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1129 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1130 }, 1131 .len = 32 1132 }, 1133 .iv = { 1134 .data = { 1135 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1136 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1137 }, 1138 .len = 16 1139 }, 1140 .plaintext = { 1141 .data = { 1142 /* DOCSIS header */ 1143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1144 /* Ethernet frame */ 1145 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1146 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1147 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1148 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1149 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1150 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1151 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1152 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1153 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1154 0xAA, 1155 /* CRC */ 1156 0xFF, 0xFF, 0xFF, 0xFF 1157 }, 1158 .len = 83, 1159 .cipher_offset = 40, 1160 .crc_offset = 6, 1161 .no_cipher = false, 1162 .no_crc = false 1163 }, 1164 .ciphertext = { 1165 .data = { 1166 /* DOCSIS header */ 1167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1168 /* Ethernet frame */ 1169 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1170 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1171 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1172 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1173 0xAA, 0xAA, 0x54, 0xB4, 0x55, 0x68, 0x06, 0xBF, 1174 0x00, 0x8B, 0x5F, 0x2C, 0x10, 0x4A, 0xBF, 0x5A, 1175 0xF2, 0x20, 0xD9, 0x77, 0x7F, 0x2D, 0x2B, 0x11, 1176 0xAC, 0xAF, 0x21, 0x36, 0xD2, 0xD4, 0x80, 0xF2, 1177 0x4F, 0x14, 0xA0, 0x3A, 0x66, 0xE5, 0xC5, 0xE2, 1178 0x15, 1179 /* CRC */ 1180 0x0C, 0x89, 0x76, 0x26 1181 }, 1182 .len = 83, 1183 .cipher_offset = 40, 1184 .crc_offset = 6, 1185 .no_cipher = false, 1186 .no_crc = false 1187 } 1188 }; 1189 1190 struct docsis_test_data docsis_test_case_21 = { 1191 .key = { 1192 .data = { 1193 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1194 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1195 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1196 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1197 }, 1198 .len = 32 1199 }, 1200 .iv = { 1201 .data = { 1202 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1203 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1204 }, 1205 .len = 16 1206 }, 1207 .plaintext = { 1208 .data = { 1209 /* DOCSIS header */ 1210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1211 /* Ethernet frame */ 1212 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1213 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 1214 /* CRC */ 1215 0xFF, 0xFF, 0xFF, 0xFF 1216 }, 1217 .len = 24, 1218 .cipher_offset = 18, 1219 .crc_offset = 6, 1220 .no_cipher = false, 1221 .no_crc = true 1222 }, 1223 .ciphertext = { 1224 .data = { 1225 /* DOCSIS header */ 1226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1227 /* Ethernet frame */ 1228 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1229 0x04, 0x03, 0x02, 0x01, 0x6A, 0x86, 1230 /* CRC */ 1231 0x70, 0x44, 0x0D, 0x8C 1232 }, 1233 .len = 24, 1234 .cipher_offset = 18, 1235 .crc_offset = 6, 1236 .no_cipher = false, 1237 .no_crc = true 1238 } 1239 }; 1240 1241 struct docsis_test_data docsis_test_case_22 = { 1242 .key = { 1243 .data = { 1244 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1245 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1246 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1247 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1248 }, 1249 .len = 32 1250 }, 1251 .iv = { 1252 .data = { 1253 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1254 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1255 }, 1256 .len = 16 1257 }, 1258 .plaintext = { 1259 .data = { 1260 /* DOCSIS header */ 1261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1262 /* Ethernet frame */ 1263 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1264 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1265 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1266 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1267 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1268 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1269 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1270 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1271 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1272 0xAA, 1273 /* CRC */ 1274 0xFF, 0xFF, 0xFF, 0xFF 1275 }, 1276 .len = 83, 1277 .cipher_offset = 40, 1278 .crc_offset = 6, 1279 .no_cipher = false, 1280 .no_crc = true 1281 }, 1282 .ciphertext = { 1283 .data = { 1284 /* DOCSIS header */ 1285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1286 /* Ethernet frame */ 1287 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1288 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1289 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1290 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1291 0xAA, 0xAA, 0x54, 0xB4, 0x55, 0x68, 0x06, 0xBF, 1292 0x00, 0x8B, 0x5F, 0x2C, 0x10, 0x4A, 0xBF, 0x5A, 1293 0xF2, 0x20, 0xD9, 0x77, 0x7F, 0x2D, 0x2B, 0x11, 1294 0xAC, 0xAF, 0x21, 0x36, 0xD2, 0xD4, 0x80, 0xF2, 1295 0x4F, 0x14, 0xA0, 0x3A, 0x66, 0xE5, 0xC5, 0xE2, 1296 0x15, 1297 /* CRC */ 1298 0x40, 0x16, 0x62, 0xE1 1299 }, 1300 .len = 83, 1301 .cipher_offset = 40, 1302 .crc_offset = 6, 1303 .no_cipher = false, 1304 .no_crc = true 1305 } 1306 }; 1307 1308 struct docsis_test_data docsis_test_case_23 = { 1309 .key = { 1310 .data = { 1311 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1312 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1313 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1314 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1315 }, 1316 .len = 32 1317 }, 1318 .iv = { 1319 .data = { 1320 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1321 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1322 }, 1323 .len = 16 1324 }, 1325 .plaintext = { 1326 .data = { 1327 /* DOCSIS header */ 1328 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1329 /* Ethernet frame */ 1330 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1331 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 1332 /* CRC */ 1333 0xFF, 0xFF, 0xFF, 0xFF 1334 }, 1335 .len = 24, 1336 .cipher_offset = 18, 1337 .crc_offset = 6, 1338 .no_cipher = true, 1339 .no_crc = false 1340 }, 1341 .ciphertext = { 1342 .data = { 1343 /* DOCSIS header */ 1344 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1345 /* Ethernet frame */ 1346 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1347 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 1348 /* CRC */ 1349 0x14, 0x08, 0xE8, 0x55 1350 }, 1351 .len = 24, 1352 .cipher_offset = 18, 1353 .crc_offset = 6, 1354 .no_cipher = true, 1355 .no_crc = false 1356 } 1357 }; 1358 1359 struct docsis_test_data docsis_test_case_24 = { 1360 .key = { 1361 .data = { 1362 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1363 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1364 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1365 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1366 }, 1367 .len = 32 1368 }, 1369 .iv = { 1370 .data = { 1371 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1372 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1373 }, 1374 .len = 16 1375 }, 1376 .plaintext = { 1377 .data = { 1378 /* DOCSIS header */ 1379 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1380 /* Ethernet frame */ 1381 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1382 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1383 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1384 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1385 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1386 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1387 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1388 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1389 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1390 0xAA, 1391 /* CRC */ 1392 0xFF, 0xFF, 0xFF, 0xFF 1393 }, 1394 .len = 83, 1395 .cipher_offset = 40, 1396 .crc_offset = 6, 1397 .no_cipher = true, 1398 .no_crc = false 1399 }, 1400 .ciphertext = { 1401 .data = { 1402 /* DOCSIS header */ 1403 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1404 /* Ethernet frame */ 1405 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1406 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1407 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1408 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1409 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1410 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1411 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1412 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1413 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1414 0xAA, 1415 /* CRC */ 1416 0xB3, 0x60, 0xEB, 0x38 1417 }, 1418 .len = 83, 1419 .cipher_offset = 40, 1420 .crc_offset = 6, 1421 .no_cipher = true, 1422 .no_crc = false 1423 } 1424 }; 1425 1426 struct docsis_test_data docsis_test_case_25 = { 1427 .key = { 1428 .data = { 1429 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1430 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1431 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1432 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1433 }, 1434 .len = 32 1435 }, 1436 .iv = { 1437 .data = { 1438 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1439 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1440 }, 1441 .len = 16 1442 }, 1443 .plaintext = { 1444 .data = { 1445 /* DOCSIS header */ 1446 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1447 /* Ethernet frame */ 1448 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1449 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 1450 /* CRC */ 1451 0xFF, 0xFF, 0xFF, 0xFF 1452 }, 1453 .len = 24, 1454 .cipher_offset = 18, 1455 .crc_offset = 6, 1456 .no_cipher = true, 1457 .no_crc = true 1458 }, 1459 .ciphertext = { 1460 .data = { 1461 /* DOCSIS header */ 1462 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1463 /* Ethernet frame */ 1464 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1465 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 1466 /* CRC */ 1467 0xFF, 0xFF, 0xFF, 0xFF 1468 }, 1469 .len = 24, 1470 .cipher_offset = 18, 1471 .crc_offset = 6, 1472 .no_cipher = true, 1473 .no_crc = true 1474 } 1475 }; 1476 1477 struct docsis_test_data docsis_test_case_26 = { 1478 .key = { 1479 .data = { 1480 0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD, 1481 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 1482 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 1483 0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 1484 }, 1485 .len = 32 1486 }, 1487 .iv = { 1488 .data = { 1489 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 1490 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 1491 }, 1492 .len = 16 1493 }, 1494 .plaintext = { 1495 .data = { 1496 /* DOCSIS header */ 1497 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1498 /* Ethernet frame */ 1499 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1500 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1501 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1502 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1503 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1504 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1505 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1506 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1507 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1508 0xAA, 1509 /* CRC */ 1510 0xFF, 0xFF, 0xFF, 0xFF 1511 }, 1512 .len = 83, 1513 .cipher_offset = 40, 1514 .crc_offset = 6, 1515 .no_cipher = true, 1516 .no_crc = true 1517 }, 1518 .ciphertext = { 1519 .data = { 1520 /* DOCSIS header */ 1521 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1522 /* Ethernet frame */ 1523 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05, 1524 0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA, 1525 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1526 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1527 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1528 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1529 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1530 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1531 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 1532 0xAA, 1533 /* CRC */ 1534 0xFF, 0xFF, 0xFF, 0xFF 1535 }, 1536 .len = 83, 1537 .cipher_offset = 40, 1538 .crc_offset = 6, 1539 .no_cipher = true, 1540 .no_crc = true 1541 } 1542 }; 1543 1544 #endif /* TEST_CRYPTODEV_SECURITY_DOCSIS_TEST_VECTORS_H_ */ 1545