![]() |
RA Flexible Software Package Documentation
Release v5.7.0
|
|
Interface for Secure Crypto Engine (SCE) functions.
The SCE interface provides SCE functionality.
The SCE interface can be implemented by:
Data Structures | |
struct | sce_byte_data_t |
struct | sce_aes_wrapped_key_t |
struct | sce_hmac_sha_wrapped_key_t |
struct | sce_rsa1024_public_wrapped_key_t |
struct | sce_rsa1024_private_wrapped_key_t |
struct | sce_rsa2048_public_wrapped_key_t |
struct | sce_rsa2048_private_wrapped_key_t |
struct | sce_rsa3072_public_wrapped_key_t |
struct | sce_rsa4096_public_wrapped_key_t |
struct | sce_rsa1024_wrapped_pair_key_t |
struct | sce_rsa2048_wrapped_pair_key_t |
struct | sce_ecc_public_wrapped_key_t |
struct | sce_ecc_private_wrapped_key_t |
struct | sce_ecc_wrapped_pair_key_t |
struct | sce_ecdh_wrapped_key_t |
struct | sce_key_update_key_t |
struct | sce_aes_handle_t |
struct | sce_gcm_handle_t |
struct | sce_ccm_handle_t |
struct | sce_cmac_handle_t |
struct | sce_sha_md5_handle_t |
struct | sce_hmac_sha_handle_t |
struct | sce_ecdh_handle_t |
struct | sce_cfg_t |
struct | sce_api_t |
struct | sce_instance_t |
Typedefs | |
typedef sce_byte_data_t | sce_rsa_byte_data_t |
byte data More... | |
typedef sce_byte_data_t | sce_ecdsa_byte_data_t |
byte data More... | |
typedef void | sce_ctrl_t |
struct sce_byte_data_t |
struct sce_aes_wrapped_key_t |
struct sce_hmac_sha_wrapped_key_t |
struct sce_rsa1024_public_wrapped_key_t |
RSA 1024bit public wrapped key data structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | type | key type |
struct sce_rsa1024_public_wrapped_key_t | value |
struct sce_rsa1024_private_wrapped_key_t |
RSA 1024bit private wrapped key data structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | type | key type |
struct sce_rsa1024_private_wrapped_key_t | value |
struct sce_rsa2048_public_wrapped_key_t |
RSA 2048bit public wrapped key data structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | type | Key type. |
struct sce_rsa2048_public_wrapped_key_t | value |
struct sce_rsa2048_private_wrapped_key_t |
RSA 2048bit private wrapped key data structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | type | key type |
struct sce_rsa2048_private_wrapped_key_t | value |
struct sce_rsa3072_public_wrapped_key_t |
RSA 3072bit public wrapped key data structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | type | Key type. |
struct sce_rsa3072_public_wrapped_key_t | value |
struct sce_rsa4096_public_wrapped_key_t |
RSA 4096bit public wrapped key data structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | type | Key type. |
struct sce_rsa4096_public_wrapped_key_t | value |
struct sce_rsa1024_wrapped_pair_key_t |
RSA 1024bit wrapped key pair structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
sce_rsa1024_private_wrapped_key_t | priv_key | RSA 1024-bit private wrapped key. |
sce_rsa1024_public_wrapped_key_t | pub_key | RSA 1024-bit public wrapped key. |
struct sce_rsa2048_wrapped_pair_key_t |
RSA 2048bit wrapped key pair structure. DO NOT MODIFY.
Data Fields | ||
---|---|---|
sce_rsa2048_private_wrapped_key_t | priv_key | RSA 2048-bit private wrapped key. |
sce_rsa2048_public_wrapped_key_t | pub_key | RSA 2048-bit public wrapped key. |
struct sce_ecc_public_wrapped_key_t |
ECC P-192/224/256 public wrapped key data structure
Data Fields | ||
---|---|---|
uint32_t | type | key type |
struct sce_ecc_public_wrapped_key_t | value |
struct sce_ecc_private_wrapped_key_t |
struct sce_ecc_wrapped_pair_key_t |
ECC P-192/224/256 wrapped key pair structure
Data Fields | ||
---|---|---|
sce_ecc_private_wrapped_key_t | priv_key | ECC private wrapped key. |
sce_ecc_public_wrapped_key_t | pub_key | ECC public wrapped key. |
struct sce_ecdh_wrapped_key_t |
struct sce_key_update_key_t |
struct sce_aes_handle_t |
The work area for AES. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | id | serial number of this handle |
sce_aes_wrapped_key_t | wrapped_key | wrapped key |
uint32_t | current_input_data_size | text size under encryption / decryption |
uint8_t | last_1_block_as_fraction[HW_SCE_AES_BLOCK_BYTE_SIZE] | text array less than the block long |
uint8_t | last_2_block_as_fraction[HW_SCE_AES_BLOCK_BYTE_SIZE *2] | reserved |
uint8_t | current_initial_vector[HW_SCE_AES_CBC_IV_BYTE_SIZE] | current initialization vector used in CBC mode |
uint8_t | flag_call_init | control flag of calling function |
struct sce_gcm_handle_t |
The work area for GCM. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | id | serial number of this handle |
sce_aes_wrapped_key_t | wrapped_key | wrapped key |
uint8_t | gcm_buffer[HW_SCE_AES_BLOCK_BYTE_SIZE] | text array less than the block long |
uint8_t | gcm_aad_buffer[HW_SCE_AES_GCM_AAD_BLOCK_BYTE_SIZE] | AAD array less than the block long. |
uint32_t | all_received_length | entire length of text |
uint32_t | all_received_aad_length | entire length of text |
uint32_t | buffering_length | text array length less than the block long |
uint32_t | buffering_aad_length | AAD array length less than the block long. |
uint8_t | flag_call_init | control flag of calling function |
uint8_t | flag_update_input_data | control flag of next input data |
struct sce_ccm_handle_t |
The work area for CCM. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | id | serial number of this handle |
sce_aes_wrapped_key_t | wrapped_key | wrapped key |
uint8_t | formatted_data[HW_SCE_AES_CCM_B_FORMAT_BYTE_SIZE] | formatted data area |
uint8_t | counter[HW_SCE_AES_CCM_COUNTER_BYTE_SIZE] | counter of CTR mode |
uint8_t | ccm_buffer[HW_SCE_AES_BLOCK_BYTE_SIZE] | text array less than the block long |
uint32_t | all_received_length | entire length of text |
uint32_t | buffering_length | text array length less than the block long |
uint8_t | flag_call_init | control flag of calling function |
struct sce_cmac_handle_t |
The work area for CMAC. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | id | serial number of this handle |
sce_aes_wrapped_key_t | wrapped_key | wrapped key |
uint8_t | cmac_buffer[HW_SCE_AES_BLOCK_BYTE_SIZE] | message array less than the block long |
uint32_t | all_received_length | entire length of message |
uint32_t | buffering_length | message array length less than the block long |
uint8_t | flag_call_init | control flag of calling function |
struct sce_sha_md5_handle_t |
The work area for SHA. DO NOT MODIFY.
struct sce_hmac_sha_handle_t |
The work area for HMAC-SHA. DO NOT MODIFY.
Data Fields | ||
---|---|---|
uint32_t | id | serial number of this handle |
sce_hmac_sha_wrapped_key_t | wrapped_key | wrapped key |
uint8_t | hmac_buffer[HW_SCE_SHA256_HASH_LENGTH_BYTE_SIZE *4] | message array length less than the block long |
uint32_t | all_received_length | entire length of message |
uint32_t | buffering_length | message array length less than the block long |
uint8_t | flag_call_init | control flag of calling function |
struct sce_ecdh_handle_t |
The work area for ECDH
struct sce_cfg_t |
User configuration structure, used in open function
struct sce_api_t |
Functions implemented at the HAL layer will follow this API.
Data Fields | |
fsp_err_t(* | open )(sce_ctrl_t *const p_ctrl, sce_cfg_t const *const p_cfg) |
fsp_err_t(* | close )(sce_ctrl_t *const p_ctrl) |
fsp_err_t(* | softwareReset )(void) |
fsp_err_t(* | randomNumberGenerate )(uint32_t *random) |
fsp_err_t(* | AES128_WrappedKeyGenerate )(sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES256_WrappedKeyGenerate )(sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES128_EncryptedKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES256_EncryptedKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES128_RFC3394KeyWrap )(sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, sce_aes_wrapped_key_t *target_key, uint32_t *rfc3394_wrapped_key) |
fsp_err_t(* | AES256_RFC3394KeyWrap )(sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, sce_aes_wrapped_key_t *target_key, uint32_t *rfc3394_wrapped_key) |
fsp_err_t(* | AES128_RFC3394KeyUnwrap )(sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, uint32_t *rfc3394_wrapped_key, sce_aes_wrapped_key_t *target_key) |
fsp_err_t(* | AES256_RFC3394KeyUnwrap )(sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, uint32_t *rfc3394_wrapped_key, sce_aes_wrapped_key_t *target_key) |
fsp_err_t(* | AES128ECB_EncryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES128ECB_EncryptUpdate )(sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
fsp_err_t(* | AES128ECB_EncryptFinal )(sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
fsp_err_t(* | AES128ECB_DecryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES128ECB_DecryptUpdate )(sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
fsp_err_t(* | AES128ECB_DecryptFinal )(sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
fsp_err_t(* | AES256ECB_EncryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES256ECB_EncryptUpdate )(sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
fsp_err_t(* | AES256ECB_EncryptFinal )(sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
fsp_err_t(* | AES256ECB_DecryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES256ECB_DecryptUpdate )(sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
fsp_err_t(* | AES256ECB_DecryptFinal )(sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
fsp_err_t(* | AES128CBC_EncryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
fsp_err_t(* | AES128CBC_EncryptUpdate )(sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
fsp_err_t(* | AES128CBC_EncryptFinal )(sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
fsp_err_t(* | AES128CBC_DecryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
fsp_err_t(* | AES128CBC_DecryptUpdate )(sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
fsp_err_t(* | AES128CBC_DecryptFinal )(sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
fsp_err_t(* | AES256CBC_EncryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
fsp_err_t(* | AES256CBC_EncryptUpdate )(sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
fsp_err_t(* | AES256CBC_EncryptFinal )(sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
fsp_err_t(* | AES256CBC_DecryptInit )(sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
fsp_err_t(* | AES256CBC_DecryptUpdate )(sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
fsp_err_t(* | AES256CBC_DecryptFinal )(sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
fsp_err_t(* | AES128GCM_EncryptInit )(sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
fsp_err_t(* | AES128GCM_EncryptUpdate )(sce_gcm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_data_length, uint8_t *aad, uint32_t aad_length) |
fsp_err_t(* | AES128GCM_EncryptFinal )(sce_gcm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_data_length, uint8_t *atag) |
fsp_err_t(* | AES128GCM_DecryptInit )(sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
fsp_err_t(* | AES128GCM_DecryptUpdate )(sce_gcm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_data_length, uint8_t *aad, uint32_t aad_length) |
fsp_err_t(* | AES128GCM_DecryptFinal )(sce_gcm_handle_t *handle, uint8_t *plain, uint32_t *plain_data_length, uint8_t *atag, uint32_t atag_length) |
fsp_err_t(* | AES256GCM_EncryptInit )(sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
fsp_err_t(* | AES256GCM_EncryptUpdate )(sce_gcm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_data_length, uint8_t *aad, uint32_t aad_length) |
fsp_err_t(* | AES256GCM_EncryptFinal )(sce_gcm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_data_length, uint8_t *atag) |
fsp_err_t(* | AES256GCM_DecryptInit )(sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
fsp_err_t(* | AES256GCM_DecryptUpdate )(sce_gcm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_data_length, uint8_t *aad, uint32_t aad_length) |
fsp_err_t(* | AES256GCM_DecryptFinal )(sce_gcm_handle_t *handle, uint8_t *plain, uint32_t *plain_data_length, uint8_t *atag, uint32_t atag_length) |
fsp_err_t(* | AES128CCM_EncryptInit )(sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
fsp_err_t(* | AES128CCM_EncryptUpdate )(sce_ccm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
fsp_err_t(* | AES128CCM_EncryptFinal )(sce_ccm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | AES128CCM_DecryptInit )(sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
fsp_err_t(* | AES128CCM_DecryptUpdate )(sce_ccm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
fsp_err_t(* | AES128CCM_DecryptFinal )(sce_ccm_handle_t *handle, uint8_t *plain, uint32_t *plain_length, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | AES256CCM_EncryptInit )(sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
fsp_err_t(* | AES256CCM_EncryptUpdate )(sce_ccm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
fsp_err_t(* | AES256CCM_EncryptFinal )(sce_ccm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | AES256CCM_DecryptInit )(sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
fsp_err_t(* | AES256CCM_DecryptUpdate )(sce_ccm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
fsp_err_t(* | AES256CCM_DecryptFinal )(sce_ccm_handle_t *handle, uint8_t *plain, uint32_t *plain_length, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | AES128CMAC_GenerateInit )(sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES128CMAC_GenerateUpdate )(sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | AES128CMAC_GenerateFinal )(sce_cmac_handle_t *handle, uint8_t *mac) |
fsp_err_t(* | AES128CMAC_VerifyInit )(sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES128CMAC_VerifyUpdate )(sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | AES128CMAC_VerifyFinal )(sce_cmac_handle_t *handle, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | AES256CMAC_GenerateInit )(sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES256CMAC_GenerateUpdate )(sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | AES256CMAC_GenerateFinal )(sce_cmac_handle_t *handle, uint8_t *mac) |
fsp_err_t(* | AES256CMAC_VerifyInit )(sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | AES256CMAC_VerifyUpdate )(sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | AES256CMAC_VerifyFinal )(sce_cmac_handle_t *handle, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | SHA256_Init )(sce_sha_md5_handle_t *handle) |
fsp_err_t(* | SHA256_Update )(sce_sha_md5_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | SHA256_Final )(sce_sha_md5_handle_t *handle, uint8_t *digest, uint32_t *digest_length) |
fsp_err_t(* | RSA1024_WrappedKeyPairGenerate )(sce_rsa1024_wrapped_pair_key_t *wrapped_pair_key) |
fsp_err_t(* | RSA2048_WrappedKeyPairGenerate )(sce_rsa2048_wrapped_pair_key_t *wrapped_pair_key) |
fsp_err_t(* | RSA1024_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa1024_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSA1024_EncryptedPrivateKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa1024_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSA2048_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa2048_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSA2048_EncryptedPrivateKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa2048_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSA3072_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa3072_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSA4096_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa4096_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSASSA_PKCS1024_SignatureGenerate )(sce_rsa_byte_data_t *message_hash, sce_rsa_byte_data_t *signature, sce_rsa1024_private_wrapped_key_t *wrapped_key, uint8_t hash_type) |
fsp_err_t(* | RSASSA_PKCS2048_SignatureGenerate )(sce_rsa_byte_data_t *message_hash, sce_rsa_byte_data_t *signature, sce_rsa2048_private_wrapped_key_t *wrapped_key, uint8_t hash_type) |
fsp_err_t(* | RSASSA_PKCS1024_SignatureVerify )(sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa1024_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
fsp_err_t(* | RSASSA_PKCS2048_SignatureVerify )(sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa2048_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
fsp_err_t(* | RSASSA_PKCS3072_SignatureVerify )(sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa3072_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
fsp_err_t(* | RSASSA_PKCS4096_SignatureVerify )(sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa4096_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
fsp_err_t(* | RSAES_PKCS1024_Encrypt )(sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa1024_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSAES_PKCS2048_Encrypt )(sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa2048_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSAES_PKCS3072_Encrypt )(sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa3072_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSAES_PKCS4096_Encrypt )(sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa4096_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSAES_PKCS1024_Decrypt )(sce_rsa_byte_data_t *cipher, sce_rsa_byte_data_t *plain, sce_rsa1024_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | RSAES_PKCS2048_Decrypt )(sce_rsa_byte_data_t *cipher, sce_rsa_byte_data_t *plain, sce_rsa2048_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | SHA256HMAC_EncryptedKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_hmac_sha_wrapped_key_t *wrapped_key) |
fsp_err_t(* | SHA256HMAC_GenerateInit )(sce_hmac_sha_handle_t *handle, sce_hmac_sha_wrapped_key_t *wrapped_key) |
fsp_err_t(* | SHA256HMAC_GenerateUpdate )(sce_hmac_sha_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | SHA256HMAC_GenerateFinal )(sce_hmac_sha_handle_t *handle, uint8_t *mac) |
fsp_err_t(* | SHA256HMAC_VerifyInit )(sce_hmac_sha_handle_t *handle, sce_hmac_sha_wrapped_key_t *wrapped_key) |
fsp_err_t(* | SHA256HMAC_VerifyUpdate )(sce_hmac_sha_handle_t *handle, uint8_t *message, uint32_t message_length) |
fsp_err_t(* | SHA256HMAC_VerifyFinal )(sce_hmac_sha_handle_t *handle, uint8_t *mac, uint32_t mac_length) |
fsp_err_t(* | ECC_secp192r1_WrappedKeyPairGenerate )(sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
fsp_err_t(* | ECC_secp224r1_WrappedKeyPairGenerate )(sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
fsp_err_t(* | ECC_secp256r1_WrappedKeyPairGenerate )(sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
fsp_err_t(* | ECC_secp384r1_WrappedKeyPairGenerate )(sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
fsp_err_t(* | ECC_secp192r1_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp224r1_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp256r1_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp384r1_EncryptedPublicKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp192r1_EncryptedPrivateKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp224r1_EncryptedPrivateKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp256r1_EncryptedPrivateKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECC_secp384r1_EncryptedPrivateKeyWrap )(uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp192r1_SignatureGenerate )(sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp224r1_SignatureGenerate )(sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp256r1_SignatureGenerate )(sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp384r1_SignatureGenerate )(sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp192r1_SignatureVerify )(sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp224r1_SignatureVerify )(sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp256r1_SignatureVerify )(sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDSA_secp384r1_SignatureVerify )(sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDH_secp256r1_Init )(sce_ecdh_handle_t *handle, uint32_t key_type, uint32_t use_key_id) |
fsp_err_t(* | ECDH_secp256r1_PublicKeySign )(sce_ecdh_handle_t *handle, sce_ecc_public_wrapped_key_t *ecc_public_wrapped_key, sce_ecc_private_wrapped_key_t *ecc_private_wrapped_key, uint8_t *public_key, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDH_secp256r1_PublicKeyVerify )(sce_ecdh_handle_t *handle, sce_ecc_public_wrapped_key_t *ecc_public_wrapped_key, uint8_t *public_key_data, sce_ecdsa_byte_data_t *signature, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDH_secp256r1_PublicKeyReadWithoutSignature )(sce_ecdh_handle_t *handle, uint8_t *public_key_data, sce_ecc_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | ECDH_secp256r1_SharedSecretCalculate )(sce_ecdh_handle_t *handle, sce_ecc_public_wrapped_key_t *ecc_public_wrapped_key, sce_ecc_private_wrapped_key_t *ecc_private_wrapped_key, sce_ecdh_wrapped_key_t *shared_secret_wrapped_key) |
fsp_err_t(* | ECDH_secp256r1_KeyDerivation )(sce_ecdh_handle_t *handle, sce_ecdh_wrapped_key_t *shared_secret_wrapped_key, uint32_t key_type, uint32_t kdf_type, uint8_t *other_info, uint32_t other_info_length, sce_hmac_sha_wrapped_key_t *salt_wrapped_key, sce_aes_wrapped_key_t *wrapped_key) |
fsp_err_t(* | TLS_RootCertificateRSA2048PublicKeyInstall )(uint8_t *encrypted_provisioning_key, uint8_t *initial_vector, uint8_t *encrypted_key, sce_tls_ca_certification_public_wrapped_key_t *wrapped_key) |
fsp_err_t(* | TLS_ECC_secp256r1_EphemeralWrappedKeyPairGenerate )(sce_tls_p256_ecc_wrapped_key_t *tls_p256_ecc_wrapped_key, uint8_t *ephemeral_ecdh_public_key) |
fsp_err_t(* | TLS_RootCertificateVerify )(uint32_t public_key_type, uint8_t *certificate, uint32_t certificate_length, uint32_t public_key_n_start_position, uint32_t public_key_n_end_position, uint32_t public_key_e_start_position, uint32_t public_key_e_end_position, uint8_t *signature, uint32_t *encrypted_root_public_key) |
fsp_err_t(* | TLS_CertificateVerify )(uint32_t public_key_type, uint32_t *encrypted_input_public_key, uint8_t *certificate, uint32_t certificate_length, uint8_t *signature, uint32_t public_key_n_start_position, uint32_t public_key_n_end_position, uint32_t public_key_e_start_position, uint32_t public_key_e_end_position, uint32_t *encrypted_output_public_key) |
fsp_err_t(* | TLS_PreMasterSecretGenerateForRSA2048 )(uint32_t *sce_pre_master_secret) |
fsp_err_t(* | TLS_MasterSecretGenerate )(uint32_t select_cipher_suite, uint32_t *sce_pre_master_secret, uint8_t *client_random, uint8_t *server_random, uint32_t *sce_master_secret) |
fsp_err_t(* | TLS_PreMasterSecretEncryptWithRSA2048 )(uint32_t *encrypted_public_key, uint32_t *sce_pre_master_secret, uint8_t *encrypted_pre_master_secret) |
fsp_err_t(* | TLS_SessionKeyGenerate )(uint32_t select_cipher_suite, uint32_t *sce_master_secret, uint8_t *client_random, uint8_t *server_random, uint8_t *nonce_explicit, sce_hmac_sha_wrapped_key_t *client_mac_wrapped_key, sce_hmac_sha_wrapped_key_t *server_mac_wrapped_key, sce_aes_wrapped_key_t *client_crypto_wrapped_key, sce_aes_wrapped_key_t *server_crypto_wrapped_key, uint8_t *client_initial_vector, uint8_t *server_initial_vector) |
fsp_err_t(* | TLS_VerifyDataGenerate )(uint32_t select_verify_data, uint32_t *sce_master_secret, uint8_t *hand_shake_hash, uint8_t *verify_data) |
fsp_err_t(* | TLS_ServerKeyExchangeVerify )(uint32_t public_key_type, uint8_t *client_random, uint8_t *server_random, uint8_t *server_ephemeral_ecdh_public_key, uint8_t *server_key_exchange_signature, uint32_t *encrypted_public_key, uint32_t *encrypted_ephemeral_ecdh_public_key) |
fsp_err_t(* | TLS_PreMasterSecretGenerateForECC_secp256r1 )(uint32_t *encrypted_public_key, sce_tls_p256_ecc_wrapped_key_t *tls_p256_ecc_wrapped_key, uint32_t *sce_pre_master_secret) |
fsp_err_t(* sce_api_t::open) (sce_ctrl_t *const p_ctrl, sce_cfg_t const *const p_cfg) |
Enables use of SCE functionality.
[in] | p_ctrl | Pointer to control structure. |
[in] | p_cfg | Pointer to pin configuration structure. |
fsp_err_t(* sce_api_t::close) (sce_ctrl_t *const p_ctrl) |
Stops supply of power to the SCE.
[in] | p_ctrl | Pointer to control structure. |
fsp_err_t(* sce_api_t::softwareReset) (void) |
Software reset to SCE.
fsp_err_t(* sce_api_t::randomNumberGenerate) (uint32_t *random) |
Generates 4 words random number.
[in,out] | random | Stores 4words (16 bytes) random data. |
fsp_err_t(* sce_api_t::AES128_WrappedKeyGenerate) (sce_aes_wrapped_key_t *wrapped_key) |
This API outputs 128-bit AES wrapped key.
[in,out] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES256_WrappedKeyGenerate) (sce_aes_wrapped_key_t *wrapped_key) |
This API outputs 256-bit AES wrapped key.
[in,out] | wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES128_EncryptedKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_aes_wrapped_key_t *wrapped_key) |
This API outputs 128-bit AES wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES256_EncryptedKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_aes_wrapped_key_t *wrapped_key) |
This API outputs 256-bit AES wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES128_RFC3394KeyWrap) (sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, sce_aes_wrapped_key_t *target_key, uint32_t *rfc3394_wrapped_key) |
This API outputs 128-bit AES wrapped key.
[in] | master_key | AES-128 key used for wrapping. |
[in] | target_key_type | Selects key to be wrapped. |
[in] | target_key | Key to be wrapped. |
[out] | rfc3394_wrapped_key | Wrapped key. |
fsp_err_t(* sce_api_t::AES256_RFC3394KeyWrap) (sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, sce_aes_wrapped_key_t *target_key, uint32_t *rfc3394_wrapped_key) |
This API outputs 256-bit AES wrapped key.
[in] | master_key | AES-256 key used for wrapping. |
[in] | target_key_type | Selects key to be wrapped. |
[in] | target_key | Key to be wrapped. |
[out] | rfc3394_wrapped_key | Wrapped key. |
fsp_err_t(* sce_api_t::AES128_RFC3394KeyUnwrap) (sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, uint32_t *rfc3394_wrapped_key, sce_aes_wrapped_key_t *target_key) |
This API outputs 128-bit AES unwrapped key.
[in] | master_key | AES-128 key used for unwrapping. |
[in] | target_key_type | Selects key to be unwrapped. |
[in] | rfc3394_wrapped_key | Wrapped key. |
[out] | target_key | Key to be unwrapped. |
fsp_err_t(* sce_api_t::AES256_RFC3394KeyUnwrap) (sce_aes_wrapped_key_t *master_key, uint32_t target_key_type, uint32_t *rfc3394_wrapped_key, sce_aes_wrapped_key_t *target_key) |
This API outputs 256-bit AES unwrapped key.
[in] | master_key | AES-256 key used for unwrapping. |
[in] | target_key_type | Selects key to be unwrapped. |
[in] | rfc3394_wrapped_key | Wrapped key. |
[out] | target_key | Key to be unwrapped. |
fsp_err_t(* sce_api_t::AES128ECB_EncryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES128ECB encryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES128ECB_EncryptUpdate) (sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
Update AES128ECB encryption.
[in,out] | handle | AES handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in,out] | plain_length | plaintext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES128ECB_EncryptFinal) (sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
Finalize AES128ECB encryption.
[in,out] | handle | AES handler (work area) |
[in,out] | cipher | ciphertext data area (nothing ever written here) |
[in,out] | cipher_length | ciphertext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES128ECB_DecryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES128ECB decryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES128ECB_DecryptUpdate) (sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
Update AES128ECB decryption.
[in,out] | handle | AES handler (work area) |
[in] | cipher | ciphertext data area |
[in,out] | plain | plaintext data area |
[in,out] | cipher_length | ciphertext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES128ECB_DecryptFinal) (sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
Finalize AES128ECB decryption.
[in,out] | handle | AES handler (work area) |
[in,out] | plain | plaintext data area (nothing ever written here) |
[in,out] | plain_length | plaintext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES256ECB_EncryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES256ECB encryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES256ECB_EncryptUpdate) (sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
Update AES256ECB encryption.
[in,out] | handle | AES handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in,out] | plain_length | plaintext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES256ECB_EncryptFinal) (sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
Finalize AES256ECB encryption.
[in,out] | handle | AES handler (work area) |
[in,out] | cipher | ciphertext data area (nothing ever written here) |
[in,out] | cipher_length | ciphertext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES256ECB_DecryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES256ECB decryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES256ECB_DecryptUpdate) (sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
Update AES256ECB decryption.
[in,out] | handle | AES handler (work area) |
[in] | cipher | ciphertext data area |
[in,out] | plain | plaintext data area |
[in,out] | cipher_length | ciphertext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES256ECB_DecryptFinal) (sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
Finalize AES256ECB decryption.
[in,out] | handle | AES handler (work area) |
[in,out] | plain | plaintext data area (nothing ever written here) |
[in,out] | plain_length | plaintext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES128CBC_EncryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
Initialize AES128CBC encryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
[in] | initial_vector | initial vector area (16byte) |
fsp_err_t(* sce_api_t::AES128CBC_EncryptUpdate) (sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
Update AES128CBC encryption.
[in,out] | handle | AES handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in,out] | plain_length | plaintext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES128CBC_EncryptFinal) (sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
Finalize AES128CBC encryption.
[in,out] | handle | AES handler (work area) |
[in,out] | cipher | ciphertext data area (nothing ever written here) |
[in,out] | cipher_length | ciphertext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES128CBC_DecryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
Initialize AES128CBC decryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
[in] | initial_vector | initial vector area (16byte) |
fsp_err_t(* sce_api_t::AES128CBC_DecryptUpdate) (sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
Update AES128CBC decryption.
[in,out] | handle | AES handler (work area) |
[in] | cipher | ciphertext data area |
[in,out] | plain | plaintext data area |
[in,out] | cipher_length | ciphertext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES128CBC_DecryptFinal) (sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
Finalize AES128CBC decryption.
[in,out] | handle | AES handler (work area) |
[in,out] | plain | plaintext data area (nothing ever written here) |
[in,out] | plain_length | plaintext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES256CBC_EncryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
Initialize AES256CBC encryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
[in] | initial_vector | initial vector area (16byte) |
fsp_err_t(* sce_api_t::AES256CBC_EncryptUpdate) (sce_aes_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
Update AES256CBC encryption.
[in,out] | handle | AES handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in,out] | plain_length | plaintext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES256CBC_EncryptFinal) (sce_aes_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length) |
Finalize AES256CBC encryption.
[in,out] | handle | AES handler (work area) |
[in,out] | cipher | ciphertext data area (nothing ever written here) |
[in,out] | cipher_length | ciphertext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES256CBC_DecryptInit) (sce_aes_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector) |
Initialize AES256CBC decryption.
[in,out] | handle | AES handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
[in] | initial_vector | initial vector area (16byte) |
fsp_err_t(* sce_api_t::AES256CBC_DecryptUpdate) (sce_aes_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
Update AES256CBC decryption.
[in,out] | handle | AES handler (work area) |
[in] | cipher | ciphertext data area |
[in,out] | plain | plaintext data area |
[in,out] | cipher_length | ciphertext data length (must be a multiple of 16) |
fsp_err_t(* sce_api_t::AES256CBC_DecryptFinal) (sce_aes_handle_t *handle, uint8_t *plain, uint32_t *plain_length) |
Finalize AES256CBC decryption.
[in,out] | handle | AES handler (work area) |
[in,out] | plain | plaintext data area (nothing ever written here) |
[in,out] | plain_length | plaintext data length (0 always written here) |
fsp_err_t(* sce_api_t::AES128GCM_EncryptInit) (sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
Initialize AES128GCM encryption.
[in,out] | handle | AES-GCM handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
[in] | initial_vector | initialization vector area (initial_vector_length byte) |
[in] | initial_vector_length | initialization vector length (1 ore more bytes) |
fsp_err_t(* sce_api_t::AES128GCM_EncryptUpdate) (sce_gcm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_data_length, uint8_t *aad, uint32_t aad_length) |
Update AES128GCM encryption.
[in,out] | handle | AES-GCM handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in] | plain_data_length | plaintext data length (0 or more bytes) |
[in] | aad | additional authentication data (aad_length byte) |
[in] | aad_length | additional authentication data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES128GCM_EncryptFinal) (sce_gcm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_data_length, uint8_t *atag) |
Finalize AES128GCM encryption.
[in,out] | handle | AES-GCM handler (work area) |
[in,out] | cipher | ciphertext data area (cipher_data_length byte) |
[in,out] | cipher_data_length | ciphertext data length (0 always written here) |
[in,out] | atag | authentication tag area |
fsp_err_t(* sce_api_t::AES128GCM_DecryptInit) (sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
Initialize AES128GCM decryption.
[in,out] | handle | AES-GCM handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
[in] | initial_vector | initialization vector area (initial_vector_length byte) |
[in] | initial_vector_length | initialization vector length (1 ore more bytes) |
fsp_err_t(* sce_api_t::AES128GCM_DecryptUpdate) (sce_gcm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_data_length, uint8_t *aad, uint32_t aad_length) |
Update AES128GCM decryption.
[in,out] | handle | AES-GCM handler (work area) |
[in,out] | cipher | ciphertext data area |
[in] | plain | plaintext data area |
[in] | cipher_data_length | ciphertext data length (0 or more bytes) |
[in] | aad | additional authentication data (aad_length byte) |
[in] | aad_length | additional authentication data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES128GCM_DecryptFinal) (sce_gcm_handle_t *handle, uint8_t *plain, uint32_t *plain_data_length, uint8_t *atag, uint32_t atag_length) |
Finalize AES128GCM decryption.
[in,out] | handle | AES-GCM handler (work area) |
[in,out] | plain | plaintext data area (cipher_data_length byte) |
[in,out] | plain_data_length | plaintext data length (0 always written here) |
[in,out] | atag | authentication tag area (atag_length byte) |
[in] | atag_length | authentication tag length (4,8,12,13,14,15,16 bytes) |
fsp_err_t(* sce_api_t::AES256GCM_EncryptInit) (sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
Initialize AES256GCM encryption.
[in,out] | handle | AES-GCM handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
[in] | initial_vector | initialization vector area (initial_vector_length byte) |
[in] | initial_vector_length | initialization vector length (1 ore more bytes) |
fsp_err_t(* sce_api_t::AES256GCM_EncryptUpdate) (sce_gcm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_data_length, uint8_t *aad, uint32_t aad_length) |
Update AES256GCM encryption.
[in,out] | handle | AES-GCM handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in] | plain_data_length | plaintext data length (0 or more bytes) |
[in] | aad | additional authentication data (aad_length byte) |
[in] | aad_length | additional authentication data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES256GCM_EncryptFinal) (sce_gcm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_data_length, uint8_t *atag) |
Finalize AES256GCM encryption.
[in,out] | handle | AES-GCM handler (work area) |
[in,out] | cipher | ciphertext data area (cipher_data_length byte) |
[in,out] | cipher_data_length | ciphertext data length (0 always written here) |
[in,out] | atag | authentication tag area |
fsp_err_t(* sce_api_t::AES256GCM_DecryptInit) (sce_gcm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *initial_vector, uint32_t initial_vector_length) |
Initialize AES256GCM decryption.
[in,out] | handle | AES-GCM handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
[in] | initial_vector | initialization vector area (initial_vector_length byte) |
[in] | initial_vector_length | initialization vector length (1 ore more bytes) |
fsp_err_t(* sce_api_t::AES256GCM_DecryptUpdate) (sce_gcm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_data_length, uint8_t *aad, uint32_t aad_length) |
Update AES256GCM decryption.
[in,out] | handle | AES-GCM handler (work area) |
[in,out] | cipher | ciphertext data area |
[in] | plain | plaintext data area |
[in] | cipher_data_length | ciphertext data length (0 or more bytes) |
[in] | aad | additional authentication data (aad_length byte) |
[in] | aad_length | additional authentication data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES256GCM_DecryptFinal) (sce_gcm_handle_t *handle, uint8_t *plain, uint32_t *plain_data_length, uint8_t *atag, uint32_t atag_length) |
Finalize AES256GCM decryption.
[in,out] | handle | AES-GCM handler (work area) |
[in,out] | plain | plaintext data area (cipher_data_length byte) |
[in,out] | plain_data_length | plaintext data length (0 always written here) |
[in,out] | atag | authentication tag area (atag_length byte) |
[in] | atag_length | authentication tag length (4,8,12,13,14,15,16 bytes) |
fsp_err_t(* sce_api_t::AES128CCM_EncryptInit) (sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
Initialize AES128CCM encryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
[in] | nonce | Nonce |
[in] | nonce_length | Nonce data length (7 to 13 bytes) |
[in] | adata | additional authentication data |
[in] | a_length | additional authentication data length (0 to 110 bytes) |
[in] | payload_length | Payload length (any number of bytes) |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES128CCM_EncryptUpdate) (sce_ccm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
Update AES128CCM encryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in] | plain_length | plaintext data length |
fsp_err_t(* sce_api_t::AES128CCM_EncryptFinal) (sce_ccm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length, uint8_t *mac, uint32_t mac_length) |
Finalize AES128CCM encryption.
[in,out] | handle | AES-CCM handler (work area) |
[in,out] | cipher | ciphertext data area |
[in,out] | cipher_length | ciphertext data length |
[in,out] | mac | MAC area |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES128CCM_DecryptInit) (sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
Initialize AES128CCM decryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
[in] | nonce | Nonce |
[in] | nonce_length | Nonce data length (7 to 13 bytes) |
[in] | adata | additional authentication data |
[in] | a_length | additional authentication data length (0 to 110 bytes) |
[in] | payload_length | Payload length (any number of bytes) |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES128CCM_DecryptUpdate) (sce_ccm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
Update AES128CCM decryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | cipher | ciphertext data area |
[in,out] | plain | plaintext data area |
[in] | cipher_length | ciphertext data length |
fsp_err_t(* sce_api_t::AES128CCM_DecryptFinal) (sce_ccm_handle_t *handle, uint8_t *plain, uint32_t *plain_length, uint8_t *mac, uint32_t mac_length) |
Finalize AES128CCM decryption.
[in,out] | handle | AES-CCM handler (work area) |
[in,out] | plain | plaintext data area |
[in,out] | plain_length | plaintext data length |
[in] | mac | MAC area |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES256CCM_EncryptInit) (sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
Initialize AES256CCM encryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
[in] | nonce | Nonce |
[in] | nonce_length | Nonce data length (7 to 13 bytes) |
[in] | adata | additional authentication data |
[in] | a_length | additional authentication data length (0 to 110 bytes) |
[in] | payload_length | Payload length (any number of bytes) |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES256CCM_EncryptUpdate) (sce_ccm_handle_t *handle, uint8_t *plain, uint8_t *cipher, uint32_t plain_length) |
Update AES256CCM encryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | plain | plaintext data area |
[in,out] | cipher | ciphertext data area |
[in] | plain_length | plaintext data length |
fsp_err_t(* sce_api_t::AES256CCM_EncryptFinal) (sce_ccm_handle_t *handle, uint8_t *cipher, uint32_t *cipher_length, uint8_t *mac, uint32_t mac_length) |
Finalize AES256CCM encryption.
[in,out] | handle | AES-CCM handler (work area) |
[in,out] | cipher | ciphertext data area |
[in,out] | cipher_length | ciphertext data length |
[in,out] | mac | MAC area |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES256CCM_DecryptInit) (sce_ccm_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key, uint8_t *nonce, uint32_t nonce_length, uint8_t *adata, uint8_t a_length, uint32_t payload_length, uint32_t mac_length) |
Initialize AES256CCM decryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
[in] | nonce | Nonce |
[in] | nonce_length | Nonce data length (7 to 13 bytes) |
[in] | adata | additional authentication data |
[in] | a_length | additional authentication data length (0 to 110 bytes) |
[in] | payload_length | Payload length (any number of bytes) |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES256CCM_DecryptUpdate) (sce_ccm_handle_t *handle, uint8_t *cipher, uint8_t *plain, uint32_t cipher_length) |
Update AES256CCM decryption.
[in,out] | handle | AES-CCM handler (work area) |
[in] | cipher | ciphertext data area |
[in,out] | plain | plaintext data area |
[in] | cipher_length | ciphertext data length |
fsp_err_t(* sce_api_t::AES256CCM_DecryptFinal) (sce_ccm_handle_t *handle, uint8_t *plain, uint32_t *plain_length, uint8_t *mac, uint32_t mac_length) |
Finalize AES256CCM decryption.
[in,out] | handle | AES-CCM handler (work area) |
[in,out] | plain | plaintext data area |
[in,out] | plain_length | plaintext data length |
[in] | mac | MAC area |
[in] | mac_length | MAC length (4, 6, 8, 10, 12, 14, or 16 bytes) |
fsp_err_t(* sce_api_t::AES128CMAC_GenerateInit) (sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES128CMAC generation.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES128CMAC_GenerateUpdate) (sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update AES128CMAC generation.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | message | message data area (message_length byte) |
[in] | message_length | message data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES128CMAC_GenerateFinal) (sce_cmac_handle_t *handle, uint8_t *mac) |
Finalize AES128CMAC generation.
[in,out] | handle | AES-CMAC handler (work area) |
[in,out] | mac | MAC data area (16byte) |
fsp_err_t(* sce_api_t::AES128CMAC_VerifyInit) (sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES128CMAC verification.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES128CMAC_VerifyUpdate) (sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update AES128CMAC verification.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | message | message data area (message_length byte) |
[in] | message_length | message data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES128CMAC_VerifyFinal) (sce_cmac_handle_t *handle, uint8_t *mac, uint32_t mac_length) |
Finalize AES128CMAC verification.
[in,out] | handle | AES-CMAC handler (work area) |
[in,out] | mac | MAC data area (mac_length byte) |
[in,out] | mac_length | MAC data length (2 to 16 bytes) |
fsp_err_t(* sce_api_t::AES256CMAC_GenerateInit) (sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES256CMAC generation.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES256CMAC_GenerateUpdate) (sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update AES256CMAC generation.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | message | message data area (message_length byte) |
[in] | message_length | message data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES256CMAC_GenerateFinal) (sce_cmac_handle_t *handle, uint8_t *mac) |
Finalize AES256CMAC generation.
[in,out] | handle | AES-CMAC handler (work area) |
[in,out] | mac | MAC data area (16byte) |
fsp_err_t(* sce_api_t::AES256CMAC_VerifyInit) (sce_cmac_handle_t *handle, sce_aes_wrapped_key_t *wrapped_key) |
Initialize AES256CMAC verification.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* sce_api_t::AES256CMAC_VerifyUpdate) (sce_cmac_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update AES256CMAC verification.
[in,out] | handle | AES-CMAC handler (work area) |
[in] | message | message data area (message_length byte) |
[in] | message_length | message data length (0 or more bytes) |
fsp_err_t(* sce_api_t::AES256CMAC_VerifyFinal) (sce_cmac_handle_t *handle, uint8_t *mac, uint32_t mac_length) |
Finalize AES256CMAC verification.
[in,out] | handle | AES-CMAC handler (work area) |
[in,out] | mac | MAC data area (mac_length byte) |
[in,out] | mac_length | MAC data length (2 to 16 bytes) |
fsp_err_t(* sce_api_t::SHA256_Init) (sce_sha_md5_handle_t *handle) |
Initialize SHA-256 Calculation.
[in,out] | handle | SHA handler (work area) |
fsp_err_t(* sce_api_t::SHA256_Update) (sce_sha_md5_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update SHA-256 Calculation.
[in,out] | handle | SHA handler (work area) |
[in] | message | message data area |
[in] | message_length | message data length |
fsp_err_t(* sce_api_t::SHA256_Final) (sce_sha_md5_handle_t *handle, uint8_t *digest, uint32_t *digest_length) |
Finalize SHA-256 Calculation.
[in,out] | handle | SHA handler (work area) |
[in,out] | digest | hasha data area |
[in,out] | digest_length | hash data length (32bytes) |
fsp_err_t(* sce_api_t::RSA1024_WrappedKeyPairGenerate) (sce_rsa1024_wrapped_pair_key_t *wrapped_pair_key) |
This API outputs 1024-bit RSA wrapped pair key.
[in,out] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::RSA2048_WrappedKeyPairGenerate) (sce_rsa2048_wrapped_pair_key_t *wrapped_pair_key) |
This API outputs 2048-bit RSA wrapped pair key.
[in,out] | wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* sce_api_t::RSA1024_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa1024_public_wrapped_key_t *wrapped_key) |
This API outputs 1024-bit RSA public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 1024-bit RSA public wrapped key |
fsp_err_t(* sce_api_t::RSA1024_EncryptedPrivateKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa1024_private_wrapped_key_t *wrapped_key) |
This API outputs 1024-bit RSA private wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 1024-bit RSA private wrapped key |
fsp_err_t(* sce_api_t::RSA2048_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa2048_public_wrapped_key_t *wrapped_key) |
This API outputs 2048-bit RSA public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 2048-bit RSA public wrapped key |
fsp_err_t(* sce_api_t::RSA2048_EncryptedPrivateKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa2048_private_wrapped_key_t *wrapped_key) |
This API outputs 2048-bit RSA private wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 2048-bit RSA private wrapped key |
fsp_err_t(* sce_api_t::RSA3072_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa3072_public_wrapped_key_t *wrapped_key) |
This API outputs 3072-bit RSA public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 3072-bit RSA public wrapped key |
fsp_err_t(* sce_api_t::RSA4096_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_rsa4096_public_wrapped_key_t *wrapped_key) |
This API outputs 4096-bit RSA public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | 4096-bit RSA public wrapped key |
fsp_err_t(* sce_api_t::RSASSA_PKCS1024_SignatureGenerate) (sce_rsa_byte_data_t *message_hash, sce_rsa_byte_data_t *signature, sce_rsa1024_private_wrapped_key_t *wrapped_key, uint8_t hash_type) |
RSASSA-PKCS1-V1_5 signature generation.
[in] | message_hash | Message or hash value to which to attach signature |
[in,out] | signature | Signature text storage destination information |
[in] | wrapped_key | Inputs the 1024-bit RSA private wrapped key. |
[in] | hash_type | Only HW_SCE_RSA_HASH_SHA256 is supported |
fsp_err_t(* sce_api_t::RSASSA_PKCS2048_SignatureGenerate) (sce_rsa_byte_data_t *message_hash, sce_rsa_byte_data_t *signature, sce_rsa2048_private_wrapped_key_t *wrapped_key, uint8_t hash_type) |
RSASSA-PKCS1-V1_5 signature generation.
[in] | message_hash | Message or hash value to which to attach signature |
[in,out] | signature | Signature text storage destination information |
[in] | wrapped_key | Inputs the 2048-bit RSA private wrapped key. |
[in] | hash_type | Only HW_SCE_RSA_HASH_SHA256 is supported |
fsp_err_t(* sce_api_t::RSASSA_PKCS1024_SignatureVerify) (sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa1024_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
RSASSA-PKCS1-V1_5 signature verification.
[in] | signature | Signature text information to verify |
[in] | message_hash | Message text or hash value to verify |
[in] | wrapped_key | Inputs the 1024-bit RSA public wrapped key. |
[in] | hash_type | Only HW_SCE_RSA_HASH_SHA256 is supported |
fsp_err_t(* sce_api_t::RSASSA_PKCS2048_SignatureVerify) (sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa2048_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
RSASSA-PKCS1-V1_5 signature verification.
[in] | signature | Signature text information to verify |
[in] | message_hash | Message text or hash value to verify |
[in] | wrapped_key | Inputs the 2048-bit RSA public wrapped key. |
[in] | hash_type | Only HW_SCE_RSA_HASH_SHA256 is supported |
fsp_err_t(* sce_api_t::RSASSA_PKCS3072_SignatureVerify) (sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa3072_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
RSASSA-PKCS1-V1_5 signature verification.
[in] | signature | Signature text information to verify |
[in] | message_hash | Message text or hash value to verify |
[in] | wrapped_key | Inputs the 3072-bit RSA public wrapped key. |
[in] | hash_type | Only HW_SCE_RSA_HASH_SHA256 is supported |
fsp_err_t(* sce_api_t::RSASSA_PKCS4096_SignatureVerify) (sce_rsa_byte_data_t *signature, sce_rsa_byte_data_t *message_hash, sce_rsa4096_public_wrapped_key_t *wrapped_key, uint8_t hash_type) |
RSASSA-PKCS1-V1_5 signature verification.
[in] | signature | Signature text information to verify |
[in] | message_hash | Message text or hash value to verify |
[in] | wrapped_key | Inputs the 4096-bit RSA public wrapped key. |
[in] | hash_type | Only HW_SCE_RSA_HASH_SHA256 is supported |
fsp_err_t(* sce_api_t::RSAES_PKCS1024_Encrypt) (sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa1024_public_wrapped_key_t *wrapped_key) |
RSAES-PKCS1-V1_5 encryption.
[in] | plain | plaintext |
[in,out] | cipher | ciphertext |
[in] | wrapped_key | Inputs the 1024-bit RSA public wrapped key. |
fsp_err_t(* sce_api_t::RSAES_PKCS2048_Encrypt) (sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa2048_public_wrapped_key_t *wrapped_key) |
RSAES-PKCS1-V1_5 encryption.
[in] | plain | plaintext |
[in,out] | cipher | ciphertext |
[in] | wrapped_key | Inputs the 2048-bit RSA public wrapped key. |
fsp_err_t(* sce_api_t::RSAES_PKCS3072_Encrypt) (sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa3072_public_wrapped_key_t *wrapped_key) |
RSAES-PKCS1-V1_5 encryption.
[in] | plain | plaintext |
[in,out] | cipher | ciphertext |
[in] | wrapped_key | Inputs the 3072-bit RSA public wrapped key. |
fsp_err_t(* sce_api_t::RSAES_PKCS4096_Encrypt) (sce_rsa_byte_data_t *plain, sce_rsa_byte_data_t *cipher, sce_rsa4096_public_wrapped_key_t *wrapped_key) |
RSAES-PKCS1-V1_5 encryption.
[in] | plain | plaintext |
[in,out] | cipher | ciphertext |
[in] | wrapped_key | Inputs the 4096-bit RSA public wrapped key. |
fsp_err_t(* sce_api_t::RSAES_PKCS1024_Decrypt) (sce_rsa_byte_data_t *cipher, sce_rsa_byte_data_t *plain, sce_rsa1024_private_wrapped_key_t *wrapped_key) |
RSAES-PKCS1-V1_5 decryption.
[in] | cipher | ciphertext |
[in,out] | plain | plaintext |
[in] | wrapped_key | Inputs the 1024-bit RSA private wrapped key. |
fsp_err_t(* sce_api_t::RSAES_PKCS2048_Decrypt) (sce_rsa_byte_data_t *cipher, sce_rsa_byte_data_t *plain, sce_rsa2048_private_wrapped_key_t *wrapped_key) |
RSAES-PKCS1-V1_5 decryption.
[in] | cipher | ciphertext |
[in,out] | plain | plaintext |
[in] | wrapped_key | Inputs the 2048-bit RSA private wrapped key. |
fsp_err_t(* sce_api_t::SHA256HMAC_EncryptedKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_hmac_sha_wrapped_key_t *wrapped_key) |
This API outputs HMAC-SHA256 wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | HMAC-SHA256 wrapped key |
fsp_err_t(* sce_api_t::SHA256HMAC_GenerateInit) (sce_hmac_sha_handle_t *handle, sce_hmac_sha_wrapped_key_t *wrapped_key) |
Initialize HMAC-SHA256 generation.
[in,out] | handle | SHA-HMAC handler (work area) |
[in] | wrapped_key | MAC wrapped key |
fsp_err_t(* sce_api_t::SHA256HMAC_GenerateUpdate) (sce_hmac_sha_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update HMAC-SHA256 generation.
[in,out] | handle | SHA-HMAC handle (work area) |
[in] | message | Message area |
[in] | message_length | Message length |
fsp_err_t(* sce_api_t::SHA256HMAC_GenerateFinal) (sce_hmac_sha_handle_t *handle, uint8_t *mac) |
Finalize HMAC-SHA256 generation.
[in,out] | handle | SHA-HMAC handle (work area) |
[in,out] | mac | HMAC area (32 bytes) |
fsp_err_t(* sce_api_t::SHA256HMAC_VerifyInit) (sce_hmac_sha_handle_t *handle, sce_hmac_sha_wrapped_key_t *wrapped_key) |
Initialize HMAC-SHA256 verification.
[in,out] | handle | SHA-HMAC handler (work area) |
[in] | wrapped_key | MAC wrapped key |
fsp_err_t(* sce_api_t::SHA256HMAC_VerifyUpdate) (sce_hmac_sha_handle_t *handle, uint8_t *message, uint32_t message_length) |
Update HMAC-SHA256 verification.
[in,out] | handle | SHA-HMAC handle (work area) |
[in] | message | Message area |
[in] | message_length | Message length |
fsp_err_t(* sce_api_t::SHA256HMAC_VerifyFinal) (sce_hmac_sha_handle_t *handle, uint8_t *mac, uint32_t mac_length) |
Finalize HMAC-SHA256 verification.
[in,out] | handle | SHA-HMAC handle (work area) |
[in] | mac | HMAC area |
[in] | mac_length | HMAC length |
fsp_err_t(* sce_api_t::ECC_secp192r1_WrappedKeyPairGenerate) (sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
This API outputs secp192r1 wrapped pair key.
[in,out] | wrapped_pair_key | Wrapped pair key for secp192r1 public key and private key pair |
fsp_err_t(* sce_api_t::ECC_secp224r1_WrappedKeyPairGenerate) (sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
This API outputs secp224r1 wrapped pair key.
[in,out] | wrapped_pair_key | Wrapped pair key for secp224r1 public key and private key pair |
fsp_err_t(* sce_api_t::ECC_secp256r1_WrappedKeyPairGenerate) (sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
This API outputs secp256r1 wrapped pair key.
[in,out] | wrapped_pair_key | Wrapped pair key for secp256r1 public key and private key pair |
fsp_err_t(* sce_api_t::ECC_secp384r1_WrappedKeyPairGenerate) (sce_ecc_wrapped_pair_key_t *wrapped_pair_key) |
This API outputs secp384r1 wrapped pair key.
[in,out] | wrapped_pair_key | Wrapped pair key for secp384r1 public key and private key pair |
fsp_err_t(* sce_api_t::ECC_secp192r1_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
This API outputs secp192r1 public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp192r1 public wrapped key |
fsp_err_t(* sce_api_t::ECC_secp224r1_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
This API outputs secp224r1 public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp224r1 public wrapped key |
fsp_err_t(* sce_api_t::ECC_secp256r1_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
This API outputs secp256r1 public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp256r1 public wrapped key |
fsp_err_t(* sce_api_t::ECC_secp384r1_EncryptedPublicKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_public_wrapped_key_t *wrapped_key) |
This API outputs secp384r1 public wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp384r1 public wrapped key |
fsp_err_t(* sce_api_t::ECC_secp192r1_EncryptedPrivateKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
This API outputs secp192r1 private wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp192r1 private wrapped key |
fsp_err_t(* sce_api_t::ECC_secp224r1_EncryptedPrivateKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
This API outputs secp224r1 private wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp224r1 private wrapped key |
fsp_err_t(* sce_api_t::ECC_secp256r1_EncryptedPrivateKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
This API outputs secp256r1 private wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp256r1 private wrapped key |
fsp_err_t(* sce_api_t::ECC_secp384r1_EncryptedPrivateKeyWrap) (uint8_t *initial_vector, uint8_t *encrypted_key, sce_key_update_key_t *key_update_key, sce_ecc_private_wrapped_key_t *wrapped_key) |
This API outputs secp384r1 private wrapped key.
[in] | initial_vector | Initialization vector when generating encrypted_key |
[in] | encrypted_key | User key encryptedand MAC appended |
[in] | key_update_key | Key update keyring |
[in,out] | wrapped_key | secp384r1 private wrapped key |
fsp_err_t(* sce_api_t::ECDSA_secp192r1_SignatureGenerate) (sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
ECDSA signature generation.
[in] | message_hash | Message or hash value to which to attach signature |
[in,out] | signature | Signature text storage destination information |
[in] | wrapped_key | Input wrapped key of secp192r1 private key. |
fsp_err_t(* sce_api_t::ECDSA_secp224r1_SignatureGenerate) (sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
ECDSA signature generation.
[in] | message_hash | Message or hash value to which to attach signature |
[in,out] | signature | Signature text storage destination information |
[in] | wrapped_key | Input wrapped key of secp224r1 private key. |
fsp_err_t(* sce_api_t::ECDSA_secp256r1_SignatureGenerate) (sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
ECDSA signature generation.
[in] | message_hash | Message or hash value to which to attach signature |
[in,out] | signature | Signature text storage destination information |
[in] | wrapped_key | Input wrapped key of secp256r1 private key. |
fsp_err_t(* sce_api_t::ECDSA_secp384r1_SignatureGenerate) (sce_ecdsa_byte_data_t *message_hash, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
ECDSA signature generation.
[in] | message_hash | Message or hash value to which to attach signature |
[in,out] | signature | Signature text storage destination information |
[in] | wrapped_key | Input wrapped key of secp384r1 private key. |
fsp_err_t(* sce_api_t::ECDSA_secp192r1_SignatureVerify) (sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
ECDSA signature verification.
[in] | signature | Signature text information to be verified |
[in,out] | message_hash | Message or hash value to be verified |
[in] | wrapped_key | Input wrapped key of secp192r1 public key. |
fsp_err_t(* sce_api_t::ECDSA_secp224r1_SignatureVerify) (sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
ECDSA signature verification.
[in] | signature | Signature text information to be verified |
[in,out] | message_hash | Message or hash value to be verified |
[in] | wrapped_key | Input wrapped key of secp224r1 public key. |
fsp_err_t(* sce_api_t::ECDSA_secp256r1_SignatureVerify) (sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
ECDSA signature verification.
[in] | signature | Signature text information to be verified |
[in,out] | message_hash | Message or hash value to be verified |
[in] | wrapped_key | Input wrapped key of secp256r1 public key. |
fsp_err_t(* sce_api_t::ECDSA_secp384r1_SignatureVerify) (sce_ecdsa_byte_data_t *signature, sce_ecdsa_byte_data_t *message_hash, sce_ecc_public_wrapped_key_t *wrapped_key) |
ECDSA signature verification.
[in] | signature | Signature text information to be verified |
[in,out] | message_hash | Message or hash value to be verified |
[in] | wrapped_key | Input wrapped key of secp384r1 public key. |
fsp_err_t(* sce_api_t::ECDH_secp256r1_Init) (sce_ecdh_handle_t *handle, uint32_t key_type, uint32_t use_key_id) |
secp256r1 ECDH Initialization.
[in,out] | handle | ECDH handler (work area) |
[in] | key_type | Key exchange type |
[in] | use_key_id | use key_id or not |
fsp_err_t(* sce_api_t::ECDH_secp256r1_PublicKeySign) (sce_ecdh_handle_t *handle, sce_ecc_public_wrapped_key_t *ecc_public_wrapped_key, sce_ecc_private_wrapped_key_t *ecc_private_wrapped_key, uint8_t *public_key, sce_ecdsa_byte_data_t *signature, sce_ecc_private_wrapped_key_t *wrapped_key) |
secp256r1 ECDH public key Signature.
[in,out] | handle | ECDH handler (work area) |
[in] | ecc_public_wrapped_key | For ECDHE, input a null pointer. For ECDH, input the wrapped key of a secp256r1 public key. |
[in] | ecc_private_wrapped_key | secp256r1 private key for signature generation |
[in,out] | public_key | User secp256r1 public key (512-bit) for key exchange. |
[in,out] | signature | Signature text storage destination information |
[in,out] | wrapped_key | For ECDHE, a private wrapped key generated from a random number. Not output for ECDH. |
fsp_err_t(* sce_api_t::ECDH_secp256r1_PublicKeyVerify) (sce_ecdh_handle_t *handle, sce_ecc_public_wrapped_key_t *ecc_public_wrapped_key, uint8_t *public_key_data, sce_ecdsa_byte_data_t *signature, sce_ecc_public_wrapped_key_t *wrapped_key) |
secp256r1 ECDH public key verification.
[in,out] | handle | ECDH handler (work area) |
[in] | ecc_public_wrapped_key | Public wrapped key area for signature verification |
[in] | public_key_data | secp256r1 public key (512-bit) |
[in] | signature | ECDSA secp256r1 signature of ecc_public_wrapped_key |
[in,out] | wrapped_key | wrapped key of ecc_public_wrapped_key |
fsp_err_t(* sce_api_t::ECDH_secp256r1_PublicKeyReadWithoutSignature) (sce_ecdh_handle_t *handle, uint8_t *public_key_data, sce_ecc_public_wrapped_key_t *wrapped_key) |
Output the key index of QeU without signature verification.
[in,out] | handle | ECDH handler (work area) |
[in] | public_key_data | secp256r1 public key (512-bit). When key_id is used: key_id (8-bit) || public key (512-bit) |
[in,out] | wrapped_key | wrapped key of ecc_public_wrapped_key |
fsp_err_t(* sce_api_t::ECDH_secp256r1_SharedSecretCalculate) (sce_ecdh_handle_t *handle, sce_ecc_public_wrapped_key_t *ecc_public_wrapped_key, sce_ecc_private_wrapped_key_t *ecc_private_wrapped_key, sce_ecdh_wrapped_key_t *shared_secret_wrapped_key) |
secp256r1 ECDH shared secret calculation.
[in,out] | handle | ECDH handler (work area) |
[in] | ecc_public_wrapped_key | Public wrapped key |
[in] | ecc_private_wrapped_key | Private wrapped key |
[in,out] | shared_secret_wrapped_key | Wrapped key of shared secret Z calculated by ECDH key exchange |
fsp_err_t(* sce_api_t::ECDH_secp256r1_KeyDerivation) (sce_ecdh_handle_t *handle, sce_ecdh_wrapped_key_t *shared_secret_wrapped_key, uint32_t key_type, uint32_t kdf_type, uint8_t *other_info, uint32_t other_info_length, sce_hmac_sha_wrapped_key_t *salt_wrapped_key, sce_aes_wrapped_key_t *wrapped_key) |
secp256r1 ECDH key derivation.
[in,out] | handle | ECDH handler (work area) |
[in] | shared_secret_wrapped_key | Z wrapped key calculated by R_SCE_ECDH_secp256r1_SharedSecretCalculate |
[in] | key_type | Derived key type |
[in] | kdf_type | Algorithm used for key derivation calculation |
[in] | other_info | Additional data used for key derivation calculation |
[in] | other_info_length | Data length of other_info |
[in] | salt_wrapped_key | Salt wrapped key |
[in,out] | wrapped_key | Wrapped key corresponding to key_type. |
fsp_err_t(* sce_api_t::TLS_RootCertificateRSA2048PublicKeyInstall) (uint8_t *encrypted_provisioning_key, uint8_t *initial_vector, uint8_t *encrypted_key, sce_tls_ca_certification_public_wrapped_key_t *wrapped_key) |
Generate TLS RSA Public key index data
[in] | encrypted_provisioning_key | the provisioning key includes encrypted CBC/CBC-MAC key for user key |
[in] | initial_vector | the initial_vector for user key CBC encrypt |
[in] | encrypted_key | the user key encrypted with AES128-ECB mode |
[out] | wrapped_key | the user Key Generation Information (141 words) of RSA2048 bit |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_ECC_secp256r1_EphemeralWrappedKeyPairGenerate) (sce_tls_p256_ecc_wrapped_key_t *tls_p256_ecc_wrapped_key, uint8_t *ephemeral_ecdh_public_key) |
Generate TLS ECC key pair
[in] | tls_p256_ecc_wrapped_key | P256 ECC key index for TLS |
[in] | ephemeral_ecdh_public_key | ephemeral ECDH public key |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_RootCertificateVerify) (uint32_t public_key_type, uint8_t *certificate, uint32_t certificate_length, uint32_t public_key_n_start_position, uint32_t public_key_n_end_position, uint32_t public_key_e_start_position, uint32_t public_key_e_end_position, uint8_t *signature, uint32_t *encrypted_root_public_key) |
Verify root CA certificate.
[in] | public_key_type | key type |
[in] | certificate | certificates. |
[in] | certificate_length | byte size of certificates. |
[in] | public_key_n_start_position | start position of public key n. |
[in] | public_key_n_end_position | end position of public key n. |
[in] | public_key_e_start_position | start position of public key e. |
[in] | public_key_e_end_position | end position of public key e. |
[in] | signature | signature for certificates. |
[out] | encrypted_root_public_key | public key for RSA 2048bit. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_CertificateVerify) (uint32_t public_key_type, uint32_t *encrypted_input_public_key, uint8_t *certificate, uint32_t certificate_length, uint8_t *signature, uint32_t public_key_n_start_position, uint32_t public_key_n_end_position, uint32_t public_key_e_start_position, uint32_t public_key_e_end_position, uint32_t *encrypted_output_public_key) |
Verify server certificate and intermediate certificate.
[in] | public_key_type | key type |
[in] | input_public_key | public key. |
[in] | certificate | certificates. |
[in] | certificate_length | byte size of certificates. |
[in] | signature | signature for certificates. |
[in] | public_key_n_start_position | start position of public key n. |
[in] | public_key_n_end_position | end position of public key n. |
[in] | public_key_e_start_position | start position of public key e. |
[in] | public_key_e_end_position | end position of public key e. |
[out] | encrypted_output_public_key | public key for RSA 2048bit. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_PreMasterSecretGenerateForRSA2048) (uint32_t *sce_pre_master_secret) |
Generate encrypted pre-master secret.
[out] | sce_pre_master_secret | pre-master secret value for SCE. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
fsp_err_t(* sce_api_t::TLS_MasterSecretGenerate) (uint32_t select_cipher_suite, uint32_t *sce_pre_master_secret, uint8_t *client_random, uint8_t *server_random, uint32_t *sce_master_secret) |
Generate encrypted master secret.
[in] | select_cipher_suite | cipher suite type |
[in] | sce_pre_master_secret | pre-master secret value for SCE. |
[in] | client_random | random value reported ClientHello. |
[in] | server_random | random value reported ServerHello. |
[out] | sce_master_secret | master secret value with SCE-specific conversion. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_PreMasterSecretEncryptWithRSA2048) (uint32_t *encrypted_public_key, uint32_t *sce_pre_master_secret, uint8_t *encrypted_pre_master_secret) |
Output the result encrypted pre-master secret with RSA 2048bit
[in] | encrypted_public_key | public key data. |
[in] | sce_pre_master_secret | pre-master secret value. |
[out] | encrypted_pre_master_secret | the value encrypted pre-master secret. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_SessionKeyGenerate) (uint32_t select_cipher_suite, uint32_t *sce_master_secret, uint8_t *client_random, uint8_t *server_random, uint8_t *nonce_explicit, sce_hmac_sha_wrapped_key_t *client_mac_wrapped_key, sce_hmac_sha_wrapped_key_t *server_mac_wrapped_key, sce_aes_wrapped_key_t *client_crypto_wrapped_key, sce_aes_wrapped_key_t *server_crypto_wrapped_key, uint8_t *client_initial_vector, uint8_t *server_initial_vector) |
Output various key information.
[in] | select_cipher_suite | Key suite information number. |
[in] | sce_master_secret | master secret value. |
[in] | client_random | random value reported ClientHello. |
[in] | server_random | random value reported ServerHello. |
[in] | nonce_explicit | nonce value |
[out] | client_mac_wrapped_key | the mac key during communication from client to server. |
[out] | server_mac_wrapped_key | the mac key during communication from server to client. |
[out] | client_crypto_wrapped_key | the crypto key during communication from client to server. |
[out] | server_crypto_wrapped_key | the crypto key during communication from server to client. |
[in] | client_initial_vector | not use. |
[in] | server_initial_vector | not use. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_VerifyDataGenerate) (uint32_t select_verify_data, uint32_t *sce_master_secret, uint8_t *hand_shake_hash, uint8_t *verify_data) |
Generate verify data.
[in] | select_verify_data | Select Client/Server data. |
[in] | sce_master_secret | master secret data. |
[in] | hand_shake_hash | TLS hand shake message SHA256 HASH value. |
[out] | verify_data | verify data. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_ServerKeyExchangeVerify) (uint32_t public_key_type, uint8_t *client_random, uint8_t *server_random, uint8_t *server_ephemeral_ecdh_public_key, uint8_t *server_key_exchange_signature, uint32_t *encrypted_public_key, uint32_t *encrypted_ephemeral_ecdh_public_key) |
Retrives ECDH public key.
[in] | public_key_type | key type |
[in] | client_random | random value reported ClientHello. |
[in] | server_random | random value reported ServerHello. |
[in] | server_ephemeral_ecdh_public_key | Ephemeral ECDH public key from Server. |
[in] | server_key_exchange_sigunature | Server Key Exchange sigunature. |
[in] | encrypted_public_key | encrypted public key. |
[out] | encrypted_ephemeral_ecdh_public_key | encrypted Ephemeral ECDH public key. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
fsp_err_t(* sce_api_t::TLS_PreMasterSecretGenerateForECC_secp256r1) (uint32_t *encrypted_public_key, sce_tls_p256_ecc_wrapped_key_t *tls_p256_ecc_wrapped_key, uint32_t *sce_pre_master_secret) |
Generate encrypted pre-master secret.
[in] | encrypted_public_key | encrypted public key |
[in] | tls_p256_ecc_wrapped_key | P-256 ECC key index. |
[out] | sce_pre_master_secret | encrypted pre-master secret value for SCE. |
FSP_SUCCESS | Normal termination |
FSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT | A resource conflict occurred because a hardware resource needed by the processing routine was in use by another processing routine. |
FSP_ERR_CRYPTO_SCE_FAIL | An internal error occurred. |
struct sce_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
Data Fields | ||
---|---|---|
sce_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
sce_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
sce_api_t const * | p_api | Pointer to the API structure for this instance. |
typedef sce_byte_data_t sce_rsa_byte_data_t |
byte data
RSA byte data structure
typedef sce_byte_data_t sce_ecdsa_byte_data_t |
byte data
ECDSA byte data structure
typedef void sce_ctrl_t |
SCE Control block. Allocate an instance specific control block to pass into the API calls.