RA Flexible Software Package Documentation
Release v5.3.0
|
|
Functions | |
fsp_err_t | R_RSIP_AES128_InitialKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_AES192_InitialKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_AES256_InitialKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_RSA2048_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa2048_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_RSA2048_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa2048_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_RSA3072_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa3072_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_RSA3072_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa3072_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_RSA4096_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa4096_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_RSA4096_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa4096_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_secp256r1_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_secp256r1_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_secp384r1_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_secp384r1_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_secp256k1_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_secp256k1_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_brainpoolP256r1_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_brainpoolP256r1_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_brainpoolP384r1_InitialPublicKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t | R_RSIP_ECC_brainpoolP384r1_InitialPrivateKeyWrap (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
Driver for the Secure Key Injection on RA MCUs.
This module provides RSIP functions in PSA Crypto.
Crypto Peripheral version | Devices |
---|---|
RSIP-E51A | RA8M1 |
The RSIP Key Injection Module has two types of APIs, InitialKeyWrap and EncryptedKeyWrap. The available APIs differ depending on used RSIP. Please refer to the following for details.
This module does not require a specific clock configuration.
This module does not use I/O pins.
RSIP Key Umport for PSA Crypto Module is off by default. To use it, please On the Stacks tab, add New > Security > MbedTLS or MbedTLS (Crypto Only), Add Requires RSIP Driver > New > (*1), Add Key Injection for RSA Crypto (Optional) > New > Key Injectin for RSA Crypto for PSA Crypto Module after adding MbedTLS. For information on how to injection and update secure keys, refer to the Application Note R11AN0496.
Please refer to Hardware Initialization in Mbed Crypto H/W Acceleration (rm_psa_crypto).
fsp_err_t R_RSIP_AES128_InitialKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_aes_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 128-bit AES key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 128-bit AES wrapped key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_AES192_InitialKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_aes_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 192-bit AES key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 192-bit AES wrapped key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_AES256_InitialKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_aes_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit AES key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit AES wrapped key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_RSA2048_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_rsa2048_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 2048-bit RSA public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 2048-bit RSA wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_RSA2048_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_rsa2048_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 2048-bit RSA private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 2048-bit RSA wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_RSA3072_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_rsa3072_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 3072-bit RSA public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 3072-bit RSA wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_RSA3072_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_rsa3072_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 3072-bit RSA private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 3072-bit RSA wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_RSA4096_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_rsa4096_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 4096-bit RSA public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 4096-bit RSA wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_RSA4096_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_rsa4096_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 4096-bit RSA private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 4096-bit RSA wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_secp256r1_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit ECC public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit ECC wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_secp256r1_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit ECC private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit ECC wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_secp384r1_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 384-bit ECC public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 384-bit ECC wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_secp384r1_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 384-bit ECC private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 384-bit ECC wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_secp256k1_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit ECC public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit ECC wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_secp256k1_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit ECC private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit ECC wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_brainpoolP256r1_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit brainpool ECC public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit ECC wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_brainpoolP256r1_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 256-bit brainpool ECC private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 256-bit ECC wrapped private key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_brainpoolP384r1_InitialPublicKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_public_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 384-bit brainpool ECC public key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 384-bit ECC wrapped public key |
FSP_SUCCESS | Normal termination. |
fsp_err_t R_RSIP_ECC_brainpoolP384r1_InitialPrivateKeyWrap | ( | rsip_key_injection_type_t const | key_injection_type, |
uint8_t const *const | p_wrapped_user_factory_programming_key, | ||
uint8_t const *const | p_initial_vector, | ||
uint8_t const *const | p_user_key, | ||
rsip_ecc_private_wrapped_key_t *const | p_wrapped_key | ||
) |
This API generates 384-bit brainpool ECC private key within the user routine.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it is encrypted and MAC appended |
[out] | p_wrapped_key | 128-bit AES wrapped key |
FSP_SUCCESS | Normal termination. |