9#ifndef SDRV_CRYPTO_MAILBOX_ECCP_H
10#define SDRV_CRYPTO_MAILBOX_ECCP_H
15#define ECDSA_RAND_TEST
16#define ECDSA_RAND_TEST_COUNT (2)
47 uint8_t inputPoint_ptr[4];
48 uint8_t outputPoint_ptr[4];
58 uint8_t inputPoint1_ptr[4];
59 uint8_t inputPoint2_ptr[4];
60 uint8_t outputPoint_ptr[4];
70 uint8_t inputScalar_ptr[4];
71 uint8_t inputPoint_ptr[4];
72 uint8_t outputPoint_ptr[4];
82 uint8_t inputPoint_ptr[4];
92 uint8_t pubKey_ptr[4];
93 uint8_t priKey_ptr[4];
94 uint8_t aut_info_ptr[4];
107 uint8_t selfPrikey_ptr[4];
108 uint8_t PeerPubKey_ptr[4];
112 uint8_t aut_info_ptr[4];
126 uint8_t priKey_ptr[4];
127 uint8_t signature_ptr[4];
128 uint8_t aut_info_ptr[4];
140 uint8_t pubKey_ptr[4];
141 uint8_t signature_ptr[4];
156 uint8_t *output_x_y);
172 uint8_t *output_x_y);
188 uint8_t *output_x_y);
216 uint8_t curve_id, uint8_t *prikey, uint8_t *pubkey,
239 uint8_t curve_id, uint8_t key_len, uint8_t *KA, uint8_t *pubkey_B,
240 uint8_t *prikey_A,
cmd_key_type_e ecdh_key_type, uint16_t ecdh_key_id,
241 cmd_key_type_e output_key_type, uint16_t output_key_id, uint8_t *mac_buf);
259 uint8_t curve_id, uint8_t *e, uint32_t e_len,
261 uint8_t *prikey, uint8_t *signature, uint8_t *mac_buf);
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_eccp_ecdh_generate_keypair(uint8_t curve_id, uint8_t *prikey, uint8_t *pubkey, cmd_key_type_e generate_key_type, uint16_t generate_key_id, uint8_t *mac_buf)
eccp generate ecdh keypair
sdrv_crypto_error_status_e cmd_eccp_ecdsa_gen_signature(uint8_t curve_id, uint8_t *e, uint32_t e_len, cmd_key_type_e sign_key_type, uint16_t sign_key_id, uint8_t *prikey, uint8_t *signature, uint8_t *mac_buf)
eccp ecdsa gen signature
sdrv_crypto_error_status_e cmd_eccp_point_verify(uint8_t curve_id, uint8_t *G_x_y)
eccp point verify
sdrv_crypto_error_status_e cmd_eccp_point_multiplication(uint8_t curve_id, uint8_t *G_x_y, uint8_t *k, uint8_t *output_x_y)
eccp point multplication
crypto_ECCcurvetype
ECC curve type.
Definition: sdrv_crypto_mailbox_eccp.h:32
@ SECP224R1
Definition: sdrv_crypto_mailbox_eccp.h:34
@ SECP192R1
Definition: sdrv_crypto_mailbox_eccp.h:33
@ SECP256R1
Definition: sdrv_crypto_mailbox_eccp.h:35
@ SECP521R1
Definition: sdrv_crypto_mailbox_eccp.h:37
@ SECP384R1
Definition: sdrv_crypto_mailbox_eccp.h:36
sdrv_crypto_error_status_e cmd_eccp_point_addition(uint8_t curve_id, uint8_t *kG_x_y, uint8_t *dblG_x_y, uint8_t *output_x_y)
eccp point addition
sdrv_crypto_error_status_e cmd_eccp_ecdh_exchange_key(uint8_t curve_id, uint8_t key_len, uint8_t *KA, uint8_t *pubkey_B, uint8_t *prikey_A, cmd_key_type_e ecdh_key_type, uint16_t ecdh_key_id, cmd_key_type_e output_key_type, uint16_t output_key_id, uint8_t *mac_buf)
ecdh exchange key
sdrv_crypto_error_status_e cmd_eccp_point_doubling(uint8_t curve_id, uint8_t *G_x_y, uint8_t *output_x_y)
eccp point doubling
sdrv_crypto_error_status_e cmd_eccp_ecdsa_verify_signature(uint8_t curve_id, uint8_t *e, uint32_t e_len, uint8_t *pubkey, uint8_t *signature)
eccp point verify
crypto mailbox trng cmd interface
enum sdrv_crypto_error_status sdrv_crypto_error_status_e
CRYPTO error status return codes.
CRYPTO cmd of eccp basic vectors.
Definition: sdrv_crypto_mailbox_eccp.h:21
uint8_t * kG_x_y
Definition: sdrv_crypto_mailbox_eccp.h:24
uint8_t * G_x_y
Definition: sdrv_crypto_mailbox_eccp.h:22
uint8_t * dblG_x_y
Definition: sdrv_crypto_mailbox_eccp.h:25
uint8_t * k
Definition: sdrv_crypto_mailbox_eccp.h:23
uint8_t * kG_plus_dblG_x_y
Definition: sdrv_crypto_mailbox_eccp.h:26
CRYPTO cmd of eccp generate key.
Definition: sdrv_crypto_mailbox_eccp.h:88
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:90
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:89
CRYPTO cmd of eccp point addition.
Definition: sdrv_crypto_mailbox_eccp.h:54
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:57
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:55
CRYPTO cmd of eccp point doubling.
Definition: sdrv_crypto_mailbox_eccp.h:43
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:46
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:44
CRYPTO cmd of eccp point multiplication.
Definition: sdrv_crypto_mailbox_eccp.h:66
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:69
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:67
CRYPTO cmd of eccp point verifying.
Definition: sdrv_crypto_mailbox_eccp.h:78
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:81
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:79
CRYPTO cmd of ecdh exchange key.
Definition: sdrv_crypto_mailbox_eccp.h:100
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:103
uint8_t key_len
Definition: sdrv_crypto_mailbox_eccp.h:104
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:101
CRYPTO cmd of ecdsa generate signature.
Definition: sdrv_crypto_mailbox_eccp.h:118
uint8_t e_len
Definition: sdrv_crypto_mailbox_eccp.h:122
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:121
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:119
CRYPTO cmd of ecdsa verify signature.
Definition: sdrv_crypto_mailbox_eccp.h:134
uint8_t e_len
Definition: sdrv_crypto_mailbox_eccp.h:138
uint8_t curve_id
Definition: sdrv_crypto_mailbox_eccp.h:137
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_eccp.h:135