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_SIZEThe 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-1SHA-224SHA-256SHA-384 (Secure Vault device only)SHA-512 (Secure Vault device only)The following SE Manager APIs are used in this example:
sl_se_initsl_se_deinitsl_se_init_command_contextsl_se_deinit_command_contextsl_se_get_randomsl_se_validate_keysl_se_get_storage_sizesl_se_generate_keysl_se_delete_key (Secure Vault device only)sl_se_ecc_signsl_se_ecc_verifyAdapter 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.