This is the documentation for the latest (main) development branch of mcuxpresso sdk. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

mbed-crypto_selftest

Overview

The Mbed-Crypto SelfTest program performs cryptographic algorithm testing and prints results to the terminal.

Prepare the Demo

Connect a serial cable from the debug UART port of the target board to the PC. Start TeraTerm (http://ttssh2.osdn.jp) and make a connection to the virtual serial port.

  1. Start TeraTerm.

  2. New connection -> Serial.

  3. Set the appropriate COMx port (where x is port number) in port context menu. The number is provided by the operating system, and could be different from computer to computer. Select the COM number related to the virtual serial port. Confirm the selected port by clicking the “OK” button.

  4. Set following connection parameters in menu Setup -> Serial port. Baud rate: 115200 Data: 8 Parity: none Stop: 1 Flow control: none

  5. Confirm the selected parameters by clicking the “OK” button.

Running the demo

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

MD5 test #1: passed MD5 test #2: passed MD5 test #3: passed MD5 test #4: passed MD5 test #5: passed MD5 test #6: passed MD5 test #7: passed

RIPEMD-160 test #1: passed RIPEMD-160 test #2: passed RIPEMD-160 test #3: passed RIPEMD-160 test #4: passed RIPEMD-160 test #5: passed RIPEMD-160 test #6: passed RIPEMD-160 test #7: passed RIPEMD-160 test #8: passed

SHA-1 test #1: passed SHA-1 test #2: passed SHA-1 test #3: passed

SHA-224 test #1: passed SHA-224 test #2: passed SHA-224 test #3: passed SHA-256 test #1: passed SHA-256 test #2: passed SHA-256 test #3: passed

SHA-384 test #1: passed SHA-384 test #2: passed SHA-384 test #3: passed SHA-512 test #1: passed SHA-512 test #2: passed SHA-512 test #3: passed

ARC4 test #1: passed ARC4 test #2: passed ARC4 test #3: passed

DES -ECB- 56 (dec): passed DES -ECB- 56 (enc): passed DES3-ECB-112 (dec): passed DES3-ECB-112 (enc): passed DES3-ECB-168 (dec): passed DES3-ECB-168 (enc): passed

DES -CBC- 56 (dec): passed DES -CBC- 56 (enc): passed DES3-CBC-112 (dec): passed DES3-CBC-112 (enc): passed DES3-CBC-168 (dec): passed DES3-CBC-168 (enc): passed

AES-ECB-128 (dec): passed AES-ECB-128 (enc): passed AES-ECB-192 (dec): passed AES-ECB-192 (enc): passed AES-ECB-256 (dec): passed AES-ECB-256 (enc): passed

AES-CBC-128 (dec): passed AES-CBC-128 (enc): passed AES-CBC-192 (dec): passed AES-CBC-192 (enc): passed AES-CBC-256 (dec): passed AES-CBC-256 (enc): passed

AES-CFB128-128 (dec): passed AES-CFB128-128 (enc): passed AES-CFB128-192 (dec): passed AES-CFB128-192 (enc): passed AES-CFB128-256 (dec): passed AES-CFB128-256 (enc): passed

AES-OFB-128 (dec): passed AES-OFB-128 (enc): passed AES-OFB-192 (dec): passed AES-OFB-192 (enc): passed AES-OFB-256 (dec): passed AES-OFB-256 (enc): passed

AES-CTR-128 (dec): passed AES-CTR-128 (enc): passed AES-CTR-128 (dec): passed AES-CTR-128 (enc): passed AES-CTR-128 (dec): passed AES-CTR-128 (enc): passed

AES-XTS-128 (dec): passed AES-XTS-128 (enc): passed AES-XTS-128 (dec): passed AES-XTS-128 (enc): passed AES-XTS-128 (dec): passed AES-XTS-128 (enc): passed

AES-GCM-128 #0 (enc): passed AES-GCM-128 #0 (dec): passed AES-GCM-128 #0 split (enc): passed AES-GCM-128 #0 split (dec): passed AES-GCM-128 #1 (enc): passed AES-GCM-128 #1 (dec): passed AES-GCM-128 #1 split (enc): passed AES-GCM-128 #1 split (dec): passed AES-GCM-128 #2 (enc): passed AES-GCM-128 #2 (dec): passed AES-GCM-128 #2 split (enc): passed AES-GCM-128 #2 split (dec): passed AES-GCM-128 #3 (enc): passed AES-GCM-128 #3 (dec): passed AES-GCM-128 #3 split (enc): passed AES-GCM-128 #3 split (dec): passed AES-GCM-128 #4 (enc): passed AES-GCM-128 #4 (dec): passed AES-GCM-128 #4 split (enc): passed AES-GCM-128 #4 split (dec): passed AES-GCM-128 #5 (enc): passed AES-GCM-128 #5 (dec): passed AES-GCM-128 #5 split (enc): passed AES-GCM-128 #5 split (dec): passed AES-GCM-192 #0 (enc): passed AES-GCM-192 #0 (dec): passed AES-GCM-192 #0 split (enc): passed AES-GCM-192 #0 split (dec): passed AES-GCM-192 #1 (enc): passed AES-GCM-192 #1 (dec): passed AES-GCM-192 #1 split (enc): passed AES-GCM-192 #1 split (dec): passed AES-GCM-192 #2 (enc): passed AES-GCM-192 #2 (dec): passed AES-GCM-192 #2 split (enc): passed AES-GCM-192 #2 split (dec): passed AES-GCM-192 #3 (enc): passed AES-GCM-192 #3 (dec): passed AES-GCM-192 #3 split (enc): passed AES-GCM-192 #3 split (dec): passed AES-GCM-192 #4 (enc): passed AES-GCM-192 #4 (dec): passed AES-GCM-192 #4 split (enc): passed AES-GCM-192 #4 split (dec): passed AES-GCM-192 #5 (enc): passed AES-GCM-192 #5 (dec): passed AES-GCM-192 #5 split (enc): passed AES-GCM-192 #5 split (dec): passed AES-GCM-256 #0 (enc): passed AES-GCM-256 #0 (dec): passed AES-GCM-256 #0 split (enc): passed AES-GCM-256 #0 split (dec): passed AES-GCM-256 #1 (enc): passed AES-GCM-256 #1 (dec): passed AES-GCM-256 #1 split (enc): passed AES-GCM-256 #1 split (dec): passed AES-GCM-256 #2 (enc): passed AES-GCM-256 #2 (dec): passed AES-GCM-256 #2 split (enc): passed AES-GCM-256 #2 split (dec): passed AES-GCM-256 #3 (enc): passed AES-GCM-256 #3 (dec): passed AES-GCM-256 #3 split (enc): passed AES-GCM-256 #3 split (dec): passed AES-GCM-256 #4 (enc): passed AES-GCM-256 #4 (dec): passed AES-GCM-256 #4 split (enc): passed AES-GCM-256 #4 split (dec): passed AES-GCM-256 #5 (enc): passed AES-GCM-256 #5 (dec): passed AES-GCM-256 #5 split (enc): passed AES-GCM-256 #5 split (dec): passed

CCM-AES #1: passed CCM-AES #2: passed CCM-AES #3: passed

AES 128 CMAC subkey #1: passed AES 128 CMAC subkey #2: passed AES 128 CMAC subkey #3: passed AES 128 CMAC subkey #4: passed AES 128 CMAC #1: passed AES 128 CMAC #2: passed AES 128 CMAC #3: passed AES 128 CMAC #4: passed AES 192 CMAC subkey #1: passed AES 192 CMAC subkey #2: passed AES 192 CMAC subkey #3: passed AES 192 CMAC subkey #4: passed AES 192 CMAC #1: passed AES 192 CMAC #2: passed AES 192 CMAC #3: passed AES 192 CMAC #4: passed AES 256 CMAC subkey #1: passed AES 256 CMAC subkey #2: passed AES 256 CMAC subkey #3: passed AES 256 CMAC subkey #4: passed AES 256 CMAC #1: passed AES 256 CMAC #2: passed AES 256 CMAC #3: passed AES 256 CMAC #4: passed 3DES 2 key CMAC subkey #1: passed 3DES 2 key CMAC subkey #2: passed 3DES 2 key CMAC subkey #3: passed 3DES 2 key CMAC subkey #4: passed 3DES 2 key CMAC #1: passed 3DES 2 key CMAC #2: passed 3DES 2 key CMAC #3: passed 3DES 2 key CMAC #4: passed 3DES 3 key CMAC subkey #1: passed 3DES 3 key CMAC subkey #2: passed 3DES 3 key CMAC subkey #3: passed 3DES 3 key CMAC subkey #4: passed 3DES 3 key CMAC #1: passed 3DES 3 key CMAC #2: passed 3DES 3 key CMAC #3: passed 3DES 3 key CMAC #4: passed AES CMAC 128 PRF #0: passed AES CMAC 128 PRF #1: passed AES CMAC 128 PRF #2: passed

ChaCha20 test 0 passed ChaCha20 test 1 passed

Poly1305 test 0 passed Poly1305 test 1 passed

ChaCha20-Poly1305 test 0 passed

Base64 encoding test: passed Base64 decoding test: passed

MPI test #1 (mul_mpi): passed MPI test #2 (div_mpi): passed MPI test #3 (exp_mod): passed MPI test #4 (inv_mod): passed MPI test #5 (simple gcd): passed

RSA key validation: passed PKCS#1 encryption : passed PKCS#1 decryption : passed PKCS#1 data sign : passed PKCS#1 sig. verify: passed

XTEA test #1: passed XTEA test #2: passed XTEA test #3: passed XTEA test #4: passed XTEA test #5: passed XTEA test #6: passed

CAMELLIA-ECB-128 (dec): passed CAMELLIA-ECB-128 (enc): passed CAMELLIA-ECB-192 (dec): passed CAMELLIA-ECB-192 (enc): passed CAMELLIA-ECB-256 (dec): passed CAMELLIA-ECB-256 (enc): passed

CAMELLIA-CBC-128 (dec): passed CAMELLIA-CBC-128 (enc): passed CAMELLIA-CBC-192 (dec): passed CAMELLIA-CBC-192 (enc): passed CAMELLIA-CBC-256 (dec): passed CAMELLIA-CBC-256 (enc): passed

CAMELLIA-CTR-128 (dec): passed CAMELLIA-CTR-128 (enc): passed CAMELLIA-CTR-128 (dec): passed CAMELLIA-CTR-128 (enc): passed CAMELLIA-CTR-128 (dec): passed CAMELLIA-CTR-128 (enc): passed

CTR_DRBG (PR = TRUE) : passed CTR_DRBG (PR = FALSE): passed

HMAC_DRBG (PR = True) : passed HMAC_DRBG (PR = False) : passed

ECP test #1 (constant op_count, base point G): passed ECP test #2 (constant op_count, other point): passed

DHM parameter load: passed

ENTROPY test: passed

PBKDF2 (SHA1) #0: passed PBKDF2 (SHA1) #1: passed PBKDF2 (SHA1) #2: passed PBKDF2 (SHA1) #3: passed PBKDF2 (SHA1) #4: passed PBKDF2 (SHA1) #5: passed

Executed 25 test suites

[ All tests PASS ]