1a9de470cSBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause 2a9de470cSBruce Richardson * Copyright(c) 2018 Cavium Networks 3a9de470cSBruce Richardson */ 4a9de470cSBruce Richardson 5a9de470cSBruce Richardson #ifndef TEST_CRYPTODEV_RSA_TEST_VECTORS_H__ 6a9de470cSBruce Richardson #define TEST_CRYPTODEV_RSA_TEST_VECTORS_H__ 7a9de470cSBruce Richardson 8b480c5fdSArek Kusztal #include <stdint.h> 9b480c5fdSArek Kusztal 10a9de470cSBruce Richardson #include "rte_crypto_asym.h" 11a9de470cSBruce Richardson 12a9de470cSBruce Richardson #define TEST_DATA_SIZE 4096 13a9de470cSBruce Richardson 14a9de470cSBruce Richardson struct rsa_test_data { 15a9de470cSBruce Richardson uint8_t data[TEST_DATA_SIZE]; 16a9de470cSBruce Richardson unsigned int len; 17a9de470cSBruce Richardson }; 18a9de470cSBruce Richardson 199b546586SArkadiusz Kusztal struct rsa_test_data_2 { 209b546586SArkadiusz Kusztal enum rte_crypto_asym_xform_type xform_type; 219b546586SArkadiusz Kusztal const char *description; 229b546586SArkadiusz Kusztal uint64_t op_type_flags; 239b546586SArkadiusz Kusztal struct { 249b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 259b546586SArkadiusz Kusztal uint16_t len; 269b546586SArkadiusz Kusztal } message; 279b546586SArkadiusz Kusztal struct { 289b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 299b546586SArkadiusz Kusztal uint16_t len; 309b546586SArkadiusz Kusztal } cipher; 319b546586SArkadiusz Kusztal struct { 329b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 339b546586SArkadiusz Kusztal uint16_t len; 349b546586SArkadiusz Kusztal } sign; 359b546586SArkadiusz Kusztal struct { 369b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 379b546586SArkadiusz Kusztal uint16_t len; 389b546586SArkadiusz Kusztal } e; 399b546586SArkadiusz Kusztal struct { 409b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 419b546586SArkadiusz Kusztal uint16_t len; 429b546586SArkadiusz Kusztal } d; 439b546586SArkadiusz Kusztal struct { 449b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 459b546586SArkadiusz Kusztal uint16_t len; 469b546586SArkadiusz Kusztal } n; 479b546586SArkadiusz Kusztal struct { 489b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 499b546586SArkadiusz Kusztal uint16_t len; 509b546586SArkadiusz Kusztal } p; 519b546586SArkadiusz Kusztal struct { 529b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 539b546586SArkadiusz Kusztal uint16_t len; 549b546586SArkadiusz Kusztal } q; 559b546586SArkadiusz Kusztal struct { 569b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 579b546586SArkadiusz Kusztal uint16_t len; 589b546586SArkadiusz Kusztal } dP; 599b546586SArkadiusz Kusztal struct { 609b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 619b546586SArkadiusz Kusztal uint16_t len; 629b546586SArkadiusz Kusztal } dQ; 639b546586SArkadiusz Kusztal struct { 649b546586SArkadiusz Kusztal uint8_t data[DATA_SIZE]; 659b546586SArkadiusz Kusztal uint16_t len; 669b546586SArkadiusz Kusztal } qInv; 679b546586SArkadiusz Kusztal 689b546586SArkadiusz Kusztal uint16_t result_len; 699b546586SArkadiusz Kusztal enum rte_crypto_rsa_padding_type padding; 709b546586SArkadiusz Kusztal int key_exp; 719b546586SArkadiusz Kusztal int key_qt; 729b546586SArkadiusz Kusztal }; 739b546586SArkadiusz Kusztal 749b546586SArkadiusz Kusztal static const struct 75226f1ca0SArkadiusz Kusztal rsa_test_data_2 rsa_vector_128_20_3_none = { 769b546586SArkadiusz Kusztal .description = 779b546586SArkadiusz Kusztal "RSA Encryption Decryption (n=128, pt=20, e=3) EXP, QT", 789b546586SArkadiusz Kusztal .xform_type = RTE_CRYPTO_ASYM_XFORM_RSA, 799b546586SArkadiusz Kusztal .op_type_flags = 1UL << RTE_CRYPTO_ASYM_OP_ENCRYPT | 809b546586SArkadiusz Kusztal 1UL << RTE_CRYPTO_ASYM_OP_DECRYPT, 819b546586SArkadiusz Kusztal .message = { 829b546586SArkadiusz Kusztal .data = { 839b546586SArkadiusz Kusztal 0x00, 0x02, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 849b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 859b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 869b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 879b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 889b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 899b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 909b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 919b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 929b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 939b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 949b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 959b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 969b546586SArkadiusz Kusztal 0xbb, 0xbb, 0xbb, 0xbb, 0xf8, 0xba, 0x1a, 0x55, 979b546586SArkadiusz Kusztal 0xd0, 0x2f, 0x85, 0xae, 0x96, 0x7b, 0xb6, 0x2f, 989b546586SArkadiusz Kusztal 0xb6, 0xcd, 0xa8, 0xeb, 0x7e, 0x78, 0xa0, 0x50 999b546586SArkadiusz Kusztal }, 1009b546586SArkadiusz Kusztal .len = 128, 1019b546586SArkadiusz Kusztal }, 1029b546586SArkadiusz Kusztal .cipher = { 1039b546586SArkadiusz Kusztal .data = { 1049b546586SArkadiusz Kusztal 0x3D, 0x8D, 0x2F, 0x85, 0xC0, 0xB7, 0x21, 0x3E, 1059b546586SArkadiusz Kusztal 0x5B, 0x4A, 0x96, 0xB2, 0x85, 0x35, 0xAF, 0x0C, 1069b546586SArkadiusz Kusztal 0x62, 0xE9, 0x73, 0xEF, 0x77, 0x76, 0x19, 0xD5, 1079b546586SArkadiusz Kusztal 0x92, 0xF7, 0x1D, 0xB0, 0x15, 0x69, 0x65, 0x82, 1089b546586SArkadiusz Kusztal 0x32, 0x30, 0x4E, 0x29, 0xE7, 0x83, 0xAD, 0x23, 1099b546586SArkadiusz Kusztal 0x66, 0xD9, 0x91, 0x9B, 0xFF, 0x01, 0x10, 0x3B, 1109b546586SArkadiusz Kusztal 0xB2, 0xF8, 0x78, 0x14, 0xD2, 0x6E, 0x3C, 0x59, 1119b546586SArkadiusz Kusztal 0x6E, 0x1A, 0x90, 0x3C, 0x5A, 0xB3, 0x0B, 0x60, 1129b546586SArkadiusz Kusztal 0xE2, 0x71, 0xCC, 0xF5, 0x0C, 0x57, 0x19, 0x03, 1139b546586SArkadiusz Kusztal 0x5B, 0x04, 0x46, 0x7E, 0x13, 0x5B, 0xFF, 0x2C, 1149b546586SArkadiusz Kusztal 0x01, 0x19, 0x75, 0x86, 0x6A, 0xAE, 0x60, 0xFB, 1159b546586SArkadiusz Kusztal 0x0A, 0x4C, 0x14, 0x1A, 0xBC, 0x0E, 0x86, 0xF1, 1169b546586SArkadiusz Kusztal 0x13, 0x10, 0xB3, 0x03, 0x8E, 0x66, 0x6F, 0xA5, 1179b546586SArkadiusz Kusztal 0x53, 0x80, 0x5A, 0x91, 0xE6, 0x7C, 0x3C, 0x38, 1189b546586SArkadiusz Kusztal 0x15, 0xB6, 0x69, 0x3E, 0xF6, 0x54, 0xB0, 0x60, 1199b546586SArkadiusz Kusztal 0x83, 0xE9, 0x2B, 0xF3, 0x26, 0x53, 0x3E, 0x11 1209b546586SArkadiusz Kusztal }, 1219b546586SArkadiusz Kusztal .len = 128, 1229b546586SArkadiusz Kusztal }, 1239b546586SArkadiusz Kusztal .e = { 1249b546586SArkadiusz Kusztal .data = { 1259b546586SArkadiusz Kusztal 0x01, 0x00, 0x01 1269b546586SArkadiusz Kusztal }, 1279b546586SArkadiusz Kusztal .len = 3, 1289b546586SArkadiusz Kusztal }, 1299b546586SArkadiusz Kusztal .d = { 1309b546586SArkadiusz Kusztal .data = { 1319b546586SArkadiusz Kusztal 0x24, 0xd7, 0xea, 0xf4, 0x7f, 0xe0, 0xca, 0x31, 1329b546586SArkadiusz Kusztal 0x4d, 0xee, 0xc4, 0xa1, 0xbe, 0xab, 0x06, 0x61, 1339b546586SArkadiusz Kusztal 0x32, 0xe7, 0x51, 0x46, 0x27, 0xdf, 0x72, 0xe9, 1349b546586SArkadiusz Kusztal 0x6f, 0xa8, 0x4c, 0xd1, 0x26, 0xef, 0x65, 0xeb, 1359b546586SArkadiusz Kusztal 0x67, 0xff, 0x5f, 0xa7, 0x3b, 0x25, 0xb9, 0x08, 1369b546586SArkadiusz Kusztal 0x8e, 0xa0, 0x47, 0x56, 0xe6, 0x8e, 0xf9, 0xd3, 1379b546586SArkadiusz Kusztal 0x18, 0x06, 0x3d, 0xc6, 0xb1, 0xf8, 0xdc, 0x1b, 1389b546586SArkadiusz Kusztal 0x8d, 0xe5, 0x30, 0x54, 0x26, 0xac, 0x16, 0x3b, 1399b546586SArkadiusz Kusztal 0x7b, 0xad, 0x46, 0x9e, 0x21, 0x6a, 0x57, 0xe6, 1409b546586SArkadiusz Kusztal 0x81, 0x56, 0x1d, 0x2a, 0xc4, 0x39, 0x63, 0x67, 1419b546586SArkadiusz Kusztal 0x81, 0x2c, 0xca, 0xcc, 0xf8, 0x42, 0x04, 0xbe, 1429b546586SArkadiusz Kusztal 0xcf, 0x8f, 0x6c, 0x5b, 0x81, 0x46, 0xb9, 0xc7, 1439b546586SArkadiusz Kusztal 0x62, 0x90, 0x87, 0x35, 0x03, 0x9b, 0x89, 0xcb, 1449b546586SArkadiusz Kusztal 0x37, 0xbd, 0xf1, 0x1b, 0x99, 0xa1, 0x9a, 0x78, 1459b546586SArkadiusz Kusztal 0xd5, 0x4c, 0xdd, 0x3f, 0x41, 0x0c, 0xb7, 0x1a, 1469b546586SArkadiusz Kusztal 0xd9, 0x7b, 0x87, 0x5f, 0xbe, 0xb1, 0x83, 0x41 1479b546586SArkadiusz Kusztal }, 1489b546586SArkadiusz Kusztal .len = 128, 1499b546586SArkadiusz Kusztal }, 1509b546586SArkadiusz Kusztal .n = { 1519b546586SArkadiusz Kusztal .data = { 1529b546586SArkadiusz Kusztal 0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00, 0x0a, 1539b546586SArkadiusz Kusztal 0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5, 0xce, 1549b546586SArkadiusz Kusztal 0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a, 0xa2, 1559b546586SArkadiusz Kusztal 0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde, 0x0a, 1569b546586SArkadiusz Kusztal 0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a, 0x3d, 1579b546586SArkadiusz Kusztal 0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63, 0x6a, 1589b546586SArkadiusz Kusztal 0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27, 0x6e, 1599b546586SArkadiusz Kusztal 0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa, 0x72, 1609b546586SArkadiusz Kusztal 0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53, 0x87, 1619b546586SArkadiusz Kusztal 0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a, 0x62, 1629b546586SArkadiusz Kusztal 0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63, 0x18, 1639b546586SArkadiusz Kusztal 0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33, 0x4e, 1649b546586SArkadiusz Kusztal 0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3, 0x03, 1659b546586SArkadiusz Kusztal 0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e, 0xee, 1669b546586SArkadiusz Kusztal 0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb, 0xa6, 1679b546586SArkadiusz Kusztal 0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde, 0x55 1689b546586SArkadiusz Kusztal }, 1699b546586SArkadiusz Kusztal .len = 128, 1709b546586SArkadiusz Kusztal }, 1719b546586SArkadiusz Kusztal .p = { 1729b546586SArkadiusz Kusztal .data = { 1739b546586SArkadiusz Kusztal 0xdc, 0xba, 0x00, 0x01, 0x57, 0x93, 0xe3, 0x05, 1749b546586SArkadiusz Kusztal 0xed, 0x61, 0x9a, 0xa3, 0xaf, 0x6a, 0xd3, 0x47, 1759b546586SArkadiusz Kusztal 0x8f, 0x2d, 0x1e, 0x7f, 0x4d, 0x60, 0xc8, 0x8d, 1769b546586SArkadiusz Kusztal 0x34, 0xb8, 0x17, 0x84, 0xbc, 0xd4, 0xe9, 0x79, 1779b546586SArkadiusz Kusztal 0x95, 0x75, 0x19, 0x37, 0xe0, 0xcc, 0xfe, 0x4c, 1789b546586SArkadiusz Kusztal 0x5d, 0x49, 0x53, 0x61, 0x29, 0xf1, 0xdc, 0x82, 1799b546586SArkadiusz Kusztal 0x03, 0x96, 0x7d, 0x95, 0x4f, 0xdd, 0x3c, 0x0a, 1809b546586SArkadiusz Kusztal 0x64, 0x8a, 0x43, 0x2f, 0x95, 0x4a, 0xed, 0xdd 1819b546586SArkadiusz Kusztal }, 1829b546586SArkadiusz Kusztal .len = 64, 1839b546586SArkadiusz Kusztal }, 1849b546586SArkadiusz Kusztal .q = { 1859b546586SArkadiusz Kusztal .data = { 1869b546586SArkadiusz Kusztal 0xd0, 0x56, 0x7a, 0x0a, 0xd5, 0x95, 0xa4, 0x85, 1879b546586SArkadiusz Kusztal 0x53, 0x35, 0xa1, 0x48, 0x07, 0x6a, 0x7c, 0x08, 1889b546586SArkadiusz Kusztal 0xe0, 0xfd, 0x4b, 0x88, 0x77, 0xa6, 0x15, 0x23, 1899b546586SArkadiusz Kusztal 0x0f, 0xbf, 0x14, 0x46, 0x11, 0xee, 0x95, 0xc7, 1909b546586SArkadiusz Kusztal 0x5e, 0x77, 0x65, 0xa2, 0xb5, 0x50, 0xdf, 0x19, 1919b546586SArkadiusz Kusztal 0x07, 0xc7, 0x72, 0xdb, 0x29, 0xf6, 0x54, 0x86, 1929b546586SArkadiusz Kusztal 0xe1, 0xb3, 0x97, 0x0a, 0x28, 0x64, 0x3a, 0x38, 1939b546586SArkadiusz Kusztal 0xa6, 0x7d, 0x13, 0xc3, 0x79, 0xaa, 0x56, 0xd9 1949b546586SArkadiusz Kusztal }, 1959b546586SArkadiusz Kusztal .len = 64, 1969b546586SArkadiusz Kusztal }, 1979b546586SArkadiusz Kusztal .dP = { 1989b546586SArkadiusz Kusztal .data = { 1999b546586SArkadiusz Kusztal 0xc5, 0x43, 0x0d, 0x82, 0x25, 0x8c, 0xab, 0x55, 2009b546586SArkadiusz Kusztal 0xbe, 0xc2, 0x7d, 0xfb, 0x4f, 0x68, 0x3f, 0x0e, 2019b546586SArkadiusz Kusztal 0x32, 0xec, 0xf5, 0xd6, 0x7b, 0x86, 0xc5, 0x75, 2029b546586SArkadiusz Kusztal 0x3c, 0xea, 0x51, 0x4a, 0x75, 0xa0, 0x2a, 0x50, 2039b546586SArkadiusz Kusztal 0x58, 0xbb, 0xe0, 0x1f, 0xca, 0x2e, 0x2a, 0x0e, 2049b546586SArkadiusz Kusztal 0x81, 0x48, 0x68, 0xd5, 0xeb, 0x30, 0x96, 0x0b, 2059b546586SArkadiusz Kusztal 0x33, 0xbd, 0xa8, 0xda, 0x6a, 0x17, 0xa3, 0xf2, 2069b546586SArkadiusz Kusztal 0xfd, 0xcb, 0x7b, 0x23, 0xe9, 0x5e, 0x9f, 0x99 2079b546586SArkadiusz Kusztal }, 2089b546586SArkadiusz Kusztal .len = 64, 2099b546586SArkadiusz Kusztal }, 2109b546586SArkadiusz Kusztal .dQ = { 2119b546586SArkadiusz Kusztal .data = { 2129b546586SArkadiusz Kusztal 0xbe, 0xff, 0xf9, 0x05, 0x43, 0xc8, 0xdc, 0x3b, 2139b546586SArkadiusz Kusztal 0x0b, 0x0d, 0x28, 0xde, 0x73, 0x46, 0x11, 0x8e, 2149b546586SArkadiusz Kusztal 0xc6, 0x4e, 0x11, 0xd8, 0x7b, 0xf0, 0xfc, 0x81, 2159b546586SArkadiusz Kusztal 0xd7, 0x66, 0xd3, 0xbc, 0x65, 0xa6, 0x39, 0x14, 2169b546586SArkadiusz Kusztal 0xbd, 0xab, 0x72, 0xb7, 0x57, 0xc9, 0x5b, 0xaf, 2179b546586SArkadiusz Kusztal 0x83, 0xed, 0x3b, 0x84, 0x68, 0x15, 0x18, 0x6b, 2189b546586SArkadiusz Kusztal 0x4c, 0x32, 0xac, 0x6f, 0x38, 0x96, 0xa2, 0xb5, 2199b546586SArkadiusz Kusztal 0xdb, 0x14, 0xe2, 0x70, 0x9c, 0x73, 0x29, 0x09 2209b546586SArkadiusz Kusztal }, 2219b546586SArkadiusz Kusztal .len = 64, 2229b546586SArkadiusz Kusztal }, 2239b546586SArkadiusz Kusztal .qInv = { 2249b546586SArkadiusz Kusztal .data = { 2259b546586SArkadiusz Kusztal 0x59, 0xbd, 0xb1, 0x37, 0xeb, 0x4e, 0xcf, 0x68, 2269b546586SArkadiusz Kusztal 0xe7, 0x85, 0x91, 0xbb, 0xc0, 0xdb, 0x8e, 0x41, 2279b546586SArkadiusz Kusztal 0x91, 0x4a, 0xc0, 0xb1, 0xc5, 0xe8, 0x91, 0xf6, 2289b546586SArkadiusz Kusztal 0xc7, 0x5a, 0x98, 0x1a, 0x8a, 0x0f, 0x45, 0xb2, 2299b546586SArkadiusz Kusztal 0x5b, 0xff, 0x7a, 0x2d, 0x98, 0x89, 0x55, 0xd9, 2309b546586SArkadiusz Kusztal 0xbf, 0x6e, 0xdd, 0x2d, 0xd4, 0xe8, 0x0a, 0xaa, 2319b546586SArkadiusz Kusztal 0xae, 0x2a, 0xc4, 0x16, 0xb5, 0xba, 0xe1, 0x69, 2329b546586SArkadiusz Kusztal 0x71, 0x94, 0xdd, 0xa0, 0xf5, 0x1e, 0x6d, 0xcc 2339b546586SArkadiusz Kusztal }, 2349b546586SArkadiusz Kusztal .len = 64, 2359b546586SArkadiusz Kusztal }, 2369b546586SArkadiusz Kusztal .padding = RTE_CRYPTO_RSA_PADDING_NONE, 2379b546586SArkadiusz Kusztal }; 2389b546586SArkadiusz Kusztal 239a9de470cSBruce Richardson struct rsa_test_data rsaplaintext = { 240a9de470cSBruce Richardson .data = { 241a9de470cSBruce Richardson 0xf8, 0xba, 0x1a, 0x55, 0xd0, 0x2f, 0x85, 0xae, 242a9de470cSBruce Richardson 0x96, 0x7b, 0xb6, 0x2f, 0xb6, 0xcd, 0xa8, 0xeb, 243a9de470cSBruce Richardson 0x7e, 0x78, 0xa0, 0x50 244a9de470cSBruce Richardson }, 245a9de470cSBruce Richardson .len = 20 246a9de470cSBruce Richardson }; 247a9de470cSBruce Richardson 248a9de470cSBruce Richardson uint8_t rsa_n[] = { 249a9de470cSBruce Richardson 0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00, 250a9de470cSBruce Richardson 0x0a, 0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5, 251a9de470cSBruce Richardson 0xce, 0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a, 252a9de470cSBruce Richardson 0xa2, 0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde, 253a9de470cSBruce Richardson 0x0a, 0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a, 254a9de470cSBruce Richardson 0x3d, 0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63, 255a9de470cSBruce Richardson 0x6a, 0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27, 256a9de470cSBruce Richardson 0x6e, 0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa, 257a9de470cSBruce Richardson 0x72, 0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53, 258a9de470cSBruce Richardson 0x87, 0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a, 259a9de470cSBruce Richardson 0x62, 0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63, 260a9de470cSBruce Richardson 0x18, 0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33, 261a9de470cSBruce Richardson 0x4e, 0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3, 262a9de470cSBruce Richardson 0x03, 0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e, 263a9de470cSBruce Richardson 0xee, 0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb, 264a9de470cSBruce Richardson 0xa6, 0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde, 265a9de470cSBruce Richardson 0x55 266a9de470cSBruce Richardson }; 267a9de470cSBruce Richardson 268a9de470cSBruce Richardson uint8_t rsa_d[] = { 269a9de470cSBruce Richardson 0x24, 0xd7, 0xea, 0xf4, 0x7f, 0xe0, 0xca, 0x31, 270a9de470cSBruce Richardson 0x4d, 0xee, 0xc4, 0xa1, 0xbe, 0xab, 0x06, 0x61, 271a9de470cSBruce Richardson 0x32, 0xe7, 0x51, 0x46, 0x27, 0xdf, 0x72, 0xe9, 272a9de470cSBruce Richardson 0x6f, 0xa8, 0x4c, 0xd1, 0x26, 0xef, 0x65, 0xeb, 273a9de470cSBruce Richardson 0x67, 0xff, 0x5f, 0xa7, 0x3b, 0x25, 0xb9, 0x08, 274a9de470cSBruce Richardson 0x8e, 0xa0, 0x47, 0x56, 0xe6, 0x8e, 0xf9, 0xd3, 275a9de470cSBruce Richardson 0x18, 0x06, 0x3d, 0xc6, 0xb1, 0xf8, 0xdc, 0x1b, 276a9de470cSBruce Richardson 0x8d, 0xe5, 0x30, 0x54, 0x26, 0xac, 0x16, 0x3b, 277a9de470cSBruce Richardson 0x7b, 0xad, 0x46, 0x9e, 0x21, 0x6a, 0x57, 0xe6, 278a9de470cSBruce Richardson 0x81, 0x56, 0x1d, 0x2a, 0xc4, 0x39, 0x63, 0x67, 279a9de470cSBruce Richardson 0x81, 0x2c, 0xca, 0xcc, 0xf8, 0x42, 0x04, 0xbe, 280a9de470cSBruce Richardson 0xcf, 0x8f, 0x6c, 0x5b, 0x81, 0x46, 0xb9, 0xc7, 281a9de470cSBruce Richardson 0x62, 0x90, 0x87, 0x35, 0x03, 0x9b, 0x89, 0xcb, 282a9de470cSBruce Richardson 0x37, 0xbd, 0xf1, 0x1b, 0x99, 0xa1, 0x9a, 0x78, 283a9de470cSBruce Richardson 0xd5, 0x4c, 0xdd, 0x3f, 0x41, 0x0c, 0xb7, 0x1a, 284a9de470cSBruce Richardson 0xd9, 0x7b, 0x87, 0x5f, 0xbe, 0xb1, 0x83, 0x41 285a9de470cSBruce Richardson }; 286a9de470cSBruce Richardson 287a9de470cSBruce Richardson uint8_t rsa_e[] = {0x01, 0x00, 0x01}; 288a9de470cSBruce Richardson 289a379799cSAyuj Verma uint8_t rsa_p[] = { 290a379799cSAyuj Verma 0xdc, 0xba, 0x00, 0x01, 0x57, 0x93, 0xe3, 0x05, 291a379799cSAyuj Verma 0xed, 0x61, 0x9a, 0xa3, 0xaf, 0x6a, 0xd3, 0x47, 292a379799cSAyuj Verma 0x8f, 0x2d, 0x1e, 0x7f, 0x4d, 0x60, 0xc8, 0x8d, 293a379799cSAyuj Verma 0x34, 0xb8, 0x17, 0x84, 0xbc, 0xd4, 0xe9, 0x79, 294a379799cSAyuj Verma 0x95, 0x75, 0x19, 0x37, 0xe0, 0xcc, 0xfe, 0x4c, 295a379799cSAyuj Verma 0x5d, 0x49, 0x53, 0x61, 0x29, 0xf1, 0xdc, 0x82, 296a379799cSAyuj Verma 0x03, 0x96, 0x7d, 0x95, 0x4f, 0xdd, 0x3c, 0x0a, 297a379799cSAyuj Verma 0x64, 0x8a, 0x43, 0x2f, 0x95, 0x4a, 0xed, 0xdd 298a379799cSAyuj Verma }; 299a379799cSAyuj Verma 300a379799cSAyuj Verma uint8_t rsa_q[] = { 301a379799cSAyuj Verma 0xd0, 0x56, 0x7a, 0x0a, 0xd5, 0x95, 0xa4, 0x85, 302a379799cSAyuj Verma 0x53, 0x35, 0xa1, 0x48, 0x07, 0x6a, 0x7c, 0x08, 303a379799cSAyuj Verma 0xe0, 0xfd, 0x4b, 0x88, 0x77, 0xa6, 0x15, 0x23, 304a379799cSAyuj Verma 0x0f, 0xbf, 0x14, 0x46, 0x11, 0xee, 0x95, 0xc7, 305a379799cSAyuj Verma 0x5e, 0x77, 0x65, 0xa2, 0xb5, 0x50, 0xdf, 0x19, 306a379799cSAyuj Verma 0x07, 0xc7, 0x72, 0xdb, 0x29, 0xf6, 0x54, 0x86, 307a379799cSAyuj Verma 0xe1, 0xb3, 0x97, 0x0a, 0x28, 0x64, 0x3a, 0x38, 308a379799cSAyuj Verma 0xa6, 0x7d, 0x13, 0xc3, 0x79, 0xaa, 0x56, 0xd9 309a379799cSAyuj Verma }; 310a379799cSAyuj Verma 311a379799cSAyuj Verma uint8_t rsa_dP[] = { 312a379799cSAyuj Verma 0xc5, 0x43, 0x0d, 0x82, 0x25, 0x8c, 0xab, 0x55, 313a379799cSAyuj Verma 0xbe, 0xc2, 0x7d, 0xfb, 0x4f, 0x68, 0x3f, 0x0e, 314a379799cSAyuj Verma 0x32, 0xec, 0xf5, 0xd6, 0x7b, 0x86, 0xc5, 0x75, 315a379799cSAyuj Verma 0x3c, 0xea, 0x51, 0x4a, 0x75, 0xa0, 0x2a, 0x50, 316a379799cSAyuj Verma 0x58, 0xbb, 0xe0, 0x1f, 0xca, 0x2e, 0x2a, 0x0e, 317a379799cSAyuj Verma 0x81, 0x48, 0x68, 0xd5, 0xeb, 0x30, 0x96, 0x0b, 318a379799cSAyuj Verma 0x33, 0xbd, 0xa8, 0xda, 0x6a, 0x17, 0xa3, 0xf2, 319a379799cSAyuj Verma 0xfd, 0xcb, 0x7b, 0x23, 0xe9, 0x5e, 0x9f, 0x99 320a379799cSAyuj Verma }; 321a379799cSAyuj Verma uint8_t rsa_dQ[] = { 322a379799cSAyuj Verma 0xbe, 0xff, 0xf9, 0x05, 0x43, 0xc8, 0xdc, 0x3b, 323a379799cSAyuj Verma 0x0b, 0x0d, 0x28, 0xde, 0x73, 0x46, 0x11, 0x8e, 324a379799cSAyuj Verma 0xc6, 0x4e, 0x11, 0xd8, 0x7b, 0xf0, 0xfc, 0x81, 325a379799cSAyuj Verma 0xd7, 0x66, 0xd3, 0xbc, 0x65, 0xa6, 0x39, 0x14, 326a379799cSAyuj Verma 0xbd, 0xab, 0x72, 0xb7, 0x57, 0xc9, 0x5b, 0xaf, 327a379799cSAyuj Verma 0x83, 0xed, 0x3b, 0x84, 0x68, 0x15, 0x18, 0x6b, 328a379799cSAyuj Verma 0x4c, 0x32, 0xac, 0x6f, 0x38, 0x96, 0xa2, 0xb5, 329a379799cSAyuj Verma 0xdb, 0x14, 0xe2, 0x70, 0x9c, 0x73, 0x29, 0x09 330a379799cSAyuj Verma }; 331a379799cSAyuj Verma 332a379799cSAyuj Verma uint8_t rsa_qInv[] = { 333a379799cSAyuj Verma 0x59, 0xbd, 0xb1, 0x37, 0xeb, 0x4e, 0xcf, 0x68, 334a379799cSAyuj Verma 0xe7, 0x85, 0x91, 0xbb, 0xc0, 0xdb, 0x8e, 0x41, 335a379799cSAyuj Verma 0x91, 0x4a, 0xc0, 0xb1, 0xc5, 0xe8, 0x91, 0xf6, 336a379799cSAyuj Verma 0xc7, 0x5a, 0x98, 0x1a, 0x8a, 0x0f, 0x45, 0xb2, 337a379799cSAyuj Verma 0x5b, 0xff, 0x7a, 0x2d, 0x98, 0x89, 0x55, 0xd9, 338a379799cSAyuj Verma 0xbf, 0x6e, 0xdd, 0x2d, 0xd4, 0xe8, 0x0a, 0xaa, 339a379799cSAyuj Verma 0xae, 0x2a, 0xc4, 0x16, 0xb5, 0xba, 0xe1, 0x69, 340a379799cSAyuj Verma 0x71, 0x94, 0xdd, 0xa0, 0xf5, 0x1e, 0x6d, 0xcc 341a379799cSAyuj Verma }; 342a379799cSAyuj Verma 343a9de470cSBruce Richardson /** rsa xform using exponent key */ 344a9de470cSBruce Richardson struct rte_crypto_asym_xform rsa_xform = { 345a9de470cSBruce Richardson .next = NULL, 346a9de470cSBruce Richardson .xform_type = RTE_CRYPTO_ASYM_XFORM_RSA, 347a9de470cSBruce Richardson .rsa = { 348*8a97564bSGowrishankar Muthukrishnan .padding.type = RTE_CRYPTO_RSA_PADDING_PKCS1_5, 349a9de470cSBruce Richardson .n = { 350a9de470cSBruce Richardson .data = rsa_n, 351a9de470cSBruce Richardson .length = sizeof(rsa_n) 352a9de470cSBruce Richardson }, 353a9de470cSBruce Richardson .e = { 354a9de470cSBruce Richardson .data = rsa_e, 355a9de470cSBruce Richardson .length = sizeof(rsa_e) 356a9de470cSBruce Richardson }, 357a9de470cSBruce Richardson .key_type = RTE_RSA_KEY_TYPE_EXP, 358a9de470cSBruce Richardson .d = { 359a9de470cSBruce Richardson .data = rsa_d, 360a9de470cSBruce Richardson .length = sizeof(rsa_d) 361a9de470cSBruce Richardson } 362a9de470cSBruce Richardson } 363a9de470cSBruce Richardson }; 364a9de470cSBruce Richardson 365a379799cSAyuj Verma /** rsa xform using quintuple key */ 366a379799cSAyuj Verma struct rte_crypto_asym_xform rsa_xform_crt = { 367a379799cSAyuj Verma .next = NULL, 368a379799cSAyuj Verma .xform_type = RTE_CRYPTO_ASYM_XFORM_RSA, 369a379799cSAyuj Verma .rsa = { 370*8a97564bSGowrishankar Muthukrishnan .padding.type = RTE_CRYPTO_RSA_PADDING_PKCS1_5, 371a379799cSAyuj Verma .n = { 372a379799cSAyuj Verma .data = rsa_n, 373a379799cSAyuj Verma .length = sizeof(rsa_n) 374a379799cSAyuj Verma }, 375a379799cSAyuj Verma .e = { 376a379799cSAyuj Verma .data = rsa_e, 377a379799cSAyuj Verma .length = sizeof(rsa_e) 378a379799cSAyuj Verma }, 3793387912fSArek Kusztal .key_type = RTE_RSA_KEY_TYPE_QT, 380a379799cSAyuj Verma .qt = { 381a379799cSAyuj Verma .p = { 382a379799cSAyuj Verma .data = rsa_p, 383a379799cSAyuj Verma .length = sizeof(rsa_p) 384a379799cSAyuj Verma }, 385a379799cSAyuj Verma .q = { 386a379799cSAyuj Verma .data = rsa_q, 387a379799cSAyuj Verma .length = sizeof(rsa_q) 388a379799cSAyuj Verma }, 389a379799cSAyuj Verma .dP = { 390a379799cSAyuj Verma .data = rsa_dP, 391a379799cSAyuj Verma .length = sizeof(rsa_dP) 392a379799cSAyuj Verma }, 393a379799cSAyuj Verma .dQ = { 394a379799cSAyuj Verma .data = rsa_dQ, 395a379799cSAyuj Verma .length = sizeof(rsa_dQ) 396a379799cSAyuj Verma }, 397a379799cSAyuj Verma .qInv = { 398a379799cSAyuj Verma .data = rsa_qInv, 399a379799cSAyuj Verma .length = sizeof(rsa_qInv) 400a379799cSAyuj Verma }, 401a379799cSAyuj Verma } 402a379799cSAyuj Verma } 403a379799cSAyuj Verma }; 404a379799cSAyuj Verma 405a9de470cSBruce Richardson #endif /* TEST_CRYPTODEV_RSA_TEST_VECTORS_H__ */ 406