CN103138917A - Application method of Hamming distance model on SM4 cryptographic algorithm lateral information channel energy analysis and based on S box input - Google Patents

Application method of Hamming distance model on SM4 cryptographic algorithm lateral information channel energy analysis and based on S box input Download PDF

Info

Publication number
CN103138917A
CN103138917A CN2013100277946A CN201310027794A CN103138917A CN 103138917 A CN103138917 A CN 103138917A CN 2013100277946 A CN2013100277946 A CN 2013100277946A CN 201310027794 A CN201310027794 A CN 201310027794A CN 103138917 A CN103138917 A CN 103138917A
Authority
CN
China
Prior art keywords
wheel
box
key
input
energy
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
CN2013100277946A
Other languages
Chinese (zh)
Other versions
CN103138917B (en
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 Cryptography Administration Commercial Code Testing Center
Original Assignee
State Cryptography Administration Commercial Code Testing Center
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 Cryptography Administration Commercial Code Testing Center filed Critical State Cryptography Administration Commercial Code Testing Center
Priority to CN201310027794.6A priority Critical patent/CN103138917B/en
Publication of CN103138917A publication Critical patent/CN103138917A/en
Application granted granted Critical
Publication of CN103138917B publication Critical patent/CN103138917B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses an application method of a Hamming distance model on SM4 cryptographic algorithm lateral information channel energy analysis and based on S box input. The application method is characterized in that the Hamming distance model is established by selecting an S box or a round function as an attacking point in the process that the SM4 cryptographic algorithm lateral information channel energy analysis is carried out, the input of the S box is used as an initial state v1 of the Hamming distance model, the output of the S box is used as subsequent state v2 of the Hamming distance (HD (v1, v2)) model when the S box is attacked, and the output / input of the round function is used as the subsequent state v2 of the Hamming distance (HD (v1, v2)) model when the round function is attacked. The method can be applied to CPA / DPA lateral information channel energy analysis of the SM4 cryptographic algorithm. Correlation between a correct guess secret key and energy information is improved, and validity and success rate of the analysis are enhanced.

Description

Be input as the Hamming distance model on basis with the S box in the application of SM4 cryptographic algorithm side channel energy analysis
Technical field
The invention belongs to the cryptographic algorithm technical field of analysis and detection; relate to specifically in cryptographic algorithms' implementation, the analysis of side channel energy, crypto module testing process; carry out the analysis of side channel energy for the crypto module of realizing the SM4 cryptographic algorithm; obtain the Energy Analysis for High of shielded key information; that is, be input as the Hamming distance model on basis in the application of SM4 cryptographic algorithm side channel energy analysis with the S box.
Background technology
Along with the development of information technology, various cryptographic algorithms just are being widely used in the important departments such as economy, military affairs, administration, the fail safe of protection information.In view of the importance of cryptographic algorithm, the cryptographic algorithm software and hardware realizes that the analysis and research of (crypto module) have great importance safely to protection information.In recent years, multiple attack to crypto module is widely known by the people, and the purpose of all these attacks is all in order to obtain the key in crypto module.Common attack pattern can be divided into the intrusive mood attack, half intrusive mood is attacked and non-intrusion type is attacked.In recent years, be widely used because the side Multiple Channel Analysis in the non-intrusion type attack is implemented conveniently, relative cost is cheap.The side Multiple Channel Analysis can be subdivided into chronometric analysis, energy spectrometer and emi analysis.Side channel energy analysis wherein is one of method the most frequently used in numerous analysis means, and it has broken through the analytical model of conventional cipher algorithm, and ability is powerful, implements relatively easy.Side channel energy analysis and utilization the consumption of crypto module energy and data operation and carry out between correlation, set up energy model based on the energy leakage function of cryptographic algorithms' implementation, use statistical method, the protected key of conjecture and the use of authentication password module.Side channel energy analytical method generally comprises, simple energy analysis (SPA), differential power analysis (DPA), correlation energy analysis (CPA) and higher difference energy spectrometer (HODPA).
Wherein, the DPA principle is: for the enciphering/deciphering computing of N group plain/cipher text data, obtain N bar energy mark, the energy mark here refers to the energy consumption measurement vector that collects in Password Operations process; To each conjecture key K, produce corresponding median (object of attack), determine choice function according to median; By choice function, energy mark collection is divided into two subsets; Corresponding energy consumption is averaged to two subsets respectively, and two average energy consumption values are asked poor, and this equal value difference is that median corresponding to choice function is to the impact effect of energy mark.According to statistical theory, if the K conjecture is incorrect, when the number N of energy mark convergence is infinitely great, the equal value difference of two subsets will level off to zero; When if K conjecture is correct, the maximum sharpness (absolute value maximum) of an equal value difference will appear in certain sampling point in the energy mark, can determine correct key by maximum sharpness.
The CPA principle is: for the enciphering/deciphering computing of N group plain/cipher text data, obtain N bar energy mark; To each conjecture key K, produce corresponding median (object of attack); Set up energy model according to median; By energy model, median is mapped as the consumption of emulation energy; Linearly dependent coefficient between the consumption of Calculation Simulation energy and energy mark, scope is between [1,1]; Choosing the maximum of absolute value in coefficient correlation, is 1 in theory, but owing to unavoidably having noise jamming in collecting energy mark process, maximum is less than 1, and conjecture key corresponding to this coefficient correlation maximum is correct key.
The SM4 cryptographic algorithm is first commercial cipher grouping algorithm that China publishes, and the packet of SM4 cryptographic algorithm and key length are 128 bits, and the cryptographic algorithm of SM4 cryptographic algorithm and key schedule all adopt 32 to take turns the nonlinear iteration structure.
The structure of SM4 cryptographic algorithm is as follows:
If
Figure BSA00000846957800021
Be encrypting plaintext,
Figure BSA00000846957800022
Be the algorithm input of i wheel,
Figure BSA00000846957800023
Be the round key of i wheel, round function F is:
F ( X i , X i + 1 , X i + 2 , X i + 3 , rk i ) = X i ⊕ T ( X i + 1 ⊕ X i + 2 ⊕ X i + 3 ⊕ rk i ) - - - ( 1 )
Wherein, T:
Figure BSA00000846957800025
Be an inverible transform, be composited by nonlinear transformation τ and linear transformation L, be i.e. T (.)=L (τ (.)).
τ is made of 4 parallel S boxes, as shown in Figure 2, establishes and is input as Be output as B = ( b 0 , b 1 , b 2 , b 3 ) ∈ ( Z 2 8 ) 4 , :
(b 0,b 1,b 2,b 3)=τ(A)=(Sbox(a 0),Sbox(a 1),Sbox(a 2),Sbox(a 3)) (2)
The output of nonlinear transformation τ is the input of linear transformation L.If be input as
Figure BSA00000846957800028
Be output as C ∈ Z 2 32 , :
C = L ( B ) = B &CirclePlus; ( B < < < 2 ) &CirclePlus; ( B < < < 10 ) &CirclePlus; ( B < < < 18 ) &CirclePlus; ( B < < < 24 ) - - - ( 3 )
Suppose A iBe the input of i wheel S box, B iBe the output of i wheel S box, the input of L displacement, C iBe the output of i wheel L displacement.Satisfy as follows according to algorithm:
A i = ( X i + 1 &CirclePlus; X i + 2 &CirclePlus; X i + 3 &CirclePlus; rk i ) - - - ( 4 )
B i=τ(A i) (5)
C i=L(B i) (6)
X i + 4 = X i &CirclePlus; C i - - - ( 7 )
According to following formula (4), (5), (6), (7), can get the wheel input (X of i+1 wheel i+1, X I+2,X i+3, X I+4), computing 32 is taken turns successively, namely can obtain exporting ciphertext Y = ( Y 0 , Y 1 , Y 2 , Y 3 ) = ( X 35 , X 34 , X 33 , X 32 ) &Element; ( Z 2 32 ) 4 , The cryptographic structure flow process of above-mentioned SM4 cryptographic algorithm as shown in Figure 1.
The key schedule of SM4 cryptographic algorithm and cryptographic algorithm structure are similar, and as Fig. 2, only linear transformation L shift function is inconsistent.Make that the initial encryption key is (MK 0, MK 1, MK 2, MK 3).
( K 0 , K 1 , K 2 , K 3 ) = ( MK 0 &CirclePlus; FK 0 , MK 1 &CirclePlus; FK 1 , MK 2 &CirclePlus; FK 2 , MK 3 &CirclePlus; FK 3 ) - - - ( 8 )
Wherein, (FK 0, FK 1, FK 2, FK 3) be known constant.
rk i = K i + 4 = K i &CirclePlus; T &prime; ( K i + 1 &CirclePlus; K i + 2 &CirclePlus; K i + 3 &CirclePlus; CK i ) = K i &CirclePlus; L &prime; ( &tau; ( K i + 1 &CirclePlus; K i + 2 &CirclePlus; K i + 3 &CirclePlus; CK i ) ) - - - ( 9 )
Wherein, τ function is consistent with the τ function in above-mentioned SM4 cryptographic algorithm cryptographic structure, rk iBe the encryption key of i wheel, i=0,1 ..., 31, CK iBe known constant.
Linear transformation L ' is:
L &prime; ( x ) = x &CirclePlus; ( x < < < 13 ) &CirclePlus; ( x < < < 23 ) - - - ( 10 )
According to formula (9), can obtain respectively 32 and take turns round key (rk 0, rk 1..., rk 31), length is 32 bits.
The algorithm structure of data deciphering and data encryption is identical, is the use reversed in order of round key, and the decryption round key is the backward of encryption round key.During deciphering, use round key order (rk 31, rk 30..., rk 0).
The Energy Analysis for High of SM4 cryptographic algorithm is chosen usually the output of output, L displacement of S box as object of attack, used Hamming weight, single-bit model, utilize DPA and CPA method to analyze.These methods have only been utilized typical analysis site, can not effectively implement to analyze to the SM4 cryptographic algorithm comprehensively.In addition, seldom the time, will affect the success rate that the SM4 cryptographic algorithm is analyzed when the available energy leakage information of above-mentioned analysis site.Therefore, need to propose more effective side channel energy analytical method.
Summary of the invention
In the SM4 cryptographic algorithm is analyzed, whether side channel energy analytical method is effective, its key is that the object of attack in cryptographic algorithm chooses the selection with corresponding energy model, chooses appropriate object of attack and can improve the signal to noise ratio of sampled energy information and the success rate of analysis.
The realization character that the object of the invention is to network analysis SM4 cryptographic algorithm, creatively select respectively the S box output, round function (follow-up state) of SM4 cryptographic algorithm as the point of attack, proposed to innovation with the Hamming distance model of S box input as Hamming distance reference state (front and continued state), different energy leakage information during to the computing of SM4 cryptographic algorithm, this model has improved correct conjecture key and the correlation between energy information, has strengthened validity and the success rate analyzed.
Realize that above-mentioned purpose technical scheme of the present invention is, be input as the Hamming distance model on basis with the S box in the application of SM4 cryptographic algorithm side channel energy analysis, carry out in SM4 cryptographic algorithm side channel energy analytic process, select S box or round function to set up the Hamming distance model as the point of attack, with the input of the S box front and continued state v as the Hamming distance model 1
When the S box is attacked, Hamming distance (HD (v 1, v 2)) the follow-up state v of model 2The output of S box; When round function is attacked, Hamming distance (HD (v 1, v 2)) the follow-up state v of model 2It is the round function input/output.Above-mentioned to before S box output/Hamming distance (HD (v that attacks employing is taken turns at end 4 1, v 2)) model is equivalent to S box input and the attack of output XOR value as Hamming weight (HW) model of the point of attack; To before round function/Hamming distance (HD (v that attacks employing 4 is taken turns in the end 1, v 2)) model is equivalent to the attack as Hamming weight (HW) model of the point of attack of the XOR value of S box input and round function input/output.
The above-mentioned Hamming distance model on basis that is input as with the S box is for the CPA/DPA side channel energy analysis to the SM4 cryptographic algorithm.
Basic Hamming distance model is as follows to the CPA side channel energy analytical procedure of SM4 cryptographic algorithm when being input as with the S box:
(1) collecting energy mark specifically carries out every group of plain/cipher text and is encrypted/decrypt operation, gathers energy expenditure information corresponding to Measuring Time point, is the energy mark, sets up the sampled energy absorption matrix; (2) choosing object of attack is S box or round function, determines Hamming distance algorithm attack model; (3) determine object of attack and model after, the conjecture round key calculates the median of wheel computing and determines the median matrix; (4) in utilization, median and the median matrix in step are mapped as emulation energy consumption values and emulation energy absorption matrix; (5) linearly dependent coefficient of Calculation Simulation energy absorption matrix and sampled energy absorption matrix obtains correct conjecture key.
The concrete grammar that utilizes CPA to carry out above-mentioned steps (3) is: known k (k ∈ 0 ..., N-1}) group plain/cipher text input X k = ( X 0 k , X 1 k , X 2 k , X 3 k ) Or ciphertext/plaintext output X k = ( X 35 k , X 34 k , X 33 k , X 32 k ) The time, conjecture i wheel round key
Figure BSA00000846957800053
In byte
Figure BSA00000846957800054
rk I, jThe conjecture value be respectively rk I, j, s=s, s ∈ 0 ..., 255}, before selecting the output of S box/when end 4 is taken turns and is attacked, conjecture round key byte rk I, j, sCorresponding median is, v i , j , s k = &tau; ( ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s Wherein,
Figure BSA00000846957800056
For carrying out the computing of k group plain/cipher text i wheel encrypt/decrypt, guess j key byte corresponding median when being s,
Figure BSA00000846957800057
Difference X I+1, j, X I+2, j, X I+3, jBe the intermediate operations value
Figure BSA00000846957800058
J byte; Select round function output front 4 to take turns when taking turns with end 4 attack of carrying out, conjecture round key byte rk I, j, sCorresponding median is respectively v i , j , s k = ( L - 1 X i + 4 k ) j &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s With = ( L - 1 X i k ) j &CirclePlus; &tau; ( ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s v i , j , s k = ( L - 1 X i k ) j &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j , s ) , Wherein, = ( L - 1 X i + 4 k ) j &CirclePlus; &tau; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j , s ) L -1(x) j is
Figure BSA000008469578000513
Carry out L -1J byte after displacement, L - 1 ( x ) = x &CirclePlus; ( x < < < 2 ) &CirclePlus; ( x < < < 4 ) &CirclePlus; ( x < < < 8 ) &CirclePlus; ( x < < < 12 ) &CirclePlus; ( x < < < 14 ) &CirclePlus; ( x < < < 16 ) &CirclePlus; ( x < < < 18 ) &CirclePlus; ( x < < < 22 ) &CirclePlus; ( x < < < 24 ) &CirclePlus; ( x < < < 30 ) ; When bright/the ciphertext of N group is carried out the enciphering/deciphering operation, calculate successively 256 conjecture round key byte rk I, j, sCorresponding median is determined the median matrix V ( N &times; 256 ) = v i , j , 0 0 . . . v i , j , 255 0 . . . v i , j , s k . . . v i , j , 0 N - 1 . . . v i , j , 255 N - 1 ; The concrete grammar that utilizes CPA to carry out step (4) is: the emulation energy consumption of median mapping of (3) step is:
Figure BSA00000846957800062
I.e. expressly emulation energy consumption corresponding to s conjecture key byte of j byte of i wheel of k group, HW (x) is 1 number for bit place value in x, and N group plain/cipher text is encrypted/decryption oprerations, determines round key byte rk I, j, sCorresponding emulation energy absorption matrix is:
Figure BSA00000846957800063
The concrete grammar that utilizes CPA to carry out above-mentioned steps (5) is: to the sampled energy absorption matrix of step (1) W ( N &times; T ) = s 0 0 . . . s T - 1 0 . . . s t k . . . s 0 N - 1 . . . s T - 1 N - 1 And the emulation energy absorption matrix H of step (4) calculates respectively the correlation coefficient ρ of both s row and t row S, t:
&rho; s , t &ap; r s , t = &Sigma; k = 0 N - 1 [ h i , j , s k - h i , j , s k &OverBar; ] [ s t k - s t k &OverBar; ] &Sigma; k = 0 N - 1 [ h i , j , s k - h i , j , s k &OverBar; ] 2 &Sigma; k = 0 N - 1 [ s t k - s t k &OverBar; ] 2 Wherein,
Figure BSA00000846957800066
Be expressed as k plain/cipher text, sampled energy consumption figures that a t time point is corresponding, T is the time point number in the energy mark, Be the mean value of matrix H s row,
Figure BSA00000846957800068
Be the mean value of matrix W t row, ρ S, tRepresent s emulation energy corresponding to conjecture key consume with t time point sampled energy consumption between linearly dependent coefficient, r S, tBe the approximate calculation value of this coefficient correlation, calculate the coefficient correlation between all row row, the correlation matrix that obtains the consumption of emulation energy and sampled energy consumption is R ( 256 &times; T ) = r 0,0 . . . r 0 , T - 1 . . . r s , t . . . r 255,0 . . . r 255 , T - 1 , Choose the maximum r in R M, n=max (r S, t), r M, nCorresponding conjecture key rk I, j, mBe correct conjecture round key byte, namely obtain correct j byte rk of i wheel round key I, jRepeat (1)-(5) step, can obtain respectively other 3 key bytes of round key, thereby obtain the correct round key rk of i wheel i, take turns for front 4, use round key rk iCarry out i wheel crypto-operation, obtain the N group wheel output of i wheel, i.e. the wheel input of i+1 wheel
Figure BSA00000846957800072
Obtain successively the front 4 encryption round key (rk that take turns 0, rk 1, rk 2, rk 3)=(K 4, K 5, K 6, K 7) or decryption round key (rk 0, rk 1, rk 2, rk 3)=(K 35, K 34, K 33, K 32); Take turns for rear 4, use round key rk iCarry out i wheel crypto-operation, obtain the wheel output of i-1 wheel
Figure BSA00000846957800073
4 encryption round key (the rk that take turns after obtaining successively 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32) or decryption round key (rk 31, rk 30, rk 29, rk 28)=(K 4, K 5, K 6, K 7); Inverse operation obtains the enciphering/deciphering key according to key schedule.
The Hamming distance model that is input as the basis with the S box is as follows to the DPA side channel energy analytical procedure of SM4 cryptographic algorithm:
(a) collecting energy mark specifically carries out every group of plain/cipher text and is encrypted/decrypt operation, gathers energy expenditure information corresponding to Measuring Time point, is the energy mark, sets up the sampled energy absorption matrix; (b) choosing object of attack is S box or round function, determines the DPA choice function; Known i wheel round key j (j ∈ 0,1,2,3}) individual byte rk I, jCorresponding object of attack
Figure BSA00000846957800074
With plain/cipher text and conjecture key byte rk I, jAs parameter, and desired value
Figure BSA00000846957800075
Here the choice function of definition is D ( X k , j , rk i , j ) = 1 HW ( v i , j k ) < 4 0 HW ( v i , j k ) > 4 ; (c) conjecture round key is divided into two average energy mouse collection matrixes with average energy consumption; (d) two average energy mouse collection that obtain according to (c) step ask poor, determine correct conjecture key.
The concrete grammar that utilizes DPA to carry out step (c) is: the input of known k group plain/cipher text X k = ( X 0 k , X 1 k , X 2 k , X 3 k ) Or ciphertext/plaintext output X k = ( X 35 k , X 34 k , X 33 k , X 32 k ) The time, conjecture i wheel round key rk iIn byte rk I, j, rk I, jThe conjecture value be respectively rk I, j, s=s, s ∈ 0 ..., 255}, conjecture round key byte rk I, j, sCorresponding choice function D (X k, j, rk I, j, s)=1 o'clock, total number
Figure BSA00000846957800083
rk I, j, sCorresponding choice function D (X k, j, rk I, j, s)=0 o'clock, total number
Figure BSA00000846957800084
For time point t in the energy mark, obtain the total power consumption average of two of this points: d 0 i , j , s t = &Sigma; k = 0 N - 1 ( 1 - D ( X k , j , rk i , j , s ) ) s t k n 0 With d 0 i , j , s t = &Sigma; k = 0 N - 1 D ( X k , j , rk i , j , s ) s t k n 1 , Wherein,
Figure BSA00000846957800087
For using conjecture round key byte rk I, j, sWhen carrying out N group encryption/decryption oprerations, choice function equals the n of 0 corresponding time point t 0The group energy consumes mean value;
Figure BSA00000846957800088
Equal the n of 1 corresponding time point t by choice function 1The group energy consumes mean value, n 0+ n 1=N asks the energy consumption average by following formula to all time points, obtains two energy consumption matrix D 0(256 * T) and D 1(256 * T), be respectively:
D 0 ( 256 &times; T ) = d 0 i , j , 0 0 . . . d 0 i , j , 0 T - 1 . . . d 0 i , j , s t . . . d 0 i , j , 255 0 . . . d 0 i , j , 255 T - 1 With D 1 ( 256 &times; T ) = d 1 i , j , 0 0 . . . d 1 i , j , 0 T - 1 . . . d 1 i , j , s t . . . d 1 i , j , 255 0 . . . d 1 i , j , 255 T - 1 ; The concrete grammar that utilizes DPA to carry out step (d) is: the average energy consumption matrix D that calculation procedure (c) obtains 0(256 * T) and D 1(256 * T) poor matrix Δ D=D 1-D 0, select the maximum equal value difference of energy consumption
Figure BSA000008469578000811
Figure BSA000008469578000812
Corresponding conjecture round key byte rk I, j, mBe correct key byte, namely obtain j byte of correct i wheel round key, repeat (a)-(d) step, can obtain respectively other 3 key bytes of round key, thereby obtain the correct round key rk of i wheel i, take turns for front 4, use round key rk iCarry out i wheel crypto-operation, obtain the N group wheel output of i wheel, i.e. the wheel input of i+1 wheel
Figure BSA00000846957800091
Obtain successively the front 4 encryption round key (rk that take turns 0, rk 1, rk 2, rk 3)=(K 4, K 5, K 6, K 7) or decryption round key (rk 0, rk 1, rk 2, rk 3)=(K 35, K 34, K 33, K 32); Take turns for rear 4, use round key rk iCarry out i wheel crypto-operation, obtain the wheel output of i-1 wheel
Figure BSA00000846957800092
4 encryption round key (the rk that take turns after obtaining successively 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32) or decryption round key (rk 31, rk 30, rk 29, rk 28)=(K 4, K 5, K 6, K 7); Inverse operation obtains the enciphering/deciphering key according to key schedule.
Above-mentioned when choosing object of attack, before selecting the output of S box/last 4 take turns the Hamming distance (HD (v that attacks employing 1, v 2)) the front and continued state v of model 1The input of S box, follow-up state v 2Be S box output, it is equivalent to the XOR value exported with the input of S box and S box as the attack of Hamming weight (HW) model of object of attack, namely v i , j k = ( X i + 1 k &CirclePlus; X i + 2 k &CirclePlus; X i + 3 k ) j &CirclePlus; rk i , j &CirclePlus; &tau; ( ( X i + 1 k &CirclePlus; X i + 2 k &CirclePlus; X i + 3 k ) j &CirclePlus; rk i , j ) ; Before selecting round function/Hamming distance (HD (v of the attack employing of carrying out is taken turns at end 4 1, v 2)) the front and continued state v of model 1The input of S box, follow-up state v 2Be the round function input/output, it is equivalent to the input of S box and adopts the attack of Hamming weight (HW) model as object of attack with the XOR value of taking turns input/output, namely v i , j k = X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j &CirclePlus; ( L - 1 X i + 4 k ) j = X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j &CirclePlus; L - 1 ( X i k ) j &CirclePlus; &tau; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j ) Or v i , j k = X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j &CirclePlus; ( L - 1 X i k ) j = X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 2 , j k &CirclePlus; rk i , j &CirclePlus; L - 1 ( X i + 4 k ) j &CirclePlus; &tau; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j ) , , Here
Figure BSA00000846957800098
The wheel input of i wheel, Be the wheel output of i wheel, i is followed successively by 0,1, and 2,3 or 31,30,29,28.。
Technical scheme of the present invention has the following advantages, and (1) is existing single to the energy leakage analysis site of SM4 cryptographic algorithm, can not adapt to well the realization of various types of SM4 cryptographic algorithms.The present invention is directed to the specific implementation of SM4 cryptographic algorithm, innovation ground has proposed two kinds of novel Hamming distance models, uses the new method of the present invention's proposition can be more effective, all sidedly the SM4 cryptographic algorithms' implementation is carried out the analysis of side channel energy; (2) energy consumption mainly comprises the dynamic power consumption of front and continued and 0 → 1,1 → 0 conversion of follow-up two status bits, and the power consumption values of these two kinds of conversions of HD model hypothesis equates, thereby sets up a proportional relation of changing between quantity and energy consumption.And HW model essence is a special case of HD model, and its all bit of hypothesis front and continued output state is all 0, and energy consumption is only relevant to succeeding state numerical value, and is simpler than HD model, so the accuracy that the HD model is portrayed the emulation energy consumption is far longer than the HW model.Hardware for the SM4 cryptographic algorithm is realized, register is triggered by clock signal, therefore in each clock cycle, previous and the current state of register is only changed once, carry out the analysis of side channel energy by the Hamming distance that adopts continuous clock register-stored numerical value in the cycle, can strengthen analyzing the validity of hard-wired crypto module.The present invention can analyze the SM4 cryptographic algorithm effectively, obtains key information, has expanded the side channel energy analytical method to the SM4 cryptographic algorithm.
Description of drawings
Fig. 1 is the cryptographic structure flow chart of SM4 cryptographic algorithm;
Fig. 2 is the key schedule flow chart of SM4 cryptographic algorithm;
Fig. 3 is the HD model object of attack of S box output;
Fig. 4 is that the HD model front 4 of round function output is taken turns object of attack;
Fig. 5 is that object of attack is taken turns at the HD model end 4 of round function output;
Fig. 6 is CPA analysis process figure;
Fig. 7 is DPA analysis process figure;
Fig. 8 is the sample waveform of 1000 group encryption computings;
Fig. 9 takes turns S box output HD model analysis, correct coefficient correlation waveform corresponding to round key, respectively corresponding 4 S boxes to the 1st;
Figure 10 takes turns S box output HW model analysis, correct coefficient correlation waveform corresponding to round key, respectively corresponding 4 S boxes to the 1st;
Figure 11 is the sample waveform of 1000 group encryption computings in the second embodiment;
Figure 12 is that the second embodiment takes turns S box output HD model analysis, correct coefficient correlation waveform corresponding to round key, respectively corresponding 4 S boxes to the 1st;
Figure 13 is that the second embodiment takes turns S box output HW model analysis, correct coefficient correlation waveform corresponding to round key, respectively corresponding 4 S boxes to the 1st
Embodiment
The below specifically describes technical scheme of the present invention, and at first the round function take the SM4 cryptographic algorithm carries out the CPA analysis as example, and technical scheme of the present invention is described.Fig. 6 is CPA analysis process figure.For the cryptographic calculation of SM4 cryptographic algorithm, if expressly, analyzing front 4 of cryptographic algorithm, known encryption takes turns.Suppose to carry out N group cryptographic calculation expressly, make k that group expressly is input as
Figure BSA00000846957800111
K ∈ 0 ..., and N-1}, the wheel of i wheel is input as
Figure BSA00000846957800112
I is followed successively by 0,1,2,3, and its step is as follows: (1) collecting energy mark, expressly be encrypted computing to every group, gather the energy expenditure information of Measuring Time point correspondence, be the energy mark, set up sampled energy absorption matrix W (N * T):
W ( N &times; T ) = s 0 0 . . . s T - 1 0 . . . s t k . . . s 0 N - 1 . . . s T - 1 N - 1
Wherein,
Figure BSA00000846957800114
Be expressed as k expressly, sampled energy consumption figures that a t time point is corresponding, T is the time point number in the energy mark;
(2) choose object of attack, determine the algorithm attack model; With the input of the S box front and continued state v as Hamming distance 1, chosen respectively the output of the output of two point of attack S boxes and round function as follow-up state v 2, set up two Hamming distances (HD) model.HD (v 1, v 2) be v 1And v 2Hamming distance, the number that namely in two states, bit 0 → 1,1 → 0 changes, HW (v) is 1 number for bit in v:
Figure BSA00000846957800115
Be front and continued state v 1With follow-up state v 2Hamming distance HD (v 1, v 2) be equivalent to the Hamming weight after both XORs
Figure BSA00000846957800116
Therefore the HD model is actual is with Hamming weight (HW) model of the data after front and continued state and follow-up state XOR as the point of attack.Therefore, as the front and continued state, the output of S box is actual as the HD model of succeeding state is with the input of S box and the HW model of output XOR value as the point of attack with the input of S box; As the front and continued state, round function output is actual as the HD model of succeeding state be that the XOR value exported with the input of S box and round function is as the HW model of the point of attack with S box input.
To the HD model of S box output based on hypothesis: the S box input value v that supposes to collect the SM4 crypto module 1With S box output valve v 2, the energy leakage point is two state v 1, v 2Bit reversal.According to the cryptographic structure of SM4 cryptographic algorithm as can be known, 4 S boxes are separate, and the L shift operation is reversible, are also independently to the wheel computing of 4 bytes of round key, therefore, can select respectively the object of attack corresponding to each key byte of round key.Be the HW model with the HD model conversation, i takes turns round key rk iByte rk I, jCorresponding object of attack is: v i , j , k = &tau; ( ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , , As shown in Figure 3.
To the HD model of round function output based on hypothesis: suppose S box input value v 1With round function output valve v 2Be stored in same register, the energy leakage point is two state v 1, v 2Bit reversal, can adopt the HD model of same register output state flip.After being the Hamming weight model according to the Hamming distance model conversation, i wheel round key rk iByte rk I, jCorresponding object of attack is:
v i , j k = ( L - 1 X i + 4 k ) j &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j = ( L - 1 X i k ) j &CirclePlus; &tau; ( ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , Concrete object of attack as shown in Figure 4.
(3) the conjecture round key, calculate the median of wheel computing.After determining object of attack and model, conjecture i wheel round key rk iJ (j ∈ 0,1,2,3}) individual byte rk I, j, j is followed successively by 0,1, and 2,3.rk I, jThe conjecture value be respectively rk I, j, s=s, s ∈ 0 ..., 255}.。
For 256 conjecture key byte rk I, j, s, carry out respectively the encryption round computing of i wheel.
To the HD model of S box output, conjecture round key byte rk I, j, sCorresponding median is:
v i , j , s k = &tau; ( ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s .
To the HD model of round function output, conjecture round key byte rk I, j, sCorresponding median is
v i , j , s k = ( L - 1 X i k ) j &CirclePlus; &tau; ( ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k ) &CirclePlus; rk i , j , s .
According to the median of front formula, when the N group expressly is encrypted operation, calculate successively 256 conjecture round key byte rk I, j, sCorresponding median obtains respectively median matrix V (N * 256):
V ( N &times; 256 ) = v i , j , 0 0 . . . v i , j , 256 0 . . . v i , j , s k . . . v i , j , 0 N - 1 . . . v i , j , 256 N - 1 .
(4) median is mapped as emulation energy absorption matrix.Go on foot determined energy model according to (3), the emulation energy consumption of median mapping is
Figure BSA00000846957800133
Figure BSA00000846957800134
For
Figure BSA00000846957800135
For carrying out expressly i wheel cryptographic calculation of k group, guess the corresponding emulation energy consumption when being s of j key byte.The N group expressly is encrypted operation, 256 conjecture round key byte rk I, j, sCorresponding emulation energy absorption matrix is:
Figure BSA00000846957800136
(5) linearly dependent coefficient of the consumption of Calculation Simulation energy and energy mark, obtain correct conjecture key byte.
To sampled energy absorption matrix W and emulation energy absorption matrix H, calculate respectively the correlation coefficient ρ of both s row and t row S, t: &rho; s , t &ap; r s , t = &Sigma; k = 0 N - 1 [ h i , j , s k - h i , j , s k &OverBar; ] [ s t k - s t k &OverBar; ] &Sigma; k = 0 N - 1 [ h i , j , s k - h i , j , s k &OverBar; ] 2 &Sigma; k = 0 N - 1 [ s t k - s t k &OverBar; ] 2 , Wherein,
Figure BSA00000846957800138
Be the mean value of matrix H s row,
Figure BSA00000846957800139
Mean value for matrix W t row.ρ S, tRepresent s emulation energy corresponding to conjecture key consume with t time point sampled energy consumption between linearly dependent coefficient, r S, tApproximate calculation value for this coefficient correlation.Calculate the coefficient correlation between all row row, the correlation matrix that obtains the consumption of emulation energy and sampled energy consumption is:
R ( 256 &times; T ) = r 0,0 . . . r 0 , T - 1 . . . r s , t . . . r 255,0 . . . r 255 , T - 1 , r S, tLarger, be listed as the s conjecture key rk larger, corresponding with the matching degree of row t I, j, sStronger with the correlation of sampled energy information.Choose the maximum r in R M, n=max (r S, t), r M, nCorresponding conjecture key rk I, j, mBe correct conjecture round key byte, namely obtain correct j byte of i wheel round key.In like manner, according to above-mentioned (1)-(5) step, obtain respectively other 3 key bytes of round key, thereby obtain the correct round key rk of i wheel i
After i wheel crypto-operation is carried out CPA analysis end, obtain correct round key rk i, use round key rk iCarry out i wheel cryptographic calculation, obtain the N group wheel output of i wheel, i.e. the wheel input of i+1 wheel
Figure BSA00000846957800142
K ∈ 0,1 ..., N-1}.According to above-mentioned (1)-(5) step analytical method, the round key of four-wheel before obtaining successively: (rk 0, rk 1, rk 2, rk 3)=(K 4, K 5, K 6, K 7).
According to the key schedule inverse operation of SM4 cryptographic algorithm,
K i = L &prime; ( &tau; ( K i + 1 &CirclePlus; K i + 2 &CirclePlus; K i + 3 &CirclePlus; CK i ) ) &CirclePlus; K i + 4 , ( MK 0 , MK 1 , MK 2 , MK 3 ) = ( K 0 &CirclePlus; FK 0 , K 1 &CirclePlus; FK 1 , K 2 &CirclePlus; FK 2 , F 3 &CirclePlus; FK 3 ) , Determine the key (MK of SM4 cryptographic algorithm cryptographic calculation 0, MK 1, MK 2, MK 3).
If the known encryption ciphertext is analyzed end 4 and taken turns cryptographic operation, analytical method and front 4 is taken turns roughly the same, is only selecting object of attack slightly different.
When supposing to carry out the computing of N group encryption, the ciphertext of k group is output as
Figure BSA00000846957800145
Order
Figure BSA00000846957800146
Be the wheel output of the SM4 cryptographic algorithm of i wheel, i is followed successively by 31,30, and 29,28.Analytical method to two kinds of Hamming distance models is: analytical method is taken turns at the HD model end 4 to S box output, and its analytical method and front 4 is taken turns identical.After the HD model conversation was the HW model, object of attack was the input and output XOR value of this S box of taking turns, as shown in Figure 3.Conjecture round key byte rk I, j, sCorresponding attack median and front 4 is taken turns in full accord.Obtain successively end 4 and take turns correct round key (rk 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32), by the key of key schedule inverse operation successful analysis acquisition SM4 cryptographic algorithm cryptographic calculation.
The last four-wheel analytical method of the HD model of round function input, its analytical method and front 4 is taken turns identical, and is only slightly different to attacking object choice.After the HD model conversation was the HW model, end 4 objects of attack of taking turns as shown in Figure 5.Conjecture round key byte rk I, j, sCorresponding attack median is:
v i , j , s k = ( L - 1 X i k ) j &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j , s )
= ( L - 1 X i + 4 k ) j &CirclePlus; &tau; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j , s ) &CirclePlus; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j , s ) ,
According to above-mentioned (1)-(5) step, obtain successively end 4 and take turns correct round key (rk 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32), according to the key of key schedule inverse operation successful analysis acquisition SM4 cryptographic algorithm cryptographic calculation.
For the decrypt operation of SM4 cryptographic algorithm, can use equally above-mentioned CPA analytical method to obtain decruption key.If known ciphertext is analyzed front 4 of SM4 cryptographic algorithm decrypt operation and taken turns, it is identical that analytical method and front 4 of analysis SM4 cryptographic algorithm cryptographic calculation are taken turns, and obtains successively round key (rk 31, rk 30, rk 29, rk 28), inverse operation obtains decruption key according to key schedule; If known-plaintext is analyzed the end 4 of SM4 cryptographic algorithm decrypt operation and taken turns, it is identical that take turns at attack method and the end 4 of analysis SM4 cryptographic algorithm cryptographic calculation, obtains successively round key (rk 0, rk 1, rk 2, rk 3), inverse operation obtains decruption key according to key schedule.
According to above-mentioned CPA analytical method, adopt respectively the HW model (being the HD model of S box) take S box input and output XOR value as object of attack and be output as the HW model of object of attack with the S box, the 1st of cryptographic calculation is taken turns analyze, known this wheel round key is 0x 85 23 5C E2.
Gather 1000 groups to the waveform of plain text encryption computing, it is the energy mark, as shown in Figure 8, totally 5000 time points, wherein, the sampled energy consumption relevant to the SM4 cryptographic calculation between 43 μ s-50 μ s, totally 408 of the time points corresponding with crypto-operation, sampled energy absorption matrix W (1000 * 408); Select the 1st XOR value of input and output of taking turns the S box as object of attack, set up the HW model; The 1st byte of conjecture round key obtains emulation energy absorption matrix H (1000 * 256); The coefficient correlation of Calculation Simulation energy consumption matrix H and sampling energy consumption matrix W obtains correlation matrix R, selects conjecture key byte corresponding to maximum in R as the 1st byte of round key; Analyze successively other 3 bytes of round key, obtain the 1st and take turns round key rk 1
Analysis result is as shown in table 1, when having listed respectively 4 round key bytes of conjecture, and the coefficient correlation of front 10 maximums and corresponding conjecture key byte thereof.Take turns for the 1st, correct coefficient correlation corresponding to conjecture key byte is far longer than the coefficient correlation corresponding to conjecture key byte of other 9 mistakes.
Table 1: the S box output HD model that cryptographic calculation the 1st is taken turns carries out the CPA analysis result
Figure BSA00000846957800161
Figure BSA00000846957800171
Equally, to the energy mark of Fig. 8, select the output of S box as object of attack, set up the HW model, take turns round key 0x 85 23 5C E2 according to above-mentioned steps analysis the 1st, analysis result sees Table 2.As known from Table 2, the coefficient correlation value difference of front 10 maximums is not small, adjacent both all less than 0.02, can't judicious round key, analyze and obtain wrong round key 0x 83 0,A50 82; And the coefficient correlation that in table 1, correct key is corresponding guesses that than other maximum correlation coefficient corresponding to keys is large at least 0.45, thereby is easy to distinguish correct round key.
Table 2: the S box output HW model that cryptographic calculation the 1st is taken turns carries out the CPA analysis result
Figure BSA00000846957800172
Figure BSA00000846957800181
In addition, Fig. 9, Figure 10 are respectively the coefficient correlation figure of corresponding all time points of correct round key byte when selecting two kinds of objects of attack to analyze.As shown in Figure 9, an obvious spike appears in coefficient correlation corresponding to sampled point, and this spike shows: when the round key conjecture is correct, with the correlation of the sampling energy consumption leak point time point much larger than other; And Figure 10 is without obvious spike, when the round key conjecture is correct, can't distinguish real energy consumption leak point, and coefficient correlation corresponding to all time points is much smaller than the kurtosis of Fig. 9.Therefore, be the input of S box and the conversion of output state when the energy of SM4 cryptographic algorithm computing consumes the leak point, adopt the side channel energy analytical method of the HD model of S box to be better than the side channel energy analytical method of the HW model of employing S box.
According to above-mentioned CPA analytical method, adopt take the input of S box and round function output XOR value as the HW model (being the HD model of round function) of object of attack and be output as the HW model of object of attack with round function, the 1st of cryptographic calculation is taken turns analyze.
A) gather 1000 groups of waveforms to the plain text encryption computing, as shown in figure 11, the sampled energy consumption relevant to the SM4 cryptographic calculation is selected this part time point corresponding with crypto-operation between 7 μ s-11.7 μ s, obtain sampled energy absorption matrix W; Select the 1st XOR value of taking turns the input of S box and round function output as object of attack, set up the HW model; The 1st byte of conjecture round key obtains emulation energy absorption matrix H; The coefficient correlation of Calculation Simulation energy consumption matrix H and sampling energy consumption matrix W obtains correlation matrix R, selects conjecture key byte corresponding to maximum in R as the 1st byte of round key; Analyze successively other 3 bytes of round key, obtain the 1st and take turns round key rk 1Analysis result is as shown in table 3, has enumerated when analyzing each round key byte the coefficient correlation of front 10 maximums and corresponding conjecture key byte thereof.For the 1st round key conjecture of taking turns, correct coefficient correlation corresponding to conjecture key byte is far longer than the coefficient correlation corresponding to conjecture key byte of other 9 mistakes.
Table 3: the round function output HD model that cryptographic calculation the 1st is taken turns carries out the CPA analysis result
Figure BSA00000846957800191
Figure BSA00000846957800201
Equally, to the energy mark of Figure 11, select the output of round function as object of attack, set up the HW model, take turns round key 0x 85 23 5C E2 according to above-mentioned steps analysis the 1st, analysis result sees Table 4.As known from Table 4, the coefficient correlation value difference of front 10 maximums is not atomic little, and adjacent both difference is all less than 0.015, thereby can't judicious round key, analyzes and obtains wrong round key 0x CB AC 38 55; And more corresponding than other conjecture keys at least maximum correlation coefficient of the coefficient correlation that in table 3, correct key is corresponding is large 0.4, thereby is easy to distinguish correct round key.
Table 4: the round function output HW model that cryptographic calculation the 1st is taken turns carries out the CPA analysis result
Figure BSA00000846957800211
Figure BSA00000846957800221
In addition, Figure 12, Figure 13 are respectively the coefficient correlation figure of corresponding all time points of correct round key byte when selecting two kinds of objects of attack to analyze.As shown in Figure 12, an obvious spike appears in the corresponding coefficient correlation of sampled point, and this spike shows: when the round key conjecture is correct, with the correlation of the sampling energy consumption leak point time point much larger than other; And Figure 13 is without obvious spike, when the round key conjecture is correct, can't distinguish real energy consumption leak point, and coefficient correlation corresponding to all time points is much smaller than the kurtosis of Figure 12.Therefore, be the input of S box and the conversion of round function output state when the energy of SM4 cryptographic algorithm computing consumes the leak point, adopt the side channel energy analytical method of the HD model of round function to be better than the side channel energy analytical method of the HW model of employing round function.
It is consistent that DPA analyzes the operation of analyzing in collecting energy mark, selection object of attack with CPA.The principle of analyzing according to above-mentioned DPA, in conjunction with to SM4 cryptographic algorithm construction analysis, the present invention is as follows to the concrete grammar that the S box of SM4 cryptographic algorithm carries out the DPA analysis:
For the cryptographic calculation of SM4 cryptographic algorithm, if expressly, analyzing front 4 of cryptographic algorithm, known encryption takes turns.Suppose to carry out N group cryptographic calculation expressly, make k that group expressly is input as
Figure BSA00000846957800222
K ∈ 0 ..., and N-1}, the wheel of i wheel is input as
Figure BSA00000846957800223
I is followed successively by 0,1, and 2,3.
(a) collecting energy mark.Expressly be encrypted computing to every group, gather the energy expenditure information (energy mark) of Measuring Time point correspondence, set up sampled energy absorption matrix W (N * T).
(b) choose object of attack, determine the DPA choice function.Object of attack in the DPA analytical method is chosen with the CPA method in full accord.To the HD model of S box output, as shown in Figure 3, i wheel object of attack with the XOR value of S box input and output as a kind of novel object of attack.When carrying out the i wheel cryptographic calculation of k group plaintext input, the object of attack of j byte v i , j k = ( X i + 1 k &CirclePlus; X i + 2 k &CirclePlus; X i + 3 k ) j &CirclePlus; &tau; ( ( X i + 1 k &CirclePlus; X i + 2 k &CirclePlus; X i + 3 k ) j &CirclePlus; rk i , j ) The Hamming weight desired value
Figure BSA00000846957800232
The definition choice function with expressly, the conjecture key is as parameter: D ( X k , j , rk i , j ) = 1 HW ( v i , j k ) < 4 0 HW ( v i , j k ) > 4 ; To the HD model of round function output, as shown in Figure 4, i wheel object of attack with the XOR value of the input of S box and round function output as a kind of novel object of attack v i , j k = X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j &CirclePlus; L - 1 ( X i k ) j &CirclePlus; &tau; ( X i + 1 , j k &CirclePlus; X i + 2 , j k &CirclePlus; X i + 3 , j k &CirclePlus; rk i , j ) . In like manner, the definition choice function with expressly, the conjecture key is as parameter, D ( X k , j , rk i , j ) = 1 HW ( v i , j k ) < 4 0 HW ( v i , j k ) > 4 .
(c) the conjecture round key, be divided into two subsets with average energy consumption.After determining object of attack and choice function, guess successively i wheel round key byte rk1 I, j, rk I, jThe conjecture value be respectively rk I, j, s=s, s ∈ 0 ..., 255}.Respectively the HD model of S box output and the HD model of round function output are calculated choice function: for 256 conjecture key rk I, j, s, carry out respectively the cryptographic calculation that i takes turns, obtain 256 corresponding medians of attacking, with rk I, j, sSubstitution obtains corresponding choice function D (X k, j, rk I, j, s).Successively the N group expressly is encrypted computing, conjecture round key byte rk I, j, sCorresponding choice function D (X k, j, rk I, j, s)=1 o'clock, total number
Figure BSA00000846957800236
rk I, j, sCorresponding choice function D (X k, j, rk I, j, s)=0 o'clock, total number
Figure BSA00000846957800241
For two kinds of different HD models, respectively according to choice function, for time point t in the energy mark, obtain two total power consumption averages of this point: With,
Figure BSA00000846957800243
Wherein, For using conjecture round key byte rk I, j, sCarry out the operation of N group encryption, D (X k, j, rk I, j, s)=0 o'clock, the n of corresponding time point t 0The group energy consumes mean value;
Figure BSA00000846957800245
For selecting D (X k, j, rk I, j, s)=1 o'clock, the n of corresponding time point t 1The group energy consumes mean value, n 0+ n 1=N.All time points are asked the energy consumption average, obtain two energy consumption matrix D 0(256 * T) and D 1(256 * T), be respectively: D 0 ( 256 &times; T ) = d 0 i , j , 0 0 . . . d 0 i , j , 0 T - 1 . . . d 0 i , j , s t . . . d 0 i , j , 255 0 . . . d 0 i , j , 255 T - 1 With,
D 1 ( 256 &times; T ) = d 1 i , j , 0 0 . . . d 1 i , j , 0 T - 1 . . . d 1 i , j , s t . . . d 1 i , j , 255 0 . . . d 1 i , j , 255 T - 1 .
(d) calculate two average energy consumption subset difference, obtain correct conjecture key.Calculate average energy consumption matrix D 0(256 * T) and D 1(256 * T) poor, obtain matrix Δ D=D 1-D 0
If rk I, j, sThe conjecture mistake, for the N group cryptographic calculation of input expressly, choice function is that 0 and 1 probability respectively is about
Figure BSA00000846957800248
The corresponding poor increase convergence 0 along with N of average energy consumption; If rk I, j, sConjecture is correct, and for the N group cryptographic calculation of input expressly, choice function is that 0 or 1 probability should be 1, and the corresponding poor increase along with N of average energy consumption trends towards the actual influence of energy consumption.Select the maximum equal value difference of energy consumption
Figure BSA00000846957800249
Figure BSA000008469578002410
Corresponding conjecture round key byte rk I, j, mBe correct key byte, namely obtain j byte of correct i wheel round key.In like manner, according to above-mentioned (a)-(b) step, can obtain respectively other 3 key bytes of round key, thereby obtain the correct round key rk of i wheel i
After i wheel crypto-operation is carried out DPA analysis end, obtain correct round key rk i, use round key rk iCarry out i wheel cryptographic calculation, obtain the N group wheel output of i wheel, i.e. the wheel input of i+1 wheel
Figure BSA00000846957800251
K ∈ 0,1 ..., N-1}.According to above-mentioned (a)-(b) step analytical method, the round key of four-wheel before obtaining successively: (rk 0, rk 1, rk 2, rk 3)=(K 4, K 5, K 6, K 7).
By the inverse operation of cryptographic algorithm cipher key spreading, obtain the key (MK of SM4 cryptographic algorithm cryptographic calculation 0, MK 1, MK 2, MK 3).
If the known encryption ciphertext is analyzed the end 4 of SM4 cryptographic algorithm and taken turns cryptographic operation, the selection of object of attack and CPA end 4 are taken turns in full accord.
When supposing to carry out the computing of N group encryption, the ciphertext of k group is output as Y k = ( Y 0 k , Y 1 k , Y 2 k , Y 3 k ) = ( X 35 k , X 34 k , X 33 k , X 32 k ) , Order
Figure BSA00000846957800253
Be the SM4 cryptographic algorithm wheel output of i wheel, i is followed successively by 31,30, and 29,28.As shown in Figure 3, the object of attack of the HD model of S box output and CPA end 4 are taken turns consistent, be the input and output XOR value of S box; As shown in Figure 4, the object of attack of the HD model of round function input and CPA end 4 being taken turns consistent, is the XOR value that the input of S box and round function are inputted.According to the above-mentioned the 1st)-4) analytical method in step, obtain successively the end and 4 take turns correct round key (rk 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32), obtain the key of SM4 cryptographic algorithm cryptographic calculation according to key schedule inverse operation successful analysis.
For the decrypt operation of SM4 cryptographic algorithm, can use equally above-mentioned DPA analytical method to obtain decruption key.If known ciphertext is analyzed front 4 of SM4 cryptographic algorithm decrypt operation and taken turns, it is identical that analytical method and front 4 of analysis SM4 cryptographic algorithm cryptographic calculation are taken turns, and obtains successively round key (rk 31, rk 30, rk 29, rk 28), inverse operation obtains decruption key according to key schedule; In like manner, if known-plaintext is analyzed the end 4 of SM4 cryptographic algorithm decrypt operation and taken turns, it is identical that take turns at attack method and the end 4 of analysis SM4 cryptographic algorithm cryptographic calculation, obtains successively round key (rk 0, rk 1, rk 2, rk 3), inverse operation obtains decruption key according to key schedule.
Technique scheme has only embodied the optimal technical scheme of technical solution of the present invention, and some changes that those skilled in the art may make some part have wherein all embodied principle of the present invention, within belonging to protection scope of the present invention.

Claims (10)

1. be input as the Hamming distance model on basis in the application of SM4 cryptographic algorithm side channel energy analysis with the S box, it is characterized in that, carry out in SM4 cryptographic algorithm side channel energy analytic process, select S box or round function to set up the Hamming distance model as the point of attack, with the input of the S box front and continued state v as the Hamming distance model 1
2. the Hamming distance model on basis that is input as with the S box according to claim 1 in the application of SM4 cryptographic algorithm side channel energy analysis, is characterized in that, when the S box is attacked, and Hamming distance (HD (v 1, v 2)) the follow-up state v of model 2The output of S box; When round function is attacked, Hamming distance (HD (v 1, v 2)) the follow-up state v of model 2It is the round function input/output.
3. the Hamming distance model on basis that is input as with the S box according to claim 2 in the application of SM4 cryptographic algorithm side channel energy analysis, is characterized in that, before the S box is exported/and the Hamming distance (HD (v that attacks employing is taken turns at end 4 1, v 2)) model is equivalent to S box input and the attack of output XOR value as Hamming weight (HW) model of the point of attack; To before round function/Hamming distance (HD (v that attacks employing 4 is taken turns in the end 1, v 2)) model is equivalent to the attack as Hamming weight (HW) model of the point of attack of the XOR value of S box input and round function input/output.
4. according to claim 1, the 2 or 3 described Hamming distance models on basis that are input as with the S box are in the application of SM4 cryptographic algorithm side channel energy analysis, it is characterized in that, be input as the Hamming distance model on basis with the S box for the CPA/DPA side channel energy analysis to the SM4 cryptographic algorithm.
5. the Hamming distance model on basis that is input as with the S box according to claim 4 is in the application of SM4 cryptographic algorithm side channel energy analysis, it is characterized in that, the Hamming distance model that is input as the basis with the S box is as follows to the CPA side channel energy analytical procedure of SM4 cryptographic algorithm:
(1) collecting energy mark specifically carries out every group of plain/cipher text and is encrypted/decrypt operation, gathers energy expenditure information corresponding to Measuring Time point, is the energy mark, sets up the sampled energy absorption matrix;
(2) choosing object of attack is S box or round function, determines the Hamming distance attack model;
(3) determine object of attack and model after, the conjecture round key calculates the median of wheel computing and determines the median matrix;
(4) in utilization, median and the median matrix in step are mapped as emulation energy consumption values and emulation energy absorption matrix;
(5) linearly dependent coefficient of Calculation Simulation energy absorption matrix and sampled energy absorption matrix obtains correct conjecture key.
6. the Hamming distance model on basis that is input as with the S box according to claim 5 is in the application of SM4 cryptographic algorithm side channel energy analysis, it is characterized in that, the concrete grammar that utilizes CPA to carry out step (3) is: (k ∈ { 0 as input k, ..., N-1}) the bright ciphertext I/O of group plaintext is
Figure DEST_PATH_FSB00001053787800021
Or
Figure DEST_PATH_FSB00001053787800022
The time, conjecture i wheel round key
Figure DEST_PATH_FSB00001053787800023
In byte
Figure DEST_PATH_FSB00001053787800024
rk I, jThe conjecture value be respectively rk I, j, s=s, s ∈ 0 ..., 255}, before selecting the output of S box/when end 4 is taken turns and is attacked, conjecture round key byte rk I, j, sCorresponding median is,
Figure DEST_PATH_FSB00001053787800025
Wherein,
Figure DEST_PATH_FSB00001053787800026
For carrying out the computing of k group plain/cipher text i wheel encrypt/decrypt, guess j key byte corresponding median when being s,
Figure DEST_PATH_FSB00001053787800027
Difference X I+1, j, X I+2, j, X I+3, jBe the intermediate operations value J the known constant of byte; Select round function output front 4 to take turns or end 4 when taking turns the attack of carrying out, guess round key byte rk I, j, sCorresponding median
Figure DEST_PATH_FSB00001053787800029
Be respectively
Figure DEST_PATH_FSB000010537878000210
With
Figure DEST_PATH_FSB000010537878000211
Wherein, L -1(x) jFor
Figure DEST_PATH_FSB000010537878000212
Carry out L -1J byte after displacement,
Figure DEST_PATH_FSB000010537878000213
When bright/the ciphertext of N group is carried out the enciphering/deciphering operation, calculate successively 256 conjecture round key byte rk I, j, sCorresponding median is determined the median matrix
Figure DEST_PATH_FSB00001053787800031
The concrete grammar that utilizes CPA to carry out step (4) is: the emulation energy consumption of median mapping of (3) step is:
Figure DEST_PATH_FSB00001053787800032
I.e. expressly emulation energy consumption corresponding to s conjecture key byte of j byte of i wheel of k group, HW (x) is 1 number for bit place value in x, and N group plain/cipher text is encrypted/decryption oprerations, determines round key byte rk I, j, sCorresponding emulation energy absorption matrix is:
Figure DEST_PATH_FSB00001053787800033
7. be input as the Hamming distance model on basis in the application of SM4 cryptographic algorithm side channel energy analysis with the S box according to claim 5, it is characterized in that, the concrete grammar that utilizes CPA to carry out step (5) is: to the sampled energy absorption matrix of step (1) And the emulation energy absorption matrix H of step (4) calculates respectively the correlation coefficient ρ of both s row and t row S, t:
Figure DEST_PATH_FSB00001053787800035
Wherein, Be expressed as k plain/cipher text, sampled energy consumption figures that a t time point is corresponding, T is the time point number in the energy mark,
Figure DEST_PATH_FSB00001053787800037
Be the mean value of matrix H s row,
Figure DEST_PATH_FSB00001053787800038
Be the mean value of matrix W t row, ρ S, tRepresent s emulation energy corresponding to conjecture key consume with t time point sampled energy consumption between linearly dependent coefficient, r S, tBe the approximate calculation value of this coefficient correlation, calculate the coefficient correlation between all row row, the correlation matrix that obtains the consumption of emulation energy and sampled energy consumption is
Figure DEST_PATH_FSB00001053787800041
Choose the maximum r in R M, n=max (r S, t), r M, nCorresponding conjecture key rk I, j, mBe correct conjecture round key byte, namely obtain correct j byte rk of i wheel round key I, jRepeat (1)-(5) step, can obtain respectively other 3 key bytes of round key, thereby obtain the correct round key rk of i wheel i, take turns for front 4, use round key rk iCarry out i wheel crypto-operation, obtain the N group wheel output of i wheel, i.e. the wheel input of i+1 wheel Obtain successively the front 4 encryption round key (rk that take turns 0, rk 1, rk 2, rk 3)=(K 4, K 5, K 6, K 7) or decryption round key (rk 0, rk 1, rk 2, rk 3)=(K 35, K 34, K 33, K 32); Take turns for rear 4, use round key rk iCarry out i wheel crypto-operation, obtain the wheel output of i-1 wheel
Figure DEST_PATH_FSB00001053787800043
4 encryption round key (the rk that take turns after obtaining successively 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32) or decryption round key (rk 31, rk 30, rk 29, rk 28)=(K 4, K 5, K 6, K 7); Inverse operation obtains the enciphering/deciphering key according to key schedule.
8. the Hamming distance model on basis that is input as with the S box according to claim 4 is in the application of SM4 cryptographic algorithm side channel energy analysis, it is characterized in that, the Hamming distance model that is input as the basis with the S box is as follows to the DPA side channel energy analytical procedure of SM4 cryptographic algorithm:
(a) collecting energy mark specifically carries out every group of plain/cipher text and is encrypted/decrypt operation, gathers energy expenditure information corresponding to Measuring Time point, is the energy mark, sets up the sampled energy absorption matrix;
(b) choosing object of attack is S box or round function, determines the DPA choice function; Known i wheel round key j (j ∈ 0,1,2,3}) individual byte rk I, jCorresponding object of attack
Figure DEST_PATH_FSB00001053787800044
With plain/cipher text and conjecture key byte rk I, jAs parameter, and desired value
Figure DEST_PATH_FSB00001053787800045
Here the choice function of definition is
(c) conjecture round key is divided into two average energy mouse collection matrixes with average energy consumption;
(d) two average energy mouse collection that obtain according to (c) step ask poor, determine correct conjecture key.
9. be input as the Hamming distance model on basis in the application of SM4 cryptographic algorithm side channel energy analysis with the S box according to claim 8, it is characterized in that, the concrete grammar that utilizes DPA to carry out step (c) is: the input of known k group plain/cipher text
Figure DEST_PATH_FSB00001053787800051
Or ciphertext/plaintext output
Figure DEST_PATH_FSB00001053787800052
The time, conjecture i wheel round key rk iIn byte rk I, j, rk I, jThe conjecture value be respectively rk I, j, s=s, s ∈ 0 ..., 255}, conjecture round key byte rk I, j, sCorresponding choice function D (X k, j, rk I, j, s)=1 o'clock, total number
Figure DEST_PATH_FSB00001053787800053
rk I, j, sCorresponding choice function D (X k, j, rk I, j, s)=0 o'clock, total number
Figure DEST_PATH_FSB00001053787800054
For time point t in the energy mark, obtain the total power consumption average of two of this points: With Wherein,
Figure DEST_PATH_FSB00001053787800057
For using conjecture round key byte rk I, j, sWhen carrying out N group encryption/decryption oprerations, choice function equals the n of 0 corresponding time point t 0The group energy consumes mean value;
Figure DEST_PATH_FSB00001053787800058
Equal the n of 1 corresponding time point t by choice function 1The group energy consumes mean value, n 0+ n 1=N asks the energy consumption average by following formula to all time points, obtains two energy consumption matrix D 0(256 * T) and D 1(256 * T), be respectively:
Figure DEST_PATH_FSB00001053787800059
With
Figure DEST_PATH_FSB000010537878000510
The concrete grammar that utilizes DPA to carry out step (d) is: the average energy consumption matrix D that calculation procedure (c) obtains 0(256 * T) and D 1(256 * T) poor matrix Δ D=D 1-D 0, select the maximum equal value difference of energy consumption
Figure DEST_PATH_FSB00001053787800061
Figure DEST_PATH_FSB00001053787800062
Corresponding conjecture round key byte rk I, j, mBe correct key byte, namely obtain j byte of correct i wheel round key, repeat (a)-(d) step, can obtain respectively other 3 key bytes of round key, thereby obtain the correct round key rk of i wheel i, take turns for front 4, use round key rk iCarry out i wheel crypto-operation, obtain the N group wheel output of i wheel, i.e. the wheel input of i+1 wheel
Figure DEST_PATH_FSB00001053787800063
Obtain successively the front 4 encryption round key (rk that take turns 0, rk 1, rk 2, rk 3)=(K 4, K 5, K 6, K 7) or decryption round key (rk 0, rk 1, rk 2, rk 3)=(K 35, K 34, K 33, K 32); Take turns for rear 4, use round key rk iCarry out i wheel crypto-operation, obtain the wheel output of i-1 wheel 4 encryption round key (the rk that take turns after obtaining successively 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32) or decryption round key (rk 31, rk 30, rk 29, rk 28)=(K 4, K 5, K 6, K 7); Inverse operation obtains the enciphering/deciphering key according to key schedule.
10. the according to claim 5 or 8 described Hamming distance models on basis that are input as with the S box are in the application of SM4 cryptographic algorithm side channel energy analysis, it is characterized in that, when choosing object of attack, before selecting the output of S box/Hamming distance (HD (v that attacks employing is taken turns at end 4 1, v 2)) the front and continued state v of model 1The input of S box, follow-up state v 2Be S box output, it is equivalent to the XOR value exported with the input of S box and S box as the attack of Hamming weight (HW) model of object of attack, namely
Figure DEST_PATH_FSB00001053787800065
Before selecting round function/Hamming distance (HD (v of the attack employing of carrying out is taken turns at end 4 1, v 2)) the front and continued state v of model 1The input of S box, follow-up state v 2Be the round function input/output, it is equivalent to the input of S box and adopts the attack of Hamming weight (HW) model as object of attack with the XOR value of taking turns input/output, namely
Figure DEST_PATH_FSB00001053787800066
Or
Figure DEST_PATH_FSB00001053787800067
Here The wheel input of i wheel,
Figure DEST_PATH_FSB00001053787800069
Be the wheel output of i wheel, i is followed successively by 0,1, and 2,3 or 31,30,29,28.
CN201310027794.6A 2013-01-25 2013-01-25 The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method Active CN103138917B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310027794.6A CN103138917B (en) 2013-01-25 2013-01-25 The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310027794.6A CN103138917B (en) 2013-01-25 2013-01-25 The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method

Publications (2)

Publication Number Publication Date
CN103138917A true CN103138917A (en) 2013-06-05
CN103138917B CN103138917B (en) 2016-03-09

Family

ID=48498277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310027794.6A Active CN103138917B (en) 2013-01-25 2013-01-25 The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method

Country Status (1)

Country Link
CN (1) CN103138917B (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457719A (en) * 2013-07-23 2013-12-18 国家密码管理局商用密码检测中心 Side channel energy analysis method for SM3 cryptographic algorithm HMAC mode
CN103647637A (en) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 Second-order side channel energy analysis method for SM4 algorithm of simple mask
CN103825722A (en) * 2013-11-19 2014-05-28 国家密码管理局商用密码检测中心 Second order side channel energy analysis method for SM4 cipher algorithm
CN103873229A (en) * 2014-03-13 2014-06-18 华南师范大学 Rapid protection method for resisting timing and cache side channel attack under KLEIN encryption AVR environment
CN104052590A (en) * 2014-05-05 2014-09-17 清华大学 Frequency-domain analysis method based on side channel correlation energy analysis
CN104202145A (en) * 2014-09-04 2014-12-10 成都信息工程学院 Plaintext or ciphertext selection based side channel power analysis attack method on round function output of SM4 cipher algorithm
CN104601319A (en) * 2013-10-31 2015-05-06 上海复旦微电子集团股份有限公司 Data encrypting method and device
CN104734842A (en) * 2015-03-13 2015-06-24 上海交通大学 Resisting method of circuit on side channel attack based on pseudo-operation
CN104734845A (en) * 2015-03-25 2015-06-24 上海交通大学 Side-channel attack protection method based on full-encryption algorithm pseudo-operation
CN104753668A (en) * 2015-03-19 2015-07-01 成都信息工程学院 Side channel energy attack method aiming at SM4 password linear transformation output
CN104753665A (en) * 2015-03-19 2015-07-01 成都信息工程学院 Side channel energy attack method aiming at SM4 password round function output
CN104852795A (en) * 2015-05-05 2015-08-19 国家密码管理局商用密码检测中心 ZUC sequential cryptographic algorithm mask protection method for Boolean masks as round numbers
CN104868990A (en) * 2015-04-15 2015-08-26 成都信息工程学院 Template attack method in allusion to SM4 cipher algorithm round output
CN104967509A (en) * 2015-05-05 2015-10-07 国家密码管理局商用密码检测中心 ZUC sequence cipher algorithm mask protection method of which the round output is arithmetic mask
CN105187364A (en) * 2014-03-19 2015-12-23 恩智浦有限公司 Protecting A White-box Implementation Against Attacks
CN105591739A (en) * 2016-03-08 2016-05-18 中国人民解放军军械工程学院 Secret key analysis method based on optical Hamming weight
CN105812121A (en) * 2016-03-08 2016-07-27 中国人民解放军军械工程学院 Highly-stylized key efficient analysis method
CN105812122A (en) * 2016-03-08 2016-07-27 中国人民解放军军械工程学院 Method for establishing correlativity of Hamming weight and optical radiation of cipher chip
CN105897400A (en) * 2016-06-20 2016-08-24 北京华大信安科技有限公司 Masking method and device for SM4 algorithm
CN106027226A (en) * 2016-05-13 2016-10-12 西安电子科技大学 Searching method for impossible differential path of related key of block cipher
CN107508678A (en) * 2017-10-13 2017-12-22 成都信息工程大学 The side-channel attack method of RSA masks defence algorithm based on machine learning
CN108155984A (en) * 2017-12-29 2018-06-12 北京理工大学 A kind of cryptographic algorithm cluster reverse engineering analysis method based on energy spectrometer
CN109995502A (en) * 2017-12-31 2019-07-09 国民技术股份有限公司 A kind of side Multiple Channel Analysis method and device, terminal and computer readable storage medium
CN115276962A (en) * 2022-09-29 2022-11-01 中安网脉(北京)技术股份有限公司 USB KEY centralized storage management system and method based on RFID technology
CN115664641A (en) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 Method and device for verifying round key in encryption algorithm

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090092245A1 (en) * 2006-03-31 2009-04-09 Axalto Sa Protection Against Side Channel Attacks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090092245A1 (en) * 2006-03-31 2009-04-09 Axalto Sa Protection Against Side Channel Attacks

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
DENG GAOMING: "Adaptive Analysis with HD Model on XOR operation in Ciper Chips", 《IEEE COMPUTER SOCIETY》 *
XUEFEI BAI ETC.: "Differential Power Analysis Attack on SMS4 Block Ciper", 《CIRCUITS AND SYSTEMS FOR COMMUNICATIONS 2008.ICCSC 2008.4TH IEEE INTERNATIONAL CONFERENCE ON》 *
何斌等: "基于汉明距离的相关能量侧信道分析方法研究", 《第二届全国信息与电子工程学术交流会暨第十三届四川省电子学会曙光分会学术年会论文集》 *
张蕾等: "SMS4密码算法的差分故障攻击", 《计算机学报》 *
李浪等: "一种SMS4加密算法差分功耗攻击", 《计算机科学》 *
李浪等: "一种SMS4加密算法差分功耗攻击", 《计算机科学》, vol. 37, no. 7, 31 July 2010 (2010-07-31) *
沈薇: "SMS4算法的能量分析攻击及其防御研究", 《信息科技辑》 *

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457719A (en) * 2013-07-23 2013-12-18 国家密码管理局商用密码检测中心 Side channel energy analysis method for SM3 cryptographic algorithm HMAC mode
CN103457719B (en) * 2013-07-23 2016-06-08 国家密码管理局商用密码检测中心 A kind of side channel energy to SM3 cryptographic algorithm HMAC pattern analyzes method
CN104601319A (en) * 2013-10-31 2015-05-06 上海复旦微电子集团股份有限公司 Data encrypting method and device
CN104601319B (en) * 2013-10-31 2017-12-15 上海复旦微电子集团股份有限公司 A kind of data ciphering method and device
CN103647637A (en) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 Second-order side channel energy analysis method for SM4 algorithm of simple mask
CN103825722A (en) * 2013-11-19 2014-05-28 国家密码管理局商用密码检测中心 Second order side channel energy analysis method for SM4 cipher algorithm
CN103647637B (en) * 2013-11-19 2017-01-04 国家密码管理局商用密码检测中心 A kind of SM4 algorithm to simple mask carries out second order side channel energy and analyzes method
CN103825722B (en) * 2013-11-19 2017-02-15 国家密码管理局商用密码检测中心 Second order side channel energy analysis method for SM4 cipher algorithm
CN103873229A (en) * 2014-03-13 2014-06-18 华南师范大学 Rapid protection method for resisting timing and cache side channel attack under KLEIN encryption AVR environment
CN103873229B (en) * 2014-03-13 2017-01-11 华南师范大学 Rapid protection method for resisting timing and cache side channel attack under KLEIN encryption AVR environment
CN105187364A (en) * 2014-03-19 2015-12-23 恩智浦有限公司 Protecting A White-box Implementation Against Attacks
CN104052590A (en) * 2014-05-05 2014-09-17 清华大学 Frequency-domain analysis method based on side channel correlation energy analysis
CN104052590B (en) * 2014-05-05 2017-06-16 清华大学 Frequency-domain analysis method based on side channel correlation energy analysis
CN104202145A (en) * 2014-09-04 2014-12-10 成都信息工程学院 Plaintext or ciphertext selection based side channel power analysis attack method on round function output of SM4 cipher algorithm
CN104202145B (en) * 2014-09-04 2018-07-03 成都信息工程学院 For the method for the selection plaintext or cipher text side channel energy analytical attack of SM4 cryptographic algorithms round function output
CN104734842A (en) * 2015-03-13 2015-06-24 上海交通大学 Resisting method of circuit on side channel attack based on pseudo-operation
CN104734842B (en) * 2015-03-13 2018-06-08 上海交通大学 Method is resisted in circuits bypass attack based on pseudo-operation
CN104753668B (en) * 2015-03-19 2018-04-13 成都信息工程学院 A kind of side channel energy attack method for SM4 passwords linear transformation output
CN104753665B (en) * 2015-03-19 2018-04-06 成都信息工程学院 A kind of side channel energy attack method for the output of SM4 passwords round function
CN104753665A (en) * 2015-03-19 2015-07-01 成都信息工程学院 Side channel energy attack method aiming at SM4 password round function output
CN104753668A (en) * 2015-03-19 2015-07-01 成都信息工程学院 Side channel energy attack method aiming at SM4 password linear transformation output
CN104734845B (en) * 2015-03-25 2018-11-23 上海交通大学 Bypass attack means of defence based on full Encryption Algorithm pseudo-operation
CN104734845A (en) * 2015-03-25 2015-06-24 上海交通大学 Side-channel attack protection method based on full-encryption algorithm pseudo-operation
CN104868990B (en) * 2015-04-15 2018-04-06 成都信息工程学院 A kind of template attack method for the output of SM4 cryptographic algorithms wheel
CN104868990A (en) * 2015-04-15 2015-08-26 成都信息工程学院 Template attack method in allusion to SM4 cipher algorithm round output
CN104852795A (en) * 2015-05-05 2015-08-19 国家密码管理局商用密码检测中心 ZUC sequential cryptographic algorithm mask protection method for Boolean masks as round numbers
CN104967509B (en) * 2015-05-05 2018-05-18 国家密码管理局商用密码检测中心 It is a kind of to take turns ZUC stream cipher algorithm mask means of defence of the output for arithmetic mask
CN104852795B (en) * 2015-05-05 2018-03-30 国家密码管理局商用密码检测中心 It is a kind of to take turns ZUC stream cipher algorithm mask means of defence of the output for boolean's mask
CN104967509A (en) * 2015-05-05 2015-10-07 国家密码管理局商用密码检测中心 ZUC sequence cipher algorithm mask protection method of which the round output is arithmetic mask
CN105812121B (en) * 2016-03-08 2018-10-12 中国人民解放军军械工程学院 A kind of highly stylized key efficient analysis method
CN105591739B (en) * 2016-03-08 2018-07-31 中国人民解放军军械工程学院 A kind of key distribution method based on light Hamming weight
CN105812122A (en) * 2016-03-08 2016-07-27 中国人民解放军军械工程学院 Method for establishing correlativity of Hamming weight and optical radiation of cipher chip
CN105812121A (en) * 2016-03-08 2016-07-27 中国人民解放军军械工程学院 Highly-stylized key efficient analysis method
CN105812122B (en) * 2016-03-08 2018-10-12 中国人民解放军军械工程学院 The method for establishing crypto chip Hamming weight and light radiation correlativity
CN105591739A (en) * 2016-03-08 2016-05-18 中国人民解放军军械工程学院 Secret key analysis method based on optical Hamming weight
CN106027226A (en) * 2016-05-13 2016-10-12 西安电子科技大学 Searching method for impossible differential path of related key of block cipher
CN106027226B (en) * 2016-05-13 2019-03-15 西安电子科技大学 A kind of searching method in block cipher association key impossible differential path
CN105897400A (en) * 2016-06-20 2016-08-24 北京华大信安科技有限公司 Masking method and device for SM4 algorithm
CN107508678A (en) * 2017-10-13 2017-12-22 成都信息工程大学 The side-channel attack method of RSA masks defence algorithm based on machine learning
CN107508678B (en) * 2017-10-13 2020-08-04 成都信息工程大学 Side channel attack method of RSA mask defense algorithm based on machine learning
CN108155984A (en) * 2017-12-29 2018-06-12 北京理工大学 A kind of cryptographic algorithm cluster reverse engineering analysis method based on energy spectrometer
CN108155984B (en) * 2017-12-29 2020-10-02 北京理工大学 Reverse engineering analysis method for cryptographic algorithm cluster based on energy analysis
CN109995502A (en) * 2017-12-31 2019-07-09 国民技术股份有限公司 A kind of side Multiple Channel Analysis method and device, terminal and computer readable storage medium
CN115276962A (en) * 2022-09-29 2022-11-01 中安网脉(北京)技术股份有限公司 USB KEY centralized storage management system and method based on RFID technology
CN115276962B (en) * 2022-09-29 2023-01-03 中安网脉(北京)技术股份有限公司 USB KEY centralized storage management system and method based on RFID technology
CN115664641A (en) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 Method and device for verifying round key in encryption algorithm

Also Published As

Publication number Publication date
CN103138917B (en) 2016-03-09

Similar Documents

Publication Publication Date Title
CN103138917B (en) The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method
CN103166752B (en) Round function is selected to be the application that object of attack carries out the channel energy analysis of SM4 cryptographic algorithm side
CN103227717A (en) Application of selecting round key XOR input to perform side-channel power analysis of SM4 cryptographic algorithm
CN103457719B (en) A kind of side channel energy to SM3 cryptographic algorithm HMAC pattern analyzes method
CN103825722B (en) Second order side channel energy analysis method for SM4 cipher algorithm
CN103647637B (en) A kind of SM4 algorithm to simple mask carries out second order side channel energy and analyzes method
CN103199983B (en) N rank local energy model in the channel energy analysis of side and application thereof
CN105553638A (en) Second-order frequency domain power analysis attack method for SM4 first-order mask algorithm
CN104796250B (en) The side-channel attack method realized for rsa cryptosystem algorithm M-ary
CN103530474A (en) AES (advanced encryption standard) algorithm circuit oriented method for testing differential power attack
CN101009554A (en) A byte replacement circuit for power consumption attack prevention
CN104052590A (en) Frequency-domain analysis method based on side channel correlation energy analysis
CN103679008A (en) Efficient secure chip power consumption attack test method
Duan et al. Differential power analysis attack and efficient countermeasures on PRESENT
CN103916236A (en) Power attack prevention method oriented at AES algorithm and circuit achieving method thereof
CN103905182A (en) Anti-attack method based on middle data storage position dynamic change and circuit implementation
CN104811297B (en) Modular multiplication remainder input side-channel attack is realized for the M-ary of RSA
CN104780051A (en) Side channel attack method for SM2 public key cryptography encryption algorithm
CN104967509B (en) It is a kind of to take turns ZUC stream cipher algorithm mask means of defence of the output for arithmetic mask
Gui et al. Security vulnerabilities of smart meters in smart grid
CN104811295A (en) Side channel energy analysis method for ZUC cryptographic algorithm with mask protection
CN103888245A (en) S box randomized method and system for smart card
CN111030820B (en) Mask SM4 algorithm-based method for selecting plaintext related collision attack
CN103546277B (en) The DPA of a kind of smart card SM4 algorithm attacks and key recovery method and system
CN105530091A (en) Decryption method for TTS signature

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant