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.
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:
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 ]