CN106936822B - 针对sms4抗高阶旁路分析的掩码实现方法及系统 - Google Patents
针对sms4抗高阶旁路分析的掩码实现方法及系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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
-
- 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
Abstract
Description
技术领域
本发明涉及的是一种计算机安全领域的技术,具体是一种基于改进掩码的SMS4高阶旁路攻击防御方法。
背景技术
在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(SideChannel Attack)”。旁路攻击通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥,其分析功能也相对更加有效。
高阶旁路分析是指同时利用多个旁路泄漏信息来进行旁路分析的一种方法。其主要特点是可以分析很多带有防护的密码实现。典型的方法是二阶差分功耗分析。高阶旁路分析主要的限制是当前计算机设备有限的计算和存贮资源,因为理论上高阶旁路分析的复杂对是和其阶数的增加呈指数倍儿增加。当前常用的阶数为2阶分析。
旁路攻击方法的出现对很多现在的芯片构成了具大的威胁,因此,相应的出现了很多种旁路攻击的防护方法。比较常用的防护技术有隐藏技术和掩码技术。隐藏策略的目标是消除密码设备的功耗与设备所执行的操作和所处理的中间值之间的相关性。而掩码技术是通过随机化消息和密钥,使得无法建立密钥与功耗的关系。在隐藏技术中,其中有时间维度上的隐藏,这包括随机插入伪操作和乱序操作两种隐藏方法。随机插入伪操作是在密码算法执行前后以及执行中随机插入一些假的操作。这种方法可以破坏真实操作的对齐,使得在受到旁路攻击中攻击效果大大降低。乱序操作是在某些密码算法中,特定操作的执行顺序可以任意改变,因而可以通过改变这些操作的执行顺序来引入随机性。
掩码技术由于其理论安全可证明和实际防护效果好,是目前最常用的防护方案,掩码方案的阶数是指其随机化过程的阶数,其算法和复杂度和阶数成倍数增长。然而随着高阶旁路旁路攻击技术的日益发展,二阶掩码方案目前在一些情况下在已经无法满足高安全性的要求,业界也亟需更高安全俺妈方案。一个典型的提高掩码实现的安全性方法是增加它的阶数。然而,增加阶数会明显的降低掩码实现的效率,在很多情况下是不可取的。
SM4为基于国家标准GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)的加密算法,该算法为对称算法,密钥长度和分组长度均为128位,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于改进掩码的SMS4高阶旁路攻击防御方法,通过随机化各个中间值,可以抵抗现有的二阶DPA分析,实现效率高于三阶布尔全掩码。
本发明是通过以下技术方案实现的:
本发明涉及一种基于改进掩码的SMS4高阶旁路攻击防御方法,包括以下步骤:
0)直接根据主密钥与计算出各个轮密钥;
3)设计带掩码的SMS4操作,包括:线性操作和非线性操作,其中:线性操作由密钥间异或、密钥与明文异或以及纺射操作组成,非线性操作为S盒操作。
4)把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御。
所述的纺射操作是指:一个中间值为计算z1和z2满足其中:L()为任意一个纺射操作,则计算:z1=L(x1),z2=L'(x2),其中L'()为预计算的查找表,使得L'(x)=L(a·x),由于a为预定义的一个2到255的数。
附图说明
图1为SMS4结构示意图。
具体实施方式
本实施例涉及一种针对SMS4基于全掩码的防高阶旁路分析的防护方法。本实施方案以如下方式随机化各个中间值:其中x是秘密中间值(或者密钥)。本实施分别以这种方法直接存储各个轮密钥,从而不需要密钥扩展模块。本实施不对明文进行随机化。
根据以上中间值编码,对SMS4的各个操作进行改造,改造后的方案即为带掩码的SMS4算法。
本实例主要是在通用处理器上的实现,处理器型号为Atmega 2560,采用C语言实现,编译器是gcc,其中a=126,预更新的查找表大小为256Byte。
本实例伪代码如下:
以上代码时间复杂度是无掩码实现的2倍。
其中生成带掩码的S盒的函数GenMaskedSBOX()伪代码如下:
以上代码计算了S盒内查找表内的256个值。
生成各个带掩码的位移操作GenShifts()伪代码如下:
以上代码计算了位移操作查找表内的256个值。
与无掩码情况下的实现相比,本方法主要时间消耗在于算法2和算法3,整体所需时间复杂度大概是无掩码情况下的4倍。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (1)
1.一种基于改进掩码的SMS4高阶旁路攻击防御方法,其特征在于,包括以下步骤:
0)直接根据主密钥与计算出各个轮密钥;
3)设计带掩码的SMS4操作,包括:线性操作和非线性操作,其中:线性操作由密钥间异或、密钥与明文异或以及纺射操作组成,非线性操作为S盒操作;
4)把以上的各个操作按照SMS4的顺序进行组合,从而实现SMS4高阶旁路攻击的防御;
所述的纺射操作是指:一个中间值为计算中间参数z1和z2满足其中:L()为任意一个纺射操作,则计算:z1=L(x1),z2=L'(x2),其中L'()为预计算的查找表,使得L'(x)=L(a·x),由于a为预定义的一个2到255的数,故所述的预计算的查找表大小为256Byte;
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)
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)
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算法的掩码方法及装置 |
-
2017
- 2017-03-08 CN CN201710135184.6A patent/CN106936822B/zh active Active
Patent Citations (4)
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)
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. |