![]() |
Synergy Software Package User's Manual
|
#include <sf_crypto_key_api.h>
Data Fields | |
| ssp_err_t(* | open )(sf_crypto_key_ctrl_t *const p_ctrl, sf_crypto_key_cfg_t const *const p_cfg) |
| ssp_err_t(* | close )(sf_crypto_key_ctrl_t *const p_ctrl) |
| ssp_err_t(* | keyGenerate )(sf_crypto_key_ctrl_t *const p_ctrl, sf_crypto_key_t *const p_secret_key, sf_crypto_key_t *const p_public_key) |
| ssp_err_t(* | EcdhSharedSecretCompute )(sf_crypto_key_ctrl_t *const p_ctrl, sf_crypto_key_t *const p_local_secret_key, sf_crypto_key_t *const p_remote_public_key, sf_crypto_key_t *const p_shared_secret) |
| ssp_err_t(* | versionGet )(ssp_version_t *const p_version) |
Shared Interface definition for the SSP SSP Crypto framework
| ssp_err_t(* sf_crypto_key_api_t::close) (sf_crypto_key_ctrl_t *const p_ctrl) |
Close SSP Crypto Key framework.
| [in,out] | p_ctrl | Pointer to Crypto Key Framework control block structure. |
| ssp_err_t(* sf_crypto_key_api_t::EcdhSharedSecretCompute) (sf_crypto_key_ctrl_t *const p_ctrl, sf_crypto_key_t *const p_local_secret_key, sf_crypto_key_t *const p_remote_public_key, sf_crypto_key_t *const p_shared_secret) |
Perform scalar multiplication for ECC algorithms only. This is a blocking call.
| [in] | p_ctrl | Pointer to Crypto Key Framework control block structure. |
| [in] | p_local_secret_key | Pointer to a secret key structure. The pointer to the secret key and it's length in bytes, are to be populated on input. Refer to r_ecc_api.h for ECC key sizes. p_secret_key should be WORD aligned. The memory allocation to store the secret key is user's responsibility. |
| [in] | p_remote_public_key | pointer to a point on the curve data. The pointer to the point on curve data and its length in bytes, are to be populated on input. Refer to r_ecc_api.h for ECC point on curve sizes. p_point_on_curve should be WORD aligned. The memory allocation to store the point on curve data is user's responsibility. |
| [in,out] | p_shared_secret | The pointer to the buffer and it's length in bytes, are to be populated on input. On success the resultant point on curve data and it's length in bytes, are returned. Refer to r_ecc_api.h for ECC public key sizes. p_resultant_vector should be WORD aligned. The memory allocation to store the resultant point on curve data is user's responsibility. |
| ssp_err_t(* sf_crypto_key_api_t::keyGenerate) (sf_crypto_key_ctrl_t *const p_ctrl, sf_crypto_key_t *const p_secret_key, sf_crypto_key_t *const p_public_key) |
Generate a key. This is a blocking call.
| [in] | p_ctrl | Pointer to Crypto Key Framework control block structure. |
| [in,out] | p_secret_key | Pointer to a secret key structure. The pointer to the buffer and it's length in bytes, are to be populated on input. On success the key and it's length in bytes, are returned. Refer to r_rsa_api.h for RSA secret key sizes. Refer to r_aes_api.h for AES key sizes. Refer to r_ecc_api.h for ECC key sizes. p_secret_key should be WORD aligned. The memory allocation to store the secret key is user's responsibility. |
| [in,out] | p_public_key | Pointer to a public key structure. The pointer to the buffer and it's length in bytes, are to be populated on input. On success the key and it's length in bytes, are returned. Refer to r_rsa_api.h for RSA public key sizes. Refer to r_ecc_api.h for ECC public key sizes. Should set to NULL for AES. p_public_key should be WORD aligned. The memory allocation to store the public key is user's responsibility. |
| ssp_err_t(* sf_crypto_key_api_t::open) (sf_crypto_key_ctrl_t *const p_ctrl, sf_crypto_key_cfg_t const *const p_cfg) |
Open SSP Crypto Key framework for subsequent call / Key generation.
| [in,out] | p_ctrl | Pointer to Crypto Key Framework control block structure. |
| [in] | p_cfg | Pointer to sf_crypto_key_cfg_t configuration structure. All elements of this structure must be set by user. |
| ssp_err_t(* sf_crypto_key_api_t::versionGet) (ssp_version_t *const p_version) |
Get version of SSP Crypto Key framework.
| [out] | p_version | Pointer to the memory to store the module version. |