Hardware requirements

  • Micro USB cable

  • FRDM-RW612 board

  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo

  1. Connect a micro USB cable between the PC host and the MCU-Link USB port (J10) on the board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the example.

Running the demo

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

#################################

START OF BENCHMARK

################################# SYSTEM FREQUENCY: 260 MHZ BM INFORMATION: -EXPERIMENTAL CACHING: EFFECT VISIBLE ON CYCLES/BYTE -SINGLE BLOCK: 1 * BLOCK_SIZE BLOCK -MULTIPLE BLOCKS: 1024 * BLOCK_SIZE BLOCKS -SMALL MESSAGE: 64 BYTE -LARGE MESSAGE: 2048 BYTE -AES BLOCK SIZE: 16 BYTE -SHA-256 BLOCK SIZE: 64 BYTE -SHA-384 BLOCK SIZE: 128 BYTE -SHA-512 BLOCK SIZE: 128 BYTE -FOR AES-CCM-192 DOING FIRST CBC AND THEN CTR, BECAUSE NO AES-CCM-192 SUPPORTED BY ELS PKC

AES-CTR-128-DRBG: CODE: RAM DATA: RAM KB/S: 52823.25 CYCLES/BLOCK: 4.96 CYCLES/BYTE: 0.31 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 52823.15 CYCLES/BLOCK: 4.79 CYCLES/BYTE: 0.30 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 4057.99 CYCLES/BLOCK: 46.95 CYCLES/BYTE: 2.93 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CTR-256-DRBG: CODE: RAM DATA: RAM KB/S: 2952.88 CYCLES/BLOCK: 86.45 CYCLES/BYTE: 5.40 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2952.88 CYCLES/BLOCK: 86.44 CYCLES/BYTE: 5.40 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 613.99 CYCLES/BLOCK: 397.69 CYCLES/BYTE: 24.86 WARMED UP: YES EXECUTION: SINGLE BLOCK

ECC-WEIER-KEY-GEN-P256: CODE: RAM DATA: RAM KEY-GEN/S: 125.50

ECC-WEIER-KEY-GEN-P384: CODE: RAM DATA: RAM KEY-GEN/S: 10.50

ECC-WEIER-KEY-GEN-P521: CODE: RAM DATA: RAM KEY-GEN/S: 9.50

ECC-ECDSA-WEIER-P256 CODE: RAM DATA: RAM SIGN/S: 123.50 VERIFY/S: 70.00 EXECUTION: SHA-512 CODE: RAM DATA: RAM SIGN/S: 123.50 VERIFY/S: 69.50 EXECUTION: SHA-256

ECC-ECDSA-WEIER-P384 CODE: RAM DATA: RAM SIGN/S: 10.50 VERIFY/S: 28.50 EXECUTION: SHA-512 CODE: RAM DATA: RAM SIGN/S: 10.50 VERIFY/S: 28.50 EXECUTION: SHA-256

ECC-ECDSA-WEIER-P521 CODE: RAM DATA: RAM SIGN/S: 9.50 VERIFY/S: 12.00 EXECUTION: SHA-512 CODE: RAM DATA: RAM SIGN/S: 9.50 VERIFY/S: 12.00 EXECUTION: SHA-256

ECC-EDDSA-ED25519: CODE: RAM DATA: RAM SIGN/S: 449.50 VERIFY/S: 144.50 EXECUTION: LARGE MESSAGE CODE: RAM DATA: RAM SIGN/S: 454.50 VERIFY/S: 144.50 EXECUTION: SMALL MESSAGE

RSA-PSS-SHA: CODE: RAM DATA: RAM SIGN/S: 8.00 VERIFY/S: 686.50 EXECUTION: SHA-512 CODE: RAM DATA: RAM SIGN/S: 8.00 VERIFY/S: 678.50 EXECUTION: SHA-256

ECC-ECDH-WEIER-P256 CODE: RAM DATA: RAM POINT-MULT./S: 126.50 SHARED-SECRET CALC./S: 63.50

ECC-ECDH-WEIER-P384 CODE: RAM DATA: RAM POINT-MULT./S: 54.50 SHARED-SECRET CALC./S: 27.50

ECC-ECDH-WEIER-P521 CODE: RAM DATA: RAM POINT-MULT./S: 23.50 SHARED-SECRET CALC./S: 12.00

AES-CBC-128: CODE: RAM DATA: RAM KB/S: 81793.70 CYCLES/BLOCK: 50.35 CYCLES/BYTE: 3.15 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 81793.70 CYCLES/BLOCK: 49.43 CYCLES/BYTE: 3.09 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2322.99 CYCLES/BLOCK: 1496.35 CYCLES/BYTE: 93.52 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CBC-192: CODE: RAM DATA: RAM KB/S: 75640.88 CYCLES/BLOCK: 53.72 CYCLES/BYTE: 3.36 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 75640.90 CYCLES/BLOCK: 53.47 CYCLES/BYTE: 3.34 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2264.00 CYCLES/BLOCK: 1544.34 CYCLES/BYTE: 96.52 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CBC-256: CODE: RAM DATA: RAM KB/S: 65878.90 CYCLES/BLOCK: 61.68 CYCLES/BYTE: 3.85 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 65878.90 CYCLES/BLOCK: 61.43 CYCLES/BYTE: 3.84 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2280.00 CYCLES/BLOCK: 1528.35 CYCLES/BYTE: 95.52 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-ECB-128: CODE: RAM DATA: RAM KB/S: 89376.23 CYCLES/BLOCK: 45.46 CYCLES/BYTE: 2.84 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 89382.75 CYCLES/BLOCK: 45.21 CYCLES/BYTE: 2.83 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2669.99 CYCLES/BLOCK: 1270.30 CYCLES/BYTE: 79.39 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-ECB-192: CODE: RAM DATA: RAM KB/S: 75952.45 CYCLES/BLOCK: 53.50 CYCLES/BYTE: 3.34 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 75952.44 CYCLES/BLOCK: 53.25 CYCLES/BYTE: 3.33 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2571.00 CYCLES/BLOCK: 1326.32 CYCLES/BYTE: 82.89 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-ECB-256: CODE: RAM DATA: RAM KB/S: 66116.24 CYCLES/BLOCK: 61.46 CYCLES/BYTE: 3.84 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 66116.24 CYCLES/BLOCK: 61.21 CYCLES/BYTE: 3.83 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2614.00 CYCLES/BLOCK: 1302.29 CYCLES/BYTE: 81.39 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CTR-128: CODE: RAM DATA: RAM KB/S: 75460.77 CYCLES/BLOCK: 53.84 CYCLES/BYTE: 3.37 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 75460.82 CYCLES/BLOCK: 53.60 CYCLES/BYTE: 3.35 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 1369.99 CYCLES/BLOCK: 2709.39 CYCLES/BYTE: 169.34 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CTR-192: CODE: RAM DATA: RAM KB/S: 65616.48 CYCLES/BLOCK: 61.93 CYCLES/BYTE: 3.87 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 65616.52 CYCLES/BLOCK: 61.68 CYCLES/BYTE: 3.86 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 1329.00 CYCLES/BLOCK: 2805.39 CYCLES/BYTE: 175.34 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CTR-256: CODE: RAM DATA: RAM KB/S: 58151.26 CYCLES/BLOCK: 69.87 CYCLES/BYTE: 4.37 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 58151.42 CYCLES/BLOCK: 69.63 CYCLES/BYTE: 4.35 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 1349.00 CYCLES/BLOCK: 2757.42 CYCLES/BYTE: 172.34 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CCM-128(WITH CMAC): CODE: RAM DATA: RAM KB/S: 10797.09 CYCLES/BLOCK: 376.82 CYCLES/BYTE: 23.55 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 10797.07 CYCLES/BLOCK: 376.57 CYCLES/BYTE: 23.54 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 512.99 CYCLES/BLOCK: 7663.69 CYCLES/BYTE: 478.98 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CCM-192(1.CBC 2.CTR): CODE: RAM DATA: RAM KB/S: 35225.41 CYCLES/BLOCK: 115.37 CYCLES/BYTE: 7.21 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 35225.29 CYCLES/BLOCK: 115.13 CYCLES/BYTE: 7.20 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 886.00 CYCLES/BLOCK: 4326.47 CYCLES/BYTE: 270.40 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CCM-256(WITH CMAC): CODE: RAM DATA: RAM KB/S: 9804.79 CYCLES/BLOCK: 415.02 CYCLES/BYTE: 25.94 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 9804.79 CYCLES/BLOCK: 414.77 CYCLES/BYTE: 25.92 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 500.00 CYCLES/BLOCK: 7875.62 CYCLES/BYTE: 492.23 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-GCM-128: CODE: RAM DATA: RAM KB/S: 27635.46 CYCLES/BLOCK: 147.09 CYCLES/BYTE: 9.19 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 27635.84 CYCLES/BLOCK: 146.84 CYCLES/BYTE: 9.18 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 554.99 CYCLES/BLOCK: 7064.57 CYCLES/BYTE: 441.54 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-GCM-192: CODE: RAM DATA: RAM KB/S: 35225.39 CYCLES/BLOCK: 115.37 CYCLES/BYTE: 7.21 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 35225.40 CYCLES/BLOCK: 115.13 CYCLES/BYTE: 7.20 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 886.00 CYCLES/BLOCK: 4326.48 CYCLES/BYTE: 270.41 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-GCM-256: CODE: RAM DATA: RAM KB/S: 24307.13 CYCLES/BLOCK: 167.25 CYCLES/BYTE: 10.45 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 24307.11 CYCLES/BLOCK: 167.00 CYCLES/BYTE: 10.44 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 540.99 CYCLES/BLOCK: 7250.54 CYCLES/BYTE: 453.16 WARMED UP: YES EXECUTION: SINGLE BLOCK

SHA-256: CODE: RAM DATA: RAM KB/S: 195891.31 CYCLES/BLOCK: 166.01 CYCLES/BYTE: 1.30 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 195890.67 CYCLES/BLOCK: 165.77 CYCLES/BYTE: 1.30 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 14618.90 CYCLES/BLOCK: 1974.35 CYCLES/BYTE: 15.42 WARMED UP: YES EXECUTION: SINGLE BLOCK

SHA-384: CODE: RAM DATA: RAM KB/S: 219311.01 CYCLES/BLOCK: 148.28 CYCLES/BYTE: 1.16 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 219311.01 CYCLES/BLOCK: 148.03 CYCLES/BYTE: 1.16 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 13122.01 CYCLES/BLOCK: 2224.42 CYCLES/BYTE: 17.38 WARMED UP: YES EXECUTION: SINGLE BLOCK

SHA-512: CODE: RAM DATA: RAM KB/S: 219261.52 CYCLES/BLOCK: 148.31 CYCLES/BYTE: 1.16 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 219259.39 CYCLES/BLOCK: 148.07 CYCLES/BYTE: 1.16 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 12952.00 CYCLES/BLOCK: 2260.43 CYCLES/BYTE: 17.66 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CMAC-128: CODE: RAM DATA: RAM KB/S: 12734.88 CYCLES/BLOCK: 319.40 CYCLES/BYTE: 19.96 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 12734.88 CYCLES/BLOCK: 319.16 CYCLES/BYTE: 19.95 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2314.00 CYCLES/BLOCK: 1501.31 CYCLES/BYTE: 93.83 WARMED UP: YES EXECUTION: SINGLE BLOCK

AES-CMAC-256: CODE: RAM DATA: RAM KB/S: 11913.95 CYCLES/BLOCK: 341.44 CYCLES/BYTE: 21.34 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 11913.94 CYCLES/BLOCK: 341.20 CYCLES/BYTE: 21.32 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2232.00 CYCLES/BLOCK: 1566.23 CYCLES/BYTE: 97.89 WARMED UP: YES EXECUTION: SINGLE BLOCK

HMAC-SHA-256: CODE: RAM DATA: RAM KB/S: 188127.45 CYCLES/BLOCK: 172.87 CYCLES/BYTE: 1.35 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 188127.34 CYCLES/BLOCK: 172.63 CYCLES/BYTE: 1.35 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 3515.91 CYCLES/BLOCK: 8992.98 CYCLES/BYTE: 70.26 WARMED UP: YES EXECUTION: SINGLE BLOCK

HMAC-SHA-512: CODE: RAM DATA: RAM KB/S: 206457.62 CYCLES/BLOCK: 157.51 CYCLES/BYTE: 1.23 WARMED UP: NO EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 206457.46 CYCLES/BLOCK: 157.27 CYCLES/BYTE: 1.23 WARMED UP: YES EXECUTION: MULTIPLE BLOCKS CODE: RAM DATA: RAM KB/S: 2723.95 CYCLES/BLOCK: 11676.22 CYCLES/BYTE: 91.22 WARMED UP: YES EXECUTION: SINGLE BLOCK

CKDF-SP800108 CODE: RAM DATA: RAM KB/S: 13037.02 CYCLES/BYTE: 82.06 CYCLES/KEY: 2625.89 EXECUTION: 256 BIT KEY CODE: RAM DATA: RAM KB/S: 5899.01 CYCLES/BYTE: 112.30 CYCLES/KEY: 1796.86 EXECUTION: 128 BIT KEY

HKDF-SP80056C CODE: RAM DATA: RAM KB/S: 8991.99 CYCLES/BYTE: 20.42 CYCLES/KEY: 653.28 EXECUTION: 256 BIT KEY

HKDF-RFC5869 CODE: RAM DATA: RAM KB/S: 11978.99 CYCLES/BYTE: 49.69 CYCLES/KEY: 1590.15 EXECUTION: 256 BIT KEY

AES-256-RFC3394 CODE: RAM DATA: RAM KB/S: 345.98 CYCLES/BLOCK: 23427.00 CYCLES/BYTE: 732.09 WARMED UP: NO EXECUTION: WRAP CODE: RAM DATA: RAM KB/S: 345.98 CYCLES/BLOCK: 23194.74 CYCLES/BYTE: 724.84 WARMED UP: YES EXECUTION: WRAP CODE: RAM DATA: RAM KB/S: 332.98 CYCLES/BLOCK: 24361.00 CYCLES/BYTE: 761.28 WARMED UP: NO EXECUTION: UNWRAP CODE: RAM DATA: RAM KB/S: 332.98 CYCLES/BLOCK: 24129.31 CYCLES/BYTE: 754.04 WARMED UP: YES EXECUTION: UNWRAP

#END OF BENCHMARK#