xref: /dpdk/app/test/test_cryptodev_rsa_test_vectors.h (revision 8a97564b1c1e035daaa0cdda553edd46178889e2)
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