CN107070630A - 一种aes算法的快速安全硬件结构 - Google Patents
一种aes算法的快速安全硬件结构 Download PDFInfo
- Publication number
- CN107070630A CN107070630A CN201710035186.8A CN201710035186A CN107070630A CN 107070630 A CN107070630 A CN 107070630A CN 201710035186 A CN201710035186 A CN 201710035186A CN 107070630 A CN107070630 A CN 107070630A
- Authority
- CN
- China
- Prior art keywords
- module
- input
- output end
- gate
- door
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种AES算法的快速安全硬件结构。本发明包括密钥扩展模块和加密模块;加密模块中的初始密钥加模块生成初始输入发送给四选二选择器;掩码字节替换模块对共享因子进行掩码字节替换后分别输出给行移位模块;行移位模块将移位处理结果输入列混淆模块;行移位模块及与其连接的列混淆模块将处理结果发送给一二选一选择器;其中一二选一选择器的输出端与轮密钥加模块输入端连接,轮密钥加模块的另一输入端与密钥扩展模块的轮密钥输出端连接,轮输出端与四选二选择器的轮输入端连接;另一二选一选择器的轮输出端与该四选二选择器的轮输入端连接;两二选一选择器的密文输出端分别与密文生成单元的输入端连接。本发明可保证敏感数据的安全。
Description
技术领域
本发明提出了一种AES算法的快速安全硬件结构,该方法抗一阶侧信道攻击。硬件设计人员可利用该方法高效安全的实现AES算法,抵抗一阶CPA、DPA攻击,保证敏感数据的安全。属于信息安全技术领域,主要用于保证加密硬件的侧信道安全。
背景技术
加密模块是保密通信、认证、电子签名等系统中必不可少的部分。随着物联网应用的飞速发展,加密模块必须可被植入微型设备或嵌入式系统中,因此,保证加密模块的高效性具有十分重要的意义。与此同时,硬件加密设备受到侧信道攻击严重威胁,绝大多数密码算法的直接实现都可被侧信道攻击轻易破解,因此,保证加密模块的侧信道安全至关重要。综上,设计安全且高效的加密模块成为亟待解决的问题。
一方面,为保证密码模块的高效性,需要采用高效的S盒(线性部件)实现方案降低硬件开销。现有S盒实现方案包括两类:LUT(Look-Up Table)实现法和多项式实现法。其中LUT实现法将S盒存储在LUT查找表中,并通过询问LUT查找表实现S盒功能。该方法的优点是速度快,缺点是面积开销大。多项式实现法首先将S盒运算表示为有限域上的多项式,然后利用有限域模乘、模加等基本运算构造出S盒运算。该实现方法虽然计算速度没有LUT快,但比LUT方法节省面积。在原始多项式实现的基础上,衍生出了更加高效的塔域方法(TowerField Approach),它在计算过程中将GF(28)域转换为塔域,如GF((24)2)或GF(((22)2)2)。具体的,塔域方法包含非冗余的PB(Polynomial Bases)、NB(Normal Bases)、MB(MixedBases)方法,以及冗余的PRR(Polynomial Ring Representation)和RRB(RedundantRepresented Basis)方法,以及非冗余和冗余结合的方法。本发明中采取的是冗余与非冗余相结合的多项式实现方法。
另一方面,为保证算法实现的侧信道安全性,需要在实现过程中加入抗侧信道技术。现有抗侧信道技术主要分两大类:掩码技术和隐藏技术。其中掩码技术的安全性有理论保证,并且可以达到理论可证明的安全性,因此本发明考虑采用掩码技术来抵御侧信道攻击。现有主流的掩码防护方案有ISW(Ishai-Sahai-Wagner)方案、RSM(Rotating S-boxesMasking)方案、TI(Threshold Implementation)方案等。其中ISW方案为可证明安全方案,是基于多项式实现的一种防护技术,它被证明在探针模型下可达到d阶安全性。RSM掩码方案是低熵掩码方案,是基于LUT实现的一种防护技术。由于本发明中采用的是多项式实现,所以采取的防护技术是ISW方案。
ISW方案主要针对与运算(或模乘)和非门(或模加)设计了d阶安全实现,其中d阶安全的与门(模乘)具体步骤如下:
算法1.ISW算法乘法模块
输入:a1,a2,…,ad,b1,b2,…,bd
输出:c1,c2,…,cd,c=a*b
该安全模乘的探针模型下的d阶安全性可被理论证明,属于可证明安全的防护方案。给定一硬件实现布尔函数表达式,将该安全与门替换硬件电路中的与门,将非门替换成安全的非门,即可得到d阶安全的硬件实现电路。
本发明是将塔域实现方法与ISW防护方案相结合所得到的AES快速一阶侧信道安全硬件实现。本发明在保证侧信道安全的前提下尽可能的降低硬件开销。
发明内容
基于有限域的AES硬件实现不具备抗侧信道攻击的特性,直接应用到加密系统中会带来严重安全隐患。为此,本发明提供一种针对硬件AES的、安全高效的GF(28)求逆电路,该电路可以应用在AES的S盒中,使AES抗一阶侧信道攻击(包括一阶DPA、CPA、EMA)。
方法描述:塔域实现方法将AES模逆分解为一系列与门、异或门与或门,并使得该分解方式具有最高实现效率(如,门数最少)。ISW方案是由Ishai等人提出的,以与门和非门为基本单元的安全编译器。因此,将ISW方案应用到塔域AES实现需要三个步骤:
1.给出异或门的ISW方案;
2.给出或门的ISW方案;
3.将ISW方案代入塔域分解式。
在步骤1中,由于异或门是线性的(异或运算可视为IF2域上线性函数),因此可直接得到异或门的ISW方案;在步骤2中,由于或门可以由与门、异或门和非门构造,而这三种门的ISW方案都已知,直接代入即可得到或门的ISW方案。
本发明将高效的塔域实现方法和安全的ISW掩码技术相结合,得到既具有优化的效率,又具有较高侧信道安全性的AES硬件实现。
本发明的技术方案为:
如图1所述,本发明一种AES算法的快速安全硬件结构,其特征在于,包括:密钥扩展模块、加密模块。密钥扩展模块与加密模块相连,将初始密钥及生成的10个轮密钥分11个周期依次输入到加密模块中,此部分与公知的密钥扩展模块一致。加密模块包括初始密钥加模块、四选二选择器、二选一选择器、掩码字节替换模块、行移位模块、列混淆模块、轮密钥加模块及密文加模块;所述初始密钥加模块的一个输入是明文与随机数异或后的结果,另一个输入时初始密钥;所述四选二选择器根据状态机的状态在轮输入与初始输入之间选择,当使用初始密钥进行第一轮加密的状态时选择初始输入即随机数及明文异或随机数,其他10个轮密钥的加密运算选择轮输入1、2;所述掩码字节替换模块的输入由四选二选择器给出,并将外部输入的轮随机数也作为掩码字节替换模块的输入,输出分别与两个行移位模块相连接;所述两个行移位模块的输出分别与一个列混淆模块及一个二选一选择器相连接;所述的两个列混淆模块的输出分别与一个二选一选择器相连;所述二选一选择器的输出由当前状态机的状态决定,当使用第10个轮密钥进行加密的状态时,选择行移位作为二选一选择器的输出,其他状态选择列混淆作为其输出;所述其中一个二选一选择器的输出与轮密钥加模块相连,此轮密钥加模块的另一个输入是密钥扩展模块产生的轮密钥,随着轮数的不同,轮密钥值不同;所述另一个二选一选择器与轮输出2相连,同时也与密文2输出相连;轮密钥加模块的输出与轮输出1相连,同时也与密文1输出相连;轮输出1和轮输出2的值存放在寄存器中,在下一个周期时分别作为轮输入1和轮输入2的值;密文1与密文2异或后输出密文。本发明的各个模块描述:
一、密钥扩展模块
当外部输入密钥信息时,密钥扩展模块每个周期产生一个轮密钥,具体为当外部输入密钥有效时,内部状态机控制,第1个周期输出初始密钥,接下来的10个周期按照算法本身描述,每个周期产生一个轮密钥作为加密模块的轮密钥输入,此部分与公知的实现一致。
二、加密模块
当密钥有效且外部输入明文有效时,加密模块开始运行,运行周期为11个周期。每个周期的操作包含如下模块:
a)初始密钥加模块
对明文进行随机化处理,分成两个共享因子,第一个共享因子是随机数本身,第二个共享因子是明文异或随机数的值。将第二个共享因子与初始密钥进行异或运算的过程,即构成初始密钥加模块。
b)四选二选择器模块
四选二选择器即输入四个,输出两个的选择器,具体从四个中选哪两个作为输出由状态机的状态决定,根据状态机的状态在轮输入与初始输入之间选择,当使用初始密钥进行第一轮加密的状态时选择初始输入即随机数及明文异或随机数,其他10个轮密钥的加密运算选择轮输入1、2。
c)掩码字节替代模块
掩码字节替换模块是非线性部分,由16个S盒构成,每一个S盒都由原始的输入经过同构映射、塔域求逆,逆同构映射及仿射变换后输出两个经过字节替换后的共享因子。
第一步,两个共享因子信息流经过同构映射,同构映射是将信息由多项式基PB转换到正规基NB的一个8行8列的矩阵,并列输出两个正规基NB上的8行8列的结果;
第二步,两个信息流分别在塔域上求逆具有速度快,资源消耗低的特点,输出分别为两个信息流的逆运算结果;
第三步,在塔域上求逆后,两个信息流分别进行逆同构映射,将塔域上输出映射为多项式域,并将此输出经过仿射变换后输出结果即为两个信息流的单个S盒结果。
第四步,如上述相似的信息流由两个128比特数据构成,按照前面三步的结果并列执行16次,可以将两个128比特的数据流处理完毕,即为第三步结果的16份,是字节替换的结果。字节替换结果为两个128比特的输出。
d)行移位模块
行移位模块与公知的AES实现中的行移位模块并无不同,但由于字节替换的结果为两个128比特输出,因此需要两个行移位模块同步操作。
e)列混淆模块
同理,列混淆模块也是公知的,也需要两个模块同步执行。
f)二选一选择器
二选一选择器即输入两个个,输出一个的选择器,具体从两个中选哪一个作为输出由状态机的状态决定,当使用第10个轮密钥进行加密的状态时,选择行移位作为二选一选择器的输出,其他状态选择列混淆作为其输出。
g)密钥加模块
只需要对一个信息流进行密钥加模块即可,另一个信息流模块直接进行下一步操作,保证在掩码的情况下,多个共享因子异或后,保证结果的正确性。
h)密文生成单元
密文生成单元是将密文1与密文2异或后得到的过程,异或后的结果即为最终生成的密文。
与现有技术相比,本发明的积极效果为:
首先创新性的提出了或门的掩码实现,可以将或门进行掩码保护,抵抗一阶侧信道攻击;其次将文献1(Ueno,R.,Homma,N.,Sugawara,Y.,Nogami,Y.,Aoki,T.:Highlyefficient GF(28)inversion circuit based on redundant GF arithmetic and itsapplication to AES design.In:Workshop on Cryptographic Hardware and EmbeddedSystems(CHES).Lecture Notes in Computer Science,vol.9293,pp.63–80.Springer(2015).)的高效的塔域实现方法和文献2(Y.Ishai,A.Sahai,and D.Wagner.PrivateCircuits:Securing Hardware against Probing Attacks.In D.Boneh,editor,CRYPTO2003,volume 2729 of LNCS,pages 463–481.Springer,2003.)安全的ISW掩码技术相结合,得到既具有优化的效率,又具有较高侧信道安全性的AES硬件实现。如图6所示,传统的AES实现不能抵抗一阶CPA攻击,而本发明的硬件实现可以抵抗一阶CPA、DPA攻击,保证敏感数据的安全。
附图说明
图1为本发明的快速安全硬件结构图;
图2为有限域GF(28)上Sbox求逆的过程图;
图3为与门的掩码实现图;
图4为或门的掩码实现图;
图5为非门的掩码实现图。
图6传统实现与本发明实现攻击结果成功率图。
具体实施方式
下面结合附图对本发明具体技术,尤其是核心部分的掩码字节替换部分的S盒求解做进一步详细描述。AES的S盒求解过程如图2所示,从输入开始包含同构映射、塔域求逆、逆同构映射及仿射变换及输出过程。在塔域求逆的过程中用到了图3、图4及图5中的与门、或门或非门的掩码实现。对于图3的实现用符号AND Masked Gate表示简写为(&M),对于图4用符号XOR Masked Gate表示简写为(∪M),对于图5用符号NOT Masked Gate表示简写为(!M)。
一、同构映射
同构映射f为一个8行8列的矩阵变换,并不包含非线性的与门、或门和非门,只包含线性的异或运算,因此可以首先将输入的两路向量分别通过该矩阵运算得出两个输出向量。
即:输入x1,经过同构映射f变为输出f1;输入x2,经过同构映射f变为输出f2。
二、塔域求逆
将第一步输出的f1和f2作为第二步的输入,在塔域上求逆,塔域求逆的步骤及流程如图3所示,包含三个主要的计算步骤,分别为由输入a求a17,其次再求(a17)-1,最后求a16与(a17)-1的乘积即为a-1。下面说明如何将高效的塔域实现方法和安全的ISW掩码技术相结合的方法,计算中以单比特为例。
1.传统公式
首先,以a17最低位的计算为例,其他位的计算公式类似,a17最低位的原始计算公式为:
d0=H1,2∪L1,2+H3,4∪L3,4+h2∪l2+h3l3
上述的“+”表示异或Hi,j=hi+hj,Li,j=li+lj,输入8位称为x,含高四位h4,h3,h2,h1和低四位l4,l3,l2,l1。
2.本发明公式推导
●求a17的公式推导
由于是一阶掩码操作,将输入分成并列的两份x1,x2,每个x1和x2都含有高四位和低四位,保证x1+x2=x即可。那么对应的a17的计算输出也分成两份d14:0、d24:0,由x1的高四位h14,h13,h12,h11和低四位l14,l13,l12,l11得出d14:0,由x2的高四位h24,h23,h22,h21和低四位l24,l23,l22,l21得出d24:0。
令H1i,j=h1i+h1j,L1i,j=l1i+l1j,H2i,j=h2i+h2j,L2i,j=l2i+l2j。将H1i,j、H2i,j作为第一个输入的第一共享因子和第二共享因子;L1i,j、L2i,j作为第二个输入的第一共享因子和第二共享因子。
a)与门掩码电路
进一步的,将D1和D2操作中的与或门操作用掩码电路替代,对于d0公式中的非线性部分分别通过与门的掩码实现、或门的掩码来实现,本发明通过图4的与门掩码电路进行处理,其中与门的计算公式为:
c1=a1b1+r
c2=(r+a1b2)+a2b1+a2b2
简称为
c1,2=a1,2(&M)b1,2
其中a1,a2是一个输入a的两个共享因子;b1,b2是一个输入b的两个共享因子,可以看出AES加密模块运算中,一直都是两个共享因子同时出现,只需要按照输入各自带入即可。r是由轮随机数输入的比特。
b)或门掩码电路
对于或门,本发明通过图4的或门掩码电路进行处理,其中或门的计算公式为:
表1或门真值表
A | B | A&B | A+B | AUB |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 1 |
因此,由表1的真值表推导出:A∪B=AB+(A+B),同比得出A(∪M)B=A(&M)B+(A+B)即由与门的掩码计算公式再异或A+B即为A(∪M)B的输出,可得出如下公式:
c1=a1b1+r+a1+b1
c2=(r+a1b2)+a2b1+a2b2+a2+b2
简称为
c1,2=a1,2(∪M)b1,2
如图4所示,或门掩码电路由4个与门和8个或门构成。其中a1,a2是一个输入a的两个共享因子;b1,b2是一个输入b的共享因子,可以看出AES加密模块运算中,一直都是两个共享因子同时出现,只需要按照输入各自带入即可。r是由轮随机数输入的比特。a1、a2,a1、b2,a2、b1及a2、b2为4个与门的计算,将a1b1的结果与r进行异或,输出的结果与a1进行异或,再与b1进行异或,输出c1;将a1b2的结果与r进行异或,输出的结果与a2b1进行异或,输出的结果再与a2b1的结果进行异或,输出的结果再与a2b2的结果进行异或,输出的结果再与a2异或,输出的结果再与b2异或,输出即为c2。即由输入a1,a2,b1,b2,r,输出c1,c2构成的电路为或门掩码电路。
c)异或门掩码实现
或门是线性部门,因此或门掩码电路与普通或门一致,将两个输入的第一、第二因子分别相加,得到或门掩码输出的第一、第二个输出,如公式所示:
c1=a1+b1
c2=a2+b2
简称为
c1,2=a1,2+b1,2
d)将与门或门掩码实现应用到d0的公式中
将与门或门掩码实现应用到d0的操作中,公式变为:
由图3、图4可知,(∪M)及(&M)的输出分别是两个,如上所示的x1、x2是第一项H1,2(∪M)L1,2的输出,此时可以得出两个d0,分别称为d10、d20。即可知:
d1[0]=x1+y1+z1+w1
d2[0]=x2+y2+z2+w2
同理可以得出d14:0和d24:0共10比特数据。
●求(a17)-1的公式推导
开始计算(a17)-1,以(a17)-1的次低位为例详解公式推导,原始计算公式为:
e1=((d4+1)(d1+d2))∪(d0d4(d2∪d3))
同第一步a17计算相似,将第一步的结果d14:0、d24:0作为本部分的输入,输出分别为e14:0、e24:0。与门和或门的处理方式也是同a17类似,特殊的部分是非门的处理di+1=~di,此时应按照非门处理而不是异或门。
a)非门掩码电路
非门的处理如图5所示,具体公式为:
c1=a1
c2=!a2
即(!M)的输出为两个,第一个是第一共享因子a1本身,第二个是第二共享因子的非。
b)将与门或门非门掩码实现应用到e1的公式中
由e1公式可得出:
u1,2=x1,2(&M)y1,y2
v1,2=z1,2(&M)w1,w2
m1,2=u1,2(&M)v1,v2
e11=m1
e21=m2
以u1,2的输出为例,u1,2是经过(&M)运算的结果,输入为x的两个共享因子x1,x2,简称为x1,2,y的两个共享因子y1,y2,简称为y1,2,随机数的输入为随机任意的,在表示形式上忽略。
三、逆同构映射及放射变换
逆同构映射及仿射变换两者的运算可以进行组合,组合后为一个8行10列的矩阵,此操作可以将塔域上10位的求逆输出变回为GF(28)的正常输出。由于逆同构映射及仿射变换两者的运算并不包含非线性的与门、或门和非门,只包含线性的异或运算,因此将塔域求逆得到的两路向量分别按照此矩阵进行运算即可。
综合上述一、二、三步骤可以实施掩码字节替换中一个字节的替代过程,其他15个字节替代过程类似。而其他各个部分的实施方式属于公知,在此不做赘述。
评估结果
本发明的优势是将高效的塔域实现方法和安全的ISW掩码技术相结合,得到既具有优化的效率,又具有较高侧信道安全性的AES硬件实现。下面对本发明AES实现安全性进行评估。
如图6所示,使用一阶CPA对文献[1]的实现进行攻击,在X万条时,成功率为1,表示在X万条时,能完成攻击成功。对本发明提出的高效塔域和ISW方法相结合方法的AES实现使用一阶CPA进行攻击,无法攻击成功使用10万条能量迹攻击,成功率仍为0,不能攻击成功任意字节。
Claims (6)
1.一种AES算法的快速安全硬件结构,其特征在于,包括密钥扩展模块和加密模块;所述密钥扩展模块与所述加密模块连接,用于将生成的初始密钥和轮密钥输入到所述加密模块中;所述加密模块包括初始密钥加模块、四选二选择器、两二选一选择器、掩码字节替换模块、两行移位模块、两列混淆模块和轮密钥加模块;其中,
所述初始密钥加模块,用于将第二共享因子与初始密钥进行异或运算,得到初始输入发送给四选二选择器;其中,第一共享因子为一随机数,第二共享因子是明文异或该随机数的值;
所述掩码字节替换模块,用于根据该四选二选择器在初始输入与两轮输入之间的选择结果和轮随机数对第一共享因子、第二共享因子进行掩码字节替换后分别输出给两所述行移位模块;
所述行移位模块用于同步对输入数据进行移位处理;每一所述行移位模块将移位处理结果输入一所述列混淆模块;两所述列混淆模块用于同步对输入数据进行列混处理;第一所述行移位模块及与其连接的第一所述列混淆模块分别将处理结果发送给第一二选一选择器,第二所述行移位模块及与其连接的第二所述列混淆模块分别将处理结果发送给第二二选一选择器;其中,第一二选一选择器的输出端与所述轮密钥加模块输入端连接,所述轮密钥加模块的另一输入端与所述密钥扩展模块的轮密钥输出端连接,所述轮密钥加模块的轮输出端与该四选二选择器的轮输入端连接;第二二选一选择器的轮输出端与该四选二选择器的轮输入端连接;该第一二选一选择器的密文输出端与该第二二选一选择器的密文输出端分别与密文生成单元的输入端连接。
2.如权利要求1所述的快速安全硬件结构,其特征在于,所述掩码字节替换模块并列对第一共享因子、第二共享因子进行同构映射、塔域求逆、逆同构映射及仿射变换,完成对第一共享因子、第二共享因子进行掩码字节替换。
3.如权利要求2所述的快速安全硬件结构,其特征在于,所述掩码字节替换模块首先对第一共享因子、第二共享因子进行同构映射,将信息由多项式基PB转换到正规基NB的8行8列的矩阵,并列输出两正规基NB上的8行8列的矩阵;然后对两所述矩阵在塔域上求逆;然后将两所述矩阵的求逆结果分别进行逆同构映射,将塔域上输出映射为多项式域,并对输出进行仿射变换,得到第一共享因子、第二共享因子的单个S盒结果;并列执行若干次上述处理,完成对第一共享因子、第二共享因子进行掩码字节替换。
4.如权利要求2或3所述的快速安全硬件结构,其特征在于,所述掩码字节替换模块的电路包括4个与门和8个或门;其中第一与门、第三与门的一输入端分别与同一输入a的两个共享因子a1、a2中的一共享因子a1输出端连接,第二与门、第四与门的一输入端分别与共享因子a2输出端连接;第三与门的另一输入和第四与门的另一输入端的输入端分别与同一输入b的两共享因子为b1、b2中的共享因子b2输出端连接,第一与门的另一输入端、第二与门的另一输入端分别与共享因子b1输出端连接;轮随机数r的输出端分别与第一或门、第二或门的输入端连接;第一与门的输出端与第一或门的另一输入端连接,第三与门的输出端与第二或门的另一输入端连接;第三或门的两输入端分别与第一或门的输出端、共享因子a1的输出端连接;第四或门的两输入端分别与第二或门的输出端、第二与门的输出端连接;第五或门的两输入端分别与第三或门的输出端、共享因子b1的输出端连接,第六或门的两输入端分别与第四或门的输出端、第四与门的输出端连接;第七或门的两输入端分别与第六或门的输出端、共享因子a2的输出端连接,第八或门的两输入端分别与第七或门的输出端、共享因子b2的输出端连接。
5.如权利要求1所述的快速安全硬件结构,其特征在于,所述四选二选择器和两二选一选择器根据状态机在轮输入与初始输入之间进行选择。
6.如权利要求1所述的快速安全硬件结构,其特征在于,所述密钥扩展模块每个周期产生一个轮密钥,当外部输入密钥有效时,内部状态机控制第1个周期输出初始密钥,后续10个周期,每个周期产生一个轮密钥作为加密模块的轮密钥输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710035186.8A CN107070630B (zh) | 2017-01-17 | 2017-01-17 | 一种aes算法的快速安全硬件结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710035186.8A CN107070630B (zh) | 2017-01-17 | 2017-01-17 | 一种aes算法的快速安全硬件结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070630A true CN107070630A (zh) | 2017-08-18 |
CN107070630B CN107070630B (zh) | 2019-10-11 |
Family
ID=59598242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710035186.8A Active CN107070630B (zh) | 2017-01-17 | 2017-01-17 | 一种aes算法的快速安全硬件结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070630B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294700A (zh) * | 2017-08-22 | 2017-10-24 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的与逻辑电路装置及处理方法 |
CN107864035A (zh) * | 2017-10-13 | 2018-03-30 | 华南理工大学 | 一种实现在aes电路中基于功耗均衡编码的抗dpa攻击方法 |
CN108111298A (zh) * | 2017-12-04 | 2018-06-01 | 哈尔滨理工大学 | 基于s盒共用的低熵掩码方案 |
CN108494547A (zh) * | 2018-02-13 | 2018-09-04 | 中山大学 | 一种aes加密系统及芯片 |
CN109274482A (zh) * | 2018-08-24 | 2019-01-25 | 广东工业大学 | 一种基于s盒优化的aes算法硬件电路实现方法 |
CN109617667A (zh) * | 2018-09-17 | 2019-04-12 | 中国科学院信息工程研究所 | 一种针对aes算法线性部分的高效掩码防护方法 |
CN109995506A (zh) * | 2019-04-09 | 2019-07-09 | 司法鉴定科学研究院 | Skinny算法优化实现方法、系统、终端、存储介质 |
CN110633583A (zh) * | 2019-09-02 | 2019-12-31 | 卓尔智联(武汉)研究院有限公司 | 集成电路芯片、集成电路及电子装置 |
CN111314051A (zh) * | 2018-12-11 | 2020-06-19 | 北京思源理想控股集团有限公司 | 一种加解密方法和装置 |
CN111314050A (zh) * | 2018-12-11 | 2020-06-19 | 北京思源理想控股集团有限公司 | 一种加解密方法及装置 |
CN112291054A (zh) * | 2020-11-26 | 2021-01-29 | 南京农业大学 | 一种针对低熵掩码方案的侧信道泄露检测方法 |
CN113711533A (zh) * | 2019-04-15 | 2021-11-26 | 瑞典爱立信有限公司 | 用于面积受限硬件的低深度AES SBox架构 |
CN115643003A (zh) * | 2022-12-23 | 2023-01-24 | 飞腾信息技术有限公司 | 用于侧信道分析的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710415A (zh) * | 2012-06-18 | 2012-10-03 | 西安西电捷通无线网络通信股份有限公司 | 一种利用对称密码算法进行数据加解密的方法及查表装置 |
CN103051442A (zh) * | 2012-10-16 | 2013-04-17 | 中国科学院软件研究所 | 采用Feistel-PG结构的密码装置及加密方法 |
US8966279B2 (en) * | 2010-12-21 | 2015-02-24 | Apple Inc. | Securing the implementation of a cryptographic process using key expansion |
US20160065361A1 (en) * | 2014-08-28 | 2016-03-03 | Samsung Electronics Co., Ltd. | Endecryptor preventing side channel attack, driving method thereof and control device having the same |
-
2017
- 2017-01-17 CN CN201710035186.8A patent/CN107070630B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8966279B2 (en) * | 2010-12-21 | 2015-02-24 | Apple Inc. | Securing the implementation of a cryptographic process using key expansion |
CN102710415A (zh) * | 2012-06-18 | 2012-10-03 | 西安西电捷通无线网络通信股份有限公司 | 一种利用对称密码算法进行数据加解密的方法及查表装置 |
CN103051442A (zh) * | 2012-10-16 | 2013-04-17 | 中国科学院软件研究所 | 采用Feistel-PG结构的密码装置及加密方法 |
US20160065361A1 (en) * | 2014-08-28 | 2016-03-03 | Samsung Electronics Co., Ltd. | Endecryptor preventing side channel attack, driving method thereof and control device having the same |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294700A (zh) * | 2017-08-22 | 2017-10-24 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的与逻辑电路装置及处理方法 |
CN107294700B (zh) * | 2017-08-22 | 2019-11-08 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的与逻辑电路装置及处理方法 |
CN107864035B (zh) * | 2017-10-13 | 2020-06-19 | 华南理工大学 | 一种实现在aes电路中基于功耗均衡编码的抗dpa攻击方法 |
CN107864035A (zh) * | 2017-10-13 | 2018-03-30 | 华南理工大学 | 一种实现在aes电路中基于功耗均衡编码的抗dpa攻击方法 |
CN108111298A (zh) * | 2017-12-04 | 2018-06-01 | 哈尔滨理工大学 | 基于s盒共用的低熵掩码方案 |
CN108494547A (zh) * | 2018-02-13 | 2018-09-04 | 中山大学 | 一种aes加密系统及芯片 |
CN108494547B (zh) * | 2018-02-13 | 2021-04-13 | 中山大学 | 一种aes加密系统及芯片 |
CN109274482A (zh) * | 2018-08-24 | 2019-01-25 | 广东工业大学 | 一种基于s盒优化的aes算法硬件电路实现方法 |
CN109617667A (zh) * | 2018-09-17 | 2019-04-12 | 中国科学院信息工程研究所 | 一种针对aes算法线性部分的高效掩码防护方法 |
CN109617667B (zh) * | 2018-09-17 | 2020-09-29 | 中国科学院信息工程研究所 | 一种针对aes算法线性部分的高效掩码防护方法 |
CN111314051A (zh) * | 2018-12-11 | 2020-06-19 | 北京思源理想控股集团有限公司 | 一种加解密方法和装置 |
CN111314050A (zh) * | 2018-12-11 | 2020-06-19 | 北京思源理想控股集团有限公司 | 一种加解密方法及装置 |
CN111314050B (zh) * | 2018-12-11 | 2023-06-30 | 北京思源理想控股集团有限公司 | 一种加解密方法及装置 |
CN111314051B (zh) * | 2018-12-11 | 2023-09-12 | 北京思源理想控股集团有限公司 | 一种加解密方法和装置 |
CN109995506A (zh) * | 2019-04-09 | 2019-07-09 | 司法鉴定科学研究院 | Skinny算法优化实现方法、系统、终端、存储介质 |
CN113711533A (zh) * | 2019-04-15 | 2021-11-26 | 瑞典爱立信有限公司 | 用于面积受限硬件的低深度AES SBox架构 |
CN110633583A (zh) * | 2019-09-02 | 2019-12-31 | 卓尔智联(武汉)研究院有限公司 | 集成电路芯片、集成电路及电子装置 |
CN112291054A (zh) * | 2020-11-26 | 2021-01-29 | 南京农业大学 | 一种针对低熵掩码方案的侧信道泄露检测方法 |
CN112291054B (zh) * | 2020-11-26 | 2022-06-14 | 南京农业大学 | 一种针对低熵掩码方案的侧信道泄露检测方法 |
CN115643003A (zh) * | 2022-12-23 | 2023-01-24 | 飞腾信息技术有限公司 | 用于侧信道分析的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107070630B (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070630B (zh) | 一种aes算法的快速安全硬件结构 | |
CN103078734B (zh) | 解密处理装置、方法和信息处理装置 | |
CN106663387A (zh) | 加密函数和解密函数生成方法、加密和解密方法以及相关装置 | |
CN106788974A (zh) | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 | |
CN102546157B (zh) | 一种抵抗能量分析的随机混合加密系统及其实现方法 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN101009554A (zh) | 一种抗功耗攻击的字节替换电路 | |
CN102402670A (zh) | 一种文件加解密方法 | |
CN109981256A (zh) | 基于FeisitelBox结构的白盒分组密码构造方法及系统 | |
CN108429613A (zh) | 一种基于en-present算法的电网信息加密方法 | |
CN107769910A (zh) | 一种基于Latch PUF的抗边信道攻击DES防护方法及电路 | |
CN107147487A (zh) | 对称密钥随机分组密码 | |
CN106100844A (zh) | 基于点盲化方法的优化自动双线性对加密方法及装置 | |
CN109768854A (zh) | 一种轻量级分组密码算法Wheel的实现方法 | |
CN107257279A (zh) | 一种明文数据加密方法及设备 | |
CN101814985A (zh) | 应用多混沌映射多动态s盒的分组密码系统 | |
CN105939190A (zh) | 基于fpga的离线生成密钥的aes数据加密方法 | |
CN109033892A (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
CN106982116A (zh) | 一种基于可逆逻辑电路的aes的本地文件加密方法 | |
CN108650072A (zh) | 一种支持多种对称密码算法芯片及其抗攻击电路实现方法 | |
CN105959100A (zh) | 一种基于fpga的在线生成密钥的aes数据加密方法 | |
CN106059746B (zh) | 一种抗任意阶侧信道攻击的掩码防护方法及系统 | |
CN107733634A (zh) | 一种基于置换耦合的轻量化混沌认证加密方法 | |
Wei et al. | New second‐order threshold implementation of AES | |
Chou et al. | A high performance, low energy, compact masked 128-bit AES in 22nm CMOS technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |