Hardware requirements
Micro USB cable
MIMX8ULP-EVK/EVK9 board
J-Link Debug Probe
5V power supply
Personal Computer
Board settings
No special settings are required.
Please note this application can’t support running with Linux BSP!
Prepare the Demo
Connect 5V power supply and J-Link Debug Probe to the board, switch SW1 to power on the board.
Connect a micro USB cable between the host PC and the J6 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 example.
Running the demo
The log below shows the output of the mbedtls_selftest example in the terminal window:
mbedTLS version 2.28.1
fsys=160000000
Using following implementations:
SHA: Software implementation
AES: Software implementation
AES GCM: Software implementation
DES: Software implementation
Asymmetric cryptography: CASPER HW accelerated ECC256/384/521 and RSA verify
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
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
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-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 #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
Poly1305 test 0 passed
Poly1305 test 1 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
X.509 certificate load: passed
X.509 signature verify: passed
CTR_DRBG (PR = TRUE) : passed
CTR_DRBG (PR = FALSE): passed
HMAC_DRBG (PR = True) : passed
HMAC_DRBG (PR = False) : passed
ECP SW test #1 (constant op_count, base point G): passed
ECP SW 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) #4: passed
PBKDF2 (SHA1) #5: passed
Executed 19 test suites
[ All tests PASS ]