本发明专利技术公开了一种适用于无线传感器网络AES加密的低开销快速轮加密装置和方法。在无线传感器网络中,由于信道暴露,必须对传输的数据进行加密等安全操作保证传输数据的安全。AES安全性高,被很多无线传感器网络协议指定为其MAC层或DLSL层安全传输加密算法。但与此同时,AES加密的计算量也很大,对资源受限的无线传感器网络节点造成不小压力。本发明专利技术基于查表法,对表结构进行优化,同时对每轮轮加密的输入进行预处理,从而提高了轮加密的速度,并降低了传统查表法AES实现中的庞大存储开销。
【技术实现步骤摘要】
一种适用于无线传感器网络AES加密的低开销快速轮加密装置及方法
本专利技术涉及无线传感器网络安全设计领域,主要是针对在资源受限的无线传感器网络实施AES加密产生庞大的存储开销和时间开销问题,通过改进查找表结构和轮加密运算方法,降低轮加密开销的同时提高轮加密的速度。
技术介绍
无线网络由于其信道暴露在空气中,其传输的数据很容易受到来自外界的破坏和窃取,因此必须对其传输数据实施安全措施。AES加密凭借其高安全性,被越来越多的无线网络协议采用,如IEEE802.11、IEEE802.15.4、ISA100、WirelessHART等都规定AES作为它们媒介访问控制层(MAC)或数据链路子层(DLSL)安全通信的加密机制。但由于AES加密计算量较大,并且无线网络节点通常采用电池供电,其处理器计算能力、存储大小都受到限制,从而在确保网络正常稳定的数据传输条件下在这些节点上实施AES加密变得十分困难。特别对于无线传感器网络,其节点对于电池续航、功耗控制的要求更高,因此低开销的快速AES实现成为在无线传感器网络中部署AES加密的关键。由于AES在网络中实施时通常采用CCM模式,而CCM模式只包含AES加密而不包含AES解密,且规定AES密钥长度为128位,因此本专利只涉及128位的AES加密。轮加密是AES加密的核心环节,AES加密时需要进行10/12/14(分别对应128/196/256位AES)轮加密。轮加密的操作主要包含:密钥相加、字节替换、行位移和列混淆。其中列混淆需要进行多次GF(28)乘法,而每次GF(28)乘法需要耗费多个时钟周期完成,这些GF(28)乘法也成为AES加密计算中最耗费时钟周期的操作。对此,通过查表法替代直接计算GF(28)乘法是降低GF(28)乘法时钟周期开销的有效方法。但是传统的查表法产生巨大存储开销,对资源受限的无线传感器网络节点而言过于庞大。本专利正是为解决提高AES加密速度的同时降低AES开销这一问题而产生的。专利200610037539公开了一种基于AES算法的加解密方法和加解密器,其采用一个加解密迭代复用模块来完成加密迭代或解密迭代操作,简化AES算法设计的电路规模,减小电路设计的面积开销,降低功耗和成本。专利CN102411683公开的AES加速器是一种基于对高速缓存并行查找的方式实现,通过这种方式,不仅有效地减小了芯片的面积,而且加快了加解密运算的速度,在将查找表的数据以及最原始的输入断乳cache的情况下,一次AES加/解密预算的时间约为50周期,吞吐率达到384Mbps。专利CN102664730公开了一种基于高级加密标准的AES的128比特位密钥扩展系统及方法,主要解决现有AES加密算法中的128比特密钥扩展过程的低效率和高功耗问题。专利CN102185692公开了一种基于AES加密算法的多模式可重构加密方法,提供五种工作模式以及全随即S盒和偏随机S盒供用户选择,有效避免了加密采用硬件实现可能面临的侧信道攻击,优化了可重构密码方法的操作方式。
技术实现思路
本专利技术的目的是为资源受限的无线传感器网络节点设计一种低开销快速AES轮加密装置和方法,通过优化替换-乘法查找表和轮加密运算,降低存储开销,同时提高轮加密速度,从而低开销的快速AES加密。一种适用于无线传感器网络AES加密的低开销快速轮加密装置,其特征在于,所述装置包括替换-乘法器、字节提取器、字生成器和轮加密运算器;所述的替换-乘法器对输入状态矩阵Statej(j为加密轮次,j=0,1,…,11)中的每个元素ai(i为矩阵中元素序号,i=0,1,…,15),生成半字结果集合{SH21(ai)};所述的半字结果集合{SH21(ai)}包含16个半字结果SH21(ai)(下标H表示为半字(两个字节)结果),SH21(ai)表示ai的S盒查找结果SB(ai)分别与2和1进行伽罗华域GF(28)乘法所得结果SB2(ai)和SB1(ai)排列成的半字结果(下标表B示为字节结果),21表示SB2(ai)在半字结果的高字节,SB1(ai)在半字结果的低字节;所述的字节提取器对替换-乘法器的半字结果集合中的每个元素提取字节结果集合{SB(ai)};所述的字节结果集合{SB(ai)}包含16个字节结果SB2(ai)和16个字节结果SB1(ai);所述的字生成器用替换-乘法器的半字结果和字节提取器的字节结果按要求生成相应的字结果集合{SW(ai)};所述的字结果集合{SW(ai)}包含4个字结果SW3112(ai)(i=0,4,8,12)、4个字结果SW1123(ai)(i=1,5,9,13)、4个字结果SW1231(ai)(i=2,6,10,14)和4个字结果SW2311(ai)(i=3,7,11,15)(下标表W示为字结果),它们都是由1个SB(ai)与3进行GF(28)乘法所得结果SB3(ai)、1个SB2(ai)和2个SB1(ai)排列构成的字结果,3112、1123、1231和2311表示字内各个字节的排列顺序,如3112表示字内字节排列从高字节到低字节依次为SB3(ai)SB1(ai)SB1(ai)SB2(ai);所述的轮加密运算器根据不同轮的要求用State0、字节结果和字结果与密钥Keyj进行相应运算后生成新状态Statej+1。一种适用于无线传感器网络AES加密的低开销快速轮加密方法,其特征在于:对状态中每个元素进行替换-乘法运算,产生结果通过字节提取、字生成后,直接与密钥进行相加生成新状态,其步骤包括:(1)若j为0,则进行(4),否则对状态Statej中的每个元素依次进行替换-乘法运算,生成半字结果集合{SH21(ai)};(2)对{SH21(ai)}中的每个元素提取单独字节数据生成字节结果集合{SB(ai)};(3)若j为10,则进行(5),否则按轮加密要求用{SH21(ai)}和{SB(ai)}中的元素生成相应的字数据,生成字结果集合{SW(ai)};(4)用State0、{SB(ai)}和{SW(ai)}中的元素按轮加密要求与密钥Keyj进行相应运算生成新状态Statej+1;(5)j=j+1,若j为11,则输出State11,否则进行(1)。本专利技术通过优化替换-查找器中查找表的结构,降低存储开销的同时减少因查表产生的访存时钟开销;同时利用半字结果和字节结果生成字结果,降低轮加密运算的复杂度,从而降低轮加密存储开销的同时提高了轮加密的速度。附图说明图1是轮加密装置结构图。图2是替换-乘法器结构图。图3是字生成器结构图。图4是轮加密运算器结构图。图5是轮加密方法的步骤。具体实施方式下面结合附图,对本专利技术的实现进行详细描述。轮加密是AES加密计算的核心步骤,它将经过密钥扩展的密钥(Key)和输入的明文块(State0)经过10轮(以128位AES为例,不包括第零轮密钥相加)循环加密,最后输出密文块(State11)。每一轮加密包含密钥相加、字节替换、列混淆以及行位移四种操作中的一种或多种。其中第零轮(j=0)加密只包含密钥相加;第一至第九轮(j=1,2,..,9)加密包含所有四种操作;最后一轮(j=10)加密包含除列混淆之外的三种操作。图1是本专利技术所提出的轮加密装置101,其包含替换-乘法器102、字本文档来自技高网...
【技术保护点】
一种适用于无线传感器网络AES加密的低开销快速轮加密装置,其特征在于,所述装置包括替换‑乘法器、字节提取器、字生成器和轮加密运算器;所述的替换‑乘法器对输入状态矩阵Statej中的每个元素ai,生成半字结果集合{SH21(ai)},其中,j为加密轮次,j=0,1,…,11,i为矩阵中元素序号,i=0,1,…,15;所述的半字结果集合{SH21(ai)}包含16个半字结果SH21(ai),SH21(ai)表示ai的S盒查找结果SB(ai)分别与2和1进行伽罗华域GF(28)乘法所得结果SB2(ai)和SB1(ai)排列成的半字结果,其中,标记“21”表示SB2(ai)在半字结果的高字节,SB1(ai)在半字结果的低字节,下标H表示为半字,即两个字节的结果,下标表B示为字节结果;所述的字节提取器对替换‑乘法器的半字结果集合中的每个元素提取字节结果集合{SB(ai)};所述的字节结果集合{SB(ai)}包含16个字节结果SB2(ai)和16个字节结果SB1(ai);所述的字生成器用替换‑乘法器的半字结果和字节提取器的字节结果按要求生成相应的字结果集合{SW(ai)};所述的字结果集合{SW(ai)}包含4个字结果SW3112(ai)(i=0,4,8,12)、4个字结果SW1123(ai)(i=1,5,9,13)、4个字结果SW1231(ai)(i=2,6,10,14)和4个字结果SW2311(ai)(i=3,7,11,15),它们都是由1个SB(ai)与3进行GF(28)乘法所得结果SB3(ai)、1个SB2(ai)和2个SB1(ai)排列构成的字结果,3112、1123、1231和2311表示字内各个字节的排列顺序,如3112表示字内字节排列从高字节到低字节依次为SB3(ai)SB1(ai)SB1(ai)SB2(ai),其中,下标表W示为字结果;所述的轮加密运算器根据不同轮的要求用State0、字节结果和字结果与密钥Keyj进行相应运算后生成新状态Statej+1。...
【技术特征摘要】
1.一种适用于无线传感器网络AES加密的低开销快速轮加密装置,其特征在于,所述装置包括替换-乘法器、字节提取器、字生成器和轮加密运算器;所述的替换-乘法器对输入状态矩阵Statej中的每个元素ai,生成半字结果集合{SH21(ai)},其中j为加密轮次,j=0,1,…,11,i为矩阵中元素序号,i=0,1,…,15;所述的半字结果集合{SH21(ai)}包含16个半字结果SH21(ai),SH21(ai)表示ai的S盒查找结果SB(ai)分别与2和1进行伽罗华域GF(28)乘法所得结果SB2(ai)和SB1(ai)排列成的半字结果,其中,21表示SB2(ai)在半字结果的高字节,SB1(ai)在半字结果的低字节,下标H表示为半字结果,下标B表示为字节结果;所述的字节提取器对替换-乘法器的半字结果集合中的每个元素提取字节结果集合{SB(ai)};所述的字节结果集合{SB(ai)}包含16个字节结果SB2(ai)和16个字节结果SB1(ai);所述的字生成器用替换-乘法器的半字结果和字节提取器的字节结果按要求生成相应的字结果集合{SW(ai)};所述的字结果集合{SW(ai)}包含4个字结果SW3112(ai),i=0,4,8,12、4个字结果SW1123(ai),i=1,5,9,13、4个字结果SW1231(ai),i=2,6,10,14和4个字结果SW2311(ai),i=3,7,11,15,其中下标W表示为字结果,它们都是由1个SB(ai)与3进行GF(28)乘法所得结果SB3(ai)、1个SB2(ai)和2个SB1(ai)排列构成的字结果,3112、1123、1231和2311表示字内各个字节的排列顺序;所述的轮加密运算器根据不同轮的要求用Statej、字节结果和字结果与密钥Keyj进行相应运算后生成新状态Statej+1:
【专利技术属性】
技术研发人员:齐悦,罗新强,万亚东,王沁,
申请(专利权)人:北京科技大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。