mbedtls_selftest
Overview
The mbedTLS 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.
Start TeraTerm.
New connection -> Serial.
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.
Set following connection parameters in menu Setup -> Serial port. Baud rate: 115200 Data: 8 Parity: none Stop: 1 Flow control: none
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:
mbedTLS version 2.26.0 fsys=250105263 Using following implementations: SHA: HASHCRYPT HW accelerated AES: HASHCRYPT HW accelerated 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-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 #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
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) #3: passed PBKDF2 (SHA1) #4: passed PBKDF2 (SHA1) #5: passed
Executed 19 test suites
[ All tests PASS ]