Differential Fault Analysis on the MD5 Compression Function

2888
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
Differential Fault Analysis on
the MD5 Compression Function
Wei Li1) ,2), 3) , Zhi Tao1), Dawu Gu4), Yi Wang5), Zhiqiang Liu4), 6), Ya Liu 7), 4)
1)
School of Computer Science and Technology, Donghua University, Shanghai, China
Shanghai Key Laboratory of Integrate Administration Technologies for Information Security, Shanghai, China
3)
State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences,
Beijing, China
4)
Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai, China
5)
Department of Information Science and Technology, East China University of Political Science and Law, Shanghai,
China
6)
ESAT/COSIC and IBBT, Katholieke Universiteit Leuven, Leuven, Belgium
7)
Department of Computer Science and Engineering, University of Shanghai for Science and Technology, Shanghai,
China
2)
E-mail: [email protected]
Abstract—The MD5, proposed by R. Riverst in 1992, is a
widely used hash function with Merkle-Damgard structure.
In the literature, many studies have been devoted to classical
cryptanalysis on the MD5, such as the collision attack, the
preimage attack etc. In this paper, we propose a new
differential fault analysis on the MD5 compression function
in the word-oriented random fault model. The simulating
experimental results show that 144 random faults on average
are required to obtain the current input message block. Our
method not only increases the efficiency of fault injection,
but also decreases the number of fault hash values. It
provides a new reference for the security analysis of the same
structure of the hash compression functions.
Index Terms—Hash function, MD5, Differential fault
analysis
I. INTRODUCTION
The hash functions have been widely used in a variety
of security applications, such as digital signature, files
transfer and authentication schemes, etc [1,2]. As a
famous hash function with the Merkle-Damgard structure,
the MD5 is proposed by R. Rivest in 1992 [3]. It processes
variable-length input messages and generates 128-bit
output as the hash value. In the literature, the strength of
the MD5 against various cryptanalytic techniques has
been analyzed, such as the collision attack, the preimage
attack etc. The previous research shows that the MD5 is
vulnerable to the classical cryptanalysis [4-14].
Other than the classical cryptanalysis, the differential
fault analysis is a new type of side channel attack, which
was first proposed by Biham E. and Shamir A. to break
the DES in 1997 [15]. Later it has been widely applied to
the cryptanalysis of public-key ciphers, stream ciphers,
and block ciphers, such as RSA, RC4, and AES etc [1619]. Recently, some researchers have inversteaged the
© 2013 ACADEMY PUBLISHER
doi:10.4304/jcp.8.11.2888-2894
differential fault analysis on the hash compression
function. In 2012, Hemme L. etc proposed that the SHA-1
compression function has the vulnerability of differential
fault analysis [20]. Its basic principle is to obtain the
difference between the correct output and faulty output by
inducing faults during the running process, and then the
attackers could recover the message by breaking the
internal states.
As the popular hash functions, MD5 and SHA-1 have
the same structure. However, there are some differences in
the designing details of the compression functions
between the MD5 and the SHA-1. Up to now, little
research has been devoted to the MD5 against the
differential fault analysis. On the basis of the analysis of
the SHA-1, we thus propose a method of differential fault
analysis to break the MD5 compression function. It adopts
the word-oriented fault model, so the attacker can induce a
single-word error in the compression function. As for the
MD5 compression function, we only require 144 faulty
hash values to recover the current input message block.
Compared with techniques available, our method can
recover the message of the MD5 compression with higher
efficiency of fault injection and less number of faulty hash
values.
The rest of this paper is organized as follows. Section II
briefly introduces the MD5. The next section proposes a
method differential fault analysis on the MD5
compression function in the word-oriented fault model.
Then section IV shows the experimental results. Finally
the last section concludes the paper.
II. DESCRIPTION OF THE MD5
The MD5 hash function is a widely used messagedigest algorithm. It produces a 128-bit hash value after
four rounds and every round function has 16 steps.
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
2889
TABLE I.
Message Pre-process
As the input of the MD5, the input message, denoted by
W, is preprocessed. At first, a signal bit 1 is appended to
the end of W, and as many as 0s followed by the bit 1 to
make the bit length of W 64 bits less than multiples of 512
bits. Then the remaining 64 bits are filled up with the
original length of W. After that, we break up the expanded
W into chunks of 512 bit blocks and split it up into 16 32bit subwords for each block.
THE VALUE OF THE LEFT ROTATION
A.
Step
i%4=0
i%4=1
i%4=2
i%4=3
0-15
7
12
17
22
16-31
5
9
14
20
32-47
4
11
16
23
48-63
6
20
15
21
B.
Encryption Process
Let W[0], W[1], …, W[15] represent the 16 32-bit input
subwords. Let Y denote the 64-th step compression
function output and
32
Y = (Y0 , Y1 , Y2 , Y3 ) ∈{{0,1} }4 ,
where Y0 , Y1 , Y2 and Y3 are the 32-bit words.
Let Ti represent the constants and ( Ai , Bi , Ci , Di )
denote the i+1-th step inputs. Thus, ( A0 , B0 , C0 , D0 ) are
the initial chaining values for the current input message
block, and we update them in total four rounds where each
round is composed of 16 steps on the basis of the nonlinear function, the modular addition and the left rotation.
The MD5 compression function is described as follows:
Bi +1 = ( Ai + fi ( Bi , Ci , Di ) + W ⎡⎣ R ( i ) ⎤⎦ + Ti ) <<< s[i ] + Bi ,
Ai +1 = Di ,
Ci +1 = Bi ,
Di +1 = Ci ,
where i = 0, 1, …, 63 , R ( i ) is the i-th message order, s[i]
denotes the value of i-th left rotation and fi is the i-th
round function which is different in each round. fi is
described by the piecewise function below:
⎧ (b ∧ c) ∨ (¬b ∧ d ) 0 ≤ i ≤ 15
⎪(b ∧ d ) ∨ (c ∧ ¬d ) 16 ≤ i ≤ 31
⎪
fi = ⎨
32 ≤ i ≤ 47
⎪ (b ⊕ c ⊕ d )
⎪⎩ (c ⊕ (b ∨ ¬d ))
48 ≤ i ≤ 63
r1
r2
r3
r4
,
Ti = ⎢ 232 i sin ( i + 1) ⎥ ,
⎣
⎦
where the symbol ⎣ ⎦ denotes floor function and
represents taking the absolute value.
C. The Hash Value as the Output
In order to get the hash value , the output ( A64 , B64 ,
C64 , D64 ) after 64 steps are required to have modual
addition with the initial chaining value ( A0 , B0 , C0 , D0 ) .
It means that Y could be described as below:
Y = (Y0 , Y1 , Y2 , Y3 )
= ( A64 + A0 , B64 + B0 , C64 + C0 , D64 + D0 ) .
The MD5 algorithm output the bytes of Y0 from back
to front and do the same to the bytes of Y1 , Y2 , Y3 in
sequence.
III.
DIFFERENTIAL FAULT ANALYSIS ON THE MD5
A. The Basic Assumption
Our proposed fault model includes the following three
assumptions:
(1) The attacker has the capability to choose an input
message to process and obtain the corresponding right and
faulty hash values.
(2) The attacker could induce a single word error to one
transformation. However, both the location of this word in
this round and the value of the error are unknown.
(3) The initial chaining values ( A0 , B0 , C0 , D0 ) for
processing the current input message block are known.
where ⊕, ∧, ∨ and ¬ denote the bitwise logical operation
XOR, AND, OR and NOR, respectively; b, c and d
represent 32-bit input state words; r1 , r2 , r3 and B. The Basic Idea
r4 represent the four rounds in the MD5.
The main procedure of this attack is as follows:
R ( i ) is also based on the round and defined as follows:
(1) The right output hash value is obtained when an
input message is processed.
0 ≤ i ≤ 15 r1
i
⎧
(2) We induce a random error in the 62-th step, and thus
⎪ 5 × i − 15 − 4 m od 16 16 ≤ i ≤ 31 r
(
) )
2
⎪(
obtain a faulty hash value. By differential analysis, many
.
R (i ) = ⎨
candidates for the subword that used in this step could be
⎪ ( 3 × ( i − 31 ) + 2 ) m od 16 32 ≤ i ≤ 47 r3
⎪
obtained.
48 ≤ i ≤ 63 r4
( i − 48 ) m od 16
⎩
(3) We repeat the above procedure to recover the value
s[i] is shown in Table I and four values used of the subword.
(4) The random errors are induced into the previous
recursively in each round.
The i-th constants Ti can be calculated by the steps and other subwords could be recovered
(5) The current input message W could be deduced on
following equation:
the basis of the crackable subwords.
© 2013 ACADEMY PUBLISHER
2890
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
C. The Detail Attack on the MD5
In the running procedure as depicted in Fig. 1, we
observe that the B is the only register which is updated at
every step. The following equation can be applied
on B64 in the last step:
B64 = ( A63 + f 63 ( B63 ,C63 , D63 ) + W [ R (63)] + T63 ) <<< s[63]
+ B63 .
For the correct output of the MD5, we have the
equation as follows:
Y = (Y0 , Y1 , Y2 , Y3 )
= ( A64 + A0 , B64 + B0 , C64 + C0 , D64 + D0 ) .
The known initial chaining values ( A0 , B0 , C0 , D0 )
could be substituted into the above equation and thus the
output of the last step ( A64 , B64 , C64 , D64 ) could be
derived. Thus, we have the following equations:
B63 = C64 ,
C63 = D64 ,
D63 = A64 ,
R ( 63) = 9,
and
s[63] = 21.
After substituting into the equation for B64 , we could
deduce the following equation:
B64 = ( A63 + f63 ( C64 , D64 , A64 ) + W [ R ( 63)] + T63 ) <<< s[63]
+ C64 .
In the above equation, there are only two unknown
values that W [ R (63)] and A63 . Our ultimate goal is to
recover the value of W [ R(63)] . If we could obtain the
value of A63 , then the W [ R (63)] is available by the
equation below:
W [ R ( 63)] = (( B64 − C64 ) <<< (32 − s[63]))
− A63 − f 63 ( B63 ,C63 , D63 ) − T63 .
We aim at obtaining the value of A63 , while A63 = D62 .
So we decrypt the value of D62 instead. In order to
recover the value of D62 , the error should occur in the
input of penultimate step. Once we broken the value of
D62 , that is to say, the value of A63 is known. Thus we
could recover W [ R (63)] according to the equation above.
The detail attacking procedure on the penultimate step is
as follows:
(1) The output hash value Y is derived when an
arbitrary input message is processed.
(2) We retrieve the word W [ R (63)] in the last step. In
our attack, several random faulty bytes could be injected
into the random positions of C62 during the process to
generate the faulty output Y * . It can be written below:
© 2013 ACADEMY PUBLISHER
Figure 1.
(
= (A
The attack in the MD5 compression function
Y * = Y0* ,Y1* ,Y2* , Y3*
*
64
+
*
A0 , B64
)
)
*
*
+ B0 ,C64
+ C0 , D64
+ D0 .
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
where the variables with the symbol ∗ represent the
faulty results of the registers.
The correct and faulty values of B63 could be written
as follows:
B63 = ( A62 + f 62 ( B62 ,C62 , D62 ) + W [ R (62)] + T62 ) <<< s[62]
+ B62 ,
(
(
)
)
*
*
B63
= A62 + f 62 B62 ,C62
, D62 + W [ R(62)] + T62 <<< s[62]
+ B62 .
(3) In the running procedure, we observe that
B62 = C63 = D64 ,
C62 = D63 = A64 ,
*
*
*
= D63
= A64
,
C62
B63 = C64 ,
and
*
*
B63
= C64
.
Thus,
C64 = ( A62 + f 62 ( D64 , A64 , D62 ) + W [ R(62)] + T62 ) <<< s[62]
+ D64 ,
*
*
C64
= ( A62 + f 62 ( D64 , A64
, D62 ) + W [ R(62)] + T62 ) <<< s[62]
+ D64 .
We could transform the two equations by moving the
D64 and s[62] from right to left and get
(C64 − D64 ) <<< (32 − s[62])
= ( A62 + f 62 ( D64 , A64 , D62 ) + W [ R(62)] + T62 ),
*
(C64
− D64 ) <<< (32 − s[62])
*
= ( A62 + f 62 ( D64 , A64
, D62 ) + W [ R(62)] + T62 ).
Thus, the modular subtraction between the above two
equations is
*
(C64
− D64 ) <<< (32 − s[62]) − (C64 − D64 ) <<< (32 − s[62])
*
= f62 ( D64 , A64
, D62 ) − f62 ( D64 , A64 , D62 ).
and
f 62 (b, c, d ) = (c ⊕ (b ∨ ¬d )) .
Assume that
*
((C64
Δ=
− D64 ) <<< (32 − s[62]))
− ( (C64 − D64 ) <<< (32 − s[62])),
*
*
δ = C62
⊕ C62 = A64
⊕ A64 ,
X = f 62 ( D64 , A64 , D62 ) = A64 ⊕ ( D64 ∨ ¬D62 ).
According to the equation after the modual subtraction,
the equation among X , δ and Δ is as below:
X ⊕ δ − X = Δ.
© 2013 ACADEMY PUBLISHER
2891
The candidates for X could be calculated by using the
following Proposition [21].
Proposition. The relationship among X , δ and Δ is as
follows, where X is the unknown 32-bit value, δ and
Δ are both known 32-bit value, − and ⊕ denote the
modual subtraction and the exclusive or, respectively :
X ⊕ δ − X = Δ.
Let X i , δi and Δi represent the i-th bit of X , δ and
Δ . Thus it has the following properties.
⎧ 0 or 1
⎪
X i = ⎨ 0 or 1
⎪δ ⊕ Δ
i +1
⎩ i +1
i = 31
δi = 0 and 0 ≤ i ≤ 30.
δi = 1 and 0 ≤ i ≤ 30
We are sure about some bits of the unknown value
X with the help of this proposition. Thus the number of
candidates for X could be decreased.
(4) We repeat the above procedure for many other
candidate sets for X . The true value of X is in all
candidate sets, in other word, at the intersection of all the
candidate sets. Then we continue doing the intersection
until the number of intersection result sets for X decrease
to the only two value. The candidates for D62 could be
derived, which is equal to the value of A63 . Thus the
value of W [ R(63)] could be derived. Fig. 1 shows the
attacking procedure in detail where the faults are induced
in C62 .
(5) Similar to the procedure of recovering W [ R(63)],
all the other words W [0], …, W [15] could be derived by
analyzing C61 , C60 , …, C48 on the previous steps. Then
the input message could be decrypted from the sixteen
subwords W [0], …, W [15] .
D. Retrieving the Input Message
In the attack, we could get two candidates for
W [ R(63)] at last and thus eliminate the fake value of
W [ R (63)] to obtain the only correct one. So does the other
fifteen subwords. Thus, we get 216 candidates for the input
message. The brute force search could check each
candidate by encrypting it with the known initial chaining
value ( A0 , B0 , C0 , D0 ) to recover the unique right input
message by comparing the obtained output hash value
with correct hash value.
IV. THE EXPERIMENTAL RESULTS
We implemented the attack on a PC using the Java
language with 8GB memory. The fault induction was
simulated by computer software. In this situation, we ran
the attack algorithm to 30 process unit.
Fig. 2 shows the number of subkey candidates in
sixteen intersections of subword candidates to recover one
subword. We define accuracy, reliability and latency for
evaluating the experimental results in detail.
Accuracy is a measure that defines how close the
number of subword candidates are to the true number of
subword candidates. Basically, the closer the experimental
number of subword candidates is to the true number, the
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
Number of subword candidates : power(2,y)
2892
31
29
27
25
23
21
19
17
15
13
11
9
7
5
3
1
1st
4th
7th
10th
13th
16th
0
6
12
18
24
30
Number of experiments
Figure 2.
(color)16 intersections of the subword candidates in 30 experiments
more accurate the experiment is. Thus, we consider the
Root Mean-Square Error(RMSE) to measure the accuracy,
where RMSE is given by
RMSE =
1
N
TABLE II.
ONE SUBWORD RECOVERY ON RELIABILITY
N
∑ ⎡⎣hmeasured ( e ) − htrue ⎤⎦ ,
e =1
where N is the number of experiments in a set and e is the
index of the experiment, hmeasured is the number of
subword candidates, and htrue is the number of ture
subwords. As we know, there is only one true subword.
The closer the RMSE value is to 0, the more accurate the
experiments are.
We divide 30 experiments as 5 groups in average,
denoted as G1, G2, G3, G4 and G5. The RMSE values for
every intersections of subword candidates are shown in
Table II , where N=6, htrue =1 and e ∈ {1,2,…,30} . Thus,
the 16th intersection of subword candidates is almost
accurate, and we may derive the subword in this
intersection. That is about 9 fault ciphertexts are required
to recover one subword.
Reliability is the ratio of successful experiments out of
all experiments made. If the attacker could derive only
two subword candidates with just one different bit, the
experiment is successful.
Referring to Table III, it is observed that the ratio of
successful experiments in the 1st, 4th, 7th, 10th, 13th and
16th intersections of subword candidates are 0, 23.3%,
56.7%, 83.3%, 93.3% and 100%, respectively. That is, the
reliability is 100% if the attacker induces 17 random faults
to break a subword.
Latency is the time from the first fault injection to the
recovery of the subword in our software simulation. It is
measured in minutes. Fig. 3 shows that the latency of 30
experiments.The time of 70% experiments is between 0
and 25 minutes.
© 2013 ACADEMY PUBLISHER
Group
G1
G2
G3
G4
G5
1st
0
0
0
0
0
2nd
0
0
0
0
0
3rd
0
16.7%
0
66.7%
0
4th
0
16.7%
33.4%
66.7%
0
5th
0
16.7%
33.4%
83.3%
50%
6th
16.7%
16.7%
50%
83.3%
50%
7th
33.4%
16.7%
66.7%
83.3%
83.3%
8th
66.7%
33.4%
66.7%
100%
83.3%
9th
66.7%
33.4%
83.3%
100%
83.3%
10th
66.7%
66.7%
83.3%
100%
100%
11th
66.7%
66.7%
100%
100%
100%
12th
83.3%
66.7%
100%
100%
100%
13th
100%
66.7%
100%
100%
100%
14th
100%
66.7%
100%
100%
100%
15th
100%
83.3%
100%
100%
100%
16th
100%
100%
100%
100%
100%
intersection
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
2893
TABLE III.
7% 3%
ONE SUBWORD RECOVERY ON ACCURACY BY RMSE
0-25 min
20%
Group
25-50min
50-75min
70%
Figure 3.
75-100min
One subword recovery on latency
Thus, about 9 faulty ciphertexts are required to recover
one subword on average with a complexity of 216 in the
word oriented fault model. So we need about 144 faulty
injections to completely retrieve the current input message.
V. CONCLUSIONS
In this paper, we check the security of MD5 function
with differential fault analysis. Our attack required 144
faulty hash values in the word-oriented random fault
model. It shows that MD5 is vulnerable to the differential
fault analysis under the circumstance that the initial
chaining values are known. The future work is to apply
differential fault analysis to verify the security of the MD5
when the initial chaining values for the current block are
unknown.
ACKNOWLEDGMENT
The authors are grateful to the editors and the
anonymous reviewers for their helpful comments. This
work is supported by the National Natural Science
Foundation of China under Grant No. 61003278, No.
61073150 and No. 61202371, Innovation Program of
Shanghai Municipal Education Commission under Grant
No. 14ZZ066, the open research fund of State Key
Laboratory of Information Security, the Opening Project
of Shanghai Key Laboratory of Integrate Administration
Technologies for Information Security, the Fundamental
Research Funds for the Central Universities,
National Key Basic Research Program of China under
Grant No. 2013CB338004, China Postdoctoral Science
Foundation under Grant No. 2012M521829, and Shanghai
Postdoctoral Research Funding Program under Grant No.
12R21414500, the National Social Science Foundation of
China under Grant No. 13CFX054.
G1
G2
G3
G4
G5
1st
468.66
331.59
326.38
28.92
1183.14
2nd
198.84
49.09
53.96
4.00
74.47
3rd
28.15
16.92
5.77
1.15
14.00
4th
9.05
10.05
2.59
0.82
5.72
5th
4.62
7.94
2.00
0.58
1.91
6th
3.00
3.87
1.53
0.58
1.29
7th
2.31
1.91
0.82
0.58
0.58
8th
1.63
1.41
0.58
0
0.58
9th
0.82
1.15
0.58
0
0.58
10th
0.82
0.82
0.58
0
0
11th
0.82
0.82
0
0
0
12th
0.58
0.82
0
0
0
13th
0
0.82
0
0
0
14th
0
0.82
0
0
0
15th
0
0.58
0
0
0
16th
0
0
0
0
0
intersection
[4] X. Wang and H. Yu, “How to break MD5 and other hash
functions,” In: C. Ronald, Ed. The 24th International
Conference on the Theory and Applications of
Cryptographic Techniques–EUROCRYPT 2005, LNCS, vol.
3494, pp. 19–35, Springer, Berlin, 2005.
[5] Y. Sasaki, Y. Naito, N. Kunihiro and K. Ohta, “Improved
collision attack on MD4 and MD5,” IEICE Transactions on
Fundamentals of Electronics, Communications and
Computer Sciences E90-A(1), pp. 36–47, 2007
[6] J. Aumasson, W. Meier and F. Mendel, “Preimage attacks
on 3-pass HAVAL and step-reduced MD5,” In: A. Roberto,
K. Liam and S. Francesco, Eds. The 15th Annual Workshop
on Selected Areas in Cryptography–SAC 2008. LNCS, vol.
5381, pp. 120–135. Springer, Berlin, 2009.
REFERENCES
[7] J. Black, M. Cochran, T. Highland, “A study of the MD5
[1] J. Liu, X. Wang, K. Yang and C. Zhao, “A Fast New
attacks: insights and improvements,” In: R. Matt, Ed. The
Cryptographic Hash Function Based on Integer Tent
13th International Workshop of Fast Software Encryption–
Mapping System,” Journal of Computers, vol 7, No 7
FSE 2006. LNCS, vol. 4047, pp. 262–277. Springer, Berlin,
(2012), pp. 1671-1680, July 2012.
2006.
[2] H. Elkamchouchi, M. Nasr and R. Ismail, “Secure and Fast [8] J. Vabek, D. Joscák, M. Bohácek, J. Tuma, “A new type of
Hashing Algorithm with Multiple Security Levels,” Journal
2-block collisions in MD5,” In: C. Roy, R. Vincent and D.
of Software, vol 4, No 9 (2009), pp. 935-942, November
Abhijit, Eds. The 9th International Conference on
2009.
Cryptology in India–INDOCRYPT 2008. LNCS, vol. 5365,
[3] R. Rivest, “The MD5 Message Digest Algorithm,” Request
pp. 78–90. Springer, Berlin, 2008
for Comments 1321, MIT Laboratory for Computer Science [9] G. Leurent, “Message freedom in MD4 and MD5 collisions:
and RSA Data Security, The Internet Engineering Task
Application to APOP,” In: B. Alex, Ed. The 14th
Force–IETF, April 1992, http://www.ietf.org/rfc/rfc1321.txt.
International Workshop of Fast Software Encryption–FSE
© 2013 ACADEMY PUBLISHER
2894
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
JOURNAL OF COMPUTERS, VOL. 8, NO. 11, NOVEMBER 2013
2007. LNCS, vol. 4593, pp. 309–328. Springer, Berlin,
2007.
M. Stevens, A. Lenstra and B. Weger, “Chosen-prefix
collisions for MD5 and colliding X.509 certificates for
different identities,” In: N. Moni, Ed. The 26th International
Conference on the Theory and Applications of
Cryptographic Techniques–EUROCRYPT 2007. LNCS, vol.
4515, pp. 1–22. Springer, 2007.
M. Stevens, A. Sotirov, et al. “Short chosen-prefix
collisions for MD5 and the creation of a rogue CA
certificate,” In: H. Shai, Ed. The 29th International
Cryptology Conference–CRYPTO 2009. LNCS, vol. 5677,
pp. 55–69. Springer, 2009.
F. Mendel, C. Rechberger and M. Schläffer, “MD5 is
weaker than weak: Attacks on concatenated combiners,” In:
M. Matsui, Ed. The 15th Annual International Conference
on the Theory and Application of Cryptology and
Information Security–ASIACRYPT 2009. LNCS, vol. 5912,
pp. 144–161. Springer, 2009.
K. Aoki and Y. Sasaki, “Preimage attacks on one-block
MD4, 63-step MD5 and more,” In: A. Roberto, K. Liam and
S. Francesco, Eds. The 15th Annual Workshop on Selected
Areas in Cryptography–SAC 2008. LNCS, vol. 5381, pp.
103–119. Springer, 2009.
Y. Sasaki and K. Aoki, “Finding preimages in full MD5
faster than exhaustive search,” In: A. Joux, Ed. The 28th
International Conference on the Theory and Applications of
Cryptographic Techniques–EUROCRYPT 2009. LNCS, vol.
5479, pp. 134–152. Springer, 2009.
E. Biham and A. Shamir, "Differential fault analysis of
secret key cryptosystems," In: B.S.Jr Kaliski, , Ed. The 17th
International Cryptology Conference–CRYPTO '97, LNCS,
vol. 1294, pp. 513-525, Springer, 1997.
D. Boneh, R. DeMillo, R. Lipton, “On the Importance of
Checking Cryptographic Protocols for Faults,” In: W. Fumy,
Ed. The International Conference on the Theory and
Applications of Cryptographic Techniques–EUROCRYPT
'97, LNCS, vol. 1233, pp. 37–51, Springer, Konstanz,
Germany, May 11–15, 1997.
W. Li, X. Xia, D. Gu, Z. Liu, J. Li and Y. Liu, “A New
Differential Fault Attack on SPN Structure, with
Application to AES Cipher,” Journal of Computers, vol 6,
No 2 (2011), pp. 216-223, February 2011.
P. Dusart, G. Letourneux and O. Vivolo, “Differential Fault
Analysis on A. E. S.,” In: J.Y. Zhou, M. Yung and Y.F.
Han, Eds. The 1st International Conference of Applied
Cryptography and Network Security–ACNS 2003, LNCS,
vol. 2846, pp. 293–306, Springer, Kunming, China, October.
16–19, 2003.
E. Biham, L. Granboulan and P. Q. Nguyen, “Impossible
Fault Analysis of RC4 and Differential Fault Analysis of
RC4,” In: G. Henri, H. Helena, Eds. The 12th International
Workshop of Fast Software Encryption–FSE 2005, LNCS,
vol. 3557, pp. 359–367, Springer, Paris, France, February.
21–23, 2005.
L. Hemme and L. Hoffmann, “Differential Fault Analysis
on the SHA–1 Compression Function,” In: L. Breveglieri, S.
Guilley, I. Koren, D. Naccache and J. Takahashi, Eds. The
2011 Workshop on Fault Diagnosis and Tolerance in
Cryptography–FDTC 2011, pp. 54–62, IEEE Computer
Society, Tokyo, Japan, September. 29, 2011.
R. Li, C. Li and C. Gong, ”Differential fault analysis on
SHACAL-1,” In: L. Breveglieri, I. Koren, D. Naccache, E.
Oswald and J. Seifert, Eds. The 6th International Workshop
on Fault Diagnosis and Tolerance in Cryptography–FDTC
2009, pp. 120–126. IEEE Computer Society, Los Alamitos
2009.
© 2013 ACADEMY PUBLISHER
Wei Li, born in 1980, is currently an
associate professor in School of
Computer Science and Technology,
Donghua University. She was awarded a
B.S. degree in engineering from Anhui
University in 2002, and her M.S. degree
and Ph.D. degree in engineering in 2006
and 2009, both from Shanghai Jiao Tong
University. She serves as the members for
CACR (China Association of Cryptologic
Research), CCF (China Computer Federation), IEEE and ACM.
Her research interests include the design and analysis of
symmetric ciphers.
Zhi Tao is currently a Master candidate in School of Computer
Science and Technology, Donghua University. His research
interests include security analysis of lightweight ciphers.
Dawu Gu is a professor at Shanghai Jiao Tong University in
Computer Science and Engineering Department. He was
awarded a B.S. degree in applied mathematics in 1992, and a
Ph.D. degree in cryptography in 1998, both from Xidian
university of China. He serves as board members of CACR
(China Association of Cryptologic Research) and Shanghai Open
System Federation. He is technical committee members for
CACR and CCF (China Computer Federation), technical editor
of China Communications, members of ACM, IACR, IEICE. He
was the winner of New Century Excellent Talent Program made
by Ministry of Education of China in 2005. He has been invited
as Chairs and TPC members for many international conferences
like ACNS, ISC, ISPEC, ICICS, NSS, E-Forensics, etc. His
research interests cover cryptology and computer security. He
has got over 100 scientific papers in academic journals and
conferences.
Yi Wang is currently an associate professor in Department of
Information Science and Technology, East China University of
Political Science and Law. She was awarded her Ph.D. degree
from Shanghai Jiao Tong University in 2004. Her research
interests include information and network security.
Zhiqiang Liu, born in 1977, is now a Post-doc in the department
of Computer Science and Engineering, Shanghai Jiao Tong
University. He received his B.S. degree and M.S. degree in
Mathematics, and Ph.D. degree in Cryptography from Shanghai
Jiao Tong University in 1998, 2001 and 2012 respectively. From
2001 to 2008, he worked in ZTE, Alcatel and VLI in the realm of
NextGeneration Network (NGN)/IP Multimedia Subsystem
(IMS). Currently, his researchinterests include cryptanalysis and
design of block ciphers and Hash functions.
Ya Liu is currently a lecturer in Department of Computer
Science and Engineering, University of Shanghai for Science and
Technology. She was awarded her Ph.D. degree from Shanghai
Jiao Tong University in 2013. Her research interests include the
design and analysis of symmetric ciphers and computational
number theory.