SemiDrive SSDK Appication Program Interface PTG3.0
Data Structures | Functions
sdrv_crypto_mailbox_rsa.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_rsa_getprime_t
 
struct  cmd_rsa_generatekey_t
 
struct  rsa_crt_pri_key_ptr_t
 
struct  cmd_rsa_generateCRTkey_t
 
struct  cmd_rsa_encrypt_t
 
struct  cmd_rsa_decrypt_t
 
struct  cmd_rsa_CRT_decrypt_t
 
struct  cmd_rsa_generate_signature_t
 
struct  cmd_rsa_CRT_generate_signature_t
 
struct  cmd_rsa_verify_t
 

Functions

sdrv_crypto_error_status_e cmd_rsa_get_prime (uint16_t primebitlen, uint8_t *prime)
 
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)
 
sdrv_crypto_error_status_e cmd_rsa_encrypt (uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *out)
 
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)
 
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)
 
sdrv_crypto_error_status_e cmd_rsa_verify_signature (uint8_t *msg, uint8_t *e, uint8_t *n, uint32_t nbitlen, uint8_t *sign)
 
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)
 
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)
 
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)
 
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)
 

Detailed Description

Function Documentation

◆ cmd_rsa_crt_decrypt()

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

This function rsa crt decrypt.

Parameters
[in]msgmsg buff
[in]ee buff
[in]nn buff
[in]nbitlenn bit len
[out]outout buff
[in]decrypt_key_typedec key type
[in]decrypt_key_iddec key id
[in]rsa_crt_pri_keyrsa_crt_pri_key buff
[in]mac_bufout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_crt_generate_signature()

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

This function rsa crt generate sign

Parameters
[in]msgmsg buff
[in]ee buff
[in]nn buff
[in]nbitlenn bit len
[out]outout buff
[in]sign_key_typesign key type
[in]sign_key_idsign key id
[in]rsa_crt_pri_keyrsa_crt_pri_key buff
[in]mac_bufout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_decrypt()

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

This function decrypt.

Parameters
[out]plainplain buff
[in]dd buff
[in]ee buff
[in]nn buff
[in]nbitlenn bit len
[in]ciphercipher buff
[in]decrypt_key_typedec key type
[in]decrypt_key_iddec key id
[in]mac_bufout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_encrypt()

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

This function encrypt , msg_len is same with n bitlen

Parameters
[in]msgmsg buff
[in]ee buff
[in]nn buff
[in]nbitlenn bit len
[out]outout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_generate_crt_key()

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

This function get crt key.

Parameters
[in]ebitlene bit len
[in]nbitlenn bit len
[in]generate_key_typeout put key type
[in]generate_key_idenc key id
[in]nn buff
[in]ee buff
[in]rsa_crt_pri_keyrsa_crt_pri_key buff
[in]mac_bufout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_generate_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

This function generate ras key.

Parameters
[in]ebitlene bit len
[in]nbitlenn bit len
[in]generate_key_typeout put key type
[in]generate_key_idenc key id
[out]nn buff
[out]ee buff
[out]dd buff
[in]mac_bufmac buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_generate_signature()

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

This function generate signature.

Parameters
[in]msgmsg buff
[in]dd buff
[in]ee buff
[in]nn buff
[in]nbitlenn bit len
[out]outout buff
[in]sign_key_typesign key type
[in]sign_key_idsign key id
[in]mac_bufout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_get_prime()

sdrv_crypto_error_status_e cmd_rsa_get_prime ( uint16_t  primebitlen,
uint8_t *  prime 
)

get prime

This function get prime

Parameters
[in]primebitlenprime len
[out]primeout buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_set_crt_prikey_ptr()

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

This function set crt prikey

Parameters
[in]pp buff
[in]qq buff
[in]dpdp buff
[in]dqdq buff
[in]uu buff
[in]rsa_crt_pri_keyrsa_crt_pri_key buff
Returns
CMD_RETURN_SUCCESS or error code.

◆ cmd_rsa_verify_signature()

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

This function verify sign

Parameters
[in]msgmsg buff
[in]ee buff
[in]nn buff
[in]nbitlenn bit len
[in]signsign buff
Returns
CMD_RETURN_SUCCESS or error code.