This example uses the SE Manager API to perform asymmetric key handling on the supported Series 2 device.
In this example, SE Manager is used to first generate a public/private asymmetric key pair (plaintext, wrapped, and volatile) using a given Elliptic Curve Cryptography (ECC) curve. The public key is then exported from the key pair and it can be used to verify the public key after exporting or transferring a key in the Secure Vault 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.
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 SE_MANAGER_PRINT=0
(default is 1) in the IDE setting (Preprocessor->Defined symbols
).
The following key types are supported in this example:
The following elliptic curve keys are supported in this example:
ECC Weierstrass Prime
:ECC Montgomery
:ECC EdDSA
:The following SE Manager APIs are used in this example:
sl_se_init
sl_se_deinit
sl_se_init_command_context
sl_se_deinit_command_context
sl_se_validate_key
sl_se_get_storage_size
sl_se_generate_key
sl_se_export_public_key
sl_se_import_key
(Secure Vault device only)sl_se_export_key
(Secure Vault device only)sl_se_delete_key
(Secure Vault device only)sl_se_transfer_key
(Secure Vault device only)Adapter 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).Optimize for debugging (-Og)
on Simplicity IDE and None
on IAR Embedded Workbench.