CN104639502A - 一种sm4算法抗能量攻击的掩码方法及装置 - Google Patents

一种sm4算法抗能量攻击的掩码方法及装置 Download PDF

Info

Publication number
CN104639502A
CN104639502A CN201310552684.1A CN201310552684A CN104639502A CN 104639502 A CN104639502 A CN 104639502A CN 201310552684 A CN201310552684 A CN 201310552684A CN 104639502 A CN104639502 A CN 104639502A
Authority
CN
China
Prior art keywords
mask
box
turns
correction
random
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
Application number
CN201310552684.1A
Other languages
English (en)
Other versions
CN104639502B (zh
Inventor
于艳艳
胡晓波
李娜
张茜歌
甘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201310552684.1A priority Critical patent/CN104639502B/zh
Publication of CN104639502A publication Critical patent/CN104639502A/zh
Application granted granted Critical
Publication of CN104639502B publication Critical patent/CN104639502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Respiratory Apparatuses And Protective Means (AREA)

Abstract

本发明公开了一种SM4算法抗能量攻击的掩码方法和装置,其中,该方法包括:获取第一随机掩码,且第一随机掩码与第1轮密钥进行异或运算;在原第1轮S盒基础上、根据第一随机掩码确定第1轮修正S盒,第1轮修正S盒取代原第1轮S盒;根据第一随机掩码确定第一修正掩码,第一修正掩码与L线性移位的输出进行异或运算;第2至32轮的算法流程与第1轮算法流程相同,每轮引入相同或不同的随机掩码,且确定相应的修正S盒与修正掩码。通过每轮引入相同或不同的掩码,使易受攻击的轮运算中间结果所带的掩码值不同,能够有效抵抗能量攻击。

Description

一种SM4算法抗能量攻击的掩码方法及装置
技术领域
本发明涉及信息安全技术领域,具体地,涉及一种SM4算法抗能量攻击的掩码方法和装置。 
背景技术
随着信息化和数字化社会的发展,人们对信息安全和保密重要性的认识不断提高。加密技术可使一些重要数据存储在不安全的计算机上,或在不安全的信道上传送,只有持有合法密钥的一方才可以获得明文。SM4算法是国内官方于2006年2月公布的第一个商用分组密码算法,是中国无线局域网安全标准推荐使用的分组算法。 
加密系统设计人员通常认为秘密信息是在一个封闭可信赖的计算环境中进行处理,因此都将注意力集中在协议和数学算法的安全性上。不幸的是,现实中的计算操作并不一定是在安全可靠的环境中,在实际使用中加密电路运行时会泄露一些旁路信息如电路消耗的能量、运行时间、电磁辐射等,利用这些泄露的信息来攻击加密电路的方法称为旁路攻击。与传统的攻击方法相比,旁路攻击方法效率高、可行性强,对信息安全产品构成了严重的安全威胁。 
能量攻击是旁路攻击中的一种方法,它的攻击原理是密码设备的能量消耗跟密码算法的中间值有一定的相关性,通过多次测量密码设备的能量消耗然后进行统计分析,进而获得密钥信息。对于SM4算法来说,能量攻击主要是对算法的第1轮、第2轮和第31轮、第32轮进行攻击。掩码技术是当前常用于抵抗能量攻击的方法之一,通过在明文或密钥上增加随机的掩码,加密算法的中间值是不可预知的,从而达到抵抗能量攻击的目的。图1所示是现有的针对SM4算法的掩码方法。 
现有技术虽然引入了掩码隐藏了加密算法的中间值,但每一轮的中间结果,尤其是前两轮和最后两轮的中间结果,都使用了相同的掩码值。如果攻击者对带有相同掩码值的两个中间结果进行异或,就可以消去随机掩码值的影响,那么该技术依然不能有效抵抗差分能量攻击。 
发明内容
本发明是为了克服现有技术中SM4算法利用普通掩码方法仍然会泄露密码信息的缺陷,根据本发明的一个方面,提出一种SM4算法抗能量攻击的掩码方法。 
根据本发明实施例的一种SM4算法抗能量攻击的掩码方法,包括:获取第一随机掩码,且第一随机掩码与第1轮密钥进行异或运算;在原第1轮S盒基础上、根据第一随机掩码确定第1轮修正S盒,第1轮修正S盒取代原第1轮S盒;根据第一随机掩码确定第一修正掩码,第一修正掩码与L线性移位的输出进行异或运算;第2至32轮的算法流程与第1轮算法流程相同,每轮引入相同或不同的随机掩码,且确定相应的修正S盒与修正掩码。 
优选的,第一随机掩码与在第2轮引入的第二随机掩码不相同,且第1轮修正S盒与第2轮修正S盒不相同,第一修正掩码与第2轮的第二修正掩码不相同。 
优选的,在第31轮引入的第三随机掩码与在第32轮引入的第四随机掩码不相同,且第31轮修正S盒与第32轮修正S盒不相同,第31轮的第三修正掩码与第32轮的第四修正掩码不相同。 
优选的,在第3轮至第30轮引入的随机掩码相同,且第3轮至第30轮的修正S盒相同、修正掩码相同。 
本发明的一种SM4算法抗能量攻击的掩码方法,通过每轮引入相同或不同的掩码,使易受攻击的轮运算中间结果所带的掩码值不同,从而轮运算的敏感信息不会泄露,能够有效抵抗能量攻击。 
本发明是为了克服现有技术中SM4算法利用普通掩码方法仍然会泄露密码信息的缺陷,根据本发明的另一个方面,提出一种SM4算法抗能量攻击的装置。 
根据本发明实施例的SM4算法抗能量攻击的装置,包括: 
随机掩码引入模块,用于获取第一随机掩码,且第一随机掩码与第1轮密钥进行异或运算; 
修正S盒生成模块,用于在原第1轮S盒基础上、根据第一随机掩码确定第1轮修正S盒,第1轮修正S盒取代原第1轮S盒; 
掩码修正模块,根据第一随机掩码确定第一修正掩码,第一修正掩码与L 线性移位的输出进行异或运算; 
随机掩码引入模块还用于在第2至32轮引入相同或不同的随机掩码;修正S盒生成模块还用于在第2至32轮确定相应的修正S盒;掩码修正模块还用于在第2至32轮确定相应的修正掩码。 
优选的,随机掩码引入模块引入的第一随机掩码与随机掩码引入模块在第2轮引入的第二随机掩码不相同,且修正S盒生成模块生成的第1轮修正S盒与修正S盒生成模块生成的第2轮修正S盒不相同,掩码修正模块确定的第一修正掩码与掩码修正模块确定的第2轮的第二修正掩码不相同。 
优选的,随机掩码引入模块在第31轮引入的第三随机掩码与随机掩码引入模块在第32轮引入的第四随机掩码不相同,且修正S盒生成模块生成的第31轮修正S盒与修正S盒生成模块生成的第32轮修正S盒不相同,掩码修正模块确定的第31轮的第三修正掩码与掩码修正模块确定的第32轮的第四修正掩码不相同。 
优选的,随机掩码引入模块在第3轮至第30轮引入的随机掩码相同,且修正S盒生成模块生成的第3轮至第30轮的修正S盒相同,掩码修正模块确定的第3轮至第30轮的修正掩码相同。 
本发明的一种SM4算法抗能量攻击的装置,通过每轮引入相同或不同的掩码,使易受攻击的轮运算中间结果所带的掩码值不同,从而轮运算的敏感信息不会泄露,能够有效抵抗能量攻击。 
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。 
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中: 
图1为现有技术中的引入掩码的SM4算法流程示意图; 
图2为本发明实施例中SM4算法抗能量攻击的掩码方法流程图; 
图3为本发明实施例中SM4算法抗能量攻击的算法流程示意图; 
图4为实施例一中SM4算法抗能量攻击的算法流程示意; 
图5为本发明实施例中SM4算法抗能量攻击的装置结构示意图。 
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。 
SM4算法是一种分组密码算法,其分组长度和密钥长度均为128bit。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 
根据本发明实施例,提供了一种SM4算法抗能量攻击的掩码方法,参见图2所示,本发明实施例中SM4算法抗能量攻击的掩码方法流程如下: 
步骤101:获取第一随机掩码,且第一随机掩码与第1轮密钥进行异或运算。 
该第一随机掩码是由随机数发生器产生的32bit的随机数,随机数发生器可以利用线性反馈移位寄存器产生伪随机数,也可以通过采集自然界中的物理模拟信号噪声,将模拟信号噪声转换为数字信号,进而获得真随机数。通过对第1轮子密钥与第一随机掩码进行异或运算,可以为第1轮子密钥引入掩码,从而在第1轮掩码子密钥之前的中间值不存在掩码,而第1轮掩码子密钥之后的中间值存在掩码,因此攻击者即使对上述两个中间值带进行异或,仍然不能消去掩码的影响。 
步骤102:在原第1轮S盒基础上、根据第一随机掩码确定第1轮修正S盒,且第1轮修正S盒取代原第1轮S盒。 
本发明实施例中,第1轮修正S盒取代原第1轮S盒,功能与原第1轮S盒相似,即以查表的方式将8bit的输入转换为8bit的输出。原SM4算法中第一轮存在四个并行的S盒,每个S盒都被替换掉,即利用四个并行的修正S盒取代原四个并行的S盒,因此仍然可以实现将32bit输入转换为32bit输出的功能。修正S盒置换和S盒置换都为非线性运算,第1轮修正S盒是在原S盒基础上、根据第一随机掩码确定而成的。 
步骤103:根据第一随机掩码确定第一修正掩码,该第一修正掩码与L 线性移位的输出进行异或运算。 
通过L线性移位的输出与修正掩码进行异或运算,取消掉第1轮修正S盒引入的第一随机掩码,在为第1轮修正S盒的输出和L线性移位的输出引入掩码的同时,还能保证第1轮输出结果的正确性。该第一修正掩码的具体计算方法与第1轮修正S盒有关。例如,设第一随机掩码为M1,第1轮修正S盒的输出带有掩码L(X1),其中L()为SM4算法中的L线性移位运算,则第一修正掩码为L[L(X1)]。 
步骤104:第2至32轮的算法流程与第1轮算法流程相同,每轮引入相同或不同的随机掩码,且确定相应的修正S盒与修正掩码。 
本发明实施例中,第2至32轮的算法流程与第1轮算法流程相同,其中引入的随机掩码也是32bit的随机数,第2轮引入的随机掩码与第1轮的第一随机掩码不同,第32轮引入的随机掩码与第一轮的第一随机掩码不同,其他轮引入的随机掩码与第1轮的第一随机掩码相同或者不同;当与第1轮的第一随机掩码相同时,直接引用第一随机掩码,当不相同时,则随机掩码由随机数发生器产生。第2至32轮每轮之间引入的随机掩码可以部分轮相同,也可以完全不同,从而每轮修正S盒不完全相同,即每轮修正S盒输出数据所带的掩码也不完全相同,从而攻击者即使对修正S盒的输出进行攻击,由于每轮修正S盒输出带有不相同的掩码,所以攻击者不能分析出密钥信息。 
本发明实施例提供的一种SM4算法抗能量攻击的掩码方法,每轮运算都采用了掩码方法,通过每轮引入相同或不同的随机掩码,且根据引入的随机掩码确定每轮的修正S盒与每轮的修正掩码,使修正S盒的输出带有掩码,同时保证每一轮输出结果的正确性。每轮引入的随机掩码不完全相同,使易受攻击的轮运算中间结果所带的掩码值不同,从而轮运算的敏感信息不会泄露,能够有效抵抗能量攻击。 
具体算法流程参见图3所示,首先接收128bit的明文X,明文X按照顺序被平均分为四组数据X0,X1,X2,X3,每组32bit;后三组数据X1,X2,X3与第1轮密钥和引入的第一随机掩码M1进行异或运算,运算结果输入到相应的修正S盒,然后对修正S盒的输出进行L线性移位,线性移位的结果与X0异或的同时,也与修正掩码M1’进行异或运算。之后第2-32轮与第1轮的算法流程相同。 
下面通过实施例一详细介绍SM4算法抗能量攻击的掩码方法流程。 
实施例一 
实施例一中,第1、2轮SM4运算中引入不同的随机掩码,相应的修正S盒与修正掩码也不相同;第3-30轮SM4运算中引入相同的随机掩码,相应的修正S盒与修正掩码也相同;第32、33轮SM4运算中引入不同的随机掩码,相应的修正S盒与修正掩码也不相同;随机数发生器随机产生五个随机掩码,分别为32bit的随机掩码M1、32bit的随机掩码M2、32bit的随机掩码M3、32bit的随机掩码M4和32bit的随机掩码M。输入的128bit明文X为:X=(X0,X1,X2,X3),具体算法流程如下。 
参见图4所示,第1轮引入32bit的随机掩码M1,根据随机掩码M1确定第1轮的修正S盒S1’盒以及修正掩码M1’。明文X1,X2,X3与第1轮密钥rk1异或时,引入随机掩码M1,异或结果作为四个并行S1’盒的输入,通过非线性置换获得32bit的输出,然后对该输出进行L线性移位运算。L线性移位运算与原SM4算法相同,即: 
L ( A ) = A &CirclePlus; ( A < < < 2 ) &CirclePlus; ( A < < < 10 ) &CirclePlus; ( A < < < 18 ) &CirclePlus; ( A < < < 24 )
其中,<<<i表示32bit循环左移i位。 
最后将L线性移位运算的结果与X0和修正掩码M1’进行异或运算,修正掩码M1’去除掉引入的随机掩码M1的影响,从而第1轮保证输出结果的正确性。 
对于第2轮SM4掩码算法:引入32bit的随机掩码M2,且根据随机掩码M2确定第2轮的修正S盒S2’盒以及修正掩码M2’。第2轮算法流程与第1轮相同。 
对于第3-30轮SM4掩码算法:第3-30轮中,每轮都为引入32bit的随机掩码M,且根据随机掩码M确定修正S盒以及修正掩码M’。第3-30轮每轮之间的算法流程完全相同,修正S盒与修正掩码也完全相同,该28轮的轮运算采用相同的修正S盒,大大减小了芯片设计面积,从而可以降低成本。 
对于第31轮和第32轮SM4掩码算法:第31轮和第32轮算法流程与第1轮相同,区别也在于引入的随机掩码以及修正S盒和修正掩码不同。第31轮引入32bit的随机掩码M3,且根据随机掩码M3确定第31轮的修 正S盒S31’盒以及修正掩码M31’;第32轮引入32bit的随机掩码M4,且根据随机掩码M4确定第32轮的修正S盒S32’盒以及修正掩码M32’。 
需要说明的是,实施例一中引入的5个不相同的随机掩码可以都由随机数发生器产生,也可以通过随机数发生器产生其中的几个随机掩码,其余的随机掩码通过对产生的随机掩码进行运算而获得。例如,真随机数发生器产生其中三个随机掩码M1、M2和M,其余两个M3和M4根据M1、M2和M计算得出:M4=L(M)。 
实施例一中,第1、2、31和32轮SM4运算中引入不同的随机掩码,相应的修正S盒与掩码修正值也不相同,从而使易受攻击的前两轮和最后两轮的轮运算中间结果所带的掩码不同,保证敏感信息不会泄露,从而可以有效地抵抗能量攻击。第3-30轮SM4运算中引入相同的随机掩码,相应的修正S盒与掩码修正值也相同,大大减小了芯片设计面积,从而可以降低成本。 
以上详细介绍了一种SM4算法抗能量攻击的方法,该方法也可以通过装置实现,下面详细介绍该装置的结构和功能。 
参见图5所示,根据本发明实施例,提供了一种SM4算法抗能量攻击的装置,包括:随机掩码引入模块201、修正S盒生成模块202和掩码修正模块203: 
随机掩码引入模块201,用于获取第一随机掩码,且第一随机掩码与第1轮密钥进行异或运算; 
修正S盒生成模块202,用于在原第1轮S盒基础上、根据第一随机掩码确定第1轮修正S盒,第1轮修正S盒取代原第1轮S盒; 
掩码修正模块203,根据第一随机掩码确定第一修正掩码,第一修正掩码与L线性移位的输出进行异或运算; 
随机掩码引入模块201还用于在第2至32轮引入相同或不同的随机掩码;修正S盒生成模块202还用于在第2至32轮确定相应的修正S盒;掩码修正模块203还用于在第2至32轮确定相应的修正掩码。 
优选的,随机掩码引入模块201引入的第一随机掩码与随机掩码引入模块201在第2轮引入的第二随机掩码不相同,且修正S盒生成模块202生成的第1轮修正S盒与修正S盒生成模块202生成的第2轮修正S盒不相同, 掩码修正模块203确定的第一修正掩码与掩码修正模块203确定的第2轮的第二修正掩码不相同。 
优选的,随机掩码引入模块201在第31轮引入的第三随机掩码与随机掩码引入模块201在第32轮引入的第四随机掩码不相同,且修正S盒生成模块202生成的第31轮修正S盒与修正S盒生成模块202生成的第32轮修正S盒不相同,掩码修正模块203确定的第31轮的第三修正掩码与掩码修正模块203确定的第32轮的第四修正掩码不相同。 
优选的,随机掩码引入模块201在第3轮至第30轮引入的随机掩码相同,且修正S盒生成模块202生成的第3轮至第30轮的修正S盒相同,掩码修正模块203确定的第3轮至第30轮的修正掩码相同。 
本发明实施例提供的一种SM4算法抗能量攻击的掩码方法及装置,每轮运算都采用了掩码方法,通过每轮引入相同或不同的掩码,且根据引入的掩码确定每轮的修正S盒与每轮的修正掩码,使修正S盒的输出带有掩码,同时保证每一轮输出结果的正确性。每轮引入的掩码不完全相同,使易受攻击的轮运算中间结果所带的掩码值不同,从而轮运算的敏感信息不会泄露,能够有效抵抗能量攻击。同时部分轮运算采用相同的修正S盒,大大减小了芯片设计面积,可以降低成本。 
本发明能有多种不同形式的具体实施方式,上面以图2-图5为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。 
最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (8)

1.一种SM4算法抗能量攻击的掩码方法,其特征在于,包括:
获取第一随机掩码,且所述第一随机掩码与第1轮密钥进行异或运算;
在原第1轮S盒基础上、根据所述第一随机掩码确定第1轮修正S盒,所述第1轮修正S盒取代所述原第1轮S盒;
根据所述第一随机掩码确定第一修正掩码,所述第一修正掩码与L线性移位的输出进行异或运算;
第2至32轮的算法流程与第1轮算法流程相同,每轮引入相同或不同的随机掩码,且确定相应的修正S盒与修正掩码。
2.根据权利要求1所述的方法,其特征在于,所述第一随机掩码与在第2轮引入的第二随机掩码不相同,且所述第1轮修正S盒与第2轮修正S盒不相同,所述第一修正掩码与第2轮的第二修正掩码不相同。
3.根据权利要求1或2所述的方法,其特征在于,在第31轮引入的第三随机掩码与在第32轮引入的第四随机掩码不相同,且第31轮修正S盒与第32轮修正S盒不相同,第31轮的第三修正掩码与第32轮的第四修正掩码不相同。
4.根据权利要求1所述的方法,其特征在于,在第3轮至第30轮引入的随机掩码相同,且第3轮至第30轮的修正S盒相同、修正掩码相同。
5.一种SM4算法抗能量攻击的装置,其特征在于,包括:
随机掩码引入模块,用于获取第一随机掩码,且所述第一随机掩码与第1轮密钥进行异或运算;
修正S盒生成模块,用于在原第1轮S盒基础上、根据所述第一随机掩码确定第1轮修正S盒,所述第1轮修正S盒取代所述原第1轮S盒;
掩码修正模块,根据所述第一随机掩码确定第一修正掩码,所述第一修正掩码与L线性移位的输出进行异或运算;
所述随机掩码引入模块还用于在第2至32轮引入相同或不同的随机掩码;所述修正S盒生成模块还用于在第2至32轮确定相应的修正S盒;所述掩码修正模块还用于在第2至32轮确定相应的修正掩码。
6.根据权利要求5所述的装置,其特征在于,所述随机掩码引入模块引入的所述第一随机掩码与所述随机掩码引入模块在第2轮引入的第二随机掩码不相同,且所述修正S盒生成模块生成的所述第1轮修正S盒与所述修正S盒生成模块生成的第2轮修正S盒不相同,所述掩码修正模块确定的所述第一修正掩码与所述掩码修正模块确定的第2轮的第二修正掩码不相同。
7.根据权利要求5或6所述的装置,其特征在于,所述随机掩码引入模块在第31轮引入的第三随机掩码与所述随机掩码引入模块在第32轮引入的第四随机掩码不相同,且所述修正S盒生成模块生成的第31轮修正S盒与所述修正S盒生成模块生成的第32轮修正S盒不相同,所述掩码修正模块确定的第31轮的第三修正掩码与所述掩码修正模块确定的第32轮的第四修正掩码不相同。
8.根据权利要求5所述的装置,其特征在于,所述随机掩码引入模块在第3轮至第30轮引入的随机掩码相同,且所述修正S盒生成模块生成的第3轮至第30轮的修正S盒相同,所述掩码修正模块确定的第3轮至第30轮的修正掩码相同。
CN201310552684.1A 2013-11-08 2013-11-08 一种sm4算法抗能量攻击的掩码方法及装置 Active CN104639502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310552684.1A CN104639502B (zh) 2013-11-08 2013-11-08 一种sm4算法抗能量攻击的掩码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310552684.1A CN104639502B (zh) 2013-11-08 2013-11-08 一种sm4算法抗能量攻击的掩码方法及装置

Publications (2)

Publication Number Publication Date
CN104639502A true CN104639502A (zh) 2015-05-20
CN104639502B CN104639502B (zh) 2017-12-05

Family

ID=53217826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310552684.1A Active CN104639502B (zh) 2013-11-08 2013-11-08 一种sm4算法抗能量攻击的掩码方法及装置

Country Status (1)

Country Link
CN (1) CN104639502B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027221A (zh) * 2015-09-29 2016-10-12 深圳华视微电子有限公司 抵抗高阶差分功耗分析攻击的数据处理系统
CN106254382A (zh) * 2016-09-13 2016-12-21 浙江宇视科技有限公司 媒体数据的处理方法及装置
CN106357380A (zh) * 2016-10-11 2017-01-25 中国信息安全测评中心 Sm4算法的掩码方法及装置
CN106788974A (zh) * 2016-12-22 2017-05-31 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN106936569A (zh) * 2017-05-18 2017-07-07 北京万协通信息技术有限公司 一种抗功耗攻击的sm4算法掩码s盒的实现方法
CN107231229A (zh) * 2017-05-31 2017-10-03 中国电力科学研究院 一种用于保护sm4密码芯片的低熵掩码泄露防护方法及其实现系统
CN107872317A (zh) * 2016-09-28 2018-04-03 北京同方微电子有限公司 一种用于aes密钥扩展的随机掩码方法及其装置
CN108964872A (zh) * 2018-07-23 2018-12-07 武汉大学 一种基于aes的加密方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197660A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击标准加密标准的加密方法及其加密芯片
CN102546157A (zh) * 2011-12-14 2012-07-04 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197660A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击标准加密标准的加密方法及其加密芯片
CN102546157A (zh) * 2011-12-14 2012-07-04 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
沈薇: "SMS4算法的能量分析攻击及其防御研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027221A (zh) * 2015-09-29 2016-10-12 深圳华视微电子有限公司 抵抗高阶差分功耗分析攻击的数据处理系统
CN106027221B (zh) * 2015-09-29 2019-04-19 深圳华视微电子有限公司 抵抗高阶差分功耗分析攻击的数据处理系统
CN106254382A (zh) * 2016-09-13 2016-12-21 浙江宇视科技有限公司 媒体数据的处理方法及装置
CN107872317A (zh) * 2016-09-28 2018-04-03 北京同方微电子有限公司 一种用于aes密钥扩展的随机掩码方法及其装置
CN106357380B (zh) * 2016-10-11 2019-10-25 中国信息安全测评中心 Sm4算法的掩码方法及装置
CN106357380A (zh) * 2016-10-11 2017-01-25 中国信息安全测评中心 Sm4算法的掩码方法及装置
CN106788974A (zh) * 2016-12-22 2017-05-31 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN106788974B (zh) * 2016-12-22 2020-04-28 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN106936569A (zh) * 2017-05-18 2017-07-07 北京万协通信息技术有限公司 一种抗功耗攻击的sm4算法掩码s盒的实现方法
CN107231229A (zh) * 2017-05-31 2017-10-03 中国电力科学研究院 一种用于保护sm4密码芯片的低熵掩码泄露防护方法及其实现系统
CN107231229B (zh) * 2017-05-31 2020-10-27 中国电力科学研究院 一种用于保护sm4密码芯片的低熵掩码泄露防护方法及其实现系统
CN108964872A (zh) * 2018-07-23 2018-12-07 武汉大学 一种基于aes的加密方法及装置
CN108964872B (zh) * 2018-07-23 2020-05-26 武汉大学 一种基于aes的加密方法及装置

Also Published As

Publication number Publication date
CN104639502B (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
CN104639502A (zh) 一种sm4算法抗能量攻击的掩码方法及装置
CN102546157B (zh) 一种抵抗能量分析的随机混合加密系统及其实现方法
CN107070630B (zh) 一种aes算法的快速安全硬件结构
CN104639312B (zh) 一种des算法抗能量攻击的方法及装置
CN106788974A (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN102752103B (zh) 一种抗des功耗攻击的增强型mask掩码方法
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN103647638A (zh) 一种抵抗侧信道攻击的des掩码方法
CN102388563A (zh) 特别防御由其加密造成的信息泄露观测攻击的加密电路
CN105406957B (zh) 保护密码设备对抗实现攻击
CN103404073B (zh) 针对无源监听的保护
CN105591734A (zh) 一种基于查表的白盒密码非线性编码保护方法
CN103795527A (zh) 防止基于功耗分析攻击aes算法的软件掩码防护方案
CN104618094A (zh) 一种增强抗攻击能力的密码Mask方法
Duan et al. Differential power analysis attack and efficient countermeasures on PRESENT
CN103647639A (zh) 一种对称密码算法抵抗侧信道分析的方法
CN104410490B (zh) 非线性挤压保护密码s盒的方法
CN104301095A (zh) Des轮运算方法和电路
CN105656622A (zh) 一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法
CN104639543A (zh) 基于射频识别标签id的传感器采集数据合法性检验方法
CN105703896A (zh) 一种检测has-160算法抵御差分故障攻击的方法
CN107070633B (zh) 一种抗高阶功耗分析的aes掩码加密方法
CN108449169A (zh) 一种用于无线传感器网路的混沌分组加密方法
CN103873229B (zh) KLEIN加密AVR环境下抗timing和cache边信道攻击的快速保护方法
CN108650072A (zh) 一种支持多种对称密码算法芯片及其抗攻击电路实现方法

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