CN103138917B - The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method - Google Patents

The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method Download PDF

Info

Publication number
CN103138917B
CN103138917B CN201310027794.6A CN201310027794A CN103138917B CN 103138917 B CN103138917 B CN 103138917B CN 201310027794 A CN201310027794 A CN 201310027794A CN 103138917 B CN103138917 B CN 103138917B
Authority
CN
China
Prior art keywords
circleplus
key
input
energy
conjecture
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
CN201310027794.6A
Other languages
Chinese (zh)
Other versions
CN103138917A (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

Landscapes

  • Complex Calculations (AREA)

Abstract

The invention discloses and be input as with S box the method that basic Hamming distance model carries out the channel energy analysis of SM4 cryptographic algorithm side, its core is to carry out in the channel energy analytic process of SM4 cryptographic algorithm side, round function is selected to set up Hamming distance model as the point of attack, using the input of S box as the front and continued state v of Hamming distance model 1, Hamming distance (HD (v 1, v 2)) the successor states v of model 2it is round function input/output.The method can be applicable to the CPA/DPA side channel energy analysis of SM4 cryptographic algorithm.Utilize method of the present invention to improve the correct correlation guessed between key and energy information, enhance and analyze validity and success rate.

Description

The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method
Technical field
The invention belongs to 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; side channel energy analysis is carried out for the crypto module realizing SM4 cryptographic algorithm; obtain the Energy Analysis for High of shielded key information; that is, be input as basic Hamming distance model with S box and carry out SM4 cryptographic algorithm side channel energy analytical method.
Background technology
Along with the development of information technology, various cryptographic algorithm is just 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 analysis and research that cryptographic algorithm software and hardware realizes (crypto module) have great importance safely to protection information.In recent years, the multiple attack to crypto module is widely known by the people, and all these objects of attacking are all the keys in order to obtain in crypto module.Common attack pattern can be divided into intrusive mood to attack, half intrusive mood is attacked and non-intrusion type is attacked.In recent years, due to non-intrusion type attack in side Multiple Channel Analysis implement convenient, less expensive and be widely used.Side Multiple Channel Analysis can be subdivided into chronometric analysis, energy spectrometer and emi analysis.Side channel energy analysis is wherein one of method the most frequently used in numerous analysis means, and it breaches the analytical model of conventional cipher algorithm, and ability is powerful, implements relatively easy.Side channel energy analysis and utilization crypto module energy ezpenditure and data operation and the correlation between performing, the energy leakage function based on cryptographic algorithms' implementation sets up energy model, Using statistics 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, DPA principle is: for the enciphering/deciphering computing of N group plain/cipher text data, obtains N bar energy mark, and energy mark here refers to the energy consumption measurement vector collected in a Password Operations process; To each conjecture key K, produce corresponding median (object of attack), according to median determination choice function; By choice function, energy mark collection is divided into two subsets; Be averaged the energy ezpenditure that two sub-set pairs are answered respectively, and ask poor to two average energy consumption values, this equal value difference is that median that choice function is corresponding is to the impact effect of energy mark.According to statistical theory, if K conjecture is incorrect, when the number N convergence of energy mark is infinitely great, the equal value difference of two subsets will level off to zero; If when K conjecture is correct, certain sampling point in energy mark, will there will be the maximum sharpness (maximum absolute value value) of an equal value difference, can determine correct key by maximum sharpness.
CPA principle is: for the enciphering/deciphering computing of N group plain/cipher text data, obtains N bar energy mark; To each conjecture key K, produce corresponding median (object of attack); Energy model is set up according to median; By energy model, median is mapped as simulated energy consumption; Linearly dependent coefficient between computer sim-ulation energy ezpenditure 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 there is noise jamming in collecting energy mark process, maximum is less than 1, and conjecture key corresponding to this coefficient correlation maximum is correct key.
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 nonlinear iteration structure.
The structure of SM4 cryptographic algorithm is as follows:
If ( X 0 , X 1 , X 2 , X 3 ) ∈ ( Z 2 32 ) 4 For encrypting plaintext, ( X i , X i + 1 , X i + 2 , X i + 3 ) ∈ ( Z 2 32 ) 4 Be the i-th algorithm input taken turns, be the i-th round key of taking turns, 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, be an inverible transform, be composited by nonlinear transformation τ and linear transformation L, be i.e. T (.)=L (τ (.)).
τ is made up of, as shown in Figure 2, if be input as 4 parallel S boxes output is B = ( b 0 , b 1 , b 2 , b 3 ) ∈ ( Z 2 8 ) 4 , Then:
(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 output is C ∈ Z 2 32 , Then:
C=L(B)=B⊕(B<<<2)⊕(B<<<10)⊕(B<<<18)⊕(B<<<24)(3)
Suppose A ibe the i-th input taking turns S box, B ibe the input of the i-th output taking turns S box, L displacement, C ibe the i-th output taking turns L displacement.Meet as follows according to algorithm:
A i=(X i+1⊕X i+2⊕X i+3⊕rk i)(4)
B i=τ(A i)(5)
C i=L(B i)(6)
X i+4=X i⊕C i(7)
According to above formula (4), (5), (6), (7), the i-th+1 wheel input (X taken turns can be obtained 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 , 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 similar, as Fig. 2, only linear transformation L shift function is inconsistent.Initial encryption key is made to be (MK 0, MK 1, MK 2, MK 3).
(K 0,K 1,K 2,K 3)=(MK 0⊕FK 0,MK 1⊕FK 1,MK 2⊕FK 2,MK 3⊕FK 3)(8)
Wherein, (FK 0, FK 1, FK 2, FK 3) be known constant.
rk i=K i+4=K i⊕T′(K i+1⊕K i+2⊕K i+3⊕CK i)=K i⊕L'(τ(K i+1⊕K i+2⊕K i+3⊕CK i))(9)
Wherein, τ function is consistent with the τ function in above-mentioned SM4 cipher algorithm encryption structure, rk ibe the i-th encryption key of taking turns, i=0,1 ..., 31, CK ifor known constant.
Linear transformation L' is:
L'(x)=x⊕(x<<<13)⊕(x<<<23)(10)
According to formula (9), 32 can be obtained respectively and take turns round key (rk 0, rk 1..., rk 31), length is 32 bits.
Data deciphering is identical with the algorithm structure of data encryption, and just the use order of round key is contrary, and decryption round key is the backward of encryption round key.During deciphering, use round key sequence (rk 31, rk 30..., rk 0).
To the Energy Analysis for High of SM4 cryptographic algorithm usually choose S box output, L displacement output as object of attack, use Hamming weight, single-bit model, utilize DPA and CPA method to analyze.These methods only make use of typical analysis site, can not comprehensively effectively implement to analyze to SM4 cryptographic algorithm.In addition, when above-mentioned analysis site available energy leakage information is little, the success rate that SM4 cryptographic algorithm is analyzed will be affected.Therefore, need to propose more effective side channel energy analytical method.
Summary of the invention
In 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 object of the invention is to the realization character of network analysis SM4 cryptographic algorithm, creatively select the S box output of SM4 cryptographic algorithm, round function (successor states) as the point of attack respectively, innovatively propose the Hamming distance model using the input of S box as Hamming distance reference state (front and continued state), to energy leakage information different during the computing of SM4 cryptographic algorithm, this model improves the correlation between correct conjecture key and energy information, enhances validity and the success rate of analysis.
Realizing above-mentioned purpose technical scheme of the present invention is, the Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method, carry out in the channel energy analytic process of SM4 cryptographic algorithm side, S box or round function is selected to set up Hamming distance model as the point of attack, using the input of S box as the front and continued state v of Hamming distance model 1.
When attacking S box, Hamming distance (HD (v 1, v 2)) the successor states v of model 2that S box exports; When round function is attacked, Hamming distance (HD (v 1, v 2)) the successor states v of model 2it is round function input/output.Above-mentioned to S box export before/end 4 take turns carry out attack adopt Hamming distance (HD (v 1, v 2)) model is equivalent to attack using S box constrained input XOR value as Hamming weight (HW) model of the point of attack; To before round function/end 4 take turns carry out attack adopt Hamming distance (HD (v 1, v 2)) model is equivalent to using the input of S box and the attack as Hamming weight (HW) model of the point of attack of the XOR value of round function input/output.
Above-mentioned with S box be input as basis Hamming distance model for the CPA/DPA side channel energy analysis to SM4 cryptographic algorithm.
When the CPA side channel energy analytical procedure of Hamming distance model to SM4 cryptographic algorithm being input as basis with S box is as follows:
(1) collecting energy mark, specifically often organizes plain/cipher text and is encrypted/decrypt operation, gathers the energy expenditure information that Measuring Time point is corresponding, is energy mark, sets up sampled energy absorption matrix; (2) choosing object of attack is S box or round function, determines Hamming distance algorithm challenge model; (3), after determining object of attack and model, conjecture round key, calculates the median determination median matrix of wheel computing; (4) median utilization walked and median matrix are mapped as simulated energy consumption figures and simulated energy absorption matrix; (5) linearly dependent coefficient of computer sim-ulation energy ezpenditure matrix and sampled energy absorption matrix, obtains correct conjecture key.
The concrete grammar utilizing CPA to carry out above-mentioned steps (3) is: known kth (k ∈ 0 ..., and N-1}) organize plain/cipher text input X k = ( X 0 k , X 1 k , X 2 k , X 3 k ) Or ciphertext/plaintext exports X k = ( X 35 k , X 34 k , X 33 k , X 32 k ) Time, round key is taken turns in conjecture i-th in byte rk i,jconjecture value be respectively rk i, j, s=s, s ∈ 0 ..., 255}, when before selecting S box to export/end 4 take turns and attack time, 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, encrypt/decrypt computing is taken turns, median corresponding when a conjecture jth key byte is s for carrying out kth group plain/cipher text i-th, x respectively i+1, j, X i+2, j, X i+3, jbe intermediate operations value a jth byte; When selection round function output front 4 is taken turns and the attack carried out is taken turns at end 4, conjecture round key byte rk i, j, scorresponding median is respectively v i , j , s k = ( L - 1 X i + 1 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 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 With 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 ) , Wherein, L -1(x) jfor carry out L -1a jth 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 ) ; To N group bright/ciphertext carry out enciphering/deciphering operation time, calculate 256 conjecture round key byte rk successively i, j, scorresponding median determination 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 utilizing CPA to carry out step (4) is: the simulated energy consumption that (3) step median maps is: namely kth group expressly i-th takes turns simulated energy consumption corresponding to jth byte s conjecture key byte, and HW (x) is the number of 1 for bit place value in x, is encrypted/decryption oprerations, determines round key byte rk to N group plain/cipher text i, j, scorresponding simulated energy absorption matrix is:
The concrete grammar utilizing 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 The correlation coefficient ρ of both s row and t row is calculated respectively with the simulated energy absorption matrix H of step (4) s,t: &rho; s , t &ap; r s , t = &Sigma; k = 0 N - 1 &lsqb; h i , j , s k - h i , j , s k &OverBar; &rsqb; &lsqb; s t k - s t k &OverBar; &rsqb; &Sigma; k = 0 N - 1 &lsqb; h i , j , s k - h i , j , s k &OverBar; &rsqb; 2 &Sigma; k = 0 N - 1 &lsqb; s t k - s t k &OverBar; &rsqb; 2 Wherein, be expressed as a kth plain/cipher text, sampled energy consumption figures that a t time point is corresponding, T is the time point number in energy mark, for the mean value that matrix H s arranges, for the mean value that matrix W t arranges, ρ s,trepresent s the conjecture double secret key simulated energy consumption of answering and t time point sampled energy consume between linearly dependent coefficient, r s,tfor the approximate calculation value of this coefficient correlation, calculate the coefficient correlation between all row row, the correlation matrix obtaining simulated energy consumption 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, mfor correct conjecture round key byte, namely obtain correct i-th and take turns a round key jth byte rk i,j; Repeat (1)-(5) step, other 3 key bytes of round key can be obtained respectively, thus obtain i-th and take turns correct round key rk i, take turns for front 4, use round key rk icarry out i-th and take turns crypto-operation, obtain the i-th N group wheel of taking turns and export, be i.e. the i-th+1 wheel input taken turns obtain the front 4 encryption round key (rk taken turns successively 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-th and take turns crypto-operation, obtain the i-th-1 wheel of taking turns and export 4 encryption round key (the rk taken 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); Enciphering/deciphering key is obtained according to key schedule inverse operation.
The DPA side channel energy analytical procedure of Hamming distance model to SM4 cryptographic algorithm being input as basis with S box is as follows:
A () collecting energy mark, specifically often organizes plain/cipher text and is encrypted/decrypt operation, gather the energy expenditure information that Measuring Time point is corresponding, be energy mark, set up sampled energy absorption matrix; B () chooses object of attack is S box or round function, determines DPA choice function; Known i-th takes turns round key jth (j ∈ { 0,1,2,3}) individual byte rk i,jcorresponding object of attack with plain/cipher text and conjecture key byte rk i,jas parameter, and desired value here the choice function defined is D ( X k , j , rk i , j ) = 1 H W ( v i , j k ) < 4 0 H W ( v i , j k ) > 4 ; C () conjecture round key, is divided into two average energy mouse collection matrixes by average energy consumption; D two average energy mouse collection that () obtains according to (c) step ask poor, determine correct conjecture key.
The concrete grammar utilizing DPA to carry out step (c) is: known kth group plain/cipher text input X k = ( X 0 k , X 1 k , X 2 k , X 3 k ) Or ciphertext/plaintext exports X k = ( X 35 k , X 34 k , X 33 k , X 32 k ) Time, round key rk is taken turns in conjecture i-th iin byte rk i,j, rk i,jconjecture 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, sduring)=1, then total number rk i, j, scorresponding choice function D (X k, j, rk i, j, sduring)=0, then total number for time point t in energy mark, obtain the total power consumption average of this point two: 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 1 i , j , s t = &Sigma; k = 0 N - 1 D ( X k , j , rk i , j , s ) s t k n 1 , Wherein, for using conjecture round key byte rk i, j, swhen carrying out N group encryption/decryption oprerations, choice function equals the n of time point t corresponding to 0 0group energy ezpenditure mean value; for choice function equals the n of time point t corresponding to 1 1group energy ezpenditure mean value, n 0+ n 1=N, asks energy consumption average by above formula to all time points, obtains two energy consumption matrix D 0(256 × T) and D 1(256 × T), is 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 utilizing DPA to carry out step (d) is: the average energy consumption matrix D that calculation procedure (c) obtains 0(256 × T) and D 1the poor matrix △ D=D of (256 × T) 1-D 0, select the equal value difference of maximum energy consumption then corresponding conjecture round key byte rk i, j, mfor correct key byte, namely obtain the jth byte that correct i-th takes turns round key, repeat (a)-(d) step, other 3 key bytes of round key can be obtained respectively, thus obtain i-th and take turns correct round key rk i, take turns for front 4, use round key rk icarry out i-th and take turns crypto-operation, obtain the i-th N group wheel of taking turns and export, be i.e. the i-th+1 wheel input taken turns obtain the front 4 encryption round key (rk taken turns successively 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-th and take turns crypto-operation, obtain the i-th-1 wheel of taking turns and export 4 encryption round key (the rk taken 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); Enciphering/deciphering key is obtained according to key schedule inverse operation.
Above-mentioned when choosing object of attack, before selecting S box to export/end 4 is taken turns and is carried out attacking the Hamming distance (HD (v adopted 1, v 2)) the front and continued state v of model 1the input of S box, successor states v 2be that S box exports, it is equivalent to the attack using the XOR value that S box inputs and S box exports as 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 ) ; When selecting before round function/Hamming distance (HD (v that the attack carried out adopts is taken turns at end 4 1, v 2)) the front and continued state v of model 1the input of S box, successor states v 2be round function input/output, its XOR value being equivalent to the input of S box and wheel input/output adopts the attack of Hamming weight (HW) model as object of attack, 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 + 3 , 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 the i-th wheel input taken turns, be that the i-th wheel of taking turns exports, i is followed successively by 0,1,2,3 or 31, and 30,29,28.
Technical scheme of the present invention has the following advantages, and (1) existing energy leakage analysis site to SM4 cryptographic algorithm is single, can not adapt to the realization of various types of SM4 cryptographic algorithm well.The present invention is directed to the specific implementation of SM4 cryptographic algorithm, innovatively propose two kinds of novel Hamming distance models, the new method using the present invention to propose more effectively, all sidedly can carry out side channel energy analysis to SM4 cryptographic algorithms' implementation; (2) energy ezpenditure mainly comprises the dynamic power consumption that front and continued and follow-up two status bits 0 → 1,1 → 0 are changed, and the power consumption values of HD model hypothesis these two kinds conversion is equal, thus sets up the proportional relation between a conversion quantity and energy consumption.And HW model essence is a special case of HD model, all bits of its hypothesis front and continued output state are all 0, and energy ezpenditure is only relevant to succeeding state numerical value, simpler than HD model, and therefore HD model is portrayed the accuracy emulating energy consumption and is far longer than HW model.For the hardware implementing of SM4 cryptographic algorithm, register is triggered by clock signal, therefore in each clock cycle, register previously and current state only change once, carry out side channel energy analysis by the Hamming distance adopting register in the continuous clock cycle to store numerical value, the validity analyzing hard-wired crypto module can be strengthened.The present invention can analyze SM4 cryptographic algorithm effectively, obtains key information, extends the side channel energy analytical method to SM4 cryptographic algorithm.
Accompanying drawing explanation
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 that S box exports;
Fig. 44 takes turns object of attack before the HD model that exports of round function;
Fig. 5 is that object of attack is taken turns at the HD model end 4 that round function exports;
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 to the 1st to export HD model analysis, the coefficient correlation waveform that correct round key is corresponding, corresponding 4 S boxes respectively;
Figure 10 takes turns S box to the 1st to export HW model analysis, the coefficient correlation waveform that correct round key is corresponding, corresponding 4 S boxes respectively;
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 to the 1st, the coefficient correlation waveform that correct round key is corresponding, respectively corresponding 4 S boxes;
Figure 13 is that the second embodiment takes turns S box output HW model analysis to the 1st, the coefficient correlation waveform that correct round key is corresponding, respectively corresponding 4 S boxes
Embodiment
Below technical scheme of the present invention is specifically described, first carries out CPA for the round function of SM4 cryptographic algorithm and analyze, technical scheme of the present invention is described.Fig. 6 is CPA analysis process figure.For the cryptographic calculation of SM4 cryptographic algorithm, if known encryption expressly, analyze cryptographic algorithm front 4 take turns.Suppose to carry out N group cryptographic calculation expressly, make kth group expressly be input as k ∈ 0 ..., N-1}, the i-th wheel of taking turns is input as i is followed successively by 0,1,2,3, and its step is as follows: (1) collecting energy mark, being expressly encrypted computing, gathering the energy expenditure information that Measuring Time point is corresponding, being energy mark, setting up sampled energy absorption matrix W (N × T) often organizing:
W ( N &times; T ) = s 0 0 ... s T - 1 0 . . . s t k . . . s 0 N - 1 ... s T - 1 N - 1
Wherein, be expressed as kth expressly, sampled energy consumption figures that a t time point is corresponding, T is the time point number in energy mark;
(2) choose object of attack, determine algorithm challenge model; Front and continued state v using the input of S box as Hamming distance 1, the output of the output and round function that have chosen two point of attack S boxes is respectively as successor states v 2, establish two Hamming distance (HD) models.HD (v 1, v 2) be v 1and v 2hamming distance, namely in two states bit 0 → 1,1 → 0 change number, HW (v) for bit in v be the number of 1, then: HD (v 1, v 2)=HW (v 1⊕ v 2), i.e. front and continued state v 1with successor states v 2hamming distance HD (v 1, v 2) be equivalent to the Hamming weight HW (v after both XORs 1⊕ v 2), therefore HD model is actual is Hamming weight (HW) model using the data after front and continued state and successor states XOR as the point of attack.Therefore, using the input of S box as front and continued state, it is HW model using S box constrained input XOR value as the point of attack that S box exports actual as the HD model of succeeding state; Using the input of S box as front and continued state, it be HW model using the XOR value that S box inputs and round function exports as the point of attack that round function exports actual as the HD model of succeeding state.
To S box export HD model based on hypothesis: suppose the S box input value v collecting SM4 crypto module 1with S box output valve v 2, energy leakage point is two state v 1, v 2bit reversal.According to the cryptographic structure of SM4 cryptographic algorithm, 4 S boxes are separate, and L shift operation is reversible, then be also independently to the wheel computing of 4 bytes of round key, therefore, can select the object of attack that each key byte of round key is corresponding respectively.Be HW model by HD model conversation, then i-th take 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 ) &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 round function export HD model based on hypothesis: suppose S box input value v 1with round function output valve v 2be stored in same register, energy leakage point is two state v 1, v 2bit reversal, the HD model of same register output state flip can be adopted.After being Hamming weight model according to Hamming distance model conversation, i-th takes turns 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) guess round key, calculate the median of wheel computing.After determining object of attack and model, round key rk is taken turns in conjecture i-th ijth (j ∈ 0,1,2,3}) individual byte rk i,j, j is followed successively by 0, and 1,2,3.Rk i,jconjecture value be respectively rk i, j, s=s, s ∈ 0 ..., 255}.
For 256 conjecture key byte rk i, j, s, carry out the i-th encryption round computing taken turns respectively.
To the HD model that S box exports, 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 that round function exports, 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 being expressly encrypted operation to N group, calculate 256 conjecture round key byte rk successively i, j, scorresponding median, obtains median matrix V (N × 256) respectively: 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 , 256 N - 1 .
(4) median is mapped as simulated energy absorption matrix.According to the determined energy model of (3) step, the simulated energy consumption that median maps is for expressly i-th cryptographic calculation is taken turns, simulated energy consumption corresponding when a conjecture jth key byte is s for carrying out kth group.Expressly operation is encrypted to N group, 256 conjecture round key byte rk i, j, scorresponding simulated energy absorption matrix is:
(5) linearly dependent coefficient of computer sim-ulation energy ezpenditure and energy mark, obtains correct conjecture key byte.
To sampled energy absorption matrix W and simulated energy absorption matrix H, the coefficient correlation of s row and t row both calculating respectively &rho; s , t : &rho; s , t &ap; r s , t = &Sigma; k = 0 N - 1 &lsqb; h i , j , s k - h i , j , s k &OverBar; &rsqb; &lsqb; s t k - s t k &OverBar; &rsqb; &Sigma; k = 0 N - 1 &lsqb; h i , j , s k - h i , j , s k &OverBar; &rsqb; 2 &Sigma; k = 0 N - 1 &lsqb; s t k - s t k &OverBar; &rsqb; 2 , Wherein, for the mean value that matrix H s arranges, for the mean value that matrix W t arranges.ρ s,trepresent s the conjecture double secret key simulated energy consumption of answering and t time point sampled energy consume between linearly dependent coefficient, r s,tfor the approximate calculation value of this coefficient correlation.Calculate the coefficient correlation between all row row, the correlation matrix obtaining simulated energy consumption 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, then arrange s larger with the matching degree of row t, corresponding conjecture key rk 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, mfor correct conjecture round key byte, namely obtain correct i-th and take turns a round key jth byte.In like manner, according to above-mentioned (1)-(5) step, obtain other 3 key bytes of round key respectively, thus obtain i-th and take turns correct round key rk i.
To i-th take turns crypto-operation carry out CPA analyze terminate after, obtain correct round key rk i, use round key rk icarry out i-th and take turns cryptographic calculation, obtain the i-th N group wheel of taking turns and export, be i.e. the i-th+1 wheel input taken turns 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'(τ (K i+1⊕ K i+2⊕ K i+3⊕ CK i)) ⊕ K i+4, (MK 0, MK 1, MK 2, MK 3)=(K 0⊕ FK 0, K 1⊕ FK 1, K 2⊕ FK 2, K 3⊕ FK 3), determine the key (MK of SM4 cipher algorithm encryption computing 0, MK 1, MK 2, MK 3).
If known encryption ciphertext, then analyze end 4 and take turns cryptographic operation, analytical method and front 4 is taken turns roughly the same, only slightly different in selection object of attack.
When supposing to carry out the computing of N group encryption, the ciphertext of kth group exports and is order be the wheel output of the SM4 cryptographic algorithm that i-th takes turns, i is followed successively by 31, and 30,29,28.To the analytical method of two kinds of Hamming distance models be: take turns analytical method to the HD model end 4 that S box exports, its analytical method and front 4 is taken turns identical.HD model conversation is after HW model, and object of attack is the input and output XOR value of the S box that this is taken turns, as shown in Figure 3.Conjecture round key byte rk i, j, scorresponding attack median and front 4 is taken turns completely the same.Obtain end 4 successively and take turns correct round key (rk 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32), the key of SM4 cipher algorithm encryption computing is obtained by key schedule inverse operation successful analysis.
The HD model end four-wheel analytical method of round function input, its analytical method and front 4 is taken turns identical, only slightly different to the selection of object of attack.HD model conversation is after HW model, and the object of attack that end 4 is taken 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 end 4 successively and take turns correct round key (rk 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32), the key of SM4 cipher algorithm encryption computing is obtained according to key schedule inverse operation successful analysis.
For the decrypt operation of SM4 cryptographic algorithm, above-mentioned CPA analytical method can be used equally to obtain decruption key.If known ciphertext, analyze SM4 cryptographic algorithm decrypt operation front 4 take turns, and analytical method and analyze the computing of SM4 cipher algorithm encryption front 4 is taken turns identical, obtains round key (rk successively 31, rk 30, rk 29, rk 28), obtain decruption key according to key schedule inverse operation; If known-plaintext, the end 4 analyzing SM4 cryptographic algorithm decrypt operation is taken turns, and attack method is taken turns identical with the end 4 analyzing the computing of SM4 cipher algorithm encryption, obtains round key (rk successively 0, rk 1, rk 2, rk 3), obtain decruption key according to key schedule inverse operation.
According to above-mentioned CPA analytical method, adopt with the S box input and output XOR value HW model (i.e. the HD model of S box) that is object of attack respectively and to export with S box be the HW model of object of attack, take turns the 1st of cryptographic calculation and analyze, it is 0x85235CE2 that known this takes turns round key.
Gather 1000 groups of waveforms to plain text encryption computing, i.e. energy mark, as shown in Figure 8, totally 5000 time points, wherein, the sampled energy consumption relevant to SM4 cryptographic calculation between 43 μ s-50 μ s, the time point corresponding with crypto-operation totally 408, then sampled energy absorption matrix W (1000 × 408); Select the 1st to take turns the XOR value of the input and output of S box as object of attack, set up HW model; Conjecture round key the 1st byte, obtains simulated energy absorption matrix H (1000 × 256); Computer sim-ulation energy consumption matrix H and the coefficient correlation of sampling energy consumption matrix W, obtain correlation matrix R, the conjecture key byte selecting the maximum in R corresponding is as the 1st byte of round key; Analyze other 3 bytes of round key successively, obtain the 1st and take turns round key rk 1.
Analysis result is as shown in table 1, when listing conjecture 4 round key bytes respectively, and the conjecture key byte of front 10 maximum coefficient correlations and correspondence thereof.Take turns for the 1st, the coefficient correlation that correct conjecture key byte is corresponding is far longer than coefficient correlation corresponding to other 9 wrong conjecture key bytes.
Table 1: CPA analysis result is carried out to the S box output HD model that cryptographic calculation the 1st is taken turns
Equally, to the energy mark of Fig. 8, select the output of S box as object of attack, set up HW model, take turns round key 0x85235CE2 according to above-mentioned steps analysis the 1st, analysis result is in table 2.As known from Table 2, front 10 maximum correlation coefficient value difference are small, and adjacent both are all less than 0.02, cannot judicious round key, analyze the round key 0x830A5082 obtaining mistake; And the maximum correlation coefficient at least large 0.45 that the coefficient correlation that in table 1, correct double secret key is answered is answered than other conjecture double secret key, thus be easy to distinguish correct round key.
Table 2: CPA analysis result is carried out to the S box output HW model that cryptographic calculation the 1st is taken turns
In addition, Fig. 9, Figure 10 are respectively the coefficient correlation figure of correct round key byte corresponding all time points when selection two kinds of objects of attack are analyzed.As shown in Figure 9, there is an obvious spike in the coefficient correlation that sampled point is corresponding, this spike shows: when round key conjecture is correct, with the correlation of sampling energy consumption leak point much larger than other time point; And Figure 10 is without obvious spike, when round key conjecture is correct, real energy consumption leak point cannot be distinguished, and coefficient correlation corresponding to all time points is much smaller than the kurtosis of Fig. 9.Therefore, when the energy ezpenditure leak point of SM4 cryptographic algorithm computing is the conversion of the constrained input state of S box, 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 adopting S box.
According to above-mentioned CPA analytical method, adopt and export the HW model (i.e. the HD model of round function) that XOR value is object of attack and the HW model being object of attack with round function output with the input of S box with round function, the 1st of cryptographic calculation is taken turns and analyzes.
A) gather 1000 groups of waveforms to plain text encryption computing, as shown in figure 11, the sampled energy consumption relevant to SM4 cryptographic calculation, between 7 μ s-11.7 μ s, is selected the time point that this part is corresponding with crypto-operation, is obtained sampled energy absorption matrix W; Select the 1st to take turns XOR value that the input of S box exports with round function, as object of attack, sets up HW model; Conjecture round key the 1st byte, obtains simulated energy absorption matrix H; Computer sim-ulation energy consumption matrix H and the coefficient correlation of sampling energy consumption matrix W, obtain correlation matrix R, the conjecture key byte selecting the maximum in R corresponding is as the 1st byte of round key; Analyze other 3 bytes of round key successively, obtain the 1st and take turns round key rk 1.Analysis result is as shown in table 3, enumerates when analyzing each round key byte, the conjecture key byte of front 10 maximum coefficient correlations and correspondence thereof.For the round key conjecture that the 1st takes turns, the coefficient correlation that correct conjecture key byte is corresponding is far longer than coefficient correlation corresponding to other 9 wrong conjecture key bytes.
Table 3: CPA analysis result is carried out to the round function output HD model that cryptographic calculation the 1st is taken turns
Equally, to the energy mark of Figure 11, select the output of round function as object of attack, set up HW model, take turns round key 0x85235CE2 according to above-mentioned steps analysis the 1st, analysis result is in table 4.As known from Table 4, front 10 maximum correlation coefficient value difference are atomic little, and both difference adjacent is all less than 0.015, thus cannot judicious round key, analyze the round key 0xCBAC3855 obtaining mistake; And the coefficient correlation that in table 3, correct double secret key is answered is at least than the maximum correlation coefficient large 0.4 that other conjecture double secret key are answered, thus be easy to distinguish correct round key.
Table 4: CPA analysis result is carried out to the round function output HW model that cryptographic calculation the 1st is taken turns
In addition, Figure 12, Figure 13 are respectively the coefficient correlation figure of correct round key byte corresponding all time points when selection two kinds of objects of attack are analyzed.As shown in Figure 12, there is an obvious spike in the corresponding coefficient correlation of sampled point, this spike shows: when 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 round key conjecture is correct, real energy consumption leak point cannot be distinguished, and coefficient correlation corresponding to all time points is much smaller than the kurtosis of Figure 12.Therefore, when the energy ezpenditure leak point of SM4 cryptographic algorithm computing is the input of S box and the conversion of round function output state, 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 adopting round function.
DPA analysis is analyzed at collecting energy mark with CPA, is selected the operation of object of attack to be consistent.According to the principle that above-mentioned DPA analyzes, in conjunction with the analysis to SM4 cryptographic algorithm structure, the concrete grammar that the S box of the present invention to SM4 cryptographic algorithm carries out DPA analysis is as follows:
For the cryptographic calculation of SM4 cryptographic algorithm, if known encryption expressly, analyze cryptographic algorithm front 4 take turns.Suppose to carry out N group cryptographic calculation expressly, make kth group expressly be input as k ∈ 0 ..., N-1}, the i-th wheel of taking turns is input as i is followed successively by 0, and 1,2,3.
(a) collecting energy mark.Expressly being encrypted computing to often organizing, gathering the energy expenditure information (energy mark) that Measuring Time point is corresponding, setting up sampled energy absorption matrix W (N × T).
B () chooses object of attack, determine DPA choice function.Object of attack in DPA analytical method is chosen with CPA method completely the same.To the HD model that S box exports, as shown in Figure 3, i-th takes turns object of attack using the XOR value of S box input and output as a kind of novel object of attack.When carry out the input of kth group plaintext i-th takes turns cryptographic calculation, the object of attack of a jth byte 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 ) Hamming weight desired value define choice function using plaintext, conjecture key as parameter, then: D ( X k , j , rk i , j ) = 1 H W ( v i , j k ) < 4 0 H W ( v i , j k ) > 4 ; To the HD model that round function exports, as shown in Figure 4, i-th object of attack is taken turns using the XOR value that S box inputs and round function exports 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, choice function is defined using plaintext, conjecture key as parameter, then D ( X k , j , rk i , j ) = 1 H W ( v i , j k ) < 4 0 H W ( v i , j k ) > 4 .
C () conjecture round key, is divided into two subsets by average energy consumption.After determining object of attack and choice function, guess that i-th takes turns round key byte rk successively i,j, rk i,jconjecture value be respectively rk i, j, s=s, s ∈ 0 ..., 255}.Respectively choice function is calculated to the HD model that HD model and the round function of the output of S box export: guess key rk for 256 i, j, s, carry out the i-th cryptographic calculation of taking turns respectively, obtain 256 and attack median accordingly, by rk i, j, ssubstitution obtains corresponding choice function D (X k, j, rk i, j, s).Successively expressly computing is encrypted to N group, conjecture round key byte rk i, j, scorresponding choice function D (X k, j, rk i, j, sduring)=1, then total number rk i, j, scorresponding choice function D (X k, j, rk i, j, sduring)=0, then total number for two kinds of different HD models, respectively according to choice function, for time point t in energy mark, obtain this point two total power consumption averages: with, 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, sduring)=0, the n of corresponding time point t 0group energy ezpenditure mean value; for selecting D (X k, j, rk i, j, sduring)=1, the n of corresponding time point t 1group energy ezpenditure mean value, n 0+ n 1=N.Energy consumption average is asked to all time points, obtains two energy consumption matrix D 0(256 × T) and D 1(256 × T), is 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 () calculates two average energy consumption subset difference, obtain correct conjecture key.Calculate average energy consumption matrix D 0(256 × T) and D 1the difference of (256 × T), obtains matrix △ D=D 1-D 0.
If rk i, j, sconjecture mistake, then for the cryptographic calculation that N group expressly inputs, choice function be 0 and 1 probability be respectively about corresponding average energy consumption difference is along with the increase convergence 0 of N; If rk i, j, sconjecture is correct, then for the cryptographic calculation of N group expressly input, choice function be 0 or 1 probability should be 1, the average energy consumption difference of correspondence trends towards the actual influence of energy consumption along with the increase of N.Select the maximum equal value difference of energy consumption then corresponding conjecture round key byte rk i, j, mfor correct key byte, namely obtain the jth byte that correct i-th takes turns round key.In like manner, according to above-mentioned (a)-(b) step, other 3 key bytes of round key can be obtained respectively, thus obtain i-th and take turns correct round key rk i.
To i-th take turns crypto-operation carry out DPA analyze terminate after, obtain correct round key rk i, use round key rk icarry out i-th and take turns cryptographic calculation, obtain the i-th N group wheel of taking turns and export, be i.e. the i-th+1 wheel input taken turns 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).
The inverse operation expanded by crypt algorithm keys, obtains the key (MK of SM4 cipher algorithm encryption computing 0, MK 1, MK 2, MK 3).
If known encryption ciphertext, then cryptographic operation is taken turns at the end 4 analyzing SM4 cryptographic algorithm, and selection and the CPA end 4 of object of attack are taken turns completely the same.
When supposing to carry out the computing of N group encryption, the ciphertext of kth group exports and is 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 be that the i-th SM4 cryptographic algorithm wheel of taking turns exports, i is followed successively by 31, and 30,29,28.As shown in Figure 3, taking turns consistent to the object of attack of the HD model that S box exports with CPA end 4, is the input and output XOR value of S box; As shown in Figure 4, taking turns consistent to the object of attack of the HD model of round function input with CPA end 4, is the XOR value that the input of S box inputs with round function.According to the above-mentioned 1st) ~ 4) analytical method of step, obtain end 4 successively and take turns correct round key (rk 31, rk 30, rk 29, rk 28)=(K 35, K 34, K 33, K 32), the key of SM4 cipher algorithm encryption computing is obtained according to key schedule inverse operation successful analysis.
For the decrypt operation of SM4 cryptographic algorithm, above-mentioned DPA analytical method can be used equally to obtain decruption key.If known ciphertext, analyze SM4 cryptographic algorithm decrypt operation front 4 take turns, and analytical method and analyze the computing of SM4 cipher algorithm encryption front 4 is taken turns identical, obtains round key (rk successively 31, rk 30, rk 29, rk 28), obtain decruption key according to key schedule inverse operation; In like manner, if known-plaintext, the end 4 analyzing SM4 cryptographic algorithm decrypt operation is taken turns, and attack method is taken turns identical with the end 4 analyzing the computing of SM4 cipher algorithm encryption, obtains round key (rk successively 0, rk 1, rk 2, rk 3), obtain decruption key according to key schedule inverse operation.
Technique scheme only embodies the optimal technical scheme of technical solution of the present invention, and those skilled in the art all embody principle of the present invention to some variations that wherein some part may be made, and belong within protection scope of the present invention.

Claims (10)

1. be input as basic Hamming distance model with S box and carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, carry out in the channel energy analytic process of SM4 cryptographic algorithm side, select round function to set up Hamming distance model as the point of attack with the input of S box and round function output; The input of S box is now as the front and continued state v of Hamming distance model 1.
2. according to claim 1 with S box be input as basis Hamming distance model carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, when round function is attacked, Hamming distance (HD (v 1, v 2)) the successor states v of model 2it is round function input/output.
3. according to claim 2 with S box be input as basis Hamming distance model carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, to before round function/end 4 take turns carry out attack adopt Hamming distance (HD (v 1, v 2)) model is equivalent to using the input of S box and the attack as Hamming weight (HW) model of the point of attack of the XOR value of round function input/output.
4. according to claim 1,2 or 3 with S box be input as basis Hamming distance model carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, be input as the Hamming distance model on basis for the CPA/DPA side channel energy analysis to SM4 cryptographic algorithm with S box.
5. according to claim 4 with S box be input as basis Hamming distance model carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, the CPA side channel energy analytical procedure of Hamming distance model to SM4 cryptographic algorithm being input as basis with S box is as follows:
(1) collecting energy mark, specifically often organizes plain/cipher text and is encrypted/decrypt operation, gathers the energy expenditure information that Measuring Time point is corresponding, is energy mark, sets up sampled energy absorption matrix;
(2) choosing object of attack is round function, determines Hamming distance challenge model;
(3), after determining object of attack and model, conjecture round key, calculates the median determination median matrix of wheel computing;
(4) median utilization walked and median matrix are mapped as simulated energy consumption figures and simulated energy absorption matrix;
(5) linearly dependent coefficient of computer sim-ulation energy ezpenditure matrix and sampled energy absorption matrix, obtains correct conjecture key.
6. according to claim 5 with S box be input as basis Hamming distance model carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, the concrete grammar utilizing CPA to carry out step (3) is: when to N (k ∈ { 0,1,, N-1}) organize plain/cipher text and be encrypted/decryption oprerations time, known kth (k ∈ { 0, ..., N-1}) the plain/cipher text input organized or the output of ciphertext/is plaintext respectively X k = ( X 0 k , X 1 k , X 2 k , X 3 k ) , X k = ( X 35 k , X 34 k , X 33 k , X 32 k ) Time, round key is taken turns in conjecture i-th in byte wherein Z 2 8, Z 2 32for with 0,1} be element 8 dimension and 32 gt, rk i,jconjecture value be respectively rk i, j, s=s, s ∈ 0 ..., and 255}, when selection round function output front 4 is taken turns or the attack carried out is taken turns at end 4, conjecture round key byte rk i, j, scorresponding median be 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 = ( 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 With 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 ) , Wherein, L -1(x) jfor carry out L -1a jth 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 ) ; τ is made up of, if be input as 4 parallel S boxes A = ( a 0 , a 1 , a 2 , a 3 ) &Element; ( Z 2 8 ) 4 , Output is B = ( b 0 , b 1 , b 2 , b 3 ) &Element; ( Z 2 8 ) 4 , Then: (b 0, b 1, b 2, b 3)=τ (A)=(Sbox (a 0), Sbox (a 1), Sbox (a 2), Sbox (a 3)); To N group bright/ciphertext carry out enciphering/deciphering operation time, calculate 256 conjecture round key byte rk successively i, j, scorresponding median determination median matrix the concrete grammar utilizing CPA to carry out step (4) is: the simulated energy consumption that (3) step median maps is: namely kth group expressly i-th takes turns simulated energy consumption corresponding to jth byte s conjecture key byte, and HW (x) is the number of 1 for bit place value in x, is encrypted/decryption oprerations, determines round key byte rk to N group plain/cipher text i, j, scorresponding simulated energy absorption matrix is:
7. the Hamming distance model being input as basis according to claim 5 with S box carries out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, the concrete grammar utilizing CPA to carry out step (5) is: to the sampled energy absorption matrix of step (1) the correlation coefficient ρ of both s row and t row is calculated respectively with the simulated energy absorption matrix H of step (4) s,t: wherein, be expressed as a kth plain/cipher text, sampled energy consumption figures that a t time point is corresponding, T is the time point number in energy mark, for the matrix element in simulated energy absorption matrix, namely kth group expressly i-th takes turns simulated energy consumption corresponding to jth byte s conjecture key byte, for the mean value that matrix H s arranges, for the mean value that matrix W t arranges, ρ s,trepresent s the conjecture double secret key simulated energy consumption of answering and t time point sampled energy consume between linearly dependent coefficient, r s,tfor the approximate calculation value of this coefficient correlation, calculate the coefficient correlation between all row row, the correlation matrix obtaining simulated energy consumption and sampled energy consumption is choose the maximum r in R m,n=max (r s,t), r m,ncorresponding conjecture key rk i, j, mfor correct conjecture round key byte, namely obtain correct i-th and take turns a round key jth byte rk i,j; Repeat (1)-(5) step, other 3 key bytes of round key can be obtained respectively, thus obtain i-th and take turns correct round key rk i, take turns for front 4, use round key rk icarry out i-th and take turns crypto-operation, obtain the i-th N group wheel of taking turns and export, be i.e. the i-th+1 wheel input taken turns obtain the front 4 encryption round key (rk taken turns successively 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-th and take turns crypto-operation, obtain the i-th-1 wheel of taking turns and export 4 encryption round key (the rk taken 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); Enciphering/deciphering key is obtained according to key schedule inverse operation.
8. according to claim 4 with S box be input as basis Hamming distance model carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, the DPA side channel energy analytical procedure of Hamming distance model to SM4 cryptographic algorithm being input as basis with S box is as follows:
A () collecting energy mark, specifically often organizes the computing of plain/cipher text encrypt/decrypt, gather the energy expenditure information that Measuring Time point is corresponding, be energy mark, set up sampled energy absorption matrix;
B () chooses object of attack is round function, determines DPA choice function; Known i-th takes turns round key jth (j ∈ { 0,1,2,3}) individual byte rk i,jcorresponding object of attack is with plain/cipher text and conjecture key byte rk i,jas parameter, and its desired value here the choice function defined is D ( X k , j , rk i , j ) = 1 H W ( v i , j k ) < 4 0 H W ( v i , j k ) > 4 , Wherein HW (x) represent in x Bit String be 1 number;
C () conjecture round key, is divided into two average energy mouse collection matrixes by average energy consumption;
D two average energy mouse collection that () obtains according to (c) step ask poor, determine correct conjecture key.
9. be input as basic Hamming distance model with S box according to claim 8 and carry out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, the concrete grammar utilizing DPA to carry out step (c) is: known kth group plain/cipher text input or ciphertext/plaintext exports time, round key rk is taken turns in conjecture i-th iin byte rk i,j, rk i,jconjecture 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, sduring)=1, then total number rk i, j, scorresponding choice function D (X k, j, rk i, j, sduring)=0, then total number for time point t in energy mark, obtain the total power consumption average of this point two: with wherein, for using conjecture round key byte rk i, j, swhen carrying out N group encryption/decryption oprerations, choice function equals the n of time point t corresponding to 0 0group energy ezpenditure mean value; for choice function equals the n of time point t corresponding to 1 1group energy ezpenditure mean value, n 0+ n 1=N, N are encrypted the/group number of decryption oprerations, ask energy consumption average, obtain two energy consumption matrix D by above formula to all time points 0(256 × T) and D 1(256 × T), is respectively:
with
The concrete grammar utilizing DPA to carry out step (d) is: the average energy consumption matrix D that calculation procedure (c) obtains 0(256 × T) and D 1the poor matrix △ D=D of (256 × T) 1-D 0, select the equal value difference of maximum energy consumption then corresponding conjecture round key byte rk i, j, mfor correct key byte, namely obtain the jth byte that correct i-th takes turns round key, repeat (a)-(d) step, other 3 key bytes of round key can be obtained respectively, thus obtain i-th and take turns correct round key rk i, take turns for front 4, use round key rk icarry out i-th and take turns crypto-operation, obtain the i-th N group wheel of taking turns and export, be i.e. the i-th+1 wheel input taken turns obtain the front 4 encryption round key (rk taken turns successively 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-th and take turns crypto-operation, obtain the i-th-1 wheel of taking turns and export 4 encryption round key (the rk taken 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); Enciphering/deciphering key is obtained according to key schedule inverse operation.
10. the Hamming distance model being input as basis with S box according to claim 6 carries out SM4 cryptographic algorithm side channel energy analytical method, it is characterized in that, when selecting before round function/and the Hamming distance (HD (v that the attack carried out adopts is taken turns at end 4 1, v 2)) the front and continued state v of model 1the input of S box, successor states v 2be round function input/output, its XOR value being equivalent to the input of S box and wheel input/output adopts the attack of Hamming weight (HW) model as object of attack, 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 + 3 , 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 the i-th wheel input taken turns, be that the i-th wheel of taking turns exports, i is followed successively by 0,1,2,3 or 31, and 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 CN103138917A (en) 2013-06-05
CN103138917B true 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)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457719B (en) * 2013-07-23 2016-06-08 国家密码管理局商用密码检测中心 A kind of side channel energy to SM3 cryptographic algorithm HMAC pattern analyzes method
CN104601319B (en) * 2013-10-31 2017-12-15 上海复旦微电子集团股份有限公司 A kind of data ciphering method and device
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
CN103873229B (en) * 2014-03-13 2017-01-11 华南师范大学 Rapid protection method for resisting timing and cache side channel attack under KLEIN encryption AVR environment
US9584310B2 (en) * 2014-03-19 2017-02-28 Nxp B.V. Protecting a white-box implementation against attacks
CN104052590B (en) * 2014-05-05 2017-06-16 清华大学 Frequency-domain analysis method based on side channel correlation energy analysis
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
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
CN104734845B (en) * 2015-03-25 2018-11-23 上海交通大学 Bypass attack means of defence 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
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
CN105812122B (en) * 2016-03-08 2018-10-12 中国人民解放军军械工程学院 The method for establishing crypto chip Hamming weight and light radiation correlativity
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
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
CN107508678B (en) * 2017-10-13 2020-08-04 成都信息工程大学 Side channel attack method of RSA mask defense algorithm based on machine learning
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
CN115276962B (en) * 2022-09-29 2023-01-03 中安网脉(北京)技术股份有限公司 USB KEY centralized storage management system and method based on RFID technology
CN115664641B (en) * 2022-12-26 2023-03-14 飞腾信息技术有限公司 Method and device for verifying round key in encryption algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840732A1 (en) * 2006-03-31 2007-10-03 Axalto SA Protection against side channel attacks

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Adaptive Analysis with HD Model on XOR operation in Ciper Chips;Deng Gaoming;《IEEE computer society》;20121231;全文 *
Differential Power Analysis Attack on SMS4 Block Ciper;Xuefei Bai etc.;《Circuits and Systems for communications 2008.ICCSC 2008.4th IEEE International Conference on》;20080528;全文 *
SMS4密码算法的差分故障攻击;张蕾等;《计算机学报》;20060930;第29卷(第9期);全文 *
SMS4算法的能量分析攻击及其防御研究;沈薇;《信息科技辑》;20090815;第19页至第34页 *
一种SMS4加密算法差分功耗攻击;李浪等;《计算机科学》;20100731;第37卷(第7期);第13段至18段以及图5 *
基于汉明距离的相关能量侧信道分析方法研究;何斌等;《第二届全国信息与电子工程学术交流会暨第十三届四川省电子学会曙光分会学术年会论文集》;20060901;前言和2.1小节 *

Also Published As

Publication number Publication date
CN103138917A (en) 2013-06-05

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
CN103227717B (en) The input of round key XOR is selected to carry out the method that SM4 cryptographic algorithm side channel energy is analyzed
CN103825722B (en) Second order side channel energy analysis method for SM4 cipher algorithm
CN103457719B (en) A kind of side channel energy to SM3 cryptographic algorithm HMAC pattern analyzes method
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
CN106778304B (en) Rapid chaotic image encryption method with plaintext related scrambling mechanism
CN103679008B (en) A kind of efficient secure chip power consumption attack test method
CN103530474A (en) AES (advanced encryption standard) algorithm circuit oriented method for testing differential power attack
CN101951314B (en) Design method of S-box in symmetric password encryption
CN104796250B (en) The side-channel attack method realized for rsa cryptosystem algorithm M-ary
CN103532973A (en) Differential power attack testing method for DES (data encryption standard) algorithm circuit
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
CN104052590A (en) Frequency-domain analysis method based on side channel correlation energy analysis
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
CN116073988A (en) Hybrid denoising-based method for detecting energy analysis attack resistance
Wang et al. A power analysis on SMS4 using the chosen plaintext method
CN108155984B (en) Reverse engineering analysis method for cryptographic algorithm cluster based on energy analysis
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

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