1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Cavium Networks
5 #ifndef TEST_CRYPTODEV_RSA_TEST_VECTORS_H__
6 #define TEST_CRYPTODEV_RSA_TEST_VECTORS_H__
8 #include "rte_crypto_asym.h"
10 #define TEST_DATA_SIZE 4096
12 struct rsa_test_data {
13 uint8_t data[TEST_DATA_SIZE];
17 struct rsa_test_data rsaplaintext = {
19 0xf8, 0xba, 0x1a, 0x55, 0xd0, 0x2f, 0x85, 0xae,
20 0x96, 0x7b, 0xb6, 0x2f, 0xb6, 0xcd, 0xa8, 0xeb,
21 0x7e, 0x78, 0xa0, 0x50
27 0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00,
28 0x0a, 0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5,
29 0xce, 0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a,
30 0xa2, 0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde,
31 0x0a, 0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a,
32 0x3d, 0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63,
33 0x6a, 0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27,
34 0x6e, 0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa,
35 0x72, 0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53,
36 0x87, 0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a,
37 0x62, 0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63,
38 0x18, 0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33,
39 0x4e, 0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3,
40 0x03, 0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e,
41 0xee, 0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb,
42 0xa6, 0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde,
47 0x24, 0xd7, 0xea, 0xf4, 0x7f, 0xe0, 0xca, 0x31,
48 0x4d, 0xee, 0xc4, 0xa1, 0xbe, 0xab, 0x06, 0x61,
49 0x32, 0xe7, 0x51, 0x46, 0x27, 0xdf, 0x72, 0xe9,
50 0x6f, 0xa8, 0x4c, 0xd1, 0x26, 0xef, 0x65, 0xeb,
51 0x67, 0xff, 0x5f, 0xa7, 0x3b, 0x25, 0xb9, 0x08,
52 0x8e, 0xa0, 0x47, 0x56, 0xe6, 0x8e, 0xf9, 0xd3,
53 0x18, 0x06, 0x3d, 0xc6, 0xb1, 0xf8, 0xdc, 0x1b,
54 0x8d, 0xe5, 0x30, 0x54, 0x26, 0xac, 0x16, 0x3b,
55 0x7b, 0xad, 0x46, 0x9e, 0x21, 0x6a, 0x57, 0xe6,
56 0x81, 0x56, 0x1d, 0x2a, 0xc4, 0x39, 0x63, 0x67,
57 0x81, 0x2c, 0xca, 0xcc, 0xf8, 0x42, 0x04, 0xbe,
58 0xcf, 0x8f, 0x6c, 0x5b, 0x81, 0x46, 0xb9, 0xc7,
59 0x62, 0x90, 0x87, 0x35, 0x03, 0x9b, 0x89, 0xcb,
60 0x37, 0xbd, 0xf1, 0x1b, 0x99, 0xa1, 0x9a, 0x78,
61 0xd5, 0x4c, 0xdd, 0x3f, 0x41, 0x0c, 0xb7, 0x1a,
62 0xd9, 0x7b, 0x87, 0x5f, 0xbe, 0xb1, 0x83, 0x41
65 uint8_t rsa_e[] = {0x01, 0x00, 0x01};
68 0xdc, 0xba, 0x00, 0x01, 0x57, 0x93, 0xe3, 0x05,
69 0xed, 0x61, 0x9a, 0xa3, 0xaf, 0x6a, 0xd3, 0x47,
70 0x8f, 0x2d, 0x1e, 0x7f, 0x4d, 0x60, 0xc8, 0x8d,
71 0x34, 0xb8, 0x17, 0x84, 0xbc, 0xd4, 0xe9, 0x79,
72 0x95, 0x75, 0x19, 0x37, 0xe0, 0xcc, 0xfe, 0x4c,
73 0x5d, 0x49, 0x53, 0x61, 0x29, 0xf1, 0xdc, 0x82,
74 0x03, 0x96, 0x7d, 0x95, 0x4f, 0xdd, 0x3c, 0x0a,
75 0x64, 0x8a, 0x43, 0x2f, 0x95, 0x4a, 0xed, 0xdd
79 0xd0, 0x56, 0x7a, 0x0a, 0xd5, 0x95, 0xa4, 0x85,
80 0x53, 0x35, 0xa1, 0x48, 0x07, 0x6a, 0x7c, 0x08,
81 0xe0, 0xfd, 0x4b, 0x88, 0x77, 0xa6, 0x15, 0x23,
82 0x0f, 0xbf, 0x14, 0x46, 0x11, 0xee, 0x95, 0xc7,
83 0x5e, 0x77, 0x65, 0xa2, 0xb5, 0x50, 0xdf, 0x19,
84 0x07, 0xc7, 0x72, 0xdb, 0x29, 0xf6, 0x54, 0x86,
85 0xe1, 0xb3, 0x97, 0x0a, 0x28, 0x64, 0x3a, 0x38,
86 0xa6, 0x7d, 0x13, 0xc3, 0x79, 0xaa, 0x56, 0xd9
90 0xc5, 0x43, 0x0d, 0x82, 0x25, 0x8c, 0xab, 0x55,
91 0xbe, 0xc2, 0x7d, 0xfb, 0x4f, 0x68, 0x3f, 0x0e,
92 0x32, 0xec, 0xf5, 0xd6, 0x7b, 0x86, 0xc5, 0x75,
93 0x3c, 0xea, 0x51, 0x4a, 0x75, 0xa0, 0x2a, 0x50,
94 0x58, 0xbb, 0xe0, 0x1f, 0xca, 0x2e, 0x2a, 0x0e,
95 0x81, 0x48, 0x68, 0xd5, 0xeb, 0x30, 0x96, 0x0b,
96 0x33, 0xbd, 0xa8, 0xda, 0x6a, 0x17, 0xa3, 0xf2,
97 0xfd, 0xcb, 0x7b, 0x23, 0xe9, 0x5e, 0x9f, 0x99
100 0xbe, 0xff, 0xf9, 0x05, 0x43, 0xc8, 0xdc, 0x3b,
101 0x0b, 0x0d, 0x28, 0xde, 0x73, 0x46, 0x11, 0x8e,
102 0xc6, 0x4e, 0x11, 0xd8, 0x7b, 0xf0, 0xfc, 0x81,
103 0xd7, 0x66, 0xd3, 0xbc, 0x65, 0xa6, 0x39, 0x14,
104 0xbd, 0xab, 0x72, 0xb7, 0x57, 0xc9, 0x5b, 0xaf,
105 0x83, 0xed, 0x3b, 0x84, 0x68, 0x15, 0x18, 0x6b,
106 0x4c, 0x32, 0xac, 0x6f, 0x38, 0x96, 0xa2, 0xb5,
107 0xdb, 0x14, 0xe2, 0x70, 0x9c, 0x73, 0x29, 0x09
110 uint8_t rsa_qInv[] = {
111 0x59, 0xbd, 0xb1, 0x37, 0xeb, 0x4e, 0xcf, 0x68,
112 0xe7, 0x85, 0x91, 0xbb, 0xc0, 0xdb, 0x8e, 0x41,
113 0x91, 0x4a, 0xc0, 0xb1, 0xc5, 0xe8, 0x91, 0xf6,
114 0xc7, 0x5a, 0x98, 0x1a, 0x8a, 0x0f, 0x45, 0xb2,
115 0x5b, 0xff, 0x7a, 0x2d, 0x98, 0x89, 0x55, 0xd9,
116 0xbf, 0x6e, 0xdd, 0x2d, 0xd4, 0xe8, 0x0a, 0xaa,
117 0xae, 0x2a, 0xc4, 0x16, 0xb5, 0xba, 0xe1, 0x69,
118 0x71, 0x94, 0xdd, 0xa0, 0xf5, 0x1e, 0x6d, 0xcc
121 /** rsa xform using exponent key */
122 struct rte_crypto_asym_xform rsa_xform = {
124 .xform_type = RTE_CRYPTO_ASYM_XFORM_RSA,
128 .length = sizeof(rsa_n)
132 .length = sizeof(rsa_e)
134 .key_type = RTE_RSA_KEY_TYPE_EXP,
137 .length = sizeof(rsa_d)
142 /** rsa xform using quintuple key */
143 struct rte_crypto_asym_xform rsa_xform_crt = {
145 .xform_type = RTE_CRYPTO_ASYM_XFORM_RSA,
149 .length = sizeof(rsa_n)
153 .length = sizeof(rsa_e)
155 .key_type = RTE_RSA_KET_TYPE_QT,
159 .length = sizeof(rsa_p)
163 .length = sizeof(rsa_q)
167 .length = sizeof(rsa_dP)
171 .length = sizeof(rsa_dQ)
175 .length = sizeof(rsa_qInv)
181 #endif /* TEST_CRYPTODEV_RSA_TEST_VECTORS_H__ */