AM273x MCU+ SDK  08.06.00
DTHE AES CBC-256

Introduction

This example demonstrates Cipher Block Chaining mode(CBC) of AES(Advanced Encryption Standard) using AES accelerator. The AES supported modes are CBC, ECB and CMAC and all three modes comes in 128-bit and 256-bit implementations. This example explains the steps to build and run for Dthe aes cbc-256.

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

Build the aes cbc 256 example

$make -s -C examples/security/crypto/dthe_aes/crypto_aes_cbc_256/<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_cbc_256/<soc>-<board>/r5fss0-0_nortos/ti-arm-clang/crypto_dthe_aes_cbc_256.release.appimage

Sample output

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

[CRYPTO] DTHE AES CBC-256 example started ...
[CRYPTO] DTHE AES CBC-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] DTHE AES CBC-256 example started ...
[CRYPTO] DTHE AES CBC-256 example completed!!
All tests have passed!!

See Also

DTHE