MCUXpresso SDK Documentation

els_pkc_asymmetric

els_pkc_asymmetric#

Overview#

The ELS PKC application provides examples which demonstrate usage of most available algorithms and a crypto library lightweight testing:

  • AES-128/192/256 encryption/decryption, modes ECB/CBC/CTR/GCM/CMAC

  • SHA2-224/256/384/512 (including sha-direct mode)

  • KDF: CKDF (NIST SP 800-108 / SP800-56C), HKDF (RFC5869)

  • HMAC

  • ECC Sign/Verify/Keygen/Keyexchange (P-256)

  • RFC3394 key wrapping/unwrapping

  • Key Import/Export/Utilities/Provisioning

  • Random number Generation (DRBG/PRNG)

Supported Boards#

FRDM-MCXN236
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXN236 board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a type-c USB cable between the host PC and the MCU-Link USB port (J10) on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:


FRDM-MCXN947
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXN947 board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a type-c USB cable between the PC host and the MCU-Link USB port (J17) on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:


FRDM-MCXN947T
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXN947T board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a type-c USB cable between the PC host and the MCU-Link USB port (J17) on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:


FRDM-RW612
Hardware requirements
  • Micro USB cable

  • FRDM-RW612 board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a micro USB cable between the PC host and the MCU-Link USB port (J10) on the board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the example.

Running the demo

When the demo runs successfully, the terminal will display similar information like the following:

ELS PKC asymmetric cipher example

============================ PKC ECC keygen sign verify:pass PKC RSA no-verify:pass PKC RSA sign no-encode:pass PKC RSA-PSS sign SHA256:pass PKC RSA-PSS verify SHA256:pass PKC ECC Curve25519:pass TLS Master session keys:pass

============================ RESULT: All 7 test PASS!! ELS example END

LPCXpresso55S36
Hardware requirements
  • Mini/micro USB cable

  • LPCXpresso55S36 board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J1) on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the ELS (Crypto Sub System) and PKC (Public-Key Crypto Coprocessor) demo in the terminal window:

ELS PKC asymmetric cipher example

============================
PKC ECC keygen sign verify:pass 
PKC RSA no-verify:pass 
PKC RSA sign no-encode:pass 
PKC RSA-PSS sign SHA256:pass 
PKC RSA-PSS verify SHA256:pass 
TLS Master session keys:pass 

============================
RESULT: All 6 test PASS!!
ELS example END 
MCX-N5XX-EVK
Hardware requirements
  • Mini/micro USB cable

  • MCX-N5XX-EVK board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the MCU-Link USB port (J5) on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:


MCX-N9XX-EVK
Hardware requirements
  • Mini/micro USB cable

  • MCX-N9XX-EVK board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the MCU-Link USB port (J5) on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the hello world demo in the terminal window:


MIMXRT700-EVK
Hardware requirements
  • Micro USB cable

  • MIMXRT700-EVK board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J1) on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the ELS (Crypto Sub System) and PKC (Public-Key Crypto Coprocessor) demo in the terminal window:

ELS PKC asymmetric cipher example

============================
PKC ECC keygen sign verify:pass
PKC RSA no-verify:pass
PKC RSA sign no-encode:pass
PKC RSA-PSS sign SHA256:pass
PKC RSA-PSS verify SHA256:pass
PKC ECC Curve25519:pass
TLS Master session keys:pass

============================
RESULT: All 7 test PASS!!
ELS example END
FRDM-IMXRT700
Hardware requirements
  • Type-C USB cable

  • FRDM-IMXRT700 board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a USB cable between the PC host and the CMSIS DAP USB port on the board

  2. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

The log below shows the output of the ELS (Crypto Sub System) and PKC (Public-Key Crypto Coprocessor) demo in the terminal window:

ELS PKC asymmetric cipher example

============================
PKC ECC keygen sign verify:pass
PKC RSA no-verify:pass
PKC RSA sign no-encode:pass
PKC RSA-PSS sign SHA256:pass
PKC RSA-PSS verify SHA256:pass
PKC ECC Curve25519:pass
TLS Master session keys:pass

============================
RESULT: All 7 test PASS!!
ELS example END
RD-RW612-BGA
Hardware requirements
  • Micro USB cable

  • RD-RW612-BGA board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a micro USB cable between the PC host and the MCU-Link USB port (J7) on the board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the example.

Running the demo

When the demo runs successfully, the terminal will display similar information like the following:

ELS PKC asymmetric cipher example

============================ PKC ECC keygen sign verify:pass PKC RSA no-verify:pass PKC RSA sign no-encode:pass PKC RSA-PSS sign SHA256:pass PKC RSA-PSS verify SHA256:pass PKC ECC Curve25519:pass TLS Master session keys:pass

============================ RESULT: All 7 test PASS!! ELS example END