当前位置:首页 > EDA > 电子设计自动化
[导读]引言密码模块作为安全保密系统的重要组成部分,其核心任务就是加密数据。分组密码算法AES以其高效率、低开销、实现简单等特点目前被广泛应用于密码模块的研制中。密码模块一般被设计成外接在主机串口或并口的一个硬件

引言

密码模块作为安全保密系统的重要组成部分,其核心任务就是加密数据。分组密码算法AES以其高效率、低开销、实现简单等特点目前被广泛应用于密码模块的研制中。密码模块一般被设计成外接在主机串口或并口的一个硬件设备或是一块插卡,具有速度快,低时延的特点。而从整体发展趋势来看,嵌入式密码模块由于灵活,适用于多种用户终端、通信设备和武器平台,将会得到更加广泛的应用。基于FPGA实现的嵌入式密码模块与以往的主流硬件实现方式(如DSP芯片、单片机)相比,具有低成本、高速度、微功耗、微小封装以及保密性强等优点,与ASIC相比具有设计灵活、成本低、周期短等优点。另一个明显的优点在于:在对时间代价和空间代价的取舍上,基于FPGA实现的加密技术提供了多种实现方案,分别对时间代价和空间代价有不同的偏重,有利于在各种应用环境中进行优化。硬件实现无论是ASIC方案还是FPGA方案,数据处理速度的提高都离不开优化技术,包括算法轮函数和设计结构的优化。AES算法的快速实现方案包括:优化 S盒的结构(如使用复合域、查表等方法),列混合与密钥加的结合,以及采用流水线技术等。表1为几种典型的AES算法实现性能对比情况。

AES算法结构

AES是一个迭代型的分组密码,包含了轮变换对状态的重复作用。用State表示待加密状态,CipherKey表示初始加密密钥,ExpandedKey表示扩展密钥,其加密过程描述如下:

Round(State,ExpandedKey) --轮变换
{
SubByte(State); --字节代替

表1几种典型的AES算法实现性能对比

ShiftRow(State); --行移位
MixColumn(State); --列混合
AddRoundKey(State,ExpandedKey[i]); --密钥加
}
AES(State,CipherKey)--主函数
{
KeyExpansion(CipherKey,ExpandedKey); --密钥扩展
AddRoundKey(State,ExpandedKey[0]); --模加轮密钥
For(i=1;i FinalRound(State,ExpandedKey[Nr]); --末轮运算
}

在AES的单轮运算中包含了SubByte(字节代替)、ShiftRow(行移位)、MixColumn(列混合)、AddRoundKey(密钥加)四个步骤。图1所示为单轮运算的加/脱密结构。


图1 单轮运算的加/脱密结构

AES算法芯片IP核的完整结构包括:接口模块,密钥扩展模块,控制模块,加/脱密模块。各模块之间的统一调度、协调配合是芯片性能的保证。然而制约芯片吞吐率的瓶颈是加/脱密模块的实现。本文在第三部分着重分析了加/脱密模块实现方案。

加/脱密模块实现方案

对于分组密码芯片加/脱密模块的实现,有迭代结构、轮展开结构和并行流水线结构等方法。迭代结构需要n(n为加/脱密轮数)个时钟周期完成一个分组的加/ 脱密操作。这种结构占用面积最小,速度较慢。而轮展开结构能够有效提高加/脱密速率,却需要大量占用存储单元和布线资源,因而面积最大。在设计芯片时,我们需要采用一种速度和面积的有效折衷方案,使得在满足速率要求的前提下尽可能减少资源占用。并行流水线结构就是这样一种方案。

流水线技术其实质就是在适当的地方加入寄存器,将前面的运算结果或输入数据暂存,并在下一个时钟到来时将寄存值作为后一级运算的输入。

流水线处理如同生产装配线那样,将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行。这使得操作执行速度只与流水线输入的速度有关,而与处理所需的时间无关。AES分组密码在非反馈模式下,后续块的加密与前块的加密结果无关,即所有块的加密可并发执行,因而采用流水结构能显著提高性能。

流水线的引入可以采用轮内流水线结构或者轮间流水线结构来实现。轮内流水线结构把在一个时钟周期内欲完成的运算划分为若干子运算(模加运算、查表和各级移位相加运算),采用寄存输出模式,这种方式既可缩短延时路径,提高时钟频率,又可使各子运算同时进行。这样一来虽然速度有可能提高,但是增加了控制的复杂度同时占用大量的存储单元,这对于FPGA实现来说将是很大的负担,所以本设计采用轮间流水线结构来实现。图2为轮内流水线结构和轮间流水线结构对比。以 10轮运算为例,可以按轮数(3、3、3、1)拆分为4个流水段,即:第1-3轮为第1段,第4-6轮为第2段,第7-9轮为第3段,第10轮为第4段。为了使各流水段的时间片均衡,在第4段内部需要加入锁存器使输出与前3段匹配。用VHDL语言描述实现这个流水线式电路的代码如下:

Proc1:process(Data_in)begin
A<=Round1(Data_in);
Endprocess;
R1:processbegin
waituntilCLK'EventandCLK=‘1’;
A_REG<=A;
Endprocess;
Proc2:process(A_REG)begin
B<=Round2(A_REG);
Endprocess;
R2:processbegin
waituntilCLK'EventandCLK=‘1’;
B_REG<=B;
Endprocess;
Proc3:process(B_REG)begin
C<=Round3(B_REG);
Endprocess;
R3:processbegin
waituntilCLK'EventandCLK=‘1’;
C_REG<=C;
Endprocess;
Proc4:process(C_REG)begin
D<=FinalRound(C_REG);
Data_out<=D;
Endprocess;

图2 轮内流水线结构和轮间流水线结构对比

其中Round1-Round3、FinalRound是由组合逻辑完成的操作,都能够在一个时钟周期内执行完成。这种风格的代码在生成流水线电路时,还需要控制指令的配合。

图3是拆分轮运算的流水线时空图。图中数字表示数据分组的序号,整个流水线操作由启动、发起、流水线核、收尾和结束5部分组成,当进入流水线核时的效率是最高的。


图3 拆分轮运算的流水线时空图

 用加速比(Speedup)可以衡量采用流水结构之后加密过程相对于非流水结构速度的提高。计算流水线加速比的基本公式为。

设加密N个分组,10轮运算每轮的运算时间为!,则

当N的取值无限增大时,这个比值将接近于3.33…。因而使用流水结构数据处理速度比非流水结构提高到3倍多。

仿真实验和结果

图4为加密过程时序。针对128bit明文分组和128bit初始密钥的AES算法,在QuartusII软件下,采用中间相遇的设计方法将顶层模块化图形设计与底层VHDL语言描述相结合实现。实验时选用APEX20KE系列的EP20K1500EFC33-3为目标芯片进行仿真和功能验证。密钥装载完毕之后每加密输出一个分组需3个时钟周期,吞吐率为689.500Mbits/s。使用了3056个LUTs,81626个Memorybits,可以满足SDH标准速率STM-4规定的622.080Mbits/s的要求。


图4 加密过程时序

 结合FPGA的结构特点,本设计实现的IP核具有如下特点:接口设计灵活,外部接口的设计和定义可以根据不同加密芯片的接口设计要求现场改动。资源占用小,脱密电路采用与加密电路部分复用的结构实现,从而节省了资源。设计支持重用,在算法实现顶层设计时采用了模块化设计方法,结构清晰,可以根据不同的功能需求进行改动,利于设计重用

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭