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
Insert the SD card in the SD slot of the board.
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the MCU-Link USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J1) on the board
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
Download the program to the target board.
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
Connect a USB cable between the PC host and the CMSIS DAP USB port on the board
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
Download the program to the target board.
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
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the EVK board J14.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the LOC board J3.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the EVK board J14.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the LOC board J3.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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
Connect a USB cable between the host PC and the FRDM board J10.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
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