This example uses the PSA Crypto API to perform asymmetric key operations on the supported device.
The example redirects standard I/O to the virtual serial port (VCOM) of the kit. By default, the serial port setting is 115200 bps and 8-N-1 configuration.
Except for the Series 1 Cortex-M0+ device, the example has been instrumented with code to count the number of clock cycles spent in different operations. The results are printed on the VCOM serial port console. This feature can be disabled by defining PSA_CRYPTO_PRINT=0 (default is 1) in the IDE setting (Preprocessor->Defined symbols).
The following key storages are supported in this example:
The following elliptic curve keys are supported in this example:
PSA_ECC_FAMILY_SECP_R1 :PSA_ECC_FAMILY_MONTGOMERY :The following key usages can be selected in this example:
PSA_KEY_USAGE_EXPORTPSA_KEY_USAGE_COPYThe following asymmetric key algorithms are supported in this example:
PSA_ALG_ECDSA(hash_alg)PSA_ALG_ECDSA_ANYPSA_ALG_ECDHPSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(hash_alg))The default asymmetric key algorithm is PSA_ALG_ECDSA(PSA_ALG_ANY_HASH), it is defined in app_process.h.
The following PSA Crypto APIs are used in this example:
psa_crypto_initpsa_key_attributes_initpsa_set_key_typepsa_set_key_bitspsa_set_key_usage_flagspsa_set_key_algorithmpsa_set_key_idpsa_set_key_lifetimepsa_generate_keypsa_import_keypsa_copy_keypsa_reset_key_attributespsa_export_keypsa_export_public_keypsa_destroy_keymbedtls_psa_crypto_freeAdapter Firmware under General Device Information in Simplicity Studio 5 Users Guide).Secure Firmware under General Device Information in Simplicity Studio 5 Users Guide).Device Console in Simplicity Studio 5, Line terminator: must be set to None).Platform() checkbox to browse the platform examples).3072) in sl_memory_config.h can be reset to the default value (2048) if the software fallback feature in Mbed TLS is disabled.PERSISTENT_KEY_ID and PERSISTENT_COPY_KEY_ID values in app_process.h if these key IDs had already existed in NVM3.PSA_KEY_USAGE_COPY policy does not apply to the wrapped key.Optimize for debugging (-Og) on Simplicity IDE and None on IAR Embedded Workbench.