CN106936822B - 针对sms4抗高阶旁路分析的掩码实现方法及系统 - Google Patents

针对sms4抗高阶旁路分析的掩码实现方法及系统 Download PDF

Info

Publication number
CN106936822B
CN106936822B CN201710135184.6A CN201710135184A CN106936822B CN 106936822 B CN106936822 B CN 106936822B CN 201710135184 A CN201710135184 A CN 201710135184A CN 106936822 B CN106936822 B CN 106936822B
Authority
CN
China
Prior art keywords
key
sms4
order
round key
radical
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.)
Active
Application number
CN201710135184.6A
Other languages
English (en)
Other versions
CN106936822A (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.)
Zhixun password (Shanghai) Testing Technology Co., Ltd
Original Assignee
Shanghai Guanyuan Information 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 Shanghai Guanyuan Information Technology Co Ltd filed Critical Shanghai Guanyuan Information Technology Co Ltd
Priority to CN201710135184.6A priority Critical patent/CN106936822B/zh
Publication of CN106936822A publication Critical patent/CN106936822A/zh
Application granted granted Critical
Publication of CN106936822B publication Critical patent/CN106936822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Abstract

一种基于改进掩码的SMS4高阶旁路攻击防御方法,首先直接根据主密钥与计算出各个轮密钥;重新编码各个轮密钥k,轮密钥编码为k1,k2,则轮密钥满足
Figure DDA0001241133960000011
然后重新编码各个和密钥相关的中间值x,轮密钥编码为x1,x2,则中间值满足
Figure DDA0001241133960000012
再设计带掩码的SMS4操作,包括:线性操作和非线性操作,最后把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御。本发明通过随机化各个中间值,可以抵抗现有的二阶DPA分析,实现效率高于三阶布尔全掩码。

Description

针对SMS4抗高阶旁路分析的掩码实现方法及系统
技术领域
本发明涉及的是一种计算机安全领域的技术,具体是一种基于改进掩码的SMS4高阶旁路攻击防御方法。
背景技术
在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(SideChannel Attack)”。旁路攻击通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥,其分析功能也相对更加有效。
高阶旁路分析是指同时利用多个旁路泄漏信息来进行旁路分析的一种方法。其主要特点是可以分析很多带有防护的密码实现。典型的方法是二阶差分功耗分析。高阶旁路分析主要的限制是当前计算机设备有限的计算和存贮资源,因为理论上高阶旁路分析的复杂对是和其阶数的增加呈指数倍儿增加。当前常用的阶数为2阶分析。
旁路攻击方法的出现对很多现在的芯片构成了具大的威胁,因此,相应的出现了很多种旁路攻击的防护方法。比较常用的防护技术有隐藏技术和掩码技术。隐藏策略的目标是消除密码设备的功耗与设备所执行的操作和所处理的中间值之间的相关性。而掩码技术是通过随机化消息和密钥,使得无法建立密钥与功耗的关系。在隐藏技术中,其中有时间维度上的隐藏,这包括随机插入伪操作和乱序操作两种隐藏方法。随机插入伪操作是在密码算法执行前后以及执行中随机插入一些假的操作。这种方法可以破坏真实操作的对齐,使得在受到旁路攻击中攻击效果大大降低。乱序操作是在某些密码算法中,特定操作的执行顺序可以任意改变,因而可以通过改变这些操作的执行顺序来引入随机性。
掩码技术由于其理论安全可证明和实际防护效果好,是目前最常用的防护方案,掩码方案的阶数是指其随机化过程的阶数,其算法和复杂度和阶数成倍数增长。然而随着高阶旁路旁路攻击技术的日益发展,二阶掩码方案目前在一些情况下在已经无法满足高安全性的要求,业界也亟需更高安全俺妈方案。一个典型的提高掩码实现的安全性方法是增加它的阶数。然而,增加阶数会明显的降低掩码实现的效率,在很多情况下是不可取的。
SM4为基于国家标准GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)的加密算法,该算法为对称算法,密钥长度和分组长度均为128位,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于改进掩码的SMS4高阶旁路攻击防御方法,通过随机化各个中间值,可以抵抗现有的二阶DPA分析,实现效率高于三阶布尔全掩码。
本发明是通过以下技术方案实现的:
本发明涉及一种基于改进掩码的SMS4高阶旁路攻击防御方法,包括以下步骤:
0)直接根据主密钥与计算出各个轮密钥;
1)重新编码各个轮密钥k,轮密钥编码为k1,k2,则轮密钥满足
Figure BDA0001241133940000021
其中:k1和k2是对应均匀分布的随机数,a为预定义的一个2到255的数,·代表有限域乘法,
Figure BDA0001241133940000022
代表逐比特异或;
2)重新编码各个和密钥相关的中间值x,轮密钥编码为x1,x2,则中间值满足
Figure BDA0001241133940000023
其中:x1和x2是对应均匀分布的随机数,a为预定义的一个2到255的数;
3)设计带掩码的SMS4操作,包括:线性操作和非线性操作,其中:线性操作由密钥间异或、密钥与明文异或以及纺射操作组成,非线性操作为S盒操作。
4)把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御。
所述的密钥间异或是指:两个中间值,即密钥分别为
Figure BDA0001241133940000024
Figure BDA0001241133940000025
计算z1和z2满足
Figure BDA0001241133940000026
则计算:z1=x1+y1,z2=x2+y2
所述的密钥与明文异或是指:一个中间值为
Figure BDA0001241133940000027
计算z1和z2满足
Figure BDA0001241133940000028
则计算:z1=x1+p,z2=x2,其中p为明文。
所述的纺射操作是指:一个中间值为
Figure BDA0001241133940000029
计算z1和z2满足
Figure BDA00012411339400000210
其中:L()为任意一个纺射操作,则计算:z1=L(x1),z2=L'(x2),其中L'()为预计算的查找表,使得L'(x)=L(a·x),由于a为预定义的一个2到255的数。
所述的S盒操作是指:一个中间值为
Figure BDA00012411339400000211
计算z1和z2满足
Figure BDA00012411339400000213
其中:S()为S盒,则计算:z1=x1,z2=Sx1(x2),Sx1()是每次执行S盒操作前预更新的查找表,对于任意t的满足
Figure BDA00012411339400000212
附图说明
图1为SMS4结构示意图。
具体实施方式
本实施例涉及一种针对SMS4基于全掩码的防高阶旁路分析的防护方法。本实施方案以如下方式随机化各个中间值:
Figure BDA0001241133940000031
其中x是秘密中间值(或者密钥)。本实施分别以这种方法直接存储各个轮密钥,从而不需要密钥扩展模块。本实施不对明文进行随机化。
根据以上中间值编码,对SMS4的各个操作进行改造,改造后的方案即为带掩码的SMS4算法。
本实例主要是在通用处理器上的实现,处理器型号为Atmega 2560,采用C语言实现,编译器是gcc,其中a=126,预更新的查找表大小为256Byte。
本实例伪代码如下:
Figure BDA0001241133940000041
以上代码时间复杂度是无掩码实现的2倍。
其中生成带掩码的S盒的函数GenMaskedSBOX()伪代码如下:
Figure BDA0001241133940000042
以上代码计算了S盒内查找表内的256个值。
生成各个带掩码的位移操作GenShifts()伪代码如下:
Figure BDA0001241133940000051
以上代码计算了位移操作查找表内的256个值。
与无掩码情况下的实现相比,本方法主要时间消耗在于算法2和算法3,整体所需时间复杂度大概是无掩码情况下的4倍。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (1)

1.一种基于改进掩码的SMS4高阶旁路攻击防御方法,其特征在于,包括以下步骤:
0)直接根据主密钥与计算出各个轮密钥;
1)重新编码各个轮密钥k,轮密钥编码为k1,k2,则轮密钥满足
Figure FDA0002225026930000011
其中:k1和k2是对应均匀分布的随机数,a为预定义的一个2到255的数,·代表有限域乘法,
Figure FDA0002225026930000012
代表逐比特异或;
2)重新编码各个和密钥相关的中间值x,轮密钥编码为x1,x2,则中间值满足
Figure FDA0002225026930000013
其中:x1和x2是对应均匀分布的随机数,a为预定义的一个2到255的数;
3)设计带掩码的SMS4操作,包括:线性操作和非线性操作,其中:线性操作由密钥间异或、密钥与明文异或以及纺射操作组成,非线性操作为S盒操作;
4)把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御;
所述的密钥间异或是指:两个中间值,即密钥分别为
Figure FDA0002225026930000014
Figure FDA0002225026930000015
计算中间参数z1和z2满足
Figure FDA0002225026930000016
则计算:z1=x1+y1,z2=x2+y2
所述的密钥与明文异或是指:一个中间值为
Figure FDA0002225026930000017
计算中间参数z1和z2满足
Figure FDA0002225026930000018
则计算:z1=x1+p,z2=x2,其中p为明文;
所述的纺射操作是指:一个中间值为
Figure FDA0002225026930000019
计算中间参数z1和z2满足
Figure FDA00022250269300000110
其中:L()为任意一个纺射操作,则计算:z1=L(x1),z2=L'(x2),其中L'()为预计算的查找表,使得L'(x)=L(a·x),由于a为预定义的一个2到255的数,故所述的预计算的查找表大小为256Byte;
所述的S盒操作是指:一个中间值为
Figure FDA00022250269300000111
计算中间参数z1和z2满足
Figure FDA00022250269300000112
其中:S()为S盒,则计算:z1=x1,z2=Sx1(x2),Sx1()是每次执行S盒操作前预更新的查找表,对于任意t的满足
Figure FDA00022250269300000113
该预更新的查找表大小为256Byte。
CN201710135184.6A 2017-03-08 2017-03-08 针对sms4抗高阶旁路分析的掩码实现方法及系统 Active CN106936822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710135184.6A CN106936822B (zh) 2017-03-08 2017-03-08 针对sms4抗高阶旁路分析的掩码实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710135184.6A CN106936822B (zh) 2017-03-08 2017-03-08 针对sms4抗高阶旁路分析的掩码实现方法及系统

Publications (2)

Publication Number Publication Date
CN106936822A CN106936822A (zh) 2017-07-07
CN106936822B true CN106936822B (zh) 2020-03-17

Family

ID=59433093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710135184.6A Active CN106936822B (zh) 2017-03-08 2017-03-08 针对sms4抗高阶旁路分析的掩码实现方法及系统

Country Status (1)

Country Link
CN (1) CN106936822B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294700B (zh) * 2017-08-22 2019-11-08 兆讯恒达微电子技术(北京)有限公司 防御旁路攻击的与逻辑电路装置及处理方法
CN109067517B (zh) * 2018-06-22 2021-07-09 成都卫士通信息产业股份有限公司 加密、解密装置、加密、解密方法和隐藏密钥的通信方法
CN112187444A (zh) * 2020-09-02 2021-01-05 中国科学院软件研究所 一种抗侧信道和故障攻击的综合防护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571331A (zh) * 2012-02-07 2012-07-11 中国科学院软件研究所 一种用于防御能量分析攻击的密码算法实现保护方法
CN103647637A (zh) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN105553638A (zh) * 2015-12-07 2016-05-04 成都芯安尤里卡信息科技有限公司 针对sm4一阶掩码算法的二阶频域能量分析攻击
CN105897400A (zh) * 2016-06-20 2016-08-24 北京华大信安科技有限公司 一种sm4算法的掩码方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571331A (zh) * 2012-02-07 2012-07-11 中国科学院软件研究所 一种用于防御能量分析攻击的密码算法实现保护方法
CN103647637A (zh) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN105553638A (zh) * 2015-12-07 2016-05-04 成都芯安尤里卡信息科技有限公司 针对sm4一阶掩码算法的二阶频域能量分析攻击
CN105897400A (zh) * 2016-06-20 2016-08-24 北京华大信安科技有限公司 一种sm4算法的掩码方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Research and Implementation of DPA-resistant SMS4 Block Cipher》;Xiaoyi Duan etal;《2011 Seventh International Conference on Computational Intelligence and Security》;20111231;全文 *
《一种低功耗抗差分功耗分析攻击的SM4算法实现》;牛砚波;《微电子学与计算机》;20141231;全文 *

Also Published As

Publication number Publication date
CN106936822A (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
US10439797B2 (en) Methods and devices against a side-channel analysis
US8325928B2 (en) Security countermeasure for power analysis attacks
Rivain et al. Higher-order masking and shuffling for software implementations of block ciphers
CA2750358C (en) Cryptography circuit particularly protected against information-leak observation attacks by the ciphering thereof
CN113940028B (zh) 实现白盒密码的方法和装置
Rehman et al. Dynamic substitution and confusion-diffusion-based noise-resistive image encryption using multiple chaotic maps
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
JP2013029835A (ja) サイドチャネル攻撃に対抗する方法
CN104618094B (zh) 一种增强抗攻击能力的密码Mask方法
KR20200022018A (ko) Sbox를 이용하는 암호화 프로세스를 고차 부채널 공격으로부터 보호하기 위한 방법
CN103795527A (zh) 防止基于功耗分析攻击aes算法的软件掩码防护方案
CN104301095A (zh) Des轮运算方法和电路
KR100737171B1 (ko) 아리아에 대한 전력분석공격에 대응하는 저메모리형 마스킹방법
CN106936822B (zh) 针对sms4抗高阶旁路分析的掩码实现方法及系统
KR100834096B1 (ko) 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법
Huang et al. Low area-overhead low-entropy masking scheme (LEMS) against correlation power analysis attack
US8958556B2 (en) Method of secure cryptographic calculation, in particular, against attacks of the DFA and unidirectional type, and corresponding component
KR20100079060A (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
Wei et al. Image encryption based on chaotic map and reversible integer wavelet transform
CN106788978B (zh) 变元分解限门掩码方法
CN107294700A (zh) 防御旁路攻击的与逻辑电路装置及处理方法
Liu et al. Improving tag generation for memory data authentication in embedded processor systems
Ghellar et al. A novel AES cryptographic core highly resistant to differential power analysis attacks
CN111602367B (zh) 用于保护在使白盒密码算法安全的对策中使用的熵源的方法
Ge et al. Efficient Hyperchaotic Image Encryption Algorithm Based on a Fast Key Generation Method and Simultaneous Permutation-Diffusion Structure

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200429

Address after: 201601 floor 3 and 4, building 18, No.51 ZHAOFEI Road, Sijing Town, Songjiang District, Shanghai

Patentee after: Zhixun password (Shanghai) Testing Technology Co., Ltd

Address before: 200241, building 4, building 555, Dongchuan Road, Shanghai, Minhang District, 303B

Patentee before: SHANGHAI GUANYUAN INFORMATION TECHNOLOGY Co.,Ltd.