CN103888937B - 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 - Google Patents
一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 Download PDFInfo
- Publication number
- CN103888937B CN103888937B CN201410126050.4A CN201410126050A CN103888937B CN 103888937 B CN103888937 B CN 103888937B CN 201410126050 A CN201410126050 A CN 201410126050A CN 103888937 B CN103888937 B CN 103888937B
- Authority
- CN
- China
- Prior art keywords
- word
- result
- byte
- circleplus
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种适用于无线传感器网络AES加密的低开销快速轮加密装置和方法。在无线传感器网络中,由于信道暴露,必须对传输的数据进行加密等安全操作保证传输数据的安全。AES安全性高,被很多无线传感器网络协议指定为其MAC层或DLSL层安全传输加密算法。但与此同时,AES加密的计算量也很大,对资源受限的无线传感器网络节点造成不小压力。本发明基于查表法,对表结构进行优化,同时对每轮轮加密的输入进行预处理,从而提高了轮加密的速度,并降低了传统查表法AES实现中的庞大存储开销。
Description
技术领域
本发明涉及无线传感器网络安全设计领域,主要是针对在资源受限的无线传感器网络实施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、字节提取器103、字生成器104和轮加密运算器105。轮加密装置101输入为经过密钥扩展的密钥Key和明文块State0,输出为密文块State11。State0和Key直接送往轮加密运算器105进行第一轮轮加密,计算出的新状态依次送往替换-乘法器102、字节提取器103和字生成器104获取相应的结果集合后再送回轮加密运算器105进行新一轮的轮加密。经过10次轮加密后,直接将State11作为加密结果输出。
图2是替换-乘法器102,其核心是一张2*256字节的查找表201。替换-乘法器102的输入为计算出的新状态Statej(j=1,2,…,10),输出为包含16个半字(两个字节)结果的集合{SH21(ai)|i=0,1,...,15}。替换-乘法器102对Statej(j=1,2,…,10)中的16个字节元素ai(i=0,1,…,15)在查找表201上依次查找它们对应的半字结果SH21(ai)(i=0,1,…,15),查找完毕后作为集合{SH21(ai)|i=0,1,...,15}输出。
查找表201的每一项为一个半字(两个字节)SH21(ai),由两个单字节S2(ai)和S1(ai)合并组成,其中S2(ai)在半字的高8位,S1(ai)在半字的低8位。S2(ai)和S1(ai)表示ai的S盒查找结果S(ai)分别与常量1和2进行GF(28)相乘的乘积。
由于替换-乘法器102输出的结果SH21(ai)为半字,而在后续计算中需要使用独立单字节S2(ai)和S1(ai),所以{SH21(ai)|i=0,1,...,15}需要送往字节提取器103提取字节S2(ai)和S1(ai),得到字节结果集合{SB(ai)}。{SB(ai)}包含32个元素,分别为ai所对应的S2(ai)和S1(ai)(i=0,1,…,15)。
图3是字生成器104,用于将半字结果集合{SH21(ai)}和单字节结果集合{SB(ai)}生成第一至第九轮(j=1,2,..,9)加密所需的字结果集合{SW(ai)|i=0,1,...,15},其包含四个子集:{SW3112(ai)|i=0,4,8,12},{SW1123(ai)|i=1,5,9,13},{SW1231(ai)|i=2,6,10,14}和{SW2311(ai)|i=3,7,11,15}。其中3112、1123、1231和2311表示字结果中字节的排列顺序,高字节在前,低字节在后。如SW3112(ai)表示由单字节结果S3(ai)、S1(ai)、S1(ai)和S2(ai)依次排列组合成的字(S3(ai)在高字节,S2(ai)在低字节);同理,SW1123(ai)、SW1231(ai)和SW2311(ai)也类似组成。SW3112(ai)、SW1123(ai)、SW1231(ai)和SW2311(ai)的生成分别如301、302、303和304所示,用公式表示如下:
SW3112(ai)=(S1(ai)<<24)⊕(SH21(ai)<<16)|(S1(ai)<<8)|(S2(ai)>>8),i=0,4,8,12
SW1123(ai)=(S1(ai)<<24)|(S1(ai)<<16)|SH21(ai)⊕S2(ai),i=1,5,9,13
SW1231(ai)=(S1(ai)<<24)|(SH21(ai)<<8)⊕SH21(ai),i=2,6,10,14
SW2311(ai)=(SH21(ai)<<16)⊕(SH21(a15)<<8)|S1(ai),i=3,7,11,15
其中,由于在GF(28)乘法中有:所以在以上对于字结果中的S3(ai)均由S2(ai)⊕S1(ai)生成。
图4是轮加密运算器105,用于计算生成新状态Statej+1。在第零轮(j=0)加密中,轮加密计算如401所示,直接将State0与Key0进行异或;在第一轮至第九轮(j=1,2,..,9)加密中,轮加密计算如402所示,将相应的字结果进行异或后,再与密钥Keyj进行异或;在最后一轮(j=10)加密中,轮加密计算如403所示,先将相应的单字节结果S1(ai)组合成字,再与Key10进行异或。其计算公式如下所示:
图5是基于所发明轮加密装置的轮加密步骤501。其步骤具体如下:
(1)开始加密,进入502判断所处的轮加密阶段:若j=0,进入507进行第零轮轮加密计算,否则进入503生成半字结果集合;
(2)进入503,用替换-乘法器102计算半字结果集合;
(3)进入504,用字节提取器103对半字结果集合中的元素提取字节结果集合;
(4)进入505判断所处的轮加密阶段:若j=10,进入507进行最后一轮轮加密计算,否则进入506生成字结果集合;
(5)进入506,用字生成器104将半字结果集合和字节结果集合生成字结果集合;
(6)进入507,用轮加密运算器105进行轮加密计算,并计算j=j+1;
(7)进入508判断所处的轮加密阶段,若j=11,则将新状态State11作为加密结果输出,结束轮加密,否则进入502进行新一轮轮加密。
上述技术方案仅体现了本发明的技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
Claims (2)
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:
2.一种适用于无线传感器网络AES加密的低开销快速轮加密方法,其特征在于:对状态中每个元素进行替换-乘法运算,产生结果通过字节提取、字生成后,直接与密钥进行相加生成新状态,其步骤包括:
2.1若j为0,则进行步骤2.4,否则对状态Statej中的每个元素依次使用权利要求1所述的替换-乘法器进行替换-乘法运算,生成半字结果集合{SH21(ai)};
2.2对{SH21(ai)}中的元素使用权利要求1所述的字节提取器,生成字节结果集合{SB(ai)};
2.3若j为10,则进行2.4,否则按轮加密要求对{SH21(ai)}和{SB(ai)}中的元素使用权利要求1所述的字生成器,生成字结果集合{SW(ai)};
2.4用Statej、{SB(ai)}和{SW(ai)}中的元素按轮加密要求与密钥Keyj进行异或运算生成新状态Statej+1;
2.5j=j+1,若j为11,则输出State11,否则进行2.1步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410126050.4A CN103888937B (zh) | 2014-03-31 | 2014-03-31 | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410126050.4A CN103888937B (zh) | 2014-03-31 | 2014-03-31 | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888937A CN103888937A (zh) | 2014-06-25 |
CN103888937B true CN103888937B (zh) | 2017-06-20 |
Family
ID=50957621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410126050.4A Expired - Fee Related CN103888937B (zh) | 2014-03-31 | 2014-03-31 | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888937B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112017010906A2 (pt) * | 2014-11-27 | 2018-02-06 | Koninklijke Philips Nv | dispositivo de cálculo eletrônico, dispositivo de codificação de anel, dispositivo de cálculo de tabela, dispositivo de configuração eletrônico, método de cálculo eletrônico, programa de computador, e, mídia legível por computador |
CN112115461B (zh) * | 2020-11-20 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 设备认证方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425987A (zh) * | 2001-12-10 | 2003-06-25 | 中国科学院软件研究所 | 强化错乱的分组密码加密方法 |
CN1771688A (zh) * | 2002-07-27 | 2006-05-10 | 艾克斯斯特里姆安全方案有限责任公司 | 用于加密和解密的装置和方法 |
WO2008122906A1 (en) * | 2007-04-05 | 2008-10-16 | Koninklijke Philips Electronics N.V. | Wireless sensor network key distribution |
CN101588234A (zh) * | 2008-05-19 | 2009-11-25 | 北京大学深圳研究生院 | 一种aes中列混合变换模块的加解密复用方法 |
-
2014
- 2014-03-31 CN CN201410126050.4A patent/CN103888937B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425987A (zh) * | 2001-12-10 | 2003-06-25 | 中国科学院软件研究所 | 强化错乱的分组密码加密方法 |
CN1771688A (zh) * | 2002-07-27 | 2006-05-10 | 艾克斯斯特里姆安全方案有限责任公司 | 用于加密和解密的装置和方法 |
WO2008122906A1 (en) * | 2007-04-05 | 2008-10-16 | Koninklijke Philips Electronics N.V. | Wireless sensor network key distribution |
CN101588234A (zh) * | 2008-05-19 | 2009-11-25 | 北京大学深圳研究生院 | 一种aes中列混合变换模块的加解密复用方法 |
Non-Patent Citations (1)
Title |
---|
罗新强等.《面向工业无线网络的低开销快速AES加密方法》.《北京邮电大学学报》.2015,第38卷(第1期),第55-59页. * |
Also Published As
Publication number | Publication date |
---|---|
CN103888937A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106788974B (zh) | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 | |
CN105099672A (zh) | 混合加密方法及实现该方法的装置 | |
US9417847B2 (en) | Low depth combinational finite field multiplier | |
CN103051446B (zh) | 一种密钥加密存储方法 | |
US20230261853A1 (en) | Method and apparatus for improving the speed of advanced encryption standard (aes) decryption algorithm | |
Panda | Data security in wireless sensor networks via AES algorithm | |
CN101969376A (zh) | 一种具有语义安全的自适应加密系统及方法 | |
US11695542B2 (en) | Technology for generating a keystream while combatting side-channel attacks | |
CN109617671A (zh) | 加解密、扩展方法及装置、加解密系统、终端 | |
CN103746805B (zh) | 外部认证密钥的生成方法和系统 | |
CN107534558A (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
CN103346878B (zh) | 一种基于fpga高速串行io的保密通信方法 | |
CN103260156A (zh) | 密钥流生成装置及方法、机密性保护装置及方法 | |
CN103888937B (zh) | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 | |
CN101826959B (zh) | 一种面向字节的密钥流生成方法及加密方法 | |
CN101958790B (zh) | 无线通信网络数字信息加密或解密方法 | |
CN104219045A (zh) | Rc4 流密码生成器 | |
Wang et al. | High-speed architectures for GHASH based on efficient bit-parallel multipliers | |
CN106921486A (zh) | 数据加密的方法和装置 | |
CN105577362B (zh) | 一种应用于aes算法的字节替换方法及系统 | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
CN103731257A (zh) | 一种Piccolo加密算法硬件实现方法 | |
CN113645616A (zh) | 一种适用于wban数据实时加密传输的超轻量级加密方法 | |
Nguyen et al. | Implementation of 2.6 Gbps super-high speed AES-CCM security protocol for IEEE 802.11 i | |
CN106788968A (zh) | 应用于wia-pa协议的安全协处理器的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170620 |