Go to the source code of this file.
|
| sdrv_crypto_error_status_e | cmd_eccp_point_doubling (uint8_t curve_id, uint8_t *G_x_y, uint8_t *output_x_y) |
| |
| 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) |
| |
| 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) |
| |
| sdrv_crypto_error_status_e | cmd_eccp_point_verify (uint8_t curve_id, uint8_t *G_x_y) |
| |
| 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) |
| |
| 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) |
| |
| 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) |
| |
| 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) |
| |
- Copyright
- Copyright (c) 2021 Semidrive Semiconductor. All rights reserved.
◆ ECDSA_RAND_TEST
◆ ECDSA_RAND_TEST_COUNT
| #define ECDSA_RAND_TEST_COUNT (2) |
◆ crypto_ECCcurvetype
ECC curve type.
| Enumerator |
|---|
| SECP192R1 | |
| SECP224R1 | |
| SECP256R1 | |
| SECP384R1 | |
| SECP521R1 | |
◆ cmd_eccp_ecdh_exchange_key()
| 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
This function for ecdh exchange key.
- Parameters
-
| [in] | curve_id | curved id |
| [in] | key_len | key len |
| [out] | KA | key buff |
| [in] | pubkey_B | PeerPubKey buff |
| [in] | prikey_A | selfPrikey buff |
| [in] | ecdh_key_type | selfPrikey type |
| [in] | ecdh_key_id | for enc key |
| [in] | output_key_type | output key type |
| [in] | output_key_id | for enc key |
| [in] | mac_buf | key_id mac buf |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_ecdh_generate_keypair()
eccp generate ecdh keypair
This function generate ecdh keypair.
- Parameters
-
| [in] | curve_id | curved id |
| [out] | prikey | prikey buff |
| [out] | pubkey | pubkey buff |
| [in] | generate_key_type | pri and pub key output type |
| [in] | generate_key_id | for enc key |
| [in] | mac_buf | key_id mac buf |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_ecdsa_gen_signature()
| 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
This function for ecdsa gen signature.
- Parameters
-
| [in] | curve_id | curved id |
| [in] | e | e value |
| [out] | e_len | e len |
| [in] | sign_key_type | sign key type |
| [in] | sign_key_id | sign key id |
| [in] | prikey | prikey value |
| [out] | signature | signature value |
| [in] | mac_buf | key_id mac buf |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_ecdsa_verify_signature()
| 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
This function verify eccp point.
- Parameters
-
| [in] | curve_id | curved id |
| [in] | e | e value |
| [out] | e_len | e len |
| [in] | pubkey | pubkey value |
| [in] | signature | signature value |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_point_addition()
| 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
This function get eccp point addition.
- Parameters
-
| [in] | curve_id | curve_id |
| [in] | kG_x_y | kG_x_y buff |
| [in] | dblG_x_y | dblG_x_y buff |
| [out] | output_x_y | out buff |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_point_doubling()
eccp point doubling
This function get eccp point doubling.
- Parameters
-
| [in] | curve_id | curve_id |
| [in] | G_x_y | curve xy buff |
| [out] | output_x_y | out buff |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_point_multiplication()
eccp point multplication
This function get eccp point multplication.
- Parameters
-
| [in] | curve_id | curved id |
| [in] | G_x_y | point value |
| [in] | k | scalar value |
| [out] | output_x_y | out buff |
- Returns
- CMD_RETURN_SUCCESS or error code.
◆ cmd_eccp_point_verify()
eccp point verify
This function verify eccp point.
- Parameters
-
| [in] | curve_id | curved id |
| [in] | G_x_y | point value |
- Returns
- CMD_RETURN_SUCCESS or error code.