CN112543094B - 一种基于多随机数的des掩码抗侧信道攻击实现方法 - Google Patents

一种基于多随机数的des掩码抗侧信道攻击实现方法 Download PDF

Info

Publication number
CN112543094B
CN112543094B CN202011428132.6A CN202011428132A CN112543094B CN 112543094 B CN112543094 B CN 112543094B CN 202011428132 A CN202011428132 A CN 202011428132A CN 112543094 B CN112543094 B CN 112543094B
Authority
CN
China
Prior art keywords
round
random
register
xor
random number
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
CN202011428132.6A
Other languages
English (en)
Other versions
CN112543094A (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.)
Shanghai Huayi Microelectronic Material Co Ltd
Original Assignee
Shanghai Huayi Microelectronic Material 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 Huayi Microelectronic Material Co Ltd filed Critical Shanghai Huayi Microelectronic Material Co Ltd
Priority to CN202011428132.6A priority Critical patent/CN112543094B/zh
Publication of CN112543094A publication Critical patent/CN112543094A/zh
Application granted granted Critical
Publication of CN112543094B publication Critical patent/CN112543094B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI

Abstract

本发明涉及一种DES掩码抗侧信道攻击实现方法,在DES每轮运算中采用不同随机源产生不同随机数参与运算来实现对中间值进行掩码的目的,且每轮计算的中间值与原DES算法的中间值均不同,实现对原中间值进行掩码目的;另外,在每轮运算中将上一轮的掩码值消去,节省了脱掩的繁杂步骤,有利于节省资源。本发明采用多随机源生成随机数,在防止对中间值进行侧信道攻击的同时,也能有效防止对SBOX的攻击,另外对于随机源的攻击也可有效抵御,可以看到,攻破一个随机源并不意味着整个防御体系的失效。

Description

一种基于多随机数的DES掩码抗侧信道攻击实现方法
技术领域
本发明涉及一种密码抗侧信道攻击实现方法,具体涉及一种DES掩码抗侧信道攻击实现方法。
背景技术
数据加密标准(Data Encryption Standard,DES)在1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),遵循FIPS PUB 46-3标准。但在1998年,Kocher等发现智能卡上的密码算法运行过程中的功率消耗可用于密钥破解,并成功应用于对DES密码算法进行了密钥恢复。密码侧信道攻击指在密码运算过程中,对其硬件本身或软件计算平台所泄露出来的信息进行分析,这些泄露的旁路信息包括执行时间、功耗信息、电磁辐射、声音、寄存器访问特征等,另外,对于通过主动实施干扰等手段获取中间运算状态的,典型的如故障注入手段,都可以对密码算法进行旁路分析并破解明文、密钥等关键信息。常用的密码侧信道攻击有简单功耗分析(Simple Power Analysis,SPA)、差分功耗分析(Differential Power Analysis,DPA)以及更新型的模板分析和电磁分析攻击(Electromagnetic Analysis,EMA)等。
发明内容
本发明涉及一种基于多随机源的防御旁路分析DES掩码方法,适用于采用DES算法进行运算的软件和硬件实现,尤其是包括智能卡、可信密码模块等的硬件实现DES算法时的抵御侧信道攻击。
一种基于多随机数的DES掩码抗侧信道攻击实现方法,在DES每轮运算中采用不同随机源产生不同随机数参与运算来实现对中间值进行掩码的目的,且每轮计算的中间值与原DES算法的中间值均不同,实现对原中间值进行掩码目的;另外,在每轮运算中将上一轮的掩码值消去,节省了脱掩的繁杂步骤,有利于节省资源。
上述运算中采用的随机源包括第一类随机源X1、第二类随机源X2n、第三类随机源X3n;第一类随机源X1包含1个随机源,第二类随机源X2n包含16个随机源,第三类随机源X3n包含16个或1个随机源。第二类随机源产生16个随机数是必须的,因为DES运算的加解密只能进行16轮迭代运算,每轮迭代运算使用1个随机源。
本发明涉及一种基于多随数的防御旁路分析DES掩码方法。该方法通过采用多随机源生成的随机数对标准DES运算的中间值进行掩码以及通过构造不同SMBOX来对SBOX进行掩码的方式,以达到抵抗二阶甚至高阶旁路分析攻击的目的。该方法每轮中的掩码值在其下一轮计算时会自动脱掩,减少了最后的脱掩步骤,极大的降低了功耗与面积,提高了运算速度。因此本方法可广泛应用于使用DES算法参与的软件和硬件环境,尤其是对功耗和实现面积有要求的智能卡及可信计算中的可信密码模块(Trusted Cryptography Module,TCM)和可信平台控制模块(Trusted Platform Control Model,TPCM)。
本发明采用多随机源生成随机数,在防止对中间值进行侧信道攻击的同时,也能有效防止对SBOX的攻击,另外对于随机源的攻击也可有效抵御,可以看到,攻破一个随机源并不意味着整个防御体系的失效。
附图说明
图1为一种基于多随机源的防御旁路分析DES掩码方法架构图。
具体实施方式
为使技术方案表述清楚,对下述字符进行如下解释说明。
M:待运算的明文信息。
IP:标准DES算法中的IP置换运算。
X1:第一类随机源,包含1个随机源。
X2n:第二类随机源,包含16个随机源。
X3n:第三类随机源,包含16个随机源或1个随机源
若第三类随机源只有一个随机源,每轮参与运算的随机数都由该随机源产生。但使用一个随机源是针对随机源资源不足的情况下使用,将在十六轮运算过程中产生十六个随机数。
X1L:X1经过IP变换得到的左半部分。
X1R:X1经过IP变换得到的右半部分。
XOR:
Figure GDA0003782007090000031
E:E扩展。
Figure GDA0003782007090000032
异或运算。
Kn:轮密钥。
Figure GDA0003782007090000033
经过掩码后的左半部分中间值。
Figure GDA0003782007090000034
经过掩码后的右半部分中间值。
P:P置换。
S'BOX:经过掩码后的SBOX。
F':使用S'BOX计算的F函数。
一种基于多随机数的DES掩码抗侧信道攻击实现方法,在DES每轮运算中采用不同随机源产生不同随机数参与运算来实现对中间值进行掩码的目的,且每轮计算的中间值与原DES算法的中间值均不同,实现对原中间值进行掩码目的;另外,在每轮运算中将上一轮的掩码值消去。
上述运算中采用的随机源包括第一类随机源X1、第二类随机源X2n、第三类随机源X3n;第一、第二、第三类随机源分别为不同随机源。第一类随机源X1包含1个随机源,第二类随机源X2n包含16个随机源,第三类随机源X3n包含16个或1个随机源。
本技术方案可在硬件或软件平台上实现,现就硬件平台实现做举例说明:
结合附图1,运算过程为:
1、将待加密的明文信息M输入到明文寄存器中,同时第一随机源X1产生随机数并写入第一随机数寄存器;
2、将明文寄存器中的值与第一随机数寄存器的值相异或后进行IP变换,结果输出并分为左右两半部分,每半部分长度为32bit,即
Figure GDA0003782007090000041
3、与此同时,第一随机数寄存器中的随机数进行IP变换后,同样分为左右两半部分X1L和X1R,每半部分长度为32Bit,这两半部分进行异或后结果
Figure GDA0003782007090000042
保存到XOR寄存器作为对中间值的掩码备用;
4、第二类随机源X2n包含十六个随机源,每轮应用一个随机源并产生一个随机数,即X21至X216,参与每轮中间值的左右半部分掩码,在第一轮和最后一轮运算时,使用单个随机数X21和X216参与运算进行掩码,除第一轮和最后一轮的其余每轮运算时,使用
Figure GDA0003782007090000051
进行掩码;
第二类随机源组X2n产生第一个随机数X21,并保存到X21寄存器;
在第一轮运算中,
Figure GDA0003782007090000052
Figure GDA0003782007090000053
的运算过程分别为:在进行IP变换后的左半部分
Figure GDA0003782007090000054
与XOR寄存器中的值以及X21寄存器中的随机数进行异或操作后与F函数的输出值再进行异或操作,得到的结果为第一轮的右半部分
Figure GDA0003782007090000055
右半部分即
Figure GDA0003782007090000056
与XOR寄存器中的值以及X21寄存器中的随机数进行异或操作后,得到的结果即为第一轮的左半部分
Figure GDA0003782007090000057
按照上述第一轮运算中
Figure GDA0003782007090000058
Figure GDA0003782007090000059
的运算过程循环操作16轮,得出
Figure GDA00037820070900000510
Figure GDA00037820070900000511
在第2轮至第16轮中,
Figure GDA00037820070900000512
均由X2n异或X2n-1的结果、
Figure GDA00037820070900000513
与XOR寄存器中的值异或运算得出;
Figure GDA00037820070900000514
均由X2n异或X2n-1的结果、
Figure GDA00037820070900000515
与XOR寄存器中的值进行异或操作后与F函数的输出值再进行异或操作得出。
在每一轮中的F函数计算过程为:由右半部分
Figure GDA00037820070900000516
进行E置换、随机数X1进行IP变换后的右半部分X1R进行E置换、与轮密钥Kn进行异或后输入到S'BOX,S'BOX预先生成或直接生成,
Figure GDA00037820070900000517
在S’BOX的输出值进行P变换后,与P(X3n)进行异或,并保存输出结果作为F函数的输出值。
第三类随机源组X3包含十六个随机源,在每轮F函数运算之前,与原始SBOX预计算生成S'BOX,同时在P变换时作为输入,结束本轮运算。
在第17轮中,
Figure GDA0003782007090000061
Figure GDA0003782007090000062
分别与X216进行异或,以对掩码进行脱掩。随后与X1随机数的左右半部分进行异或,得到的结果进行IP逆变换后,即为加密后的结果C,
Figure GDA0003782007090000063
从上述运算过程可知,第一类随机源只包含一个随机源,此随机源产生一个随机数并参与三种运算,第一种运算是对输入的信息即待运算明文信息M进行掩码,即
Figure GDA0003782007090000064
并以此为输入参与后面的每轮运算;参与的第二种运算是将X1进行IP变换后,分为X1L和X1R两部分,这两部分进行异或操作后得到XOR,XOR将参与对每轮运算中的左右半部分进行掩码;第三种运算为将X1进行IP变换后,分为X1L和X1R两部分,将右半部分即X1R进行E变换后输入到每一轮的S'BOX。
对于掩码后的S'BOX的生成与脱掩,本发明采用生成S'BOX时,将原SBOX的输出与随机数进行异或构造S'BOX,在每轮的P置换时进行脱掩,既保证SBOX的抗侧信道攻击,又能保证脱掩的顺利执行,对于面积和功耗的节省起到了非常大的作用。即
Figure GDA0003782007090000065
本发明采用多随机源生成随机数,在防止对中间值进行侧信道攻击的同时,也能有效防止对SBOX的攻击,另外对于随机源的攻击也可有效抵御,可以看到,攻破一个随机源并不意味着整个防御体系的失效。

Claims (1)

1.一种基于多随机数的DES掩码抗侧信道攻击实现方法,其特征在于包括如下步骤:
步骤一、将待加密的明文信息M输入到明文寄存器中,同时第一类随机源X1产生随机数并写入第一随机数寄存器;
步骤二、将明文寄存器中的明文信息M与第一随机数寄存器的值相异或后进行IP变换,结果输出并分为左右两半部分,每半部分长度为32bit,即
Figure FDA0003792468270000011
步骤三、第一随机数寄存器中的随机数进行IP变换后分为左右两半部分X1L和X1R,每半部分长度为32Bit,这两半部分进行异或后结果
Figure FDA0003792468270000012
保存到XOR寄存器作为对中间值的掩码备用;
步骤四、第二类随机源X2n包含十六个随机源,每轮运算应用一个随机源并产生一个随机数,即X21至X216,参与每轮中间值的左右半部分掩码,在第一轮和最后一轮运算时,使用单个随机数X21和X216参与运算进行掩码,除第一轮和最后一轮的其余每轮运算时,使用
Figure FDA0003792468270000014
进行掩码;通过第1至16轮运算得出
Figure FDA0003792468270000015
Figure FDA0003792468270000016
以及
Figure FDA0003792468270000017
Figure FDA0003792468270000018
步骤五、在第17轮中,
Figure FDA0003792468270000019
Figure FDA00037924682700000110
分别与X216进行异或,以对掩码进行脱掩;随后与随机数X1的左右半部分进行异或,得到的结果进行IP逆变换后,即为加密后的结果C,
Figure FDA00037924682700000111
Figure FDA0003792468270000013
所述步骤四具体如下:
4.1第二类随机源组X2n产生第一个随机数X21,并保存到X21寄存器;
4.2在第一轮运算中,
Figure FDA0003792468270000021
Figure FDA0003792468270000022
的运算过程分别为:在进行IP变换后的左半部分
Figure FDA0003792468270000023
与XOR寄存器中的值以及X21寄存器中的随机数进行异或操作后与F函数的输出值再进行异或操作,得到的结果为第一轮的右半部分
Figure FDA0003792468270000024
右半部分即
Figure FDA0003792468270000025
与XOR寄存器中的值以及X21寄存器中的随机数进行异或操作后,得到的结果即为第一轮的左半部分
Figure FDA0003792468270000026
4.3按照上述第一轮运算中
Figure FDA0003792468270000027
Figure FDA0003792468270000028
的运算过程循环操作16轮,得出
Figure FDA0003792468270000029
Figure FDA00037924682700000210
在第2轮至第16轮中,
Figure FDA00037924682700000211
均由X2n异或X2n-1的结果、
Figure FDA00037924682700000212
与XOR寄存器中的值异或运算得出;
Figure FDA00037924682700000213
均由X2n异或X2n-1的结果、
Figure FDA00037924682700000214
与XOR寄存器中的值进行异或操作后与F函数的输出值再进行异或操作得出;
所述第1至16轮中的F函数计算过程为:由右半部分
Figure FDA00037924682700000215
进行E置换、随机数X1进行IP变换后的右半部分X1R进行E置换、与轮密钥Kn进行异或后输入到S'BOX,S'BOX预先生成或直接生成,
Figure FDA00037924682700000216
X3n为第三类随机源;在S’BOX的输出值进行P变换后,与P(X3n)进行异或,并保存输出结果作为F函数的输出值。
CN202011428132.6A 2020-12-07 2020-12-07 一种基于多随机数的des掩码抗侧信道攻击实现方法 Active CN112543094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011428132.6A CN112543094B (zh) 2020-12-07 2020-12-07 一种基于多随机数的des掩码抗侧信道攻击实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011428132.6A CN112543094B (zh) 2020-12-07 2020-12-07 一种基于多随机数的des掩码抗侧信道攻击实现方法

Publications (2)

Publication Number Publication Date
CN112543094A CN112543094A (zh) 2021-03-23
CN112543094B true CN112543094B (zh) 2022-09-27

Family

ID=75019678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011428132.6A Active CN112543094B (zh) 2020-12-07 2020-12-07 一种基于多随机数的des掩码抗侧信道攻击实现方法

Country Status (1)

Country Link
CN (1) CN112543094B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729241A (zh) * 2008-10-23 2010-06-09 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN102983964A (zh) * 2012-12-28 2013-03-20 大唐微电子技术有限公司 一种抗差分功耗分析的数字加密标准改进方法及装置
CN103618595A (zh) * 2013-09-13 2014-03-05 杭州晟元芯片技术有限公司 一种抗功耗分析的密码算法代换电路
CN104618094A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的密码Mask方法
CN108964872A (zh) * 2018-07-23 2018-12-07 武汉大学 一种基于aes的加密方法及装置
CN110190951A (zh) * 2019-06-17 2019-08-30 中金金融认证中心有限公司 一种针对des算法l寄存器翻转的功耗攻击方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2443358A (en) * 2005-01-27 2008-04-30 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
CN104683095B (zh) * 2013-11-29 2018-03-06 上海复旦微电子集团股份有限公司 一种des加密方法和装置
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法
CN106788974B (zh) * 2016-12-22 2020-04-28 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729241A (zh) * 2008-10-23 2010-06-09 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN102983964A (zh) * 2012-12-28 2013-03-20 大唐微电子技术有限公司 一种抗差分功耗分析的数字加密标准改进方法及装置
CN103618595A (zh) * 2013-09-13 2014-03-05 杭州晟元芯片技术有限公司 一种抗功耗分析的密码算法代换电路
CN104618094A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的密码Mask方法
CN108964872A (zh) * 2018-07-23 2018-12-07 武汉大学 一种基于aes的加密方法及装置
CN110190951A (zh) * 2019-06-17 2019-08-30 中金金融认证中心有限公司 一种针对des算法l寄存器翻转的功耗攻击方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
针对一种AES掩码算法的频域相关性能量分析攻击;向春玲等;《计算机工程》;20161015(第10期);全文 *

Also Published As

Publication number Publication date
CN112543094A (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
US10567162B2 (en) Mask S-box, block ciphers algorithm device and corresponding construction process
US10439797B2 (en) Methods and devices against a side-channel analysis
US8325928B2 (en) Security countermeasure for power analysis attacks
CN103905462B (zh) 可抵御差分功耗分析攻击的加密处理装置及方法
EP1833190B1 (en) Table splitting for cryptographic processes
US7720225B2 (en) Table splitting for cryptographic processes
CN107204841B (zh) 一种抵御差分功耗攻击的分组密码多s盒实现的方法
US8619985B2 (en) Table splitting for cryptographic processes
CN104301095A (zh) Des轮运算方法和电路
EP1601132B1 (en) Table Masking for Resistance to Power Analysis Attacks
CN117118617A (zh) 一种基于模分量同态的分布式门限加解密方法
Luo et al. Cryptanalysis of chaos-based cryptosystem from the hardware perspective
CN106936822B (zh) 针对sms4抗高阶旁路分析的掩码实现方法及系统
Xu et al. Pushing the limit of PFA: Enhanced persistent fault analysis on block ciphers
CN106059746B (zh) 一种抗任意阶侧信道攻击的掩码防护方法及系统
CN109936437B (zh) 一种基于d+1阶掩码的抗功耗攻击方法
Luo et al. Cryptanalysis of a chaotic block cryptographic system against template attacks
CN112543094B (zh) 一种基于多随机数的des掩码抗侧信道攻击实现方法
JP2007073012A (ja) 乱数生成システム
CN115664634A (zh) 一种抗侧信道攻击的aes加密算法硬件实现方法及系统
İLTER et al. MILP modeling of matrix multiplication: cryptanalysis of KLEIN and PRINCE
Veshchikov et al. Variety of Scalable Shuffling Countermeasures against Side Channel Attacks.
Maghrebi et al. Register leakage masking using gray code
Guo et al. Table recomputation-based higher-order masking against horizontal attacks
Bai et al. Securing SMS4 cipher against differential power analysis and its VLSI implementation

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