This example uses the SE Manager API to perform the Elliptic Curve Password Authenticated Key Exchange by Juggling (ECJPAKE) on the supported Series 2 device.
In ECJPAKE protocol, a shared secret is derived between two peers using a shared, known password.
In this example, SE Manager is used to initialize two peers that will perform a key exchange - a client, and a server. The SE Manager APIs will be used to perform the key exchange procedure, then the two shared secrets that are generated for each peer are compared.
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 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_ecjpake_init
sl_se_ecjpake_setup
sl_se_ecjpake_check
sl_se_ecjpake_write_round_one
sl_se_ecjpake_write_round_two
sl_se_ecjpake_read_round_one
sl_se_ecjpake_read_round_two
sl_se_ecjpake_derive_secret
sl_se_ecjpake_free
Adapter Firmware
under General Device Information in Simplicity Studio 5 Users Guide).Secure Firmware
under General Device Information in Simplicity Studio 5 Users Guide).Platform()
checkbox to browse the platform examples).Optimize for debugging (-Og)
on Simplicity IDE and None
on IAR Embedded Workbench.