CC254x AES-128-CFB 加密的实现

我们实验室的协议采用 AES-128-CFB 进行加密, STM32上有线程的mbedTLS, 可是CC254x上没有, 查阅资料得知, CC254x 支持硬件及AES, 包括 ECB, CBC, CFB。 然而折腾了半天, 也没配置好他的硬件级加密,只得另寻思路

不得不说, TI的文档真的是少之又少!!

从Google上搜索了半天, 发现了一个TI上层封装好的AES算法函数, use LL_Encrypt()(or LL_EXT_Decrypt) (https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/335262)

记得CFB与CBC有一定的关系的, 找到维基百科上一张图:

4902de9f8e9a7d6d8a7387d95fce4884658ddd24.png

后来准备移植mbedTLS的代码,发现mbedTLS 就是用的 ECB实现的CFB

于是, 分分钟替换掉里面的ecb算法,

最终成品:(只有加密部分, 解密部分原理一样)

 

–PS:附上自己写的 algorithm, 包含 BASE64_ENCODE和CRC16 (CCITT)

cc_algorithm.zip

发表评论