SemiDrive SSDK Appication Program Interface PTG3.0
sdrv_crypto_mailbox_rsa.h
Go to the documentation of this file.
1
9#ifndef SDRV_CRYPTO_MAILBOX_RSA_H
10#define SDRV_CRYPTO_MAILBOX_RSA_H
11
14
18typedef struct {
19 uint8_t cmd_id;
20 uint8_t rev1[1];
21 uint8_t prime_len[2];
22 uint8_t prime_ptr[4];
24
28typedef struct {
29 uint8_t cmd_id;
30 uint8_t rev1[3];
31 uint8_t e_len[2];
32 uint8_t n_len[2];
33 uint8_t e_ptr[4];
34 uint8_t rev2[2];
35 uint8_t key_id[2];
36 uint8_t d_ptr[4];
37 uint8_t n_ptr[4];
38 uint8_t aut_info_ptr[4];
40
44typedef struct {
45 uint8_t p_ptr[4];
46 uint8_t q_ptr[4];
47 uint8_t dp_ptr[4];
48 uint8_t dq_ptr[4];
49 uint8_t u_ptr[4];
51
55typedef struct {
56 uint8_t cmd_id;
57 uint8_t rev1[3];
58 uint8_t e_len[2];
59 uint8_t n_len[2];
60 uint8_t e_ptr[4];
61 uint8_t rev2[2];
62 uint8_t key_id[2];
63 uint8_t priKey_ptr[4];
64 uint8_t n_ptr[4];
65 uint8_t aut_info_ptr[4];
67
71typedef struct {
72 uint8_t cmd_id;
73 uint8_t rev1[1];
74 uint8_t n_len[2];
75 uint8_t data_ptr[4];
76 uint8_t e_ptr[4];
77 uint8_t n_ptr[4];
78 uint8_t cipher_ptr[4];
80
84typedef struct {
85 uint8_t cmd_id;
87 uint8_t n_len[2];
88 uint8_t cipher_ptr[4];
89 uint8_t rev2[2];
90 uint8_t key_id[2];
91 uint8_t e_ptr[4];
92 uint8_t d_ptr[4];
93 uint8_t n_ptr[4];
94 uint8_t data_ptr[4];
95 uint8_t aut_info_ptr[4];
97
101typedef struct {
102 uint8_t cmd_id;
104 uint8_t n_len[2];
105 uint8_t cipher_ptr[4];
106 uint8_t rev2[2];
107 uint8_t key_id[2];
108 uint8_t e_ptr[4];
109 uint8_t priKey_ptr[4];
110 uint8_t data_ptr[4];
111 uint8_t aut_info_ptr[4];
113
117typedef struct {
118 uint8_t cmd_id;
120 uint8_t n_len[2];
121 uint8_t data_ptr[4];
122 uint8_t rev2[2];
123 uint8_t key_id[2];
124 uint8_t e_ptr[4];
125 uint8_t d_ptr[4];
126 uint8_t n_ptr[4];
127 uint8_t signature_ptr[4];
128 uint8_t aut_info_ptr[4];
130
134typedef struct {
135 uint8_t cmd_id;
137 uint8_t n_len[2];
138 uint8_t data_ptr[4];
139 uint8_t rev2[2];
140 uint8_t key_id[2];
141 uint8_t e_ptr[4];
142 uint8_t priKey_ptr[4];
143 uint8_t signature_ptr[4];
144 uint8_t aut_info_ptr[4];
146
150typedef struct {
151 uint8_t cmd_id;
152 uint8_t rev1[1];
153 uint8_t n_len[2];
154 uint8_t data_ptr[4];
155 uint8_t e_ptr[4];
156 uint8_t n_ptr[4];
157 uint8_t signature_ptr[4];
159
170 uint8_t *prime);
171
188 uint16_t ebitlen, uint16_t nbitlen,
189 cmd_key_type_e generate_key_type,
190 uint16_t generate_key_id, uint8_t *n,
191 uint8_t *e, uint8_t *d, uint8_t *mac_buf);
192
205sdrv_crypto_error_status_e cmd_rsa_encrypt(uint8_t *msg, uint8_t *e, uint8_t *n,
206 uint32_t nbitlen, uint8_t *out);
207
225 uint8_t *e, uint8_t *n,
226 uint32_t nbitlen, uint8_t *cipher,
227 cmd_key_type_e decrypt_key_type,
228 uint16_t decrypt_key_id,
229 uint8_t *mac_buf);
230
248 uint8_t *msg, uint8_t *d, uint8_t *e, uint8_t *n,
249 uint32_t nbitlen, uint8_t *out,
250 cmd_key_type_e sign_key_type,
251 uint16_t sign_key_id, uint8_t *mac_buf);
252
266 uint8_t *e,
267 uint8_t *n,
268 uint32_t nbitlen,
269 uint8_t *sign);
270
285 uint8_t *p, uint8_t *q, uint8_t *dp, uint8_t *dq,
286 uint8_t *u, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key);
287
304 uint16_t ebitlen, uint16_t nbitlen, cmd_key_type_e generate_key_type,
305 uint16_t generate_key_id, uint8_t *n, uint8_t *e,
306 rsa_crt_pri_key_ptr_t *rsa_crt_pri_key, uint8_t *mac_buf);
307
325 uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen,
326 uint8_t *out, cmd_key_type_e decrypt_key_type,
327 uint16_t decrypt_key_id, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key,
328 uint8_t *mac_buf);
329
347 uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen,
348 uint8_t *out, cmd_key_type_e sign_key_type,
349 uint16_t sign_key_id, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key,
350 uint8_t *mac_buf);
351
352#endif
unsigned char u[1]
Definition: logo_rgb565.h:32916
SemiDrive CRYPTO mailbox common api header file.
cmd_key_type_e
CRYPTO key type.
Definition: sdrv_crypto_mailbox_common.h:133
sdrv_crypto_error_status_e cmd_rsa_crt_decrypt(uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *out, cmd_key_type_e decrypt_key_type, uint16_t decrypt_key_id, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key, uint8_t *mac_buf)
rsa crt decrypt
sdrv_crypto_error_status_e cmd_rsa_get_prime(uint16_t primebitlen, uint8_t *prime)
get prime
sdrv_crypto_error_status_e cmd_rsa_crt_generate_signature(uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *out, cmd_key_type_e sign_key_type, uint16_t sign_key_id, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key, uint8_t *mac_buf)
rsa crt generate sign
sdrv_crypto_error_status_e cmd_rsa_encrypt(uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *out)
rsa encrypt
sdrv_crypto_error_status_e cmd_rsa_generate_crt_key(uint16_t ebitlen, uint16_t nbitlen, cmd_key_type_e generate_key_type, uint16_t generate_key_id, uint8_t *n, uint8_t *e, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key, uint8_t *mac_buf)
rsa generate crt key
sdrv_crypto_error_status_e cmd_rsa_generate_key(uint16_t ebitlen, uint16_t nbitlen, cmd_key_type_e generate_key_type, uint16_t generate_key_id, uint8_t *n, uint8_t *e, uint8_t *d, uint8_t *mac_buf)
generate rsa key
sdrv_crypto_error_status_e cmd_rsa_set_crt_prikey_ptr(uint8_t *p, uint8_t *q, uint8_t *dp, uint8_t *dq, uint8_t *u, rsa_crt_pri_key_ptr_t *rsa_crt_pri_key)
set prikey ptr
sdrv_crypto_error_status_e cmd_rsa_generate_signature(uint8_t *msg, uint8_t *d, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *out, cmd_key_type_e sign_key_type, uint16_t sign_key_id, uint8_t *mac_buf)
rsa generate sign
sdrv_crypto_error_status_e cmd_rsa_verify_signature(uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *sign)
rsa verify signature
sdrv_crypto_error_status_e cmd_rsa_decrypt(uint8_t *plain, uint8_t *d, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *cipher, cmd_key_type_e decrypt_key_type, uint16_t decrypt_key_id, uint8_t *mac_buf)
rsa decrypt
crypto mailbox trng cmd interface
enum sdrv_crypto_error_status sdrv_crypto_error_status_e
CRYPTO error status return codes.
CRYPTO cmd of rsa CRT decrypt.
Definition: sdrv_crypto_mailbox_rsa.h:101
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:102
uint8_t need_high_sec_ver
Definition: sdrv_crypto_mailbox_rsa.h:103
CRYPTO cmd of rsa CRT generate signature.
Definition: sdrv_crypto_mailbox_rsa.h:134
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:135
uint8_t need_high_sec_ver
Definition: sdrv_crypto_mailbox_rsa.h:136
CRYPTO cmd of rsa decrypt.
Definition: sdrv_crypto_mailbox_rsa.h:84
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:85
uint8_t need_high_sec_ver
Definition: sdrv_crypto_mailbox_rsa.h:86
CRYPTO cmd of rsa encrypt.
Definition: sdrv_crypto_mailbox_rsa.h:71
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:72
CRYPTO cmd of rsa generate signature.
Definition: sdrv_crypto_mailbox_rsa.h:117
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:118
uint8_t need_high_sec_ver
Definition: sdrv_crypto_mailbox_rsa.h:119
CRYPTO cmd of rsa generate CRTkey.
Definition: sdrv_crypto_mailbox_rsa.h:55
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:56
CRYPTO cmd of rsa generate key.
Definition: sdrv_crypto_mailbox_rsa.h:28
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:29
CRYPTO cmd of rsa get prime.
Definition: sdrv_crypto_mailbox_rsa.h:18
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:19
CRYPTO cmd of rsa verify.
Definition: sdrv_crypto_mailbox_rsa.h:150
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_rsa.h:151
rsa crt prikey pointer.
Definition: sdrv_crypto_mailbox_rsa.h:44