提高加密应用的系统效率
时间:04-01
来源:电子产品世界
点击:
为了确保数据从数据源安全传输到目的地,必须在安全应用中采用加密技术。最常用的加密技术采用确定性算法,并对固定长度数据块进行固定不变的转换操作。此类加密技术包括高级加密标准(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个字节也是输入块的最后一个字节。
- 现实世界中的嵌入式安全(04-17)
- 如何用C语言描述AES256加密算法最高效?(01-23)
- STM8L探索套件学习笔记-AES硬件加密(十三)(11-24)
- Intel开发硬件加速器 AES加解密效率陡升(09-12)
- 汽车无源防盗系统设计与安全性的考虑事项(01-04)
- 基于LPC2138的AES3数字音频接口设计(08-20)