CN111030820A - 一种基于掩码sm4算法的选择明文相关碰撞攻击方法 - Google Patents
一种基于掩码sm4算法的选择明文相关碰撞攻击方法 Download PDFInfo
- Publication number
- CN111030820A CN111030820A CN201911300319.5A CN201911300319A CN111030820A CN 111030820 A CN111030820 A CN 111030820A CN 201911300319 A CN201911300319 A CN 201911300319A CN 111030820 A CN111030820 A CN 111030820A
- Authority
- CN
- China
- Prior art keywords
- collision
- byte
- equal
- round
- algorithm
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 238000005070 sampling Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 6
- 238000005259 measurement Methods 0.000 abstract description 3
- 230000009466 transformation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及侧信道攻击领域,公开了一种基于掩码SM4密码算法的选择明文相关碰撞攻击方法,包括测量阶段和碰撞检测阶段,在测量阶段,攻击者通过选择输入明文,对密码设备进行加密操作,记录并采集相应的能量迹,供碰撞检测阶段使用;在碰撞检测阶段,攻击者根据采集的能量迹,并基于产生碰撞两个字节对应的能量迹进行相关性计算,从而确定产生碰撞字节的输入差分;再求得4个字节间的输入差分后便可以求得4个轮密钥,即求得第一轮的轮密钥信息;随后重复上述攻击方法,依次求得第二、第三和第四轮的轮密钥,最后通过密钥扩展算法反推出原始的128比特密钥。本方法降低了产生碰撞所需要的加密次数,并实现了对掩码SM4的算法攻击。
Description
技术领域
本发明涉及侧信道攻击领域,尤其涉及一种基于掩码SM4密码算法的选择明文相关碰撞攻击方法。
背景技术
(1)基于SM4密码算法的掩码方案
SM4密码算法是我国政府采用的一种分组密码标准。该算法是一个分组算法,分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
SM4算法加密过程如附图1所示。设明文输入为X0,X1,X2,X3,轮密钥为i=0,1,2,3…31,轮函数F为:(轮变换T:是一个可逆的变换,由非线性变换τ和线性变换L复合而成,可表示为T(.)=L(τ(.))。非线性变换τ:τ由4个并行的S盒构成,S盒为8比特输入8比特输出的置换,记为Sbox(.)。设输入为A,输出为B, 线性变换L:非线性变换τ的输出是线性变换L的输入,设L变换输入为B,L变换的输出为C,
为防止侧信道攻击,SM4密码算法在使用中需要加入掩码防护措施,以提高密码算法实现的安全性。
根据SM4密码算法自身的特点,对其进行了以下掩码设计,如附图2:
一、对输入轮密钥引入随机掩码R;
二、引入随机掩码M,实现掩码S盒。
(2)SM4密钥扩展算法
SM4加解密算法的轮密钥由原始密钥通过密钥扩展算法生成,设原始128比特加密密钥MK=(MK0,MK1,MK2,MK3),i=0,1,2,3;令i=0,1,2,3…35,设轮密钥为i=0,1,2,3…31,则轮密钥的生成方法如下:
对于i=0,1,2..31,有:
其中T‘变换与加密算法轮函数中的T基本相同,只是将其中的线性变为L’,
系统参数FK=(FK0,FK1,FK2,FK3)的取值,采用十六进制表示为:
FK0=(A3B1BAC6),FK1=(56AA3350),
FK2=(677D9197),FK3=(B27022DC)
32个固定参数CKi的取值方法为:
设cki,j为CKi的第j个字节(i=0,1,2,3…31;j=0,1,2,3),即CKi=(cki,0,cki,1,cki,2,cki,3),则cki,j=(4i+j)×7mod256。
(3)相关能量攻击技术
由于密码设备运行时产生的能量消耗依赖于密码算法所处理的数据,相关能量攻击技术通过采集密码设备对大量不同数据分组进行加密或者解密操作时产生的能量迹,并基于能量迹恢复出密码设备中的密钥。相关能量攻击需要建立能量模型,能量模型的准确性决定了攻击的效果。随着相关能量攻击技术的发展,如今密码算法在实现中都会加入各种掩码防护措施,使相关能量攻击的有效性大大降低。
(4)碰撞攻击技术
如果密码算法某个内部函数的两个不同输入产生相同输出,则称产生了内部碰撞现象。对于不同的输入,并不是所有的密钥值都可以导致碰撞,只有某些特定的密钥子集才会导致碰撞。因此,每发生一次碰撞都会减小密钥搜索空间。碰撞攻击利用这一原理,寻找密码算法特定位置的碰撞,通过碰撞产生的关系式推导出密钥信息。碰撞攻击只是对于无防护的密码算法实现有效,当密码算法加入了掩码防护措施后,碰撞攻击就难以奏效。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,本发明针对加掩码防护的密码算法,将相关能量攻击和碰撞攻击结合,并且基于SM4算法结构,创新的提出一种基于SM4密码算法的选择明文相关碰撞攻击方法。
本发明采用的技术方案如下:一种基于SM4密码算法的选择明文相关碰撞攻击方法,包括以下步骤:
S1:攻击者通过选择输入SM4密码算法的明文,对要攻击的密码设备进行加密操作,记录并采集相应的能量迹;
S2:攻击者根据采集的能量迹,并基于S盒中产生碰撞的两个字节对应的能量迹进行相关性计算,从而确定产生碰撞字节的输入差分;
所述S盒中的碰撞字节包括:第一字节、第二字节、第三字节以及第四字节;所述第一字节分别与第二、第三以及第四字节碰撞;
S3:根据S盒中产生碰撞字节的输入差分,确定S盒中字节的轮密钥信息,从而获取第一轮的轮密钥;
S4:重复步骤S1、S2、S3,依次获取第二、三、四轮的轮密钥;
S5:根据前4轮的轮密钥和密钥扩展算法,反推出原始的工作密钥。
进一步的,所述步骤1的具体步骤为:
设SM4密码算法输入明文为其中(i=0,1,2,3);第一轮的轮密钥为选择输入明文,固定xi0=0,并令xi1=xi2=xi3,其取值依次从0遍历至255,每一次取值进行N次加密操作,记录并采集相应的N条能量迹,每条能量迹包含T个采样点,记为其中0≤n≤N-1,0≤α≤255,0≤t≤T-1。
进一步的,
所述第一字节与第二字节产生碰撞的输入差分为:
所述第一字节与第三字节产生碰撞的输入差分为:
所述第一字节与第四字节产生碰撞的输入差分为:
其中xi表示字节,i=0,1,2,3;ki表示轮密钥,i=0,1,2,3。
如果输入随机明文,字节x0分别与字节x1、x2、x3发生碰撞所需加密次数为28·3·N,而采用本发明的中输入选择明文的方法,仅需加密次数为28·N,降低至原来所需加密次数的1/3。
进一步的,所述步骤4中,计算原始128比特工作密钥的过程具体为:
CKi表示固定参数,其取值方法为:设cki,j为CKi的第j个字节(i=0,1,2,3…31;j=0,1,2,3),即CKi=(cki,0,cki,1,cki,2,cki,3),则:cki,j=(4i+j)×7mod256。
与现有技术相比,采用上述技术方案的有益效果为:
(1)基于掩码SM4密码算法选择明文输入降低了产生碰撞所需要的加密次数。
采用选择明文输入的方法,固定SM4算法输入明文字内的首字节,并令其他三个字节相等,依次从0遍历至255。第一轮4个S盒输入字节产生碰撞所需的加密最少次数降低至28·N次。
(2)相关碰撞攻击实现了对掩码SM4算法攻击。
通过对两个S盒运算输入字节间进行碰撞可以有效的去除S盒运算输入掩码,使得能够对掩码SM4算法实现有效攻击。
附图说明
图1是SM4密码算法加密流程示意图;
图2是SM4密码算法掩码加密流程示意图;
图3是本发明的流程示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
如图3所示,一种基于掩码SM4密码算法的选择明文相关碰撞攻击方法,包括以下内容。
1、测量阶段
在测量阶段,攻击者通过选择输入SM4密码算法的明文,对要进行攻击密码设备进行加密操作,记录并采集相应的能量迹,供碰撞检测阶段使用。
设SM4密码算法输入明文为其中(i=0,1,2,3);第一轮的轮密钥为选择输入明文,固定xi0=0,并令xi1=xi2=xi3,其取值依次从0遍历至255,每一次取值进行N次加密操作,记录并采集相应的N条能量迹,每条能量迹包含T个采样点,记为其中0≤n≤N-1,0≤α≤255,0≤t≤T-1。
如果输入随机明文,字节x0分别与字节x1、x2、x3发生碰撞所需加密次数为28·3·N,而采用本发明的中输入选择明文的方法,仅需加密次数为28·N,降低至原来所需加密次数的1/3。
假设上述两个S盒运算输出发生碰撞,由于S盒运算的映射关系,两个S盒输入相等,即其中m表示输入字节的掩码。为了方便,简记则有进而有因此,通过碰撞可以消除S盒输入字节的掩码m。定义第一轮的第一字节x0和第二字节x1的S盒输入差分Δ0,1如下:
上述碰撞显示了第一轮两个轮密钥字节的线性关系,仅仅依赖于已知的输入差分Δ0,1。
按照上述方法,通过寻找第一轮中的第一字节x0与第三字节x2、第四字节x3的S盒输入碰撞,可以得到第一轮的轮密钥字节x0和字节x2、x3的输入差分以及它们之间的线性关系:
由此得到了SM4算法第一轮全部4个轮密钥的相互关系。
2、碰撞检测阶段
在碰撞检测阶段,攻击者根据采集的能量迹,并基于产生碰撞两个字节对应的能量迹进行相关性计算,从而确定产生碰撞的输入差分Δ0,1。
3、根据S盒中第一字节x0和第二字节x1输入差分以及第一字节x0与第三字节x2、第四字节x3的输入差分之间的线性关系,确定S盒中字节的轮密钥信息,从而获取第一轮的轮密钥rk0。
4、在获取了第一轮4个字节轮密钥信息rk0后,按照相同的攻击方法依次获取第二、三、四轮的轮密钥rk1,rk2和rk3。
5、最后由前4轮的轮密钥和密钥扩展算法反推出原始的128比特工作密钥。具体如下:
CKi表示固定参数,其取值方法为:设cki,j为CKi的第j个字节(i=0,1,2,3…31;j=0,1,2,3),即CKi=(cki,0,cki,1,cki,2,cki,3),则:cki,j=(4i+j)×7mod256。
相关碰撞攻击与相关能量攻击的不同之处在于:相关碰撞攻击将能量迹与能量模型进行相关性计算,而能量模型不能真实的反应实际的能量消耗,相关碰撞攻击将一个S盒运算对应的能量迹与另一个S盒运算的能量迹进行相关性计算。
相关碰撞攻击与碰撞攻击的不同之处在于:相关碰撞攻击应用所有的能量迹计算相关性以恢复密钥关系。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。
Claims (5)
1.一种基于掩码SM4密码算法的选择明文相关碰撞攻击方法,其特征在于,包括:
S1:攻击者通过选择输入SM4密码算法的明文,对要攻击的密码设备进行加密操作,记录并采集相应的能量迹;
S2:攻击者根据采集的能量迹,并基于S盒中产生碰撞的两个字节对应的能量迹进行相关性计算,从而确定产生碰撞字节的输入差分;
所述S盒中的碰撞字节包括:第一字节、第二字节、第三字节以及第四字节;所述第一字节分别与第二、第三以及第四字节碰撞;
S3:根据S盒中产生碰撞字节的输入差分,确定S盒中字节的轮密钥信息,从而获取第一轮的轮密钥;
S4:返回步骤S2,依次获取第二、三、四轮的轮密钥;
S5:根据前4轮的轮密钥和密钥扩展算法,反推出原始的工作密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300319.5A CN111030820B (zh) | 2019-12-17 | 2019-12-17 | 一种基于掩码sm4算法的选择明文相关碰撞攻击方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300319.5A CN111030820B (zh) | 2019-12-17 | 2019-12-17 | 一种基于掩码sm4算法的选择明文相关碰撞攻击方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111030820A true CN111030820A (zh) | 2020-04-17 |
CN111030820B CN111030820B (zh) | 2023-12-19 |
Family
ID=70209926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911300319.5A Active CN111030820B (zh) | 2019-12-17 | 2019-12-17 | 一种基于掩码sm4算法的选择明文相关碰撞攻击方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111030820B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054887A (zh) * | 2020-08-31 | 2020-12-08 | 深圳技术大学 | 一种功耗碰撞攻击方法及装置 |
CN112883395A (zh) * | 2021-02-25 | 2021-06-01 | 山东华翼微电子技术股份有限公司 | 一种增强抗攻击能力的高性能gfn掩码方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647637A (zh) * | 2013-11-19 | 2014-03-19 | 国家密码管理局商用密码检测中心 | 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法 |
CN103825722A (zh) * | 2013-11-19 | 2014-05-28 | 国家密码管理局商用密码检测中心 | 一种sm4密码算法的二阶侧信道能量分析方法 |
CN104202145A (zh) * | 2014-09-04 | 2014-12-10 | 成都信息工程学院 | 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法 |
CN104753665A (zh) * | 2015-03-19 | 2015-07-01 | 成都信息工程学院 | 一种针对sm4密码轮函数输出的侧信道能量攻击方法 |
CN105553638A (zh) * | 2015-12-07 | 2016-05-04 | 成都芯安尤里卡信息科技有限公司 | 针对sm4一阶掩码算法的二阶频域能量分析攻击 |
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN107070629A (zh) * | 2016-11-14 | 2017-08-18 | 成都信息工程大学 | 一种针对sm4密码算法轮输出的模板攻击方法 |
CN108880783A (zh) * | 2018-09-06 | 2018-11-23 | 成都三零嘉微电子有限公司 | 一种针对sm4算法的联合攻击方法 |
-
2019
- 2019-12-17 CN CN201911300319.5A patent/CN111030820B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647637A (zh) * | 2013-11-19 | 2014-03-19 | 国家密码管理局商用密码检测中心 | 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法 |
CN103825722A (zh) * | 2013-11-19 | 2014-05-28 | 国家密码管理局商用密码检测中心 | 一种sm4密码算法的二阶侧信道能量分析方法 |
CN104202145A (zh) * | 2014-09-04 | 2014-12-10 | 成都信息工程学院 | 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法 |
CN104753665A (zh) * | 2015-03-19 | 2015-07-01 | 成都信息工程学院 | 一种针对sm4密码轮函数输出的侧信道能量攻击方法 |
CN105553638A (zh) * | 2015-12-07 | 2016-05-04 | 成都芯安尤里卡信息科技有限公司 | 针对sm4一阶掩码算法的二阶频域能量分析攻击 |
CN107070629A (zh) * | 2016-11-14 | 2017-08-18 | 成都信息工程大学 | 一种针对sm4密码算法轮输出的模板攻击方法 |
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN108880783A (zh) * | 2018-09-06 | 2018-11-23 | 成都三零嘉微电子有限公司 | 一种针对sm4算法的联合攻击方法 |
Non-Patent Citations (2)
Title |
---|
WEIJUN SHAN等: "A Chosen-Plaintext Method of CPA on SM4 Block Cipher" * |
王敏等: "针对SMS4轮输出的选择明文能量分析攻击" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054887A (zh) * | 2020-08-31 | 2020-12-08 | 深圳技术大学 | 一种功耗碰撞攻击方法及装置 |
CN112054887B (zh) * | 2020-08-31 | 2024-02-20 | 深圳技术大学 | 一种功耗碰撞攻击方法及装置 |
CN112883395A (zh) * | 2021-02-25 | 2021-06-01 | 山东华翼微电子技术股份有限公司 | 一种增强抗攻击能力的高性能gfn掩码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111030820B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103138917B (zh) | 以s盒输入为基础的汉明距离模型进行sm4密码算法侧信道能量分析方法 | |
CN105553638A (zh) | 针对sm4一阶掩码算法的二阶频域能量分析攻击 | |
CN104202145A (zh) | 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法 | |
Jaffe | A first-order DPA attack against AES in counter mode with unknown initial counter | |
CN108880783B (zh) | 一种针对sm4算法的联合攻击方法 | |
CN103647637A (zh) | 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法 | |
CN105227295A (zh) | 一种针对sms4密码算法的差分故障注入攻击 | |
CN111030820B (zh) | 一种基于掩码sm4算法的选择明文相关碰撞攻击方法 | |
CN103825722A (zh) | 一种sm4密码算法的二阶侧信道能量分析方法 | |
Daudigny et al. | SCARE of the DES: (Side Channel Analysis for Reverse Engineering of the Data Encryption Standard) | |
Mazumdar et al. | Power analysis attacks on ARX: an application to Salsa20 | |
Katiyar et al. | Pure dynamic S-box construction | |
AlTawy et al. | Fault analysis of Kuznyechik | |
He et al. | Square attack on reduced Camellia cipher | |
Luo et al. | A block cryptographic algorithm for wireless sensor networks based on hybrid chaotic map | |
Duan et al. | Research and implementation of dpa-resistant sms4 block cipher | |
CN113949500A (zh) | 一种针对sm4二阶能量分析攻击方法 | |
Abdelraheem et al. | Weak-key analysis of POET | |
Nguyen et al. | Improved differential cache attacks on SMS4 | |
Shamsabad et al. | Lai-massey scheme revisited | |
CN107886463A (zh) | 一种基于Chen系统和细胞自动机的数字图像加密方法 | |
Xia et al. | Correlation Power Analysis of Lightweight Block Cipher Algorithm LiCi | |
Zhang et al. | Cryptanalysis of a chaos-based block cryptosystem using multiple samples correlation power analysis | |
Wang et al. | A new zero value attack combined fault sensitivity analysis on masked AES | |
Wen et al. | General application of FFT in cryptanalysis and improved attack on CAST-256 |
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 |