MCUXpresso SDK Documentation

psa_crypto_opaque_key_examples

psa_crypto_opaque_key_examples#

Overview#

The PSA crypto opaque key example illustrates the generation and usage of keys with different attributes using PSA API’s

The PSA Key Attributes consist of :

PSA Key Identifier PSA Key Lifetime PSA Key Type PSA Key Policies composed of PSA Key Usage and PSA Key Algorithm

PSA Key Lifetime is composed of a location indicator and a persistence level. The location indicator identifies whethere the application generates the key in local storage i.e transparent key or as an opaque key in SoC specicif NXP secure subsystem.

The location of the key is provided as a Kconfig option for the example (TEST_KEY_LOCATION) For RT1180, default location chosen in example Kconfig is 0x1 (PSA_CRYPTO_ELE_S4XX_LOCATION). The keys generated in the example for RT1180 are generated within ELE enclave’s key store. For MCXN and RW612 based devices the location for opaque keys is 0xc00401 which indicates the keys are generated within ELS50 subsystem keyslots and never leave the ELS50 in plain format.

The example also demonstrated generation of keys with different persistence level. Persistent keys may be demonstrated if MBEDTLS_PSA_CRYPTO_STORAGE_C is enabled in the config file.

Supported Boards#

MIMXRT1180-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1180-EVK board

  • SD Card

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Insert the SD card in the SD slot of the board.

  2. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

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

Running the demo

When the demo runs successfully, which takes a couple of minutes, the terminal displays similar information like the following:

Location is 1

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : PASSED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : PASSED

PERSISTENT KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : PASSED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : PASSED

FRDM-MCXN236
Hardware requirements
  • Mini/micro USB cable

  • FRDM-MCXN236 board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

FRDM-MCXN947
Hardware requirements
  • Mini/micro USB cable

  • FRDM-MCXN947 board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

FRDM-MCXN947T
Hardware requirements
  • Mini/micro USB cable

  • FRDM-MCXN947T board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

FRDM-RW612
Hardware requirements
  • Mini/micro USB cable

  • FRDM-RW612 board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

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

  • MCX-N5XX-EVK board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

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

  • MCX-N9XX-EVK board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

RD-RW612-BGA
Hardware requirements
  • Mini/micro USB cable

  • RD-RW612-BGA board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the MCU-Link USB port 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

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

Location is c00401

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

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

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

Location is c00401

VOLATILE KEYS

ECC keys
224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED
521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED
256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED
256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED
384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys
128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED
192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED
256 bit AES key with encrypt/decrypt algo CTR: PASSED
128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED
256 bit AES key with encrypt/decrypt algo GCM: PASSED
192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys
256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys
2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED
2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED
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 ra

    • 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

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

Location is c00401

VOLATILE KEYS

ECC keys
224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): NOT SUPPORTED
521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): NOT SUPPORTED
256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED
256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): NOT SUPPORTED
384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): NOT SUPPORTED

AES keys
128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED
192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: NOT SUPPORTED
256 bit AES key with encrypt/decrypt algo CTR: PASSED
128 bit AES key with encrypt/decrypt algo CCM: NOT SUPPORTED
256 bit AES key with encrypt/decrypt algo GCM: PASSED
192 bit AES key with sign/verify algo CMAC : NOT SUPPORTED

MAC keys
256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys
2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED
2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED
MIMXRT1170-EVKB
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1170-EVKB board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port 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 psa crypto example demo in the terminal window:

Location is 1

VOLATILE KEYS

ECC keys
224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED
521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED
256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED
256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED
384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys
128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED
192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED
256 bit AES key with encrypt/decrypt algo CTR: PASSED
128 bit AES key with encrypt/decrypt algo CCM: PASSED
256 bit AES key with encrypt/decrypt algo GCM: PASSED
192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys
256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): NOT SUPPORTED

RSA keys
2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : PASSED
2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : PASSED

PERSISTENT KEYS

ECC keys
224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED
521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED
256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED
256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED
384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys
128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED
192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED
256 bit AES key with encrypt/decrypt algo CTR: PASSED
128 bit AES key with encrypt/decrypt algo CCM: PASSED
256 bit AES key with encrypt/decrypt algo GCM: PASSED
192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys
256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): NOT SUPPORTED

RSA keys
2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : PASSED
2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : PASSED
MCX-W72-EVK
Hardware requirements
  • Type-C USB cable

  • MCX-W72-EVK Board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J14.

  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

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

Location is c00003

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

MCXW72-LOC
Hardware requirements
  • Type-C USB cable

  • MCXW72-LOC Board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the LOC board J3.

  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

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

Location is c00003

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

KW47-EVK
Hardware requirements
  • Type-C USB cable

  • KW47-EVK Board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the EVK board J14.

  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

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

Location is c00003

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

KW47-LOC
Hardware requirements
  • Type-C USB cable

  • KW47-LOC Board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the LOC board J3.

  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

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

Location is c00003

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED

FRDM-MCXW72
Hardware requirements
  • Type-C USB cable

  • FRDM-MCXW72 Board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the FRDM board J10.

  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

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

Location is c00003

VOLATILE KEYS

ECC keys 224 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA224): PASSED 521 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA512): PASSED 256 bit ECC_KEY_PAIR(SECP_R1) with sign/verify algo ECDSA(SHA256): PASSED 256 ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA256): PASSED 384 bit ECC_KEY_PAIR(BRAINPOOL_R1) with sign/verify algo ECDSA(SHA384): PASSED

AES keys 128 bit AES key with encrypt/decrypt algo ECB_NO_PADDING: PASSED 192 bit AES key with encrypt/decrypt algo CBC_NO_PADDING: PASSED 256 bit AES key with encrypt/decrypt algo CTR: PASSED 128 bit AES key with encrypt/decrypt algo CCM: PASSED 256 bit AES key with encrypt/decrypt algo GCM: PASSED 192 bit AES key with sign/verify algo CMAC : PASSED

MAC keys 256 bit PERSISTENT HMAC key with sign/verify algo HMAC(SHA-256): PASSED

RSA keys 2048 bit RSA key with sign/verify algo RSA_PKCS1V15(SHA256) : NOT SUPPORTED 2048 bit RSA key with sign/verify algo RSA_PSS(SHA512) : NOT SUPPORTED