This example uses the SE Manager API to perform the digital signature (ECDSA and EdDSA) on the supported Series 2 device.
In this example, SE Manager is used to first generate a public/private key pair using a given Elliptic Curve Cryptography (ECC) curve. The private key is then used to sign the hash of a message buffer. The signature is then verified using the public key.
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 payload sizes are supported in this example:
PLAIN_MSG_SIZE
/16PLAIN_MSG_SIZE
/4PLAIN_MSG_SIZE
The default PLAIN_MSG_SIZE
is 4096
, it is defined in app_se_manager_signature.h
.
The following elliptic curve keys are supported in this example:
ECC Weierstrass Prime
:ECC EdDSA
:The following hash algorithms are supported in this example:
SHA-1
SHA-224
SHA-256
SHA-384
(Secure Vault device only)SHA-512
(Secure Vault device only)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_get_random
sl_se_validate_key
sl_se_get_storage_size
sl_se_generate_key
sl_se_delete_key
(Secure Vault device only)sl_se_ecc_sign
sl_se_ecc_verify
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.