SemiDrive SSDK Appication Program Interface PTG3.0
Data Structures | Functions
sdrv_crypto_mailbox_sm2.h File Reference
#include "sdrv_crypto_mailbox_common.h"
#include "sdrv_crypto_mailbox_trng.h"

Go to the source code of this file.

Data Structures

struct  cmd_sm2_getZ_t
 
struct  cmd_sm2_getE_t
 
struct  cmd_sm2_generatekey_t
 
struct  cmd_sm2_get_pubkey_from_prikey_t
 
struct  cmd_sm2_generatesignature_t
 
struct  cmd_sm2_verifysignature_t
 
struct  cmd_sm2_encrypt_t
 
struct  cmd_sm2_decrypt_t
 
struct  sm2_exc_key_input_ptr_t
 
struct  cmd_sm2_exchangekey_keyinfo_t
 
struct  cmd_sm2_exchangekey_t
 

Functions

sdrv_crypto_error_status_e cmd_sm2_get_z (uint8_t *id, uint32_t id_len, uint8_t *pubkey, uint8_t *z_buf)
 
sdrv_crypto_error_status_e cmd_sm2_get_e (uint8_t *msg, uint32_t msg_len, uint8_t *z_buf, uint8_t *e_buf)
 
sdrv_crypto_error_status_e cmd_sm2_get_pubkey_from_prikey (uint8_t *prikey, uint8_t *pubkey)
 
sdrv_crypto_error_status_e cmd_sm2_generatekey (cmd_key_type_e generate_key_type, uint16_t generate_key_id, uint8_t *prikey, uint8_t *pubkey, uint8_t *mac_buf)
 
sdrv_crypto_error_status_e cmd_sm2_sign (uint8_t *e, uint8_t *prikey, cmd_key_type_e generate_sign_key_type, uint16_t generate_sign_key_id, uint8_t *signature, uint8_t *mac_buf)
 
sdrv_crypto_error_status_e cmd_sm2_verify (uint8_t *e, uint8_t *pubkey, uint8_t *signature)
 
sdrv_crypto_error_status_e cmd_sm2_enc (uint8_t *msg, uint32_t msg_len, uint8_t *pubkey, uint8_t *cipher)
 
sdrv_crypto_error_status_e cmd_sm2_dec (uint8_t *prikey, uint8_t *msg, uint8_t *cipher, uint32_t cipher_len, cmd_key_type_e decrypt_key_type, uint16_t decrypt_key_id, uint8_t *mac_buf)
 
sdrv_crypto_error_status_e cmd_sm2_set_exckey_input_ptr (uint8_t *dA, uint8_t *RA, uint8_t *rA, uint8_t *RB, uint8_t *PB, uint8_t *ZA, uint8_t *ZB, sm2_exc_key_input_ptr_t *cmd_sm2_exc_key_input)
 
sdrv_crypto_error_status_e cmd_sm2_exchange_key (cmd_sm2_exchange_role_e role, cmd_sm2_exchangekey_keyinfo_t *cmd_sm2_exckey_keyinfo, sm2_exc_key_input_ptr_t *cmd_sm2_exc_key_input, uint32_t kbytelen, uint8_t *S1, uint8_t *SA, uint8_t *KA, uint8_t *mac_buf)
 

Detailed Description

Enumeration Type Documentation

◆ cmd_sm2_exchange_role_e

CRYPTO role of sm2 exchange.

Enumerator
CMD_SM2_ROLE_SPONSOR 
CMD_SM2_ROLE_RESPONSOR 
CMD_SM2_ROLE_MAX 

Function Documentation

◆ cmd_sm2_dec()

sdrv_crypto_error_status_e cmd_sm2_dec ( uint8_t *  prikey,
uint8_t *  msg,
uint8_t *  cipher,
uint32_t  cipher_len,
cmd_key_type_e  decrypt_key_type,
uint16_t  decrypt_key_id,
uint8_t *  mac_buf 
)

sm2 dec

This function sm2 dec

Parameters
[in]prikeyprikey buff
[out]msgmsg buff
[in]ciphercipher buff
[in]cipher_lencipher_len
[in]decrypt_key_typekey type
[in]decrypt_key_idkey id
[in]mac_buffmac buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_enc()

sdrv_crypto_error_status_e cmd_sm2_enc ( uint8_t *  msg,
uint32_t  msg_len,
uint8_t *  pubkey,
uint8_t *  cipher 
)

sm2 enc

This function sm2 enc

Parameters
[in]msgmsg buff
[in]msg_lenmsg_len
[in]pubkeypubkey buff
[out]ciphercipher buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_exchange_key()

sdrv_crypto_error_status_e cmd_sm2_exchange_key ( cmd_sm2_exchange_role_e  role,
cmd_sm2_exchangekey_keyinfo_t cmd_sm2_exckey_keyinfo,
sm2_exc_key_input_ptr_t cmd_sm2_exc_key_input,
uint32_t  kbytelen,
uint8_t *  S1,
uint8_t *  SA,
uint8_t *  KA,
uint8_t *  mac_buf 
)

sm2 exchange key

This function exchange key, mac_buf len is CMD_BASIC_TWO_KEY_MAC_BUFF_LEN 64

Parameters
[in]roleexchange key role
[in]cmd_sm2_exckey_keyinfoexckey keyinfo
[in]cmd_sm2_exc_key_inputexckey key input
[in]kbytelenkbytelen
[in]S1S1 buff
[in]SASA buff
[out]KAKA buff
[in]mac_buffmac buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_generatekey()

sdrv_crypto_error_status_e cmd_sm2_generatekey ( cmd_key_type_e  generate_key_type,
uint16_t  generate_key_id,
uint8_t *  prikey,
uint8_t *  pubkey,
uint8_t *  mac_buf 
)

sm2 generatekey

This function sm2 generatekey.

Parameters
[in]generate_key_typeout put key type
[in]generate_key_idenc key id
[out]prikeyprikey buff
[out]pubkeypubkey buff
[in]mac_bufmac buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_get_e()

sdrv_crypto_error_status_e cmd_sm2_get_e ( uint8_t *  msg,
uint32_t  msg_len,
uint8_t *  z_buf,
uint8_t *  e_buf 
)

get e value

This function sm2 get e value

Parameters
[in]msgmsg buff
[in]msg_lenmsg len
[in]z_buffz buff
[out]e_buffout buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_get_pubkey_from_prikey()

sdrv_crypto_error_status_e cmd_sm2_get_pubkey_from_prikey ( uint8_t *  prikey,
uint8_t *  pubkey 
)

sm2 get pubkey

This function get pubkey from prikey.

Parameters
[in]prikeyprikey buff
[out]pubkeyout buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_get_z()

sdrv_crypto_error_status_e cmd_sm2_get_z ( uint8_t *  id,
uint32_t  id_len,
uint8_t *  pubkey,
uint8_t *  z_buf 
)

sm2 get z value

This function get z.

Parameters
[in]idid buff
[in]id_lenid len
[in]pubkeypubkey buff
[out]z_buffout buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_set_exckey_input_ptr()

sdrv_crypto_error_status_e cmd_sm2_set_exckey_input_ptr ( uint8_t *  dA,
uint8_t *  RA,
uint8_t *  rA,
uint8_t *  RB,
uint8_t *  PB,
uint8_t *  ZA,
uint8_t *  ZB,
sm2_exc_key_input_ptr_t cmd_sm2_exc_key_input 
)

sm2 set exckey value

This function set exckey value

Parameters
[in]dAdA buff
[in]RARA buff
[in]rArA buff
[in]RBRB buff
[in]PBPB buff
[in]ZAZA buff
[in]ZBZB buff
[out]cmd_sm2_exc_key_inputexc_key_input buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_sign()

sdrv_crypto_error_status_e cmd_sm2_sign ( uint8_t *  e,
uint8_t *  prikey,
cmd_key_type_e  generate_sign_key_type,
uint16_t  generate_sign_key_id,
uint8_t *  signature,
uint8_t *  mac_buf 
)

sm2 sign

This function sm2 sign

Parameters
[in]ee buff
[in]prikeyprikey buff
[in]generate_sign_key_typesign key type
[in]generate_sign_key_idsign key id
[out]signaturesignature buff
[in]mac_bufmac buff
Returns
CMD_RETURN_SUCCESS or error code

◆ cmd_sm2_verify()

sdrv_crypto_error_status_e cmd_sm2_verify ( uint8_t *  e,
uint8_t *  pubkey,
uint8_t *  signature 
)

sm2 verify

This function sm2 verify

Parameters
[in]ee buff
[in]pubkeypubkey buff
[out]signaturesignature buff
Returns
CMD_RETURN_SUCCESS or error code