×
嵌入式 > 嵌入式开发 > 详情

提高加密应用的系统效率

发布时间:2020-06-24 发布时间:
|

为了确保数据从数据源安全传输到目的地,必须在安全应用中采用加密技术。最常用的加密技术采用确定性算法,并对固定长度数据块进行固定不变的转换操作。此类加密技术包括高级加密标准(AES)、数据加密标准(DES)、国际数据加密算法(IDEA)和RC5等。

然而,这种“分组密码”方案会制约硬件的吞吐量、数据处理和缓冲容量,因为加密操作必须在下个数据块到来之前完成。大量工业加密系统都支持200Mbps以上的数据速率,但与简单的微控制器相比,硬件(一般是ASIC)要想达到如此高的数据速率所需的成本极高。尽管简单地利用具有外部存储器的8位MCU(例如8051)能够实现加密功能,但执行加密所用的时间与ASIC相比就会呈数量级增加。本文将介绍如何利用带可编程逻辑的SoC并借助MCU内核以及通用数字块(UDB)和直接存储器访问(DMA)等其它硬件功能来实现加密并改善系统的总体时间。

高级加密标准(AES)是最常用的分组密码技术之一,采用对称密钥密码。我们以AES-128器件通过128位加密密钥处理16字节(128位)数据块为例,演示加密应用的要求以及可能的实现方案。在处理开始之前,利用AES-128将输入字节设置成图1所示的分组格式。表中的in0是第一个字节,in15是第16个字节也是输入块的最后一个字节。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
一只老鸟的嵌入式ARM学习心得