APP下载

抗侧信道攻击的SM4多路径乘法掩码方法

2014-08-05谭锐能1卢元元1田椒陵1

计算机工程 2014年5期
关键词:掩码多路径功耗

谭锐能1,2,卢元元1,田椒陵1,2

(1. 深圳大学信息工程学院,广东 深圳 518060;2. 国民技术股份有限公司,广东 深圳 5180 57)

抗侧信道攻击的SM4多路径乘法掩码方法

谭锐能1,2,卢元元1,田椒陵1,2

(1. 深圳大学信息工程学院,广东 深圳 518060;2. 国民技术股份有限公司,广东 深圳 5180 57)

SM4是国内于2006年公布的第1个商用的分组密码算法。为提高SM4算法安全性,抵御功耗分析、电磁辐射等侧信道攻击,提出一种抗侧信道攻击的SM4多路径乘法掩码方法。该方法在轮函数中采用多条数据路径,并对引进随机数后的S盒用有限域乘法求逆变换加以改进,使中间结果与标准SM4算法的中间结果完全不同,从而掩盖SM4加密过程中的所有关键信息,增加侧信道分析的难度。实验结果表明,与标准SM4算法和普通的SM4乘法掩码算法相比,该方法在芯片的功耗和硬件资源增加不大的情况下,能有效消除中间数据所产生的能量消耗,增强算法安全性,可成功抵御各种侧信道攻击。

侧信道攻击;有限域求逆;乘法掩码;SM4算法;多路径掩码方法

1 概述

传统密码分析学认为一个密码算法在数学上安全就绝对安全,这一思想被Kelsey等学者在1998年提出的侧信道攻击(Side-channel Attacks, SCA)[1]理论所打破。侧信道攻击与传统密码分析不同,侧信道攻击利用功耗、电磁辐射等方式所泄露的能量信息与内部运算操作数之间的相关性,通过对所泄露的信息与已知输入或输出数据之间的关系作理论分析,选择合适的攻击方案,获得与安全算法有关的关键信息。侧信道攻击的特点是代价小、效率高,已经成为密码分析领域常用的攻击方式。

随着侧信道攻击技术的发展,我国公布的第1个商用的分组密码——SM4算法密码[2],受到了严重的威胁。围绕SM4密码算法分析和防御的研究已经成为国内密码算法研究的一个重点。基于此,本文提出一种抗侧信道攻击的SM4多路径乘法掩码方法。

2 相关研究

在密码攻击与防御的博弈中,防御各种不同类型侧信道分析攻击的技术也得到了相应的发展[3-4]。针对已有的侧信道攻击技术,可以采用各种策略尽可能地消除算法执行过程中被处理中间数据与泄露能量、电磁辐射信息之间的对应关系,达到抵御侧信道攻击的目的。目前主要的防护方法有[5-6]:(1)算法级的优化,从算法实现的层次上,改写或优化加解密算法,使运算过程中的操作次数和顺序与密钥无关;(2)随机掩码技术,利用随机数对硬件的输入和输出数据进行处理,由于随机数参与密码算法运算,把与密钥相关的数据进行了掩蔽,攻击者就难以从外部观测到的功耗变化中分析出中间数据;(3)功耗平衡技术,从电路逻辑类型的选择和设计上,改进逻辑和算术运算电路的实现方法,降低逻辑门和触发器的状态翻转情况与密钥的相关性,使电路在各种密钥和数据的情况下,系统的总功耗没有显著的区别。

在上述的侧信道分析攻击防护方法中,使用随机数作为掩码来掩蔽运算过程中操作数的方法成为加密算法抵御侧信道攻击的常用和有效方法。掩码技术的基本思想[7]是破坏算法执行过程的中间数据与泄露信息之间的对应关系,使得中间数据的值与一个无法确定的随机数掩码有关,不再完全依赖于密钥的某个子序列,掩码的随机性消除中间数据所产生的能量消耗特征与明文和密钥之间的相关性。掩码运算有乘法掩码[8]、随机掩码[9]、固定值掩码[10]等。

文献[11]提出掩码方法,它给出一个能抵御侧信道攻击的掩码模型,通过对中间数据进行掩盖使差分功耗分析变得难以进行,运用该模型使DPA(Differential Power Analysis)的区分函数对功耗曲线的划分“出错”,从而使差分后的结果无法正确显示出高的相关优度[12]。文献[13]将掩码技术应用于DES(Data Encryption Standard)加密算法,设计了一种能抵御功耗攻击的安全DES算法,采用随机数对中间数据进行掩盖,并在查询S盒存储单元之前进行求逆运算,还原了输入数据,最终取得了良好的抗攻击效果。研究表明,分组密码加密运算中每一轮都会受到侧信道的威胁[14],而掩码技术的实现往往需要十分大的硬件实现代价,所以如何在实现代价、处理速度和安全性之间进行权衡是掩码方案设计必须考虑的因素。

文献[15]将随机掩码用于抗DPA攻击,但是每轮次必须重新生成一个随机数掩码因子,同时每轮必须根据随机掩码因子计算新的S盒,增加了实现的代价,不利于硬件实现。掩盖S盒需要重构出伪S 盒并在查表后进行校正,由于查表为非线性操作, 往往需要消耗大量的存储空间。在针对AES(Advanced Encryption Standard)算法的功耗分析的防护研究中,为了解决这个问题,文献[16-17]分别提出了AES算法的乘法掩码改进方案,这2个方案均易于硬件实现。由于AES的线性运算环节的掩蔽和恢复都比较简单,因此方案的重点在于非线性单元的掩蔽和恢复,上述2种方案把逻辑掩码转换为乘法掩码,并对S盒上的乘法求逆运算进行了随机掩码,但是文献[18]认为,由于基于有限域乘法的掩码无法对全“0”字节进行扰乱,易受零值攻击,因此该方法仍存在漏洞。文献[19]针对SM4算法提出了SM4的乘法掩码方案,该方案易于硬件实现,但掩码只局限于明文,对密钥没有采取相关的防御措施,同时也易受零值攻击,算法安全性不强。文献[20]提出了抵御侧信道分析的AES双路径掩码方法,因为采用双路径掩码,能有效抵御零值攻击,安全性有了很大的提高,但是掩码操作只限于轮函数,没有对整个加密过程进行掩码。

本文在文献[19-20]的基础上,提出一种SM4的多路径乘法掩码方法。该方法在乘法掩码的基础上,在轮函数中采用多条数据路径并同时对密钥进行掩码,从而实现SM4加解密过程所有关键信息的全部掩盖。本文给出该掩码方案的实现步骤,对该方案进行了芯片设计并作了对比实验。

3 SM4算法

SM4算法是一种类似于AES算法,分组长度与密钥长度均为128 bit的对称密码算法,其加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密与加密结构相同,只是轮密钥的使用顺序相反。轮函数运算主要由32 bit异或运算、S盒查表操作以及32 bit循环左移等构成[2]。

3.1 加解密算法设明文输入为:

其中,F为轮函数;T为合成置换;R为反序变换;Xi, Xi+1, Xi+2,Xi+3为第i轮轮函数输入;Xi+4为第i轮轮函数输出。

合成置换T是字(32 b it)到字的可逆变换,由非线性变换τ和线性变换L复合而成,即T(·)=L[τ(·)]。

非线性变换τ由4个并行的S盒构成,每个S盒为固定的8 bit置换,记为Sbox(·)。设τ的输入和输出分别为A= (a0, a1, a2, a3),B=(b0,b1,b2,b3),(ai∈GF(28),bi∈GF (28), i=0,1,2,3),则有:

非线性变换τ的输出是线性变换L的输入。设L的输入为B∈GF(232),输出为C∈GF(232),则:

其中,B<<<i表示将B循环左移i位。SM4的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序。

3.2 密钥扩展算法

SM4加密算法的轮密钥由加密密钥通过密钥扩展算法得到,密钥扩展算法与加/解密算法的结构基本相同,经过32轮迭代运算生成32个子密钥。主要不同点在密钥扩展的T变换中,将线性变换L修改为L′,这里L′( B)=B⊕(B <<<13)⊕(B <<<23)。

3.3 基于有限域求逆构造S盒的方法

基于有限域求逆运算来构造S盒的方法是由文献[21]提出,目的是为了节约内存,不用存储256 B yte的S盒。该方法在每轮运算中,通过2次相同的仿射变换和一次GF(28)上的乘法求逆变换求出相应S盒的对应值,其运算结构如图1所示[22]。

图1 基于有限域求逆构造S盒的运算结构

在图1中,ai和bi分别表示τ变换的第i个S盒的输入和输出字节(i=0,1,2,3),仿射变换通过循环矩阵A和行向量C进行,A是8×8 bit方阵,C是8 bit行向量,它们均是系统参数。A和C的具体定义以及仿射函数和求逆函数的定义在文献[19-22]中有详细介绍,限于篇幅,本文不再赘述。解密过程的S盒变换和加密过程相同,只是仿射变换变成仿射逆变换。

4 SM4掩码方法

4.1 SM 4乘法掩码方法

在各种抗侧信道分析的方法中,使用随机数来掩盖加密运算过程中关键信息的方法得到了广泛的应用。文献[19]中方案的主要思想是在输入数据之前,用随机掩码因子进行掩蔽,在运算到最终结果时再把随机掩码因子移除,从而恢复正确的结果。在每轮运算过程中,线性环节可以通过简单的异或等运算进行掩盖和恢复,因此掩码算法的重点在于非线性环节的掩盖与恢复。在SM4算法的加密过程中,S盒是唯一的非线性的单元。该方案对图1所示求逆构造S盒的运算过程进行了掩码处理,掩码后的S盒运算如图2所示。图2中Mi是随机掩码因子M的一个字节,M1i是Mi经过仿射变换后的值,M2i是M1i经过仿射变换后的值。

图2 引入掩码的S盒运算过程

该方案介绍了去掩码的方法。设掩码后轮函数的输出为Xi′′+4,则有:

即掩码后轮函数输出再与L(MAA)做一个异或运算,所得输出Xi′+4恢复为无掩码轮函数输出Xi+4与随机数M的异或结果。这样经过32轮带掩码的加密运算后,所得结果是原密文与随机数M的异或,只需将这一结果再与M异或,即可去掉掩码,得到正确的密文。

该SM4掩码方案运用有限域乘法求逆的算法计算S盒,因此,称为乘法掩码方案,其优点在于轮函数的输入、输出及所有的中间结果都被有效掩盖,并且易于硬件实现。该方案重点在于对明文的掩码,缺少对密钥掩码的措施,并且具有易受零值攻击的弱点。分析者只要对密钥扩展进行侧信道分析,就有可能获取正确的轮密钥。

4.2 双路径的随机掩码方法

传统算法的轮函数只涉及到一条数据路径,安全性不强,文献[20]针对AES提出一种抵御侧信道分析的双路径掩码方法,在轮函数中开辟2条数据路径,增加了掩码强度,使安全性得到提高。掩码方案主要针对明文加密算法的整个过程,密钥扩展则仍与常规算法相同。双路径掩码方案的主要步骤为:

(1)用随机数函数产生一个32 bit随机数r。

(2)采用随机数r对S盒进行掩盖。设S盒的输入和输出分别为X、Y,查表有Y=S( X),根据同样的输入X和输出Y,令Y=S′( X⊕r),得到掩盖后的S′盒。

(3)再随机产生一个16×16 bi t的矩阵作为S1′盒,针对步骤2中得出的S′盒,计算S2′=S′⊕S1′,即将2个S盒的所有元素相异或,得出新的S2′盒。由于Y=S′( X⊕r)= S1′⊕S2′(X⊕r ),根据异或运算规则和S盒查表方法,可推得:

式(6)中用到了2个S盒,因此开辟了2条数据路径。由于该方案同时引入了随机数和随机S盒,且有2条数据路径,因此对轮函数内的关键信息进行了有效的掩盖。但由于缺少对轮输出结果的保护措施,而且轮密钥也没有得到保护,因此算法存在漏洞。

4.3 SM4的多路径乘法掩码方法

双路径法引入随机数和随机S盒进行双路径掩码,对轮函数内的信息掩码效果强,遗憾的是对轮输出没有掩码。考虑到乘法掩码法可以掩盖轮函数的输入、输出及所有中间结果,如果将双路径法和乘法掩码法综合应用,则可发挥两者的长处,既利用多路径增强掩码的效果,又掩盖了所有的信息。基于这一考虑,本文提出SM4的多路径乘法掩码方法。本方法在SM4乘法掩码的基础上,借鉴文献[20] 的AES双路径掩码思路,实现SM4的多路径乘法掩码操作。除此之外,本文方案还对密钥扩展进行相应的掩码操作,克服了文献[19-20]未对轮密钥加以保护的缺点,实现了加解密过程中所有关键信息的全部掩盖,同时开辟了多条数据路径,增加了算法的安全性。

本文方案的关键在于如何综合乘法掩码和多路径掩码2种方法来构造τ变换。由乘法掩码的思想可知,引进一个随机数M时,S盒的运算转化为带掩码的运算,相当于τ变换作出了改变,将改变后的τ变换记为Mτ,其中,S盒记为SM盒。Mτ包括4个SM盒变换,SM盒与原S盒同样是16×16 bit,可以根据原S盒和随机数M确定SM盒的所有值。当SM盒确定后,即可进行多路径的处理。

在多路径操作中,将另一个随机数N与轮函数的输入异或,实现对SM盒的再一次掩盖。令rki′=rki⊕N,由式(1)可知,只需将掩码后的轮密钥rki′取代原来的轮密钥rki,就实现了轮函数的输入与N的异或运算。本文方案中对密钥扩展用随机数N进行乘法掩码,掩码后扩展轮函数的输出(即轮密钥)是原轮密钥与N异或的结果,也就是rki′。

对SM4中的SM盒查表,其输入X和输出Y全部满足Y=SM(X),根据同样的输入X和输出Y,令Y= SM′(X⊕N),可得到用随机数N掩盖后的SM′,再随机产生一个16×16 bit的矩阵作为S1′盒,计算SM′2=SM′ ⊕S1′,求出新的SM′2盒,由式(6)可知:

式(7)中有2个S盒,即双通道的τ变换。至此,实现了加密过程的双重掩码,即乘法掩码后的双路径掩码。按这一思路,如果产生更多的随机S盒,则可实现更多路径的乘法掩码。由于单纯的多路径掩码的输出是不含掩码因子的,因此SM4多路径乘法掩码方案中的去掩码过程只需针对乘法掩码进行,SM4乘法掩码方案中的去掩码方法已在4.1节中做过介绍。

SM4多路径乘法掩码方案的详细步骤如下:

(1)产生2个不同的32 bit随机数M、N。

(2)初始密钥掩码。

将用户输入的128 bit初始密钥(MK0, MK1, MK2, MK3)与系统定义的参数异或,得(K0, K1, K2, K3),再分别与N异或,得到(K0′,K1′,K2′,K3′)。

(3)密钥扩展掩码。

本文方案中密钥扩展算法采用乘法掩码,掩码随机数为。SM4的密钥扩展算法与加密算法类同,都可由式(1)表示。由式(1)和乘法掩码算法得到SM4密钥扩展轮函数的流程如图3所示。

图3 密钥扩展掩码的轮函数

其中,τN为引入随机数N的τ变换(4个S盒的变换),(Ki′,Ki+1′,Ki+2′,Ki +3′)为轮密钥扩展的输入,Ki′+4为轮密钥扩展的输出。图3中最后一个步骤是与L(NAA)的异或运算,这是乘法掩码方法去掩码的重要步骤,最终有Ki′+4= Ki +4⊕N 。由于轮密钥扩展函数的输出就是明文加密算法中的轮密钥,即rki′=Ki′+4,因此有rki′=rki⊕N 。可见,采用乘法掩码不仅使密钥扩展函数得到掩盖,还使得每轮输出的密钥都与随机数N有关。异或运算满足交换律,图3中的最后2个异或运算交换顺序也是可以的,这里把L(NAA)的异或运算放在最后,是为了保证所有的中间数据都被有效掩盖,其中,A为系统参数。

(4)明文掩码。

将输入的128 bit明文(X0, X1, X2, X3)分别与32 bit随机数M异或,得到(X0′, X1′, X2′, X3′)。

(5)多路径轮函数掩码(以双路径为例)。

明文加密的轮函数掩码采用双路径乘法掩码,用到2个随机数M、N和一个随机S盒S1′。由式(1)和式(7)可得轮函数掩码的流程如图4所示,其中,τ1′代表4个并行的S1′盒,τM′2代表4个并行的SM′2盒。τ 变换后再做L变换,由于L是线性变换,由其定义式(4)可知,有L( B1⊕B2)= L( B1)⊕L( B2),即可将式(7)中S1′盒、SM′2盒变换(即τ1′和τM′2变换)的结果分别做L变换,再来异或。图4分成2条数据路径进行τ变换和L变换,将L变换后的两路数据进行异或运算。最后与L(MAA)相异或,即可恢复出只带一个随机数的轮加密结果为(Xi+4′=Xi+4⊕M )。电路实现时,将这个与L(MAA)相异或的运算放在最后,可保证所有的中间数据都有效掩盖,不会在系统中存在侧信道攻击的漏洞。

图4 S M4双路径乘法掩码的轮函数去掩码

经过32轮运算后,有:

最后通过异或运算可以恢复正确的密文,即:

侧信道攻击关键是利用所泄露的能量信息与内部运算操作数之间的相关性,通过理论分析,获得与安全算法有关的关键信息。而本文方案对原算法进行了多方面的安全防御工作,各关键攻击点的中间结果均被随机掩码,随机量服从均匀分布且具有独立性。对输入明文和密钥进行随机掩码,在32轮运算后才进行去掩码的操作,确保中间数据不仅仅与密钥相关,而且还与未知的随机数有关。在密钥扩展中引入掩码操作,增大了对密钥扩展过程进行侧信道攻击难度,从而使攻击者不能从密钥扩展中直接获取密钥。S盒是SM4算法中唯一一个非线性的运算,功耗消耗最大,同时也是最易遭受攻击的点。本文引入了多路径的乘法掩码方法,S盒的查表运算转换为带掩码的运算,同时由于多路径掩码方法的引入,由原来的一路掩码变为多路掩码不仅增加了侧信道攻击的难度,而且克服了基于有限域乘法的掩码无法对全“0”字节进行扰乱的缺点。

通过分析可以得出,在整个加密过程中的中间数据都被有效的掩盖,不会发生保密信息通过功耗泄露出去的情况,能抵御多种侧信道攻击。

5 实验结果与分析

本文作者对多路径的SM4乘法掩码算法进行了VLSI设计,考虑到该方案中的多条数据路径涉及到相同的L变换,可以对L变换进行复用,采用时序折叠方式将一路运算结果先暂存起来,再进行另一路的计算,这样延长了算法运算时间,但可以减少硬件的实现代价。

在SMIC 0.18 µm COMS工艺下,分别完成了标准SM4算法、普通版SM4乘法掩码算法和本文提出的SM4多路径乘法掩码算法电路模块的RTL代码设计,在相同的条件下进行了逻辑综合和布局布线,得到3个电路网表E1,E2 和E3。验证分析平台是采用荷兰Riscure公司开发的Inspector4.2侧信道分析平台,对3种方案的FPGA实现进行分析。实验抓取加密时的电路电流轨迹进行采样,因为电源电压为恒定值,因此电路的功耗轨迹可以用电流轨迹表示,两者在功耗分析上是等价的。令加密密钥为MK= (0x01234567,0x89abcdef,0xfedcba98,0x76543210),共进行了20万组随机明文仿真测试,记录相应的密文和电流轨迹。电流轨迹采样后,用Inspector4.2侧信道分析平台进行差分功耗分析测试。因为S盒是SM4算法电路中功率消耗最大,也是最容易遭受攻击的点,所以对上述3种SM4密码算法电路第1轮的S盒输出进行DPA攻击。对第1轮S盒输出的前4个字节进行相关性分析,分析结果如图5~图7所示,图中曲线为相关性曲线,每个字节用一条曲线表示,如果相关性曲线中出现明显的尖峰,说明该部分运算有明显信息泄露,攻击者以此为攻击点则可能猜测出该轮的子秘钥。

图5 标准版SM4相关性分析结果

图6 普通版SM4乘法掩码相关性分析结果

图7 本文的掩码方案相关性分析结果

从图5可以看出,标准版SM4算法的S盒输出部分相关性明显,有凸起的尖峰,采集2 0 00组加解密曲线进行DPA分析,就能推导出完整的初始密钥。从图6可以看出,加入乘法掩码后的SM4算法,S盒输出部分相关性明显降低,但仍有细微的尖峰出现,仍存在DPA攻击的隐患,采集20 000组加解密曲线进行DPA分析,就能推导出完整的初始密钥。从图7可以看出,S盒输出部分没有明显的尖峰,采集20 0000组加解密曲线进行DPA分析,不能获取任何有意义的信息。实验结果证明了本文的SM4掩码方案能有效地抵御侧信道攻击。

上述3个电路模块的性能指标对比如表1所示。在相同的频率下,本文算法实现面积比普通SM4乘法掩码算法增加20%,但抵御侧信道分析能力大大增强。对于安全等级要求高的安全密码芯片来说,安全性比实现代价更重要。

表1 3种算法实现电路的性能比较

6 结束语

随着侧信道分析技术的发展,SM4算法的安全性受到了严重的考验,因此,对抗侧信道分析的SM4算法进行研究有着非常重要的意义。本文在研究已有的SM4掩码技术的基础上,提出一种多路径的SM4乘法掩码方案。该方案综合乘法掩码和多路径掩码的优点,且进行了密钥扩展的掩码操作,使加解密过程中的所有关键数据都被掩盖,数据与操作的相关性被消除,能有效抵御侧信道攻击。实验测试结果表明,该方案硬件实现代价较低,适合于加密芯片软硬件实现,具有良好的掩码效果。

[1] Kelsey J, Schneier B, Wangner D. Side Channel Cryptanalysis of Product Ciphers[C]//Proc. of the 5th European Symposium on Research in Computer Security. Louvain-la-Neuve, Belgium: [s. n.], 1998: 97-110.

[2] 国家商用密码管理局. GM/T 0002-2012 SM4分组密码算法[S]. 2012.

[3] 郑新建, 张翌维, 沈绪榜. SPA和DPA攻击与防御技术新进展[J]. 小型微型计算机系统, 2009, 30(4): 726-731.

[4] 李 浪, 李仁发, Sha E H M. 安全SoC抗功耗攻击研究综述[J]. 计算机科学, 2009, 36(6): 16-18.

[5] 白雪飞. 抗功耗分析攻击的SMS4密码算法VLSI设计技术研究[D]. 合肥: 中国科学技术大学, 2008.

[6] 李 浪, 李仁发. PFM: 一种抗高阶功耗的SMS4算法[J].通信学报, 2010, 31(5): 87-92.

[7] 沈 薇. SMS4算法的能量分析攻击及其防御研究[D]. 西安:西安电子科技大学, 2009.

[8] Jovan D, Goh C. Christophe T ymen Multi-phcatrvc Masking and Power Analysis of AES[C]//Proc. of the 4th International Workshop on Cryptographic Hardware and Embedde d Systems. Redwood City, USA: [s. n.], 2002: 102-108.

[9] Messer ges T S. Securing the AES Finalists A gainst Power Analysis Attacks[C]//Proc. of the 7th International Workshop on Fast Software Encryption. New York, USA: Springer, 2000: 355-361.

[10] Chang H, Kim K. Securing AES Against Second-order DPA by Simple Fixed-value Masking[C]//Proc. of CSS’03. Kitakyushu, Japan: [s. n.], 2003: 145-150.

[11] Chari S, Jutla C, Ra o J R, et al. A Cautionary Note Regarding Evaluation of AES Candidates on Smartcards[C]//Proc. of the 2nd AES Candidate Conference. Rome, Italy: [s. n.], 1999: 250-258.

[12] Pramstaller N, Guerkaynak F K, Haene S. Tow Ards an AES Cryp To-chip Resistant to Differential Power Analysis[C]//Proc. of the 30th European Solid-state Circuits Conference. Leuven, Belgium: [s. n.], 2004: 260-267.

[13] 蒋惠萍, 毛志刚. 一种抗差分功耗攻击的改进DES算法及其硬件实现[J]. 计算机学报, 2004, 27(3): 334-338.

[14] Fahn P N, Pearson P K. IP A: A Ne w Class of Po wer Attacks[C]//Proc. of the 1st International W orkshop on Cryptographic Hardware and Embedded Systems. Worchester, USA: Springer, 1999: 118-123.

[15] Messer ges T. Sec uring the AE S Finalists Against Power Analysis Attacks[C]//Proc. of the 7th International Workshop on Fast Software Encryption. New York, USA: Springer, 2000: 266-275.

[16] Mehdi L A, Christophe G: An Implementation of DES and AES, Secure ag ainst Some Attacks[C]//Proc. o f the 3rd International W orkshop on Cr yptographic Hardware and Embedded Systems. Paris, France: Springer, 2001: 666-670.

[17] Elena T, Domenico D S, Lucia G. Simplified A daptive Multiplicative Masking for AES[C]//Proc. of the 4th International W orkshop on Cr yptographic Hardware and Embedded Syste ms. Redwood City, US A: [s. n.], 2002: 321-328.

[18] Golic J, Tymen C. Multiplicative Masking and Power Analysis of AES[C]//Proc. of the 4th International W orkshop on Cryptographic Hardware and Embedded Systems. Redwood City, USA: [s. n.], 2002: 156-162.

[19] 徐艳华. 抗攻击的SMS4密码算法集成电路设计研究[D].合肥: 中国科学技术大学, 2009.

[20] 张翌维, 龚冰冰, 刘列恩, 等. 抵御侧信道分析的AES双路径掩码方法[J]. 计算机工程, 2012, 38(13): 108-111.

[21] Liu F en, Ji Wen, Hu Lei, et al. Analysis of t he SMS4 Block Cipher[C]//Proc. of Australasian Conference on I nformation Security and Priv acy. Berlin, Germany: Springer, 2007: 321-326.

[22] 徐艳华, 白雪飞, 郭 立. 适合SMS4算法硬件实现的S盒构造新方法[J]. 中国科学技术大学学报, 2 009, 39(11): 1165-1170.

编辑 索书志

SM4 Multi-path Multiplicative Masking Method Against Side-channel Attack

TAN Rui-neng1,2, LU Yuan-yuan1, TIAN Jiao-ling1,2

(1. College of Information Engineering, Shenzhen University, Shenzhen 518060, China; 2. Nationz Technologies Co., Ltd., Shenzhen 518057, China)

SM4 is the first bloc cipher published in the year of 2006 by the government of China. In order to resist Side-channel Attack (SCA) such as power analysis and electromagnetic radiation, a multi-path multiplicative masking method is proposed for SM4 algorithm to improve the security of SM4 algorithm. Through multi data paths, and transform S box by multiplicative inversion in the finite fie ld when the random number is joined, which makes all intermediate variables among the proposed SM4 scheme different from that of the standard method. It not only realizes the cover of all the key information in encryption process, but also enhances the difficulties of SCA. Through compared with the traditional algorithm and the existing schemes, the experim ental results show that the mask scheme can weaken the correlation between the energy consumption characteristics and the operating of the intermediate data effectively without increasing much power and hardware resources. Thus the proposed method bears all kinds of side-channel attacks and the security of the new SM4 is improved.

Side-channel Attack(SCA); finite field inverse; multiplicative masking; SM4 algorithm; multi-path masking method

10.3969/j.issn.1000-3428.2014.05.022

国家自然科学基金资助面上项目(61070252)。

谭锐能(1988-),男,硕士研究生,主研方向:网络信息安全;卢元元,教授;田椒陵,硕士研究生。

2013-03-29

2013-05-29E-mail:tanruineng@126.com

1000-3428(2014)05-0103-06

A

TP309

猜你喜欢

掩码多路径功耗
基于任务映射的暗硅芯片功耗预算方法
多路径效应对GPS多普勒测速的影响
低面积复杂度AES低熵掩码方案的研究
基于5.8G射频的多路径识别技术应用探讨
基于布尔异或掩码转算术加法掩码的安全设计*
揭开GPU功耗的面纱
数字电路功耗的分析及优化
IGBT模型优化及其在Buck变换器中的功耗分析
基于5.8GHz多路径精确识别方案研究
基于掩码的区域增长相位解缠方法