- 主题:AES128算法,跑起来需要多大SRAM呢?
这种算法最好是用汇编来做,加密算法都是简单的移位和逻辑运算,没有复杂的算术运算,我曾在51单片机上实现过,都是把每轮的循环用宏展开的,时间得到最优。
--
FROM 59.109.154.*
至于内存,都不是问题,51单片机用内部128字节都可以搞定。
--
FROM 59.109.154.*
AES128是按数据块加密的,先把要加密的数据分成一小块数据单元,好像是16字节,然后对这一小块数据加密,加密是一轮轮的加密,好像是10几轮,每一轮的运算都是相似的,每一轮运算都是简单的逻辑和移位运算,最小的运算单元是32位,所以32位MCU是有优势的,如果假定一轮运算用40个周期,那么16字节的运算时间是40x10=400周期,如果主频是64MHz,那么完成16字节的时间是6.25us。当然我是基于汇编来算的,而且10轮循环也是按宏展开的,而且能查表的尽量用查表。
--
FROM 59.109.157.*