1 /*
2 * Copyright (c) 2022 Rockchip Electronics Co. Ltd.
3 */
4
5 #include <string.h>
6 #include "rsa_key_data.h"
7
8 static const uint8_t rsa_1024_n[] = {
9 0xf0, 0x19, 0x94, 0x93, 0x86, 0xb9, 0x1e, 0xac,
10 0xf7, 0x40, 0xb7, 0xd8, 0xaf, 0xe0, 0xb1, 0x3e,
11 0xba, 0xce, 0x0d, 0x19, 0x23, 0xee, 0x51, 0x7e,
12 0x21, 0xd3, 0x46, 0xcc, 0x01, 0x7d, 0xb2, 0x10,
13 0x56, 0x8c, 0x49, 0xd8, 0x5b, 0xb3, 0x1d, 0xb6,
14 0xcb, 0x33, 0x47, 0x22, 0xd0, 0x35, 0x90, 0x3e,
15 0xb4, 0x56, 0x5b, 0xb5, 0xdc, 0x5f, 0x04, 0x13,
16 0xf5, 0x75, 0x37, 0x70, 0x78, 0xac, 0xd7, 0x89,
17 0xc3, 0x99, 0x8a, 0x04, 0x8a, 0x15, 0x9a, 0x43,
18 0xa6, 0xcc, 0x29, 0x13, 0x61, 0xee, 0xa5, 0x39,
19 0x3a, 0x00, 0x4f, 0x03, 0xe3, 0xe9, 0x4d, 0xff,
20 0x72, 0xaf, 0xf5, 0x87, 0x6b, 0x32, 0xe9, 0x86,
21 0x7c, 0xa2, 0xc1, 0xe5, 0x87, 0x06, 0x0b, 0xce,
22 0xd9, 0xcf, 0xb7, 0xe3, 0xd8, 0x5b, 0xea, 0xad,
23 0x9c, 0xd5, 0xf7, 0x0b, 0xa9, 0x2a, 0x88, 0x1c,
24 0xac, 0x77, 0xa2, 0xde, 0xc4, 0x87, 0xa1, 0xb7,
25 };
26
27 static const uint8_t rsa_1024_e[] = {
28 0x01, 0x00, 0x01,
29 };
30
31
32 static const uint8_t rsa_1024_d[] = {
33 0x1b, 0xfb, 0x7f, 0x3b, 0x6a, 0x5a, 0x2c, 0xdf,
34 0x0f, 0xb9, 0xf5, 0x33, 0x45, 0xdc, 0x34, 0x0c,
35 0x11, 0x8d, 0x6e, 0x2d, 0x5d, 0xe8, 0xaa, 0x8a,
36 0xbe, 0xba, 0x76, 0xe7, 0xd3, 0xcc, 0xa8, 0x72,
37 0x0b, 0x04, 0x32, 0x9f, 0x0a, 0xa0, 0xe7, 0x77,
38 0xa4, 0x5b, 0x07, 0x91, 0x61, 0x1e, 0xbc, 0xfe,
39 0xf1, 0xd9, 0x96, 0xba, 0xad, 0x42, 0x4d, 0xa1,
40 0x5d, 0xdc, 0x19, 0x67, 0xfc, 0x48, 0x78, 0x9e,
41 0x15, 0xe7, 0xd2, 0xb8, 0xda, 0x43, 0xfd, 0x10,
42 0x33, 0x5d, 0xc4, 0xfd, 0x39, 0x55, 0x82, 0x4e,
43 0xb5, 0x0e, 0x25, 0x1a, 0x31, 0xb7, 0x2e, 0x21,
44 0x7c, 0xed, 0xa0, 0x00, 0xbb, 0x74, 0x3e, 0x14,
45 0x65, 0xd4, 0x2a, 0x8a, 0x37, 0x1c, 0x21, 0x40,
46 0xfd, 0xe4, 0x67, 0xee, 0x36, 0x56, 0xb3, 0x5a,
47 0x7a, 0x87, 0x0e, 0xe5, 0x7e, 0x90, 0xae, 0xbc,
48 0x89, 0x1e, 0x8d, 0xe3, 0xbf, 0x13, 0xf5, 0x11,
49 };
50
51 static const uint8_t rsa_2048_n[] = {
52 0xe9, 0xd7, 0x82, 0x24, 0xf8, 0x69, 0x5e, 0x85,
53 0xea, 0x79, 0x84, 0x5d, 0x3d, 0x85, 0xf3, 0x7e,
54 0x28, 0x6e, 0xab, 0x2d, 0x76, 0x4f, 0xd4, 0x72,
55 0x63, 0xa1, 0x6a, 0x17, 0x60, 0xbd, 0xfc, 0x29,
56 0xb3, 0x6d, 0x1b, 0xaf, 0x5c, 0xb2, 0x58, 0x62,
57 0x08, 0xb1, 0xed, 0x04, 0xf3, 0x2e, 0x7d, 0x9d,
58 0xa6, 0x3b, 0xbd, 0x26, 0x64, 0x62, 0x49, 0x3e,
59 0xf9, 0x92, 0x79, 0x25, 0x97, 0xd6, 0x8c, 0xff,
60 0x5c, 0x0f, 0xbb, 0x75, 0x22, 0xea, 0xe5, 0x6b,
61 0xcb, 0x49, 0x46, 0xcf, 0xe3, 0x8d, 0x6b, 0x69,
62 0xd1, 0x32, 0xd0, 0x9d, 0xf4, 0xc9, 0x45, 0x77,
63 0xed, 0x61, 0x5a, 0xea, 0x32, 0x2f, 0x8c, 0xf7,
64 0x7e, 0xaf, 0xc6, 0xf7, 0x1f, 0xe0, 0x92, 0xdf,
65 0x6f, 0x8c, 0xba, 0x82, 0xfc, 0x17, 0x61, 0xec,
66 0x1d, 0x36, 0x26, 0x93, 0xa2, 0x8a, 0xe4, 0x45,
67 0xd2, 0x84, 0x1f, 0x3e, 0xfe, 0xb4, 0x05, 0xf8,
68 0xac, 0x7a, 0x6b, 0x6a, 0x7b, 0x61, 0x9d, 0x30,
69 0x72, 0xd5, 0xfe, 0x3b, 0xee, 0x30, 0x65, 0x74,
70 0x98, 0xcc, 0x84, 0xb2, 0xaa, 0x42, 0xe0, 0xba,
71 0xb7, 0x78, 0x7e, 0x62, 0x9a, 0x84, 0x00, 0x34,
72 0x5b, 0x28, 0xf5, 0xe6, 0x6a, 0x23, 0xfe, 0x83,
73 0x78, 0xef, 0x84, 0x71, 0x2b, 0x99, 0xa2, 0xd4,
74 0xb8, 0x4a, 0x65, 0xd1, 0xa7, 0xf2, 0xfd, 0xdb,
75 0x70, 0xbb, 0xe7, 0x5d, 0x70, 0x3c, 0xd4, 0xf6,
76 0x68, 0x4b, 0xf1, 0x8f, 0xd4, 0x18, 0xaa, 0x76,
77 0x1e, 0x40, 0x4d, 0x6f, 0x11, 0x09, 0x6f, 0x2e,
78 0x3e, 0xa1, 0x0b, 0xc8, 0xb6, 0x16, 0x1a, 0xa3,
79 0x4b, 0x81, 0x77, 0x68, 0xee, 0x70, 0x26, 0xf9,
80 0xfd, 0x0f, 0x1c, 0x39, 0xa8, 0x07, 0xf3, 0xe3,
81 0xd7, 0x6b, 0x20, 0x2e, 0x24, 0xa5, 0xba, 0x67,
82 0xc0, 0x3f, 0x9a, 0x73, 0x74, 0x2c, 0x92, 0x39,
83 0xfe, 0x75, 0xce, 0x3d, 0x39, 0x4c, 0x7f, 0x11,
84 };
85
86 static const uint8_t rsa_2048_e[] = {
87 0x01, 0x00, 0x01,
88 };
89
90 static const uint8_t rsa_2048_d[] = {
91 0x8e, 0xef, 0x1e, 0xea, 0xf0, 0x38, 0xa0, 0x01,
92 0x65, 0x38, 0x4f, 0xd3, 0x1a, 0x77, 0x15, 0x45,
93 0xc8, 0xfb, 0x14, 0x80, 0xde, 0x6f, 0x9f, 0x61,
94 0x28, 0x4b, 0x12, 0xe9, 0x25, 0x46, 0x1b, 0xab,
95 0x75, 0xb4, 0x3c, 0x96, 0xed, 0x27, 0x4a, 0x64,
96 0xea, 0x01, 0xaf, 0xea, 0x35, 0xa6, 0xf6, 0x3b,
97 0x75, 0xcf, 0xd0, 0x27, 0x76, 0x76, 0xa9, 0x64,
98 0xe7, 0xf2, 0x43, 0x40, 0xda, 0x55, 0xd7, 0xab,
99 0x83, 0x1f, 0x4e, 0xab, 0x23, 0xe3, 0xc6, 0xc6,
100 0x23, 0xe5, 0x2f, 0x76, 0x85, 0x15, 0xfd, 0x51,
101 0x1a, 0x01, 0x60, 0x89, 0x1c, 0x86, 0x26, 0x83,
102 0x4e, 0xc3, 0x12, 0x6a, 0x52, 0xb0, 0xc4, 0x0e,
103 0xc8, 0x0e, 0x33, 0xa4, 0xfc, 0x84, 0x2d, 0xe2,
104 0x8b, 0x71, 0xce, 0xd3, 0x9f, 0xb9, 0xbf, 0x2e,
105 0x2f, 0x10, 0xd9, 0x75, 0xa6, 0x86, 0x15, 0x50,
106 0x24, 0x84, 0x84, 0x00, 0xe2, 0x79, 0x31, 0xa8,
107 0x0a, 0x90, 0xc1, 0x1e, 0x1c, 0x54, 0x4a, 0x51,
108 0x74, 0x54, 0x33, 0x91, 0x99, 0x4e, 0x3b, 0xcc,
109 0x6f, 0xdd, 0xd6, 0x73, 0x0c, 0x2a, 0x6c, 0xa5,
110 0xcd, 0x89, 0xa7, 0x69, 0xde, 0x66, 0xb9, 0x60,
111 0xe7, 0x49, 0x17, 0x34, 0x1d, 0xbc, 0x32, 0x92,
112 0xfb, 0x6f, 0x89, 0x45, 0xee, 0x12, 0x7c, 0x54,
113 0x0b, 0xdf, 0x0e, 0xb4, 0xdb, 0x55, 0xbf, 0x3f,
114 0x11, 0x11, 0xf4, 0xd1, 0x3e, 0xcf, 0xfa, 0xf5,
115 0xe0, 0x2f, 0x72, 0xe4, 0x73, 0x62, 0xe8, 0x19,
116 0xbe, 0xeb, 0x8d, 0xe0, 0x77, 0x07, 0x54, 0x91,
117 0x64, 0x63, 0x1a, 0x46, 0x47, 0x28, 0x10, 0xda,
118 0x4c, 0xd3, 0xe7, 0x4f, 0x0c, 0xd5, 0x4b, 0xeb,
119 0x7f, 0x27, 0x0c, 0xf6, 0x25, 0x09, 0x6d, 0xbc,
120 0x34, 0xfb, 0x91, 0xab, 0x59, 0x49, 0xb4, 0x1c,
121 0x1a, 0xbb, 0x85, 0xae, 0x13, 0x61, 0x5c, 0xa2,
122 0xc5, 0x53, 0xaf, 0x29, 0x15, 0xf3, 0x35, 0x51,
123 };
124
125 static const uint8_t rsa_3072_n[] = {
126 0xbb, 0x95, 0x52, 0xa6, 0xcb, 0x77, 0x53, 0xa2,
127 0x2e, 0xe9, 0x14, 0x35, 0x5c, 0xb0, 0xd1, 0xe4,
128 0x24, 0x28, 0x03, 0x5c, 0xd4, 0xb7, 0x64, 0xca,
129 0xe4, 0xff, 0x75, 0xc5, 0xf9, 0xb7, 0x39, 0x32,
130 0xc5, 0x08, 0x64, 0x42, 0xbf, 0x2c, 0xe3, 0x77,
131 0x4f, 0x11, 0x5d, 0xc2, 0x6c, 0x73, 0xdf, 0x6c,
132 0x8e, 0x8f, 0x28, 0x1d, 0x4b, 0x07, 0x1d, 0xe9,
133 0x30, 0x34, 0xb4, 0xeb, 0xd4, 0xc3, 0x66, 0xd6,
134 0xbc, 0xe6, 0xc6, 0xae, 0x87, 0x9f, 0x8d, 0x5c,
135 0x7c, 0xd9, 0x32, 0xfc, 0x8c, 0xd0, 0x17, 0x81,
136 0x49, 0x57, 0x0a, 0x5a, 0x0b, 0xe9, 0x96, 0xc3,
137 0xfd, 0xcb, 0xdd, 0xdc, 0x5b, 0x6d, 0x90, 0x0d,
138 0x32, 0x7a, 0x3c, 0xdb, 0x5b, 0xfd, 0xe4, 0x28,
139 0x0d, 0x93, 0xa5, 0x66, 0xe5, 0xdc, 0x42, 0x1c,
140 0x45, 0x5f, 0xf2, 0x26, 0x0b, 0xe1, 0x2d, 0x51,
141 0x1e, 0x56, 0x74, 0xdf, 0xd1, 0x5c, 0xe6, 0x74,
142 0x92, 0xa8, 0x11, 0x75, 0x7d, 0xdf, 0xaa, 0x2b,
143 0xfd, 0xdf, 0x25, 0x3b, 0x28, 0xd6, 0xdd, 0x17,
144 0x9a, 0x9f, 0x17, 0x15, 0x75, 0x6e, 0x9e, 0x7f,
145 0xa3, 0x8b, 0xb7, 0xf1, 0xd4, 0xd9, 0xde, 0x0a,
146 0xe6, 0x61, 0xf7, 0xd0, 0x79, 0x9d, 0xe6, 0xf5,
147 0xb9, 0x2d, 0x45, 0xdc, 0xe0, 0xbc, 0xd7, 0xb0,
148 0x62, 0x3f, 0x36, 0x49, 0xd4, 0x68, 0xe2, 0x44,
149 0x00, 0x9c, 0x6f, 0xc7, 0xb8, 0xa4, 0x35, 0xc3,
150 0xbe, 0x1a, 0x60, 0x69, 0xf3, 0xc9, 0xe1, 0xef,
151 0x55, 0x57, 0x3d, 0xb9, 0x1a, 0xa3, 0x8c, 0x5f,
152 0x2f, 0xb9, 0xe8, 0xa6, 0xd4, 0xa2, 0x1a, 0x54,
153 0xec, 0x68, 0xb2, 0x16, 0x35, 0x97, 0x8f, 0x45,
154 0x08, 0x7d, 0x3c, 0x2b, 0x7f, 0xc7, 0x8d, 0xf6,
155 0x9e, 0x5c, 0x23, 0xb4, 0x51, 0x20, 0x55, 0x00,
156 0xfe, 0xb1, 0xc0, 0x35, 0x82, 0x17, 0x31, 0x32,
157 0x1c, 0xfa, 0x3c, 0x08, 0x50, 0xf3, 0xeb, 0x0b,
158 0x3f, 0xec, 0x3a, 0x61, 0xf1, 0x42, 0xf0, 0xec,
159 0x22, 0x76, 0x91, 0xf4, 0x56, 0x9e, 0x1c, 0x0e,
160 0x1c, 0x5e, 0x16, 0xed, 0x3d, 0xdf, 0x07, 0x51,
161 0x2c, 0xca, 0xa6, 0x29, 0xe8, 0x83, 0x84, 0x7c,
162 0x60, 0x96, 0x72, 0x75, 0x02, 0xdf, 0x70, 0x4c,
163 0x03, 0x64, 0x14, 0x91, 0xaa, 0xa0, 0x71, 0x73,
164 0x38, 0xe2, 0xf2, 0x85, 0xb3, 0x5f, 0x04, 0x19,
165 0xc3, 0x9a, 0xef, 0x93, 0x5e, 0xec, 0xa6, 0xfc,
166 0xc6, 0xec, 0xde, 0xb4, 0xe9, 0x0f, 0x80, 0x61,
167 0x1b, 0xad, 0x87, 0xf5, 0x24, 0x09, 0x97, 0xc5,
168 0x20, 0x97, 0xbb, 0x39, 0x86, 0x6f, 0x4d, 0xe5,
169 0x46, 0xca, 0x7f, 0xfe, 0xa8, 0x16, 0x56, 0xbf,
170 0xa5, 0x4b, 0x94, 0x4e, 0x33, 0xc9, 0x0b, 0x78,
171 0x41, 0xe2, 0x9c, 0xc4, 0xf0, 0x33, 0x59, 0x9c,
172 0x55, 0xe3, 0x4f, 0xa5, 0xed, 0x2f, 0xcf, 0x10,
173 0x78, 0xc1, 0x46, 0xd7, 0x97, 0x68, 0x96, 0xbd,
174 };
175
176 static const uint8_t rsa_3072_e[] = {
177 0x01, 0x00, 0x01,
178 };
179
180 static const uint8_t rsa_3072_d[] = {
181 0x15, 0xaa, 0x14, 0x46, 0xa1, 0x3f, 0x21, 0xd0,
182 0x9c, 0x5c, 0x5c, 0xf2, 0x20, 0xc7, 0x67, 0x26,
183 0x53, 0x2a, 0xaf, 0xe0, 0xbb, 0xcc, 0x86, 0x7e,
184 0x8c, 0x5e, 0x18, 0xab, 0x09, 0xc1, 0x28, 0x80,
185 0xfd, 0x92, 0x8f, 0x89, 0xc9, 0xec, 0x94, 0x44,
186 0xc6, 0x43, 0xfa, 0x31, 0x27, 0x37, 0x66, 0xb9,
187 0x71, 0xe9, 0x84, 0xb7, 0x85, 0x5f, 0xc8, 0x0b,
188 0x93, 0x7e, 0xb2, 0xda, 0x7d, 0xd3, 0x27, 0x80,
189 0x6b, 0x86, 0xb7, 0xb1, 0x96, 0x86, 0x4d, 0xdc,
190 0x3d, 0xab, 0x14, 0x21, 0x68, 0xdd, 0xeb, 0xa9,
191 0x09, 0xe0, 0x5c, 0x98, 0xb3, 0xc1, 0x81, 0xa1,
192 0x17, 0x21, 0xc1, 0x78, 0xde, 0xb2, 0x53, 0xad,
193 0xc2, 0x83, 0xad, 0x9d, 0xa4, 0x0d, 0x39, 0x99,
194 0x8a, 0x9f, 0xdf, 0xbd, 0x77, 0x94, 0xad, 0xa9,
195 0xf8, 0x35, 0x31, 0x91, 0x45, 0x53, 0xf7, 0x58,
196 0xe4, 0x09, 0x16, 0x2c, 0x77, 0x50, 0xa4, 0x69,
197 0x18, 0x3b, 0x02, 0xf1, 0x2f, 0xdd, 0x72, 0x18,
198 0xec, 0x94, 0x26, 0x07, 0xa4, 0x1a, 0xd4, 0xa4,
199 0x12, 0x3e, 0x87, 0x7a, 0xf9, 0xfa, 0x11, 0xa2,
200 0x2a, 0x30, 0x4b, 0xc9, 0x49, 0x4c, 0xf4, 0x41,
201 0x0c, 0x04, 0x8a, 0x8b, 0x70, 0x50, 0x55, 0x49,
202 0x51, 0xde, 0xb1, 0xaf, 0xe5, 0xe0, 0xc9, 0x84,
203 0x5c, 0x84, 0x72, 0x6f, 0xaa, 0x71, 0x86, 0x98,
204 0x55, 0xfd, 0xbb, 0x47, 0x34, 0xc2, 0xfa, 0x56,
205 0x73, 0x3b, 0x54, 0x3f, 0x6c, 0x08, 0x9c, 0xaf,
206 0x61, 0x1b, 0x6d, 0x25, 0xc4, 0x19, 0xaa, 0xd7,
207 0xa5, 0xcf, 0x78, 0x0b, 0xc1, 0x70, 0x2c, 0x9b,
208 0xe3, 0x23, 0xb5, 0x7b, 0x04, 0x4f, 0x30, 0x71,
209 0xe5, 0xa8, 0x82, 0xbe, 0x44, 0xf2, 0x44, 0x29,
210 0x12, 0x12, 0xe3, 0xf1, 0xcf, 0xab, 0x09, 0x9d,
211 0x27, 0x00, 0xd6, 0x69, 0xe6, 0xe8, 0x26, 0x72,
212 0x85, 0xde, 0x08, 0xf1, 0xdd, 0x45, 0xd6, 0xac,
213 0x54, 0x94, 0x6c, 0x05, 0x2a, 0xbe, 0x97, 0x33,
214 0xbb, 0x62, 0xe7, 0x3f, 0xac, 0x62, 0x28, 0xa4,
215 0x1d, 0x56, 0x9c, 0x3d, 0xf1, 0x4e, 0x2d, 0x27,
216 0x1c, 0x4c, 0xcf, 0xd1, 0x38, 0xdd, 0xa4, 0xdf,
217 0xca, 0xfa, 0xe3, 0xf6, 0x61, 0x2c, 0x74, 0x0a,
218 0x8a, 0xc5, 0x7d, 0x8c, 0xeb, 0x9a, 0xf6, 0xa8,
219 0x6c, 0xc2, 0x56, 0x40, 0x49, 0xaa, 0x74, 0x04,
220 0xb3, 0xe3, 0xd7, 0xab, 0x82, 0x2d, 0x02, 0xd0,
221 0xb5, 0xf4, 0x82, 0x7a, 0xd5, 0xfa, 0x7b, 0x1f,
222 0x3d, 0x8c, 0xb4, 0xc3, 0xb7, 0xfd, 0xbe, 0x2d,
223 0xfb, 0xde, 0x17, 0x19, 0xdd, 0xc6, 0x31, 0xbc,
224 0x94, 0x5c, 0x7d, 0x30, 0x6d, 0xc5, 0xad, 0x4c,
225 0x53, 0x5b, 0x33, 0xe7, 0x01, 0xac, 0xbb, 0x0e,
226 0xe5, 0x08, 0x1c, 0xff, 0x6b, 0x39, 0x5a, 0x80,
227 0x8e, 0xc4, 0x29, 0x11, 0xdb, 0xe3, 0x1c, 0x84,
228 0x14, 0xb4, 0x5f, 0xb5, 0xc4, 0x2f, 0xf3, 0xc1,
229 };
230
231 static const uint8_t rsa_4096_n[] = {
232 0xe0, 0xd7, 0x19, 0x9a, 0x2a, 0xf3, 0x9f, 0x46,
233 0x79, 0xa4, 0x6a, 0x9d, 0x91, 0x15, 0x2a, 0xc6,
234 0x5e, 0x77, 0xde, 0x7c, 0x9d, 0x7b, 0x0b, 0x78,
235 0x72, 0x8b, 0x01, 0x7d, 0x4c, 0x38, 0x50, 0x0e,
236 0x14, 0x6d, 0xeb, 0xab, 0x00, 0x2f, 0x5d, 0x85,
237 0x58, 0x38, 0x5f, 0xb0, 0x10, 0x0a, 0xfd, 0xeb,
238 0x26, 0x42, 0x85, 0xf5, 0xdb, 0x2c, 0x07, 0xf5,
239 0xba, 0xa8, 0x94, 0xc8, 0x48, 0x4c, 0x87, 0x1a,
240 0x25, 0xc1, 0xf5, 0x13, 0x6e, 0xa9, 0xca, 0xe2,
241 0x18, 0x48, 0xba, 0xc2, 0x90, 0x70, 0x8a, 0xc4,
242 0x97, 0xe8, 0x42, 0x9e, 0x79, 0x24, 0xbb, 0x19,
243 0xcf, 0xfb, 0xf2, 0x36, 0x2f, 0x55, 0x73, 0x4f,
244 0xf4, 0x49, 0x32, 0xfd, 0xc5, 0xe5, 0xa8, 0x94,
245 0x35, 0x1d, 0xef, 0xe2, 0x41, 0x96, 0x6a, 0x4d,
246 0xf5, 0xc6, 0xec, 0x84, 0x5a, 0x4f, 0xcc, 0x0b,
247 0x14, 0x5e, 0x0c, 0xbb, 0x0f, 0x16, 0x4a, 0xc0,
248 0x82, 0xa9, 0xc8, 0x97, 0x4a, 0xdd, 0xed, 0x2b,
249 0xdd, 0xf6, 0x3e, 0xca, 0x71, 0xbc, 0x49, 0x82,
250 0xb7, 0xa0, 0x64, 0x4a, 0x63, 0x7d, 0x3d, 0x83,
251 0x89, 0x9a, 0x25, 0x4a, 0xe6, 0x91, 0x14, 0x54,
252 0x8d, 0xcf, 0x67, 0x1e, 0x9e, 0x57, 0x94, 0x93,
253 0x17, 0xbe, 0xdc, 0x8f, 0xdb, 0x69, 0x16, 0xd4,
254 0x73, 0xab, 0x55, 0xfc, 0x33, 0xe2, 0xed, 0x4f,
255 0xf2, 0xfd, 0x11, 0x70, 0x23, 0x7d, 0x7c, 0x7c,
256 0x1e, 0xb5, 0x5b, 0x1f, 0x99, 0x2e, 0xa3, 0x8e,
257 0x42, 0x1c, 0xe0, 0xf0, 0x87, 0x61, 0x9e, 0x1d,
258 0x10, 0xe8, 0xaa, 0xd9, 0x68, 0xea, 0xd0, 0x20,
259 0x13, 0x2a, 0xe2, 0x91, 0x32, 0xaa, 0x34, 0xa0,
260 0xcc, 0x46, 0x37, 0x90, 0x16, 0xe6, 0x84, 0xd4,
261 0xcf, 0x67, 0x43, 0x4d, 0x54, 0xb6, 0xf8, 0x30,
262 0x5a, 0x2e, 0xa6, 0x45, 0xf6, 0x02, 0x11, 0x2c,
263 0x6b, 0x38, 0xeb, 0xb5, 0xfd, 0x09, 0x14, 0x55,
264 0x4b, 0xfe, 0xa6, 0xa3, 0xfa, 0x88, 0x09, 0xcb,
265 0xc4, 0xa7, 0x57, 0x31, 0x52, 0x22, 0x74, 0xa1,
266 0x79, 0xd0, 0x88, 0xcb, 0xe1, 0x4e, 0x9e, 0x39,
267 0xf2, 0xb7, 0x46, 0x16, 0x44, 0x8d, 0x19, 0x6b,
268 0xad, 0x64, 0x60, 0xee, 0x29, 0xff, 0x8c, 0x6d,
269 0x24, 0x83, 0x62, 0xca, 0x23, 0x12, 0x43, 0x55,
270 0x89, 0x4d, 0x60, 0x46, 0x0e, 0x96, 0x07, 0xb9,
271 0xb7, 0x32, 0x41, 0xfb, 0xaa, 0x20, 0xc6, 0x83,
272 0x3f, 0x45, 0x9d, 0x55, 0x8e, 0x15, 0x42, 0x3b,
273 0x16, 0x9b, 0x63, 0x61, 0xb9, 0x15, 0xbc, 0xd6,
274 0x69, 0x38, 0xfa, 0x39, 0xd6, 0x92, 0x87, 0xda,
275 0xbc, 0xb5, 0xb9, 0x39, 0xcf, 0xf1, 0xdb, 0xd7,
276 0x5a, 0x55, 0xff, 0xf9, 0x60, 0x4d, 0x9c, 0xf1,
277 0xf6, 0xd3, 0xa5, 0x81, 0x80, 0xf0, 0xcd, 0x5c,
278 0x43, 0x6e, 0x92, 0x0e, 0xf8, 0x85, 0x57, 0xd9,
279 0x9a, 0xd1, 0xdf, 0xaa, 0x83, 0x21, 0x09, 0xb2,
280 0xce, 0xf7, 0xc6, 0x2c, 0x69, 0x92, 0x66, 0x34,
281 0x9f, 0xe7, 0xa8, 0x5a, 0x47, 0x87, 0xb5, 0x68,
282 0x8c, 0x73, 0x34, 0x0a, 0xfc, 0x19, 0x85, 0x0a,
283 0x7e, 0x12, 0xe4, 0xa7, 0xe5, 0xd3, 0xf2, 0x58,
284 0x4e, 0x90, 0xb9, 0x5f, 0x25, 0x8f, 0x01, 0x05,
285 0x22, 0xeb, 0xf5, 0xd8, 0x97, 0x95, 0x66, 0x71,
286 0x29, 0x32, 0x2a, 0xe9, 0xf0, 0x00, 0xea, 0xe5,
287 0xc3, 0xa1, 0x26, 0x54, 0x09, 0x6d, 0x8f, 0x91,
288 0x9b, 0xe1, 0x0c, 0x14, 0x5c, 0xe5, 0xcb, 0x46,
289 0x97, 0x2d, 0xe0, 0x33, 0x99, 0xfe, 0x65, 0xfd,
290 0xb7, 0x57, 0xbe, 0x60, 0x0c, 0xd5, 0x97, 0x3b,
291 0xf5, 0x15, 0x23, 0x02, 0x04, 0xf5, 0x7a, 0x52,
292 0x4e, 0xd8, 0xde, 0x60, 0x3c, 0x9f, 0xe9, 0xe8,
293 0x96, 0xa6, 0x73, 0x97, 0x75, 0xa2, 0xdb, 0x7a,
294 0x4d, 0x64, 0xa5, 0x3c, 0xb9, 0x54, 0x17, 0xf8,
295 0xfe, 0x10, 0x5a, 0x60, 0xe7, 0x7a, 0x51, 0xc5,
296 };
297
298 static const uint8_t rsa_4096_e[] = {
299 0x01, 0x00, 0x01,
300 };
301
302 static const uint8_t rsa_4096_d[] = {
303 0x6a, 0xb5, 0xab, 0xf0, 0xff, 0x71, 0xa0, 0xa6,
304 0x52, 0x15, 0x36, 0x84, 0x91, 0xd6, 0xf9, 0xf6,
305 0x2b, 0xdf, 0xb8, 0x38, 0x6c, 0x85, 0x79, 0x6c,
306 0x30, 0xf0, 0xc8, 0x44, 0x2f, 0x68, 0x8a, 0x96,
307 0x24, 0x1c, 0x07, 0x3d, 0xa1, 0x58, 0xd9, 0x89,
308 0xef, 0xd4, 0xd1, 0x95, 0x3e, 0x07, 0xf9, 0x7b,
309 0x21, 0x2d, 0x71, 0x66, 0xbe, 0x1e, 0xa7, 0xa8,
310 0x78, 0x6e, 0x8a, 0x2e, 0x84, 0x21, 0xcd, 0xfd,
311 0x1a, 0xee, 0x72, 0xe2, 0x46, 0x23, 0x4f, 0xa6,
312 0xfe, 0xdf, 0x85, 0xc3, 0xd1, 0xc9, 0x98, 0x12,
313 0xb6, 0x06, 0x05, 0x98, 0x30, 0xe6, 0xbd, 0xe6,
314 0x02, 0x50, 0x11, 0x24, 0xa6, 0x52, 0x67, 0xe8,
315 0x0a, 0x88, 0xb3, 0x2a, 0xbe, 0x41, 0xc1, 0x40,
316 0x95, 0xf5, 0x1f, 0x64, 0xc2, 0xbc, 0x20, 0xb7,
317 0xdf, 0x6e, 0x09, 0xd2, 0xc7, 0x0a, 0x18, 0x4d,
318 0x29, 0xdd, 0x79, 0x2d, 0x4e, 0x7b, 0xc5, 0xfe,
319 0x98, 0x04, 0xfc, 0xae, 0xd1, 0x59, 0x82, 0xb6,
320 0xcf, 0x21, 0x8f, 0xab, 0x85, 0x4f, 0x57, 0x94,
321 0x32, 0x92, 0x6d, 0x06, 0xe1, 0x31, 0x0f, 0x80,
322 0xde, 0x4d, 0xca, 0x65, 0x42, 0x08, 0x99, 0x1d,
323 0x88, 0x30, 0x67, 0x40, 0xa0, 0xe5, 0xf0, 0x1d,
324 0xdf, 0xa7, 0x36, 0x07, 0x10, 0x9b, 0x4f, 0xba,
325 0x85, 0x2b, 0x4c, 0x23, 0xe6, 0x7c, 0x4d, 0x25,
326 0x24, 0xad, 0xf7, 0x18, 0xc1, 0xbf, 0x4c, 0xd5,
327 0x9b, 0xbd, 0x77, 0x02, 0x08, 0x31, 0x9a, 0x6e,
328 0x69, 0xf2, 0x4a, 0xcf, 0xdd, 0x70, 0xf7, 0x19,
329 0xd4, 0x6c, 0x98, 0xa9, 0x96, 0xa1, 0xdb, 0x25,
330 0x5d, 0xf3, 0x7c, 0x94, 0x6c, 0xf7, 0x5b, 0x02,
331 0xf5, 0xf0, 0x5d, 0x6e, 0x85, 0x6f, 0xe2, 0x9b,
332 0x1d, 0xd4, 0x64, 0x9c, 0xcf, 0x18, 0x07, 0xb2,
333 0xeb, 0x1a, 0x38, 0xcf, 0xfb, 0x71, 0xff, 0xb4,
334 0x95, 0x2e, 0xee, 0xaf, 0xf0, 0xe7, 0xde, 0x3d,
335 0xb9, 0x7e, 0x4b, 0x32, 0x91, 0x05, 0x25, 0x8b,
336 0x4c, 0x7f, 0x1e, 0x76, 0xfc, 0x17, 0x2b, 0xc0,
337 0xb0, 0x28, 0x1a, 0x81, 0x17, 0xc1, 0x7f, 0x97,
338 0x8e, 0x1a, 0xfc, 0xce, 0x98, 0x4b, 0xd7, 0x96,
339 0xfc, 0xb5, 0x1b, 0x28, 0xe2, 0x06, 0x56, 0x23,
340 0x76, 0x2d, 0x2e, 0x5c, 0xf7, 0xf9, 0x0a, 0xd8,
341 0xf1, 0x68, 0x7c, 0xbc, 0x16, 0xae, 0xac, 0x76,
342 0xf3, 0xf6, 0xd1, 0x6b, 0xc8, 0x23, 0x16, 0xf6,
343 0x90, 0xfc, 0x2b, 0x8d, 0x31, 0x16, 0x46, 0xba,
344 0xaa, 0x0c, 0x45, 0xa0, 0x94, 0xcc, 0x98, 0x90,
345 0x6f, 0xb5, 0x79, 0xf3, 0x20, 0xa4, 0x3d, 0xae,
346 0x35, 0x02, 0xdf, 0x04, 0x2d, 0xa0, 0xab, 0xb6,
347 0xa7, 0xef, 0xd4, 0x8a, 0x44, 0xff, 0x12, 0x41,
348 0xc6, 0x73, 0x94, 0xe8, 0xf9, 0x17, 0x07, 0xad,
349 0x20, 0x9e, 0xe9, 0x21, 0x0f, 0xa6, 0x49, 0xbc,
350 0x0e, 0x3f, 0x1f, 0x10, 0x60, 0xbf, 0x94, 0xa9,
351 0xa3, 0x3d, 0xbd, 0x45, 0x49, 0x42, 0x2d, 0x04,
352 0x58, 0xe9, 0x1b, 0x35, 0xfc, 0x5d, 0x1d, 0xf7,
353 0x9b, 0x7f, 0x7a, 0x38, 0x04, 0x02, 0xa9, 0x76,
354 0xd2, 0x5f, 0x76, 0xec, 0xdc, 0x05, 0x9f, 0x2b,
355 0x17, 0xc7, 0x53, 0xbb, 0x83, 0xf5, 0x8e, 0x0b,
356 0xf3, 0x85, 0x63, 0x21, 0x95, 0xa7, 0x0b, 0x34,
357 0x23, 0x20, 0x96, 0x2c, 0x50, 0x61, 0x8f, 0x65,
358 0x40, 0xdb, 0x07, 0xc8, 0x65, 0x36, 0x6c, 0xb2,
359 0x7a, 0x98, 0x6a, 0x1e, 0x89, 0x38, 0xbb, 0xbf,
360 0xca, 0x6d, 0x09, 0xcd, 0x2b, 0xf6, 0x59, 0x62,
361 0x50, 0x11, 0x31, 0xb3, 0x30, 0x1b, 0x33, 0xf4,
362 0x7a, 0x3a, 0x26, 0xd5, 0xe2, 0x6c, 0x97, 0xe4,
363 0x81, 0x67, 0x8f, 0xba, 0xea, 0xc2, 0xb0, 0x20,
364 0x53, 0xa9, 0xf8, 0xdf, 0x95, 0x00, 0xa6, 0x52,
365 0x3e, 0x20, 0x3c, 0x1b, 0x66, 0xc3, 0x48, 0x22,
366 0xf4, 0x8d, 0x3a, 0xb5, 0x02, 0xaa, 0xa0, 0x01,
367 };
368
test_init_pubkey(rk_rsa_pub_key_pack * pub,uint32_t nbits)369 RK_RES test_init_pubkey(rk_rsa_pub_key_pack *pub, uint32_t nbits)
370 {
371 memset(pub, 0x00, sizeof(*pub));
372
373 pub->key_type = RK_RSA_KEY_TYPE_PLAIN;
374
375 if (nbits == RSA_BITS_1024) {
376 pub->key.n = rsa_1024_n;
377 pub->key.n_len = sizeof(rsa_1024_n);
378 pub->key.e = rsa_1024_e;
379 pub->key.e_len = sizeof(rsa_1024_e);
380
381 } else if (nbits == RSA_BITS_2048) {
382 pub->key.n = rsa_2048_n;
383 pub->key.n_len = sizeof(rsa_2048_n);
384 pub->key.e = rsa_2048_e;
385 pub->key.e_len = sizeof(rsa_2048_e);
386 } else if (nbits == RSA_BITS_3072) {
387 pub->key.n = rsa_3072_n;
388 pub->key.n_len = sizeof(rsa_3072_n);
389 pub->key.e = rsa_3072_e;
390 pub->key.e_len = sizeof(rsa_3072_e);
391 } else if (nbits == RSA_BITS_4096) {
392 pub->key.n = rsa_4096_n;
393 pub->key.n_len = sizeof(rsa_4096_n);
394 pub->key.e = rsa_4096_e;
395 pub->key.e_len = sizeof(rsa_4096_e);
396 } else {
397 return RK_CRYPTO_ERR_PARAMETER;
398 }
399
400 return RK_CRYPTO_SUCCESS;
401 }
402
test_init_privkey(rk_rsa_priv_key_pack * priv,uint32_t nbits)403 RK_RES test_init_privkey(rk_rsa_priv_key_pack *priv, uint32_t nbits)
404 {
405 memset(priv, 0x00, sizeof(*priv));
406
407 priv->key_type = RK_RSA_KEY_TYPE_PLAIN;
408
409 if (nbits == RSA_BITS_1024) {
410 priv->key.n = rsa_1024_n;
411 priv->key.n_len = sizeof(rsa_1024_n);
412 priv->key.e = rsa_1024_e;
413 priv->key.e_len = sizeof(rsa_1024_e);
414 priv->key.d = rsa_1024_d;
415 priv->key.d_len = sizeof(rsa_1024_d);
416 } else if (nbits == RSA_BITS_2048) {
417 priv->key.n = rsa_2048_n;
418 priv->key.n_len = sizeof(rsa_2048_n);
419 priv->key.e = rsa_2048_e;
420 priv->key.e_len = sizeof(rsa_2048_e);
421 priv->key.d = rsa_2048_d;
422 priv->key.d_len = sizeof(rsa_2048_d);
423 } else if (nbits == RSA_BITS_3072) {
424 priv->key.n = rsa_3072_n;
425 priv->key.n_len = sizeof(rsa_3072_n);
426 priv->key.e = rsa_3072_e;
427 priv->key.e_len = sizeof(rsa_3072_e);
428 priv->key.d = rsa_3072_d;
429 priv->key.d_len = sizeof(rsa_3072_d);
430 } else if (nbits == RSA_BITS_4096) {
431 priv->key.n = rsa_4096_n;
432 priv->key.n_len = sizeof(rsa_4096_n);
433 priv->key.e = rsa_4096_e;
434 priv->key.e_len = sizeof(rsa_4096_e);
435 priv->key.d = rsa_4096_d;
436 priv->key.d_len = sizeof(rsa_4096_d);
437 } else {
438 return RK_CRYPTO_ERR_PARAMETER;
439 }
440
441 return RK_CRYPTO_SUCCESS;
442 }
443
444