提高加密应用的系统效率
为了确保数据从数据源安全传输到目的地,必须在安全应用中采用加密技术。最常用的加密技术采用确定性算法,并对固定长度数据块进行固定不变的转换操作。此类加密技术包括高级加密标准(AES)、数据加密标准(DES)、国际数据加密算法(IDEA)和RC5等。
本文引用地址://www.cazqn.com/article/235667.htm然而,这种“分组密码”方案会制约硬件的吞吐量、数据处理和缓冲容量,因为加密操作必须在下个数据块到来之前完成。大量工业加密系统都支持200Mbps以上的数据速率,但与简单的微控制器相比,硬件(一般是ASIC)要想达到如此高的数据速率所需的成本极高。尽管简单地利用具有外部存储器的8位MCU(例如8051)能够实现加密功能,但执行加密所用的时间与ASIC相比就会呈数量级增加。本文将介绍如何利用带可编程逻辑的SoC并借助MCU内核以及通用数字块(UDB)和直接存储器访问(DMA)等其它硬件功能来实现加密并改善系统的总体时间。
高级加密标准(AES)是最常用的分组密码技术之一,采用对称密钥密码。我们以AES-128器件通过128位加密密钥处理16字节(128位)数据块为例,演示加密应用的要求以及可能的实现方案。在处理开始之前,利用AES-128将输入字节设置成图1所示的分组格式。表中的in0是第一个字节,in15是第16个字节也是输入块的最后一个字节。
评论