AM273x MCU+ SDK  09.02.00
DTHE AES STREAMING

Introduction

This example demonstrates Cipher-based message authentication code(CMAC) of AES(Advanced Encryption Standard) using AES accelerator. The example is an streaming mode of implementation of AES-CMAC. This example explains the steps to build and run for Dthe aes cmac-256.

Parameter Value
CPU + OS r5fss0-0 nortos
Toolchain ti-arm-clang
Boards am273x-evm
Example folder examples/security/crypto/dthe_aes/crypto_aes_stream/
Supported Device Type HS-FS, HS-SE

Build the aes cmac 256 example

$make -s -C examples/security/crypto/dthe_aes/crypto_aes_stream/<soc>-<board>/r5fss0-0_nortos/ti-arm-clang all DEVICE=<soc>

Steps to Run through ROM Boot flow

Note
If the Device Type is HS-SE, an additional flag "DEVICE_TYPE=HS" is passed for building SBL. The flag results in generation of sbl image with suffix "hs.tiimage" which can only be used when device type is HS-SE.

Via SBL_uart bootloader

Build sbl_uart

make -s -C examples/drivers/boot/sbl_uart/<soc>-<board>/r5fss0-0_nortos/ti-arm-clang/ all DEVICE=<soc>

Set board for UART boot

See EVM setup

Run UART_bootloader

python uart_bootloader.py -p <COMxx> --bootloader=sbl_prebuilt/<soc>-<board>/sbl_uart.release.hs.tiimage --file=../../examples/security/crypto/dthe_aes/crypto_aes_stream/<soc>-<board>/r5fss0-0_nortos/ti-arm-clang/crypto_aes_stream.release.appimage

Sample output

On successful boot, R5 log at uart terminal, will have the following output. UART Console:

[CRYPTO] AES CMAC-256 Streaming Example started ...
[CRYPTO] AES CMAC-256 Streaming Aligned Data Passed!!
[CRYPTO] AES CMAC-256 Streaming Unaligned Data Passed!!
[CRYPTO] AES CMAC-256 example completed!!
All tests have passed!!

Via SBL_qspi bootloader

Build sbl_qspi

make -C examples/drivers/boot/sbl_qspi/<soc>-<board>/r5fss0-0_nortos/ti-arm-clang/ all DEVICE=<soc>

Build sbl_uart_uniflash

make -s -C examples/drivers/boot/sbl_uart_uniflash/<soc>-<board>/r5fss0-0_nortos/ti-arm-clang/ all DEVICE=<soc>

Set UART boot mode

See EVM setup

Edit default_sbl_qspi.cfg to include the correct images

Run UART_uniflash

python uart_uniflash.py -p <COMxx> --cfg=sbl_prebuilt/<soc>-<board>/default_sbl_qspi.cfg

Set QSPI boot mode

See EVM setup

Sample output

On successful boot, R5 log at uart terminal, will have the following output.

UART Console:

[CRYPTO] AES CMAC-256 Streaming Example started ...
[CRYPTO] AES CMAC-256 Streaming Aligned Data Passed!!
[CRYPTO] AES CMAC-256 Streaming Unaligned Data Passed!!
[CRYPTO] AES CMAC-256 example completed!!
All tests have passed!!

See Also

DTHE