Cryptographic Hash Functions A Review
Cryptographic Hash Functions A Review
net/publication/267422045
CITATIONS READS
83 18,467
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Geetha Ganesan on 26 December 2014.
2
School of Computer Applications, Lovely Professional University
Phagwara, Punjab 144806, India
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 462
The first three requirements are must for practical Verifying the integrity and authenticity of information
applications of a hash function to message is a prime necessity in computer systems and networks.
authentication and digital signatures. The fourth In particular, two parties communicating over an
requirement also known as pre-image resistance or insecure channel require a method by which
one way property, states that it is easy to generate a information sent by one party can be validated as
message code given a message but hard (virtually authentic (or unmodified) by the other. [17]
impossible) to generate a message given a code. The
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 463
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 464
3.6 Session Key Derivations At Crypto ’89, Ivan Damgard [26] and Ralph Merkle
[12] independently proposed the iterative structure to
Hash functions as one way functions can be used to construct a collision resistant hash function using fixed
generate sequence of session keys that are used for the length input collision resistant compression function.
protection of successive communication sessions. Both independently provided proofs in their papers [12
Starting from a master key K0, the first session key can and 26] that if there exists a fixed length collision
be K1 = H(K0) and second session key can be K2 = resistant compression function: f: {0,1}a X {0,1}b
H(K1) and so on. Matyaset.al.[24] described the key {0,1}c then one can design a variable length input
management scheme based on control vectors which collision resistant hash function H: {0,1}* {0,1}n ,
makes use of hash functions and Encryption functions by iterating that compression function. Originally
for generating session keys. named “Merkle’s Meta Method”, this scheme is now
mostly calledthe Merkle-Damgard construction.Lai
3.7 Constructions of Block Ciphers and Massey [27] named such a structure as Iterated
Hash Structure.
Block ciphers can be used to construct a cryptographic
hash function however the inverse is also true and Rompay [3] has given the following formal definition
there has been block ciphers designed using Hash of Compression function, Output transformation and
functions. In [25] Handschuh and Naccache proposed Iterated Hash functions.
to use the compression function of cryptographic hash
function SHA-1 [5] in encryption mode. The name of Definition: A compression function is a function f : D
the cipher was SHACAL. SHACAL-1 (originally R where D = {0,1}a X {0,1}b and R = {0,1}c for
named SHACAL) and SHACAL-2 are block ciphers some a,b,c>=1 ¸ and a + b >= c. (2)
based on SHA-1 [5] and SHA-256 [6] respectively.
SHACAL-1 (originally named SHACAL) is 160-bit Definition: An output transformation is a function g :
clock cipher and SHACAL-2 is 256 bit block cipher. D R whereD = {0,1}a and R = {0,1}n for some a, n
Both were selected for the second phase of NESSIE >=1 and a>=n . (3)
project. In 2003 SHACAL-1 was not recommended for
NESSIE portfolio because of concerns about its key Definition:Suppose that a compression function f :
schedule, while SHACAL-2 was finally selected as one {0,1}c X {0,1}b{0,1}c and an output transformation
of the 17 NESSIE finalists.SHACAL-1 used the {0,1}c{0,1}n are given. Then an iterated hash
compression function of SHA-1 and turned it into a function is the hash function h : ({0,1}b)* {0,1}n
block cipher by using the state input as the data block defined by h(X0, X1, .. Xt-1 ) = g (Ht ) where Hi+1 = f (Hi
and using the data input as the key input. In other , X i ) for 0<=i<t. The input block Xi (0<=i<t ) =
words SHACAL-1contemplated the SHA-1 {0,1}b and Initial chaining value H0 = IV ∈ {0,1}c (4)
compression function as an 80-round, 160-bit block
cipher with a 512-bit key. Keys shorter than 512 bits As per the definition the block length is b bits and
are supported by padding them with zero up to 512. chaining variable length is c bits long. In case the input
SHACAL-1 was not intended to be used with keys string is not an exact multiple of b bits then some sort
shorter than 128-bit. of padding is used. The padding technique has varied
from one algorithm to another. However the general
3.8 Other Applications convention is to pad the input strings with bit 0
followed by sequence of bit 1 and at the end append
Hash Functions can also be used to index data in hash the length of message such that after all the padding
tables, for fingerprinting, to detect duplicate data or (bit 0, sequence of 1s and the message length), the total
uniquely identify files, and as checksums to detect length of the padded message is exact multiple of b bits
accidental data corruption and for generating random (block length). The length of message is padded to
numbers also. avoid a particular type of attack named as fixed point
attack. The output transformation is required when the
Looking at this wide range of applications, it is not message digest size required is less than the size of
correct to say thatHash Functions belong to one chaining variable i.e. n < c. In case n = c, then output
particular cryptographic sub branch. These transformation can be ignored. Wherever output
cryptographictools deserve a separate status for transformation is required, it can be implemented by
themselves. They are used in almost all placesin just selecting c bits out of n or using some folding
cryptology where efficient information processing is techniques.
required.
Merkle [12] and Damgard [26] suggested that if IV is
not fixed then finding second pre-image or collision is
4. Iterative Structure of Hash Functions trivial and also if length is not padded then attacks
based on fixed points can be used to break iterated
4.1 MerkleDamgard Iterated Hash Design
hash structure. Both independently provided proof that
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 465
if IV is fixed as well as length padding is used then {0,1}s{0,1}m’, i.e. in HAIFA chaining value Hi is
hash function will be collision resistant if compression computed as
function is collision resistant. The process of fixing IV Hi = f (Hi-1, Mi, #bits, salt)
and adding length padding is known as MD- where#bits is number of bits hashed so far and salt is a
strengthening. salt value.For comparison of HAIFA structure with
Wide pipe design or other designs refer [41].
Majority of Hash Functions launched in recent years
and being used these days follow the iterated hash 4.4 Fast Wide Pipe (FWP) Design
function. MD4 [9], MD5 [10], SHA-1, SHA-224,
SHA-256, SHA-384, and SHA-512 [4, 5, 6,8] all are A further improvement of wide pipe design was
influenced by the Merkle and Damgard’s iterated hash suggested by Mridul Nandi and Souradyutipaul [40] in
design as explained above. 2010. They proposed that FWP was nearly twice as
fast as the Wide-pipe for a reasonable selection of the
MerkleDamgard construction as explained above has input and output size of the compression function. The
some drawbacks like it suffer from some generic idea was that internal state i.e. widepipe chaining value
attacks (to be discussed in Section 5 and 6) should be divided in two halves. One half is inputted to
JouxMulticollision [37], Herding attacks [38], Length the succeeding compression function but the other half
Extension attacks [39] etc. Because of these structural is combined (XOR) with the output of that succeeding
weaknesses, some other constructions have been compression function i.e. we feed-forward half of the
suggested in literature. Few of these are: previous chaining value to XOR it to the output of the
compression function.
4.2 Wide Pipe Iterated Hash Design
4.5 Sponge Construction
Mainly because of length extensions
&JouxMulticollisions[37], Stefan Lucks [36] proposed G. Bertoniet. al.[42, 43, 44] proposed sponge
an improvement over MerkleDamgard(MD) structure construction to design hash functions that closely map
named ‘Wide Pipe Iterated Hash Design’.Wide pipe the random oracle. In the context of cryptographic hash
design is quite similar to MD design, but it has larger functions, sponge functions provide a particular way to
internal state size. Lucks [36] suggested that Joux [37] generalize hash functions to more general functions
and length extension are mainly based on Internal whose output length is arbitrary. G. Bertoniet. al. in
collisions and internal collisions can be avoided if we [42] explained that sponge functions are only
widen the internal pipe from n bits to w >= n bits. If a distinguishable from random oracles by the detection
hash of n bits is desired, then two compression of innercollisions and the probability of inner
functions f1andf2 will be required: collisions can be made arbitrarily small by increasinga
-- f1: {0,1}w X {0,1}m {0,1}w security parameter, called the capacity.
-- f2: {0,1}w {0,1}n
Then wide pipe iterated hash is constructed like follow: As per G. Bertoniet. al. [44] the sponge construction is
-- for i = 1, …., L : Computer Hi = f1 (Hi-1 , Mi ) a simple iterated construction for building a
-- Finally Set H(M) = f2 (HL) function F with variable-length input and arbitrary
Compression function f1takes w bits (generally w = 2n) output length based on a fixed-length transformation
of chaining value and m bits of message (M) and (or permutation) f operating on a fixed number b of
compressed this to an output of w bits and in the last bits. Here b is called the width.
another compression function f2 compresses the last
internal hash value (w bits) to the final hash value (n The sponge construction operates on a state
bits). SHA-224 and SHA-384 are based on the same of b=r+c bits, r is called bitrate and c as capacity.
design and are derived from SHA -256 and SHA-512 Initially all the b bits of state are set to zero and I/P
respectively. In addition to wide pipe, Lucks [36] has message is padded and divided into block of r bits
also proposed double-pipe hash (twined pipe) design. each. Then sponge construction proceeds in two
phases: Absorbing phase and Squeezing Phase
4.3 Hash Iterated Framework (HAIFA)
Biham and Dunklermann [41] in 2006 proposed the
HAIFA structure to overcome many of the pitfalls
observed in MerkleDamgard Construction.The main
ideas behind HAIFA are the introduction of number of
bits that were hashed so far and a salt value intothe
compression functions. Formally, instead of using a
compression functionof the formfMD : {0,1}m’ X
{0,1}n{0,1}m’, Biham and Dunklemann [41]
proposed to use fMD : {0,1}m’ X {0,1}n X {0,1}b X
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 466
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 467
Certificational properties or weaknesses on the Special Type – 3 Collision: Special Type – 3 collision
compression functions used in the MerkleDamgard are the collisions of the compression function using
structure or similar other iterative structures are two different initial values on the same message block.
classified based on the IV / H0 (Initial value) used. Corresponding property may be defined as: it is hard
These classifications and nomenclature has varied from to find two pairs (H, X) and (H, X’) for compression
author to author. For example Pseudo collision function f: {0,1}n X {0,1}m {0,1}n such than f(H,X)
resistanceas defined in [47] is termed as Special = f (H,X’) such that X ≠ X’. Here H represent initial /
pseudo (type-3) collision resistancein [16]. intermediate chaining value and X/X’ represent
Similarlyfor an attack, Rompay in [3]has used the message block. Note that [3] and [47] uses pseudo
nomenclature as Random IV collision and for the same collision resistance to represent the same property.
attack Gauravram in [16] has used the nomenclature as However Gauravram [16] categorised it as a special
Semi free start collision. Furthermore Mironovin [28] category of Pseudo collision resistance and named it as
defined Pseudo Collision resistance and Free Start Special pseudo collision resistance.
collision resistance as two separate properties on the
other side Gauravrama [16] and Knudsen [48] termed Inner (almost) Collisions: As defined by Rompay [3],
pseudo collisionresistance and free start these are collisions or almost-collisions for the
collisionresistance as one and the same thing. In this temporary values of the chaining variable (for two
sub section we use the terminology and classification distinct message blocks), at some stage of the
done by Gauravram in [16] as it has been found most compression function (for example after s1 step
exhaustive and clear but at the same time we also list operations where s1 < s). This may be helpful for an
the alternative nomenclature used by different authors. attacker who tries to generate a collision in the output
of the compression function.
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 468
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 469
In addition to the above discussed classical attacks, the attacks on the Merkle-Damgard construction that
following natural extensions have also been studied by workon all hash functions designed using
different authors. MerkleDamgard construction are the generic
K-Way Collision attack for K >=2: FindK different attacks.Generic attacks are applicable even if we
messages Misuch thatH(M1) = … = H(MK). [36] replace the underlying compression function by some
K-Way (2nd) pre-image attack for K>=1: GivenY (or abstract oracle. Length extension attacks,
M with H(M) = Y), find K different messages Mi, with Jouxmulticollisionattacks [37], Generic 2ndpreimage
H(Mi) = Y and Mi ≠ M.[36] attacks like the one based on Fixed points, correcting
block attack, Herding Attacks and Meet in the Middle
6.2 CryptanalyticalAttack attacks are example of Generic cryptanalysis attacks.
Cryptanalysis of Hash functions focuses on the a) Length Extension Attacks:Length extension also
underlying structure of hash function and/or on the known as ‘message extension’ or ‘padding’ attack is
algorithm of Compression Function. Due to fixed size well known weakness of MerkleDamgard construction.
of the hash values compared to much larger size of Given h = H(M), it is straightforward to compute M’
themessages, collisions must exist in hash functions. and h’, such thath’ = H(M||M’) (even for unknown M
However, for the security of thehash function, they (but for known length |M|). The attack is based on
must be computationally infeasible to find. using H(M) as an internal hash for computing
Collisionsin hash functions are much easier to find H(M||M’).Gauravram [16] classified it further in two
than pre-images or 2nd pre-images. types i.e. Type – A extension attack and Type- B
extension attack. The categorization is based on
Informally, a hash function is said to be "broken" whether the original message contains the length
when a reduced number ofevaluations of the hash padding or not.Using the length extension attack it is
function compared to the brute force attack possible, from only hash of a message and its length, to
complexitiesand the strengths estimated by the compute hash of longer messages that start with the
designer of the hash function are used toviolate at least initial message and include the padding required for
one of its properties immaterial of the computational the initial message to reach multiple of block size [56].
feasibilityof that effort. For example, assume that it Length extension attack has been studied way back in
requires 290 evaluations of the hashfunction to find a 1992 by Tsudic [18] and even these days certain
collision for a 256-bit hash function. Though it is vulnerabilities based on this simple attack are being
impracticalto generate this amount of computational observed. Thai Duong and Juliano Rizzo [55] in 2009
power today, the hash function is saidto be broken as showed a vulnerability in the Flickr (one of the best
this factor is less than the 2128 evaluations of the hash online photo management and sharing application in
functionrequired by the Birthday attack. It should be the world) signing process for making use of Flickr
noted that hash functions are easier to attack authentication API and this vulnerability allows an
practically thanencryption schemes because the attacker to generate valid signatures without knowing
attacker does not need to assume any secrets andthe the shared secret. By exploiting this vulnerability, an
maximum computational effort required to attack the attacker can send valid arbitrary requests on behalf of
hash function is onlyupper bounded by the attacker's any application using Flickr's API. When combined
resources not users gullibility. This is not thecase with with other vulnerabilities and attacks, an attacker can
block ciphers where the maximum practical count of gain access to accounts of users who have authorized
executions of theblock algorithm is limited by how any third party application.
much computational effort the attacker can getthe user
to do [16]. b) JouxMulticollisionAttacks:Joux in [37] studied the
generic multicollision attack on iterated hash functions.
Collision finding algorithm and attacks may be Joux showed that finding multicollisions, i.e. r-tuples
classified as single block attacks or multi block attacks of messages that all hash to the same value, is not
depending on whether that attack uses single block much harder than finding ordinary collisions, i.e. pairs
(i.e. one compression function) or more than one block of messages, even for extremely large values of r.
(i.e more than one iteration of compression function) More precisely, the ratio of the complexities of the
for finding collision or pre-images. attacks is approximately equal to the logarithm of r i.e.
constructing 2d – collisions cost d times as much effort
Gauravaram [16] in his Ph.D. thesis has further as building ordinary 2-collisions. In this attack, it is
classified Cryptanalyticalattacks on hash function in assumed that collision finding algorithm exists and the
two categories i.e. Generic and Specific attacks. algorithm finds collision for the compression function
fwith every call to it. To start with the attacker calls
6.2.1 Generic Attacks this collision finding algorithm to the compression
function with the initial state H0 and algorithm return
Theattacks that work on a general hash function two messages M1 and N1 such that fH0(M1) ≠ f H0(N1)
construction are called genericattacks. For example, = H1. Then the attacker calls this algorithm with state
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 470
H1 and algorithm returns two message block M2 and and b > c, then the number of block Xi’ satisfying the
N2 such that fH1(M2) ≠ f H1(N2) = H2. H2 is then used property f (Hi, Xi’) = f (Hi, Xi) is approximately 2b / 2c
as state and call to algorithm returns message blocks i.e. 2b-c. Challenge is such blocks are a small subset of
M3 and N3 such that fH2(M3) ≠ f H2(N3) = H3. Similarly all possible blocks, and for an ideal hash function
successive calls to algorithm can be made. If only thee about 2c operations are needed to find one[3]. One
calls are made, then we have obtained 23 = 8 different round of MD5 has been detected for this attack. In
messages that maps to digest H3. If we assume MD5, the attacker takes a message block X (consisting
collision finding algorithm was based on brute force of 16 words), fixes the 11 words of X, modifies one
attack and every call takes time 2n/2 then it took O (3 x word and calculate the remaining 4 words to generate a
2n/2) time to find 8-collisions. In general it can be message block X’ which maps to the same digest.
demonstrated that this technique required O (d x 2n/2) Correcting block attack is possible if the preimages for
time for finding 2d-collisions instead ofa compression compression function can be obtained with the
function f using a brute force collision finding computation starting from pre-specified chaining
algorithm. The brute force mechanism for finding 2d- values. Fixing the value of IV helps in thwarting the
collisions would have required Ω1( 2n.k) where k = (2d- attack thus MD strengthening in case of
1)/2d and n is the message digest size. MerkleDamgard construction avoids this attack from
working on complete hash functions [16].
c) Multi (2nd) preimage Attacks based on Joux
Technique: Thenotionmulti (2nd) preimage represents Fixed Point Attacks: In thisattack adversary looks for
multiple preimages as well as multiple 2ndpreimages. a fixed point in the compression functionf. A fixed
The technique presented by Joux [37] can be extended point is chaining variable Hi such that f (Hi, Xi ) = Hi .
and multi (2nd) pre-images can be found at a cost less Few authors refer the pair (Hi, Xi ) as fixed point.
than the brute force complexity of finding multiple Whenever fixed point exists, the presence of message
(2nd) preimages. Gauravram [16] exemplified this block Xi does not affect the message digest. To
technique and presented that total cost of 2d – generate preimages of message X, one may insert
preimages or 2d – 2nd preimages for n-bit message arbitrary number of blocks with value Xi to the
digest is O (d x 2t/2 + 2t ) instead of Ω (2d x 2n ). message X where chaining variable takes the value Hi.
Fixed point attack can be avoided by inserting the
d) Generic 2nd preimage Attacks:In generic 2nd message length at the end of message. As MD
preimage attack on hash function of length n bits, the strengthening pad the message length at the end of
attacker tries to find a second pre-image X’ for a target original message MD strengthening thwarts fixed point
message X such that X ≠ X’ and H (X ) = H (X’) with attacks from affecting complete hash functions.
an effort less than 2n . A number of techniques have However if fixed points are occur at more than one
been suggested to produce generic 2ndpre-image iteration of compression function, then attack may
attacks. Correcting Block attacks as defined in [3] can become practical. In such a case the attacker can insert
be used to generate generic 2nd pre-image attacks. R D message block Xi at stage i such that f (Hi, Xi ) = Hi
Dean [51] used Fixed Point attacks to generate generic andcan remove Xj from X at some later stage j, such
2ndPreimages and Kelsey and Sheiner [57] made use of that f (Hj, Xj ) = Hj. Even in this case attack is only
jouxmulticollisionsfor generating 2nd pre-image possible if the initial value is not fixed (the attacker
attacks. In this subsection we provide brief overview of chooses IV = Hi), or if fixed points can be found for a
these attacks: significant fraction of all chaining values.
Correcting block attack: In thisopponent used a pre- R D Dean in [51] presents different techniques that
existing (message, digest) pair and tries to change one make use of fixed points to produce attack on complete
or more message blocks such that the resulting digest hash functions even in the presence of MerkleDamgard
remains same. To generatea second preimage X’for a strengthening. One very simple technique proposed by
target message X, the adversary chooses one of the R D Dean in [51] for MD4 and MD5 hash functions is
input blocks Xi and replaces it with an alternative to repeat the fixed point block 255 times, which adds 264
block Xi’ so that f (Hi, Xi’) = f (Hi, Xi). If all other bits to the input. Since the message length in MD4 and
blocks of the alternative message X’ are equal to the MD5 is computed modulo 264, this effectively adds 0
corresponding blocks of target message X, then the to the length field, and the proper hash value comes
same hash result will be obtained and a second pre- out. Kelsey and Sheiner [57] have also improved the
image has been found. If the size of the internal state generic correcting block attack using the notion of
i.e. chaining variable is c bits and block size is b bits expandable messages such that it bypasses the defense
provided by MD strengthening. For details of
expandable messages and various techniques to find
1
Formally the symbol O is used for the expected generic 2ndpreimage attacks refer [51, 57].
running time and is asymptotically “at most” and Ω is
used for the expected running time and is e) Herding Attacks: Kesley and Kohno in [38]
asymptotically “not less than” presented a new attack on hash functions based on
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 471
MerkleDamgard structure, called the Herding attack. produce the message that yields the hash after
In Herding attack, an attacker who can find many the events predicted have occurred.
collisions on the hash functions by brute force can first ii. The attacker waits for the events to unfold, just
provide the hash of a message, and later “herd” any as the victim does.
given starting point of a message to that hash value by iii. The attacker herds a description of the events as
the choice of an appropriate suffix. With this attack they did unfold into her hash output, and
Kesley and Kohno identified an essential security provides the resulting message to the victim,
property for hash functions called Chosen Target thus “proving” her prior knowledge.
Forced Prefix (CFTP) preimage resistance. CFTP
preimage resistance as defined by Kesley and Kohno in f) Meet in the Middle Attack: This attack is a
[38] is reproduced here: variation of birthday attack and is applicable to hash
function that make use of compression function f
In the first phase of the attack, adversary performs invertible to the chaining variable Hi or the message
some pre-computation and then outputs an n-bit hash block Xi .It allows theattacker to construct messages
value H: H is his “Chosen Target”. The challenger that corresponds to certain digest. To apply this attack
then selects some prefix P (picks uniformly at random adversary generates r1 samples for the first and r2
from large but finite set of strings) and supplies it to samples for the last part of the bogus message.
adversary; P is the “Forced Prefix.” In the second Adversary then moves forward from initial value and
phase of attack, adversary computes and outputs some goes backward from the hash value. The probability
String S. Adversary is said to compromise the CFTP that two intermediate values are same is given by, P ≈
preimage resistance if it takes less than 2n evaluations 1 – e - k, wherek = (r1*r2) / 2n ; n = length of initial
of the hash function to find S such that hash(P||S) = H. value or chaining value or message digest.If meeting
point is found then then the concatenation of the
Kesley and Kohno in [38] presented that for hash message parts form a bogus message that results in the
functions based on MerkleDamgard construction, given hash value. [58]
CTFP preimage resistance can always be violated by
repeated application of brute-force collision-finding 6.2.2 Specific Attacks
attacks. An attack that violates this property effectively
(less than 2n computations) “herds” a given prefix to The attacks that work on specific hash function or the
the desired hash value; and such an attack is called as algorithm of its compression function are called
Herding attack.As per Kesley and Kohno [38] the specificattacks. For example, collision attacks on the
following steps are used for applying herding attack: specific hash functions MD4 [30],MD5 [31,32], SHA-
i. In the first phase of a herding attack, the 0 [33,34] and SHA-1 [33,35]. Attacks using
attacker repeatedly applies a collision-finding differential cryptanalysis, linear cryptanalysis,
against a hash function to build a diamond rotational cryptanalysis &attack on the underlying
structure2. encryption algorithms are type of specific
ii. In the second phase of the attack, attacker cryptanalysis attacks. The most successful of these are
exhaustively searches for a string S’ such that P the attacks based on differential cryptanalysis.
|| S’ collides with one of the diamond structure’s
intermediate states. Differential Cryptanalysis: Differentialcryptanalysis
iii. Having found such a string S’, attacker can was introduced by Biham and Shamir [59] and the
construct a sequence of message blocks Q from technique was mainly devised to analyse block
the diamond structure, and thus build a suffix S ciphers. In differential cryptanalysis the correlation
= S’ || Q such that hash (P||S) = H. between the difference in input and output is studied.
Kesley and Kohno [38] also described the various If X and X’ are two inputs then the difference between
contexts in which herding attack can be used. them is defined as ∆X = X op X’. If H and H’ are two
Nostradamus attack, Stealing credits for inventions, corresponding message digests then the difference
Tweaking a signed document and Random number between them is defined as ∆H = H op H’. The
fixing are examples of such contexts explained in [38]. difference operation op canbe XOR operation or
At very general level, the methodology of these attacks integer subtraction or any other operation. For
as explained in [38] is as follow: differential cryptanalysis attack, the attacker searches
i. The attacker presents the victim with a hash H, for specific difference in inputs (∆X )that result in
along with a claim about the kind of specific difference in output (∆H) with high
information this represents. She promises to probability. In case of hash function, the difference in
output should be zero to result in collisions. Examples
of specific attacks using differential cryptanalysis are
2
Diamond structure is a data structure reminiscent to a [30, 31, 32,33, 34, 35, 60, 61].
binary tree. Diamond structure is a structure of
messages constructed to produce large multicollisions. Linear Cryptanalysis: Linear cryptanalysis was
For details refer [38] proposed by Matsui [62]. S. Bakhtiariet. al. in [58]
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 472
quoted that for Block ciphers like DES, better results implementations in hardware or software can be
have been obtained with Linear Cryptanalysis reused. Secondly some existing block ciphers like DES
compared to Differential Cryptanalysis. Hash [67] or AES [7] have received a lot of scrutiny, and
functions based on the Encryption algorithm can be thus there is a lot of trust in their security properties
susceptible to linear cryptanalysis, but till date not [3]. At the same time a number of drawbacks of block
much successful attack on Hash functions using linear cipher based hash functions have also been observed.
cryptanalysis has been reported. One of the arguments is that the block ciphers do not
possess the properties of randomizing functions. For
Rotational Cryptanalysis: The example they are invertible. This lack of randomness
termRotationalcryptanalysis was coined by in February may lead to weakness that may be exploited [85].
2010 by Dmitry Khovartovich and IvicaNikolic in Secondly the differential cryptanalysis is easier against
[64]. The attack may also be classified as generic block operations in hash functions than against block
attack because as per [64] it may be applied on all the operations used for encryption; because the key is
algorithms that are based on three operations modular known so several techniques can be applied. [68, 69]
addition, rotation and XOR (ARX for short). However suggest the various techniques of using differential
we have placed it under the category of specific attacks cryptanalysis for attacking hash functions based on
as this attack has been demonstrated by Khovartovich clock ciphers. Thirdly it has been suggested that block
and Nikolic against reduced round Threefish cipher – cipher based on hash functions are significantly slower
part of Skein hash function [66], a SHA3 competition than hash functions based on compression function
[45] candidate only. Secondly as per our classification, specially designed for hash functions. It is also felt that
the generic attacks are applicable to all the hash use of a block cipher for a purpose for which it was not
functions falling under a particular structure like designed may reveal some other weaknesses which
MerkleDamgard, so it is better to consider rotational may not be relevant in case of encryption. However
cryptanalysis as a specific attack. In October 2010, a with the adoption of AES, there has been renewed
followup attack that combines rotational cryptanalysis interest in developing a secure hash function based on
with the rebound attackwas presented by the same strong bock cipher and exhibiting good performance
authors along with Christian Rechberger in [65]. [85]. Hash functions based on Block ciphers can be
further classified as follows:
Attacks on underlying Encryption Algorithm: Ifthe
underlying compression function of hash function is 7.1.1 Single block length construction
implemented using the Encryption algorithm, then the
weakness in encryption algorithm can be exploited to These are the schemesin which size of hash code
attack hash functions. Encryption function may have equals the block size of underlying block cipher. A
complementation property or weak keys or may have number of proposals have been made and the basic
fixed points and the same may be used to attack concept to construct compression function ffromblock
complete hash function based on encryption algorithm. cipher as described in [15] is as follow:
Miyaguchiet. al. in[63] analyzed the hash functions
from the standpoint of the complementation property
and weak keys of the block ciphers used in them and
notified their weaknesses.
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 473
A Hash function generating digest of 64 bits (or 128 Whirlpool Hash Function: Whirlpool is one of the
bits) is insecure as brute force collision will require only two hah functions endorsed by NESSIE (New
232(or 264 ) operations only. Using the Single block European Scheme for Signatures, Integrity and
length construction schemes as mentioned in previous Encryption). Unlike virtually all other proposals for a
sub-section, we will get a 64 bit digest with DES as block-cipher based hash function, Whirlpool uses a
underlying block or 128 bit digest with AES as block cipher that is specifically designed for use in the
underlying block cipher. To increase the digest size of hash functions and that is unlikely ever to be used as a
hash function and to make it more secure double length standalone encryption function. For details refer [84]
block constructions is suggested. It is schemesin which
size of hash code doubles the block size of underlying
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 474
Skein Hash Function: Skein hash function is one out milestone in the development of Hash. It was a widely-
of five finalists in the NIST hash function competition used well-known 128-bit iterated hash function, used
[45] to design SHA-3 standard that will replace SHA-1 in various applications including SSL/TLS, IPsec, and
and SHA-2 [4, 5, 6, 8]. The algorithm is based on many other cryptographic protocols. It was also
Threefishtweakable Block Cipher. For details refer commonly-used in implementations of time stamping
[66] mechanisms, commitment schemes, and integrity-
checking applications for online software and random-
Grøstl Hash Function: JustLikeSkein, Grøstl also is a number generation. Type-2 (Semi free start collision)
SHA-3 final round candidate algorithm. Its and Type-3 (Pseudo collision) attacks on MD5 were
compression functions is not exactly uses existing reported in [47, 50]. Strong collisions (Type-1
block cipher but Grøstl uses the same S-Boxes as AES. collisions) on MD4 and MD5 have been reported by
Its compression function f is based on a pair of Wang et. al. in [30, 31, 32] and these attacks make the
permutation functions P and Q and these permutation further usage of these hash functions questionable.
functions are heavily based on AES [7] block cipher.
SHA family of Hash Functions:Secure Hash
6.2 Hash functions based on Modular Arithmetic Algorithm (SHA) developed by the National Institute
of Standards and Technology (NIST) was also
Compression function can also be designed using designed on the same principle as MD4 and was
modular arithmetic. This allows the reuse of existing published as Federal Information Processing Standard
implementations of modular arithmetic such as in (FIPS 180)in 1993 [4]. A revised version was issued as
asymmetric cryptosystems. The idea of cryptosystems FIPS180-1 in 1995 and is generally referred to as
based on modular arithmetic is to reduce the security SHA-1 [5]. When revised version of SHA-1 was
of a system to the difficulty of solving the problems in published no details of the weaknesses found in SHA-0
number theory. Two important hard problems in (originally SHA) were provided [33]. SHA-1 produces
number theory which can act as a base for generating a hash value of 160 bit. In 2002, NIST produced a
cryptosystems are factorisation and Discrete logarithm. revised version of the standard known as FIPS180-2
Rompay in [3] has referred to design of two variants of [6] and defined three new versions of SHA with digest
MASH hash functions based on modular arithmetic. lengths of 256, 384 and 512 and known as SHA-256,
The advantage of such hash functions is that the level SHA-384, and SHA-512 respectively. So total SHA
of security can be easily enhanced by choosing versions becomes four including SHA-1 (160 bit). In
Modulus M of appropriate length but hash functions October 2008, FIPS 180-2 has been replaced by FIPS
based on modular arithmetic are very slow, even 180-3 [8] and in new standard SHA-224 has been
slower than block cipher based hash functions. Also added which is same as other SHA algorithm
many such constructions have been broken in the past. producing 224 bits of message difest. All these SHA
versions are based on the same principle of MD4 and
6.3Dedicated Hash Functions hash length has changed and certain other
improvements have been carried from one version to
Dedicated hash functions are the one which are next. Attacks on SHA-0 and SHA-1 have been
designed for the explicit purpose of hashing. reported in [33, 34, 35]. Till date no practical attack
Compression functions of dedicated Hash functions are has been reported on SHA-2.
not based on the existing cryptographic primitives like
block ciphers and are not constrained to reuse existing RIPEMD family of Hash Functions: RIPEMD
components such as block ciphers or modular family of hash functions consists of RIPE MD,
arithmetic. This means that they can be designed with RIPEMD-128, RIPEMD-160, RIPEMD-256,
optimised performance in mind. A number of such RIPEMD-320. RIPE MD, a 128 bit hash function,
hash functions have been designed. Few of the famous based on MD4 algorithm, was developed in the
dedicated hash functions and the status of attacks on framework of the EU (European Union) project RIPE
these hash functions are as follows: (RACE Integrity Primitives Evaluation) by Hans
Dobbertin, AntoonBosselaers, Bart Preneel.. RIPEMD-
MDx Familyof hash functions: MD2, MD4 and MD5 160 [87] was an improved version of RIPE MD. The
are three hash functions from MDx family. Compared 128 bit version was intended only as a drop-in
to other two, MD2 is slower and has not obtained replacement for the original RIPEMD, which had been
much success. Dedicated hash functions which have found to have questionable security. The 256 and 320
received the most attention in practice are those based bit versions diminish chance of accidental collision,
on the MD4 algorithm [3]. MD4 is a hash function and don’t have higher level of security compared to
proposed by R. Rivest in 1990 [9]. It was designed RIPEMD-160. A collision on RIPEMD was reported
specifically towards software implementation on 32-bit in [30] but that does not affect RIPEMD-160. Till date
platforms. Because of security concerns, Rivest in no practical attack has been observed on RIPEMD-
1991 came up with a conservative version namedMD5 160.
[10] to replace the earlier Hash MD4. MD5 became a
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 475
HAVAL Hash functionsYuliangZeng, et. al invented Keccakand Blake are among the five finalists in the
HAVAL hash function in 1992 [86]. To certain extent NIST hash function competition [45] to design SHA-3
it takes the motivation from MD4 hash function only. standard. JH hash function makes use of S-boxes and is
However HAVAL can produce hashes of different well suited for bit slicing. Keccak on the hand make
length i.e. 128, 160, 192,224 or 256 bits. In addition, use of sponge construction as detailed in Section 4.
HAVAL has a parameter that controls thenumber of Blake does not fit exactly into the category of
passes a message block (of 1024 bits) is processed. A dedicated hash functions because it is based on
messageblock can be processed in 3, 4 or 5 passes. By ChaCha Stream Cipher.
combining output lengthwith pass, authors provided
fifteen (15) choices for practical applicationswhere 6.4 Few Other approaches
different levels of security are required. Algorithm was
designed for 32-bit computers Experiments showed There has been few hash functions that have not been
that HAVAL is 60%faster than MD5 when 3 passes based on existing cryptographic primitives like block
are required, 15% faster than MD5 when4 passes are ciphers or modular arithmetic but rather are based on
required, and as fast as MD5 when full 5 passes are some hard problems like knapsack problem, cellular
required. Research has uncovered weaknesses which automata or Discrete Fourier transformations.Hash
make further use of HAVAL (at least the variant with function based on knapsack was proposed by Ivan
128 bits and 3 passes) questionable. The strong Damgard in [26] but the same was shown to be broken
collision attack on HAVAL was reported by Wang et. in [94, 95]. Cellular automata based hash function was
al. in [31]. proposed in [96] by Wolram and in [97] by
Daemanet.al.Claus Schorr[98, 99, 100] has proposed
All the above dedicated hash functions are somehow hash functions based on discrete Fourier
designed with motivation from MD4 algorithm only transformations called FFT- hash. Three modifications
and thus are sometime collectively known as MDx of FFT-Hash have been proposed. First two
type hash functions. modifications, FFT-Hash I and FFT – Hash II, was
broken few weeks after the proposal [101, 102]. Third
modification is quite slower. As a whole, all these
approaches (based on knapsack or cellular automata or
FFT) have not found much success and are not
generally used these days.
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 476
Since then, Wang, AntonineJoux, and Eli Biham have advance to the first round on December 10, 2008,
attacked nearly all the early hash functions, including and fourteen advanced to the second round on July
SHA-1. Given that SHA-2 functions are in the same 24, 2009. A year was allocated for the public review of
family as the earlier broken functions, these attacks the fourteen second-round candidates. NIST received
shook cryptographers’ long term confidence in nearly significant feedback from the cryptographic
all hash functions designed to date. Cryptographers community. Based on the public feedback and internal
have learned much about hash functions and how to reviews of the second-round candidates, NIST selected
attack them in the past couple of years, and yet five SHA-3 finalists – BLAKE [91], Grøstl [92], JH
cryptanalysts generally agreed that practical attacks on [90], Keccak [46], and Skein [66] to advance to the
the SHA-2 hash functions are unlikely in the next third (and final) round of the competition on
decade. However, attacks and research results could December 9, 2010, which ended the second round of
reduce their strength well below theoretical work the competition. A one-year public comment period is
levels (2112, 2128, 2192, and 2256 operations for SHA-224, planned for the finalists. NIST also plans to host a final
SHA-256, SHA-384, and SHA-512, respectively) SHA-3 Candidate Conference in the spring of 2012 to
[104]. discuss the public feedback on these candidates, and
select the SHA-3 winner later in 2012 [45].
Hoch and Shamir in year 2006 [105], studied the
multi collisions on Iterated Concatenated Expanded
(ICE) Hash Functions. Hoch and Shamir extended the 8. Conclusion
idea presented by Joux [37]. Joux in 2004 [37]showed
that in any iterated hash function it is relatively easy to In this paper, we have shown how cryptographic hash
find exponential sized multicollisions, and thus the functions slowly gained its importance in the field of
concatenation of several hash functions does not cryptology. We have made all attempts to give a
increase their security. But Joux [31] Attack does not complete picture of cryptographic hashes, its design
work on ICE i.e. when in addition to Iterated and techniques and vulnerabilities. This paper would really
Concatenated Hash Function technique message help budding researchers who would take up research
Expansion is also added i.e. each iterated function in this particular field.
process message block more than once. Hoch et
al.[105]considered the general case (ICE) and proved References
that even if we allow each iterated hash function to [1]D. Kahn,TheCodebreakers: The Comprehensive History
scan the input multiple times in an arbitrary expanded of Secret Communication from Ancient Times to the
order, their concatenation is not stronger than a single Internet, Scribner, 1996.
function. Finally, authors extended their result to tree- [2] W. Diffie, and M. Hellman, “New Directions in
based hash functions with arbitrary tree structures. Cryptography”,IEEE Transactions on Information Theory,
Hoch et al. showed that a large class of natural hash vol. 22, No. 6, 1976, pp. 644-654.
[3] B. V. Rompay, “Analysis and Design of Cryptographic
functions (ICE and its generalization TCE) is Hash functions, MAC algorithms and Block Ciphers”, Ph.D.
vulnerable to a multicollision attack, and hoped that thesis, Electrical Engineering Department,
the techniques developed here will help in creating KatholiekeUniversiteit, Leuven, Belgium, 2004.
multicollision attacks against even more complicated [4] FIPS 180, Secure Hash Standard (SHS), National
types of hash functions. Such a conclusion was Institute of Standardsand Technology, US Department of
perhaps hinting to probable attack on SHA 2 family Commerce, WashingtonD. C., 1993.
of hash functions. [5] FIPS 180-1, Secure Hash Standard (SHS), National
Looking at the current scenarios, In Nov 2007 NIST Institute of Standards and Technology, US Department of
(National Institute of Standards and Technology) Commerce, WashingtonD. C.,1995.
[6] FIPS 180-2, Secure Hash Standard (SHS), National
announced a public competition [45] to develop a new Institute of Standards and Technology, US Department of
cryptographic hash algorithm to replace the older Commerce, WashingtonD. C.,2002.
SHA-1 and SHA-2. The competition was NIST's [7] FIPS 197, Advanced Encryption Standard, National
response to advances in the cryptanalysis of hash Institute of Standards and Technology, US Department of
algorithms. The winning algorithm will be named Commerce, WashingtonD. C.,2001.
"SHA-3", and will augment the hash algorithms [8] FIPS180-3, Secure Hash Standard (SHS), National
currently specified in the Federal Information Institute of Standards and Technology, US Department of
Processing Standard (FIPS) 180-3, Secure Hash Commerce, Washington D. C., 2008.
Standard [8]. As per NIST website “NIST is initiating [9] R. Rivest, “The MD4 Message Digest Algorithm”, IETF
RFC 1320, 1992.
an effort to develop one or more additional hash [10] R. Rivest, “The MD5 Message Digest Algorithm”,
algorithms through a public competition, similar to the IETF RFC 1321, 1992.
development process for the Advanced Encryption [11] R. C. Merkle, “Secrecy, Authentication and Public Key
Standard (AES)." [45] Systems”, Ph.D. thesis, Department of Electrical
Engineering, Stanford University, Stanford, USA, 1979.
By October 31, 2008, NIST received sixty-four [12] R.C. Merkle, "One Way Hash Functions and DES", in
entries; and selected fifty-one candidate algorithms to CRYPTO, 1989, pp.428-446.
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 477
[13] M. Naor, and M. Yung, "Universal One-Way Hash [36] S. Lucks, “Design Principled for Iterated Hash
Functions and their Cryptographic Applications", in STOC, Functions”, in IACR Cryptology ePrint Archive, 2004, pp.
1989, pp.33-43. 253.
[14] P. Rogaway, and T. Shrimpton, “Cryptographic Hash- [37]A. Joux, "Multicollisions in Iterated Hash Functions.
Function Basics: Definitions, implications and separations Application to Cascaded Constructions", inCRYPTO, 2004,
for preimage resistance, second preimage resistance, and pp.306-316.
collision resistance”, inFSE, 2004, pp.371-388. [38] J. Kelsey, and T. Kohno, “Herding Hash Functions and
[15] B. Schneier,Applied Cryptography, John Wiley & Sons, the Nostradamus Attack”, in EUROCRYPT, 2006, pp. 183–
1996. 200.
[16] P. Gauravram, “Cryptographic Hash Functions: [39] Y. Dodis, T. Ristenpart, and T. Shrimpton, "Salvaging
Cryptanalysis, design and Applications”, Ph.D. thesis, Merkle-Damgård for Practical Applications", in
Faculty of Information Technology, Queensland University EUROCRYPT, 2009, pp.371-388.
of Technology, Brisbane, Australia, 2003 [40] M. Nandi, and S. Paul, "Speeding Up TheWidepipe:
[17] M. Bellare, R. Canetti, and H. Krawczyk, “Keying Hash Secure and Fast Hashing", IACR Cryptology ePrint Archive,
Functions for Message Authentication”, in CRYPTO’96, 2010, pp.193.
1996, pp.1-15. [41] E. Biham, and O. Dunkelman, "A Framework for
[18] G. Tsudik, "Message Authentication with One-Way Iterative Hash Functions - HAIFA", IACR Cryptology
Hash Functions", inINFOCOM, 1992, pp. 2055-2059. ePrint Archive, 2007, pp.278.
[19] R.L. Rivest, A. Shamir, and L.M. Adleman, "A Method [42] G. Bertoni, J. Daemen, M. Peeters, and G. Van
for Obtaining Digital Signatures and Public-Key Assche, “Sponge Functions”,in ECRYPT Hash Workshop,
Cryptosystems", inCommun. ACM, 1978, pp.120-126 2007.
[20] S. Singh, The Code Book: The Evolution of Secrecy [43] G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche,
fromMary, Queen of Scots to Quantum Cryptography, "On the Indifferentiability of the Sponge Construction", in
Doubleday Books, 1999. EUROCRYPT, 2008, pp.181-197
[21] S. Haber, and W. Stornetta, “How to Time-stamp a [44] G. Bertoni, J.Daemen, M. Peeters, and G. Van Assche,
Digital Document”, Journal of Cryptology, Vol. 3, No. 2, pp. “Cryptographic Sponges”, [online]
99-111, 1991. http://sponge.noekeon.org/.
[22] M. Bellare, R. Canetti, and H. Krawczyk, [45] National Institute of Standard and Technology (NIST):
"Pseudorandom Functions Revisited: The Cascade Cryptographic Hash Algorithm Competition. [online]
Construction and Its Concrete Security", in FOCS, 1996, http://csrc.nist.gov/groups/ST/hash/sha-3/
pp.514-523. [46]G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche,
[23] I. Haitner, D. Harnik, and O. Reingold, "Efficient “The Keccak Reference”, Submission to NIST (Round
Pseudorandom Generators from Exponentially Hard One- 3),2011.[online] http://csrc.nist.gov/groups/ST/
Way Functions", in ICALP (2), 2006, pp.228-239. hash/sha-3/Round3/submissions_rnd3.html.
[24] S.M. Matyas, A.V. Le, and D.G. Abraham, "A Key- [47] B.den Boer, and A. Bosselaers, “Collisions for the
Management Scheme Based on Control Vectors", IBM compression function of MD5”, in EUROCRYPT, 1993, pp.
Systems Journal, No. 2, 1991, pp.175-191. 293-304.
[25] H. Handschuh, and D. Naccache, “SHACAL (- [48] L. Knudsen. “Block Ciphers: Analysis, Design and
Submissions to NESSIE -), in First Open NESSIE Applications”, Ph.D.thesis, Aarhus University, Aarhus,
Workshop, 2000. Denmark, 1994
[26] I. Damgård, "A Design Principle for Hash Functions", [49] O. Mikle, "Practical Attacks on Digital Signatures
inCRYPTO, 1989, pp.416-427. Using MD5 Message Digest", IACR Cryptology ePrint
[27] X. Lai and J. L. Massey, "Hash Function Based on Archive, 2004, pp.356.
Block Ciphers", in EUROCRYPT, 1992, pp.55-70. [50] H. Dobbertin, “Cryptanalysis of MD5 compress”,
[28]I. Mironov, “Hash Functions: Theory, Attacks, and inEUROCRYPT, 1996
Applications”, Microsoft Research, Silicon Valley Campus, [51]R. D. Dean, “Formal Aspects of Mobile Code Security”,
2005. Ph.D. thesis, Department of Computer Science, Princeton
[29] M. Bellare, and T. Kohno, "Hash Function Balance and University, Princeton, USA, 1999.
Its Impact on Birthday Attacks", in EUROCRYPT, 2004, [52] E. Andreeva, G. Neven, B. Preneel, and T. Shrimpton,
pp.401-418. “Seven-Properties-Preserving Iterated Hashing: The RMC
[30] X. Wang, X. Lai, D. Feng, H. Chen, and X. Yu, Construction”, ECRYPT document STVL4-KUL15-RMC-
"Cryptanalysis of the Hash Functions MD4 and RIPEMD", 1.0, private communications, 2006.
inEUROCRYPT, 2005, pp.1-18. [53] E. Andreeva, G. Neven, B. Preneel, and T. Shrimpton,
[31] X.Wang, D. Feng, X. Lai, and H. Yu, “Collisions for "Seven-Property-Preserving Iterated Hashing: ROX", IACR
Hash Functions MD4, MD5, HAVAL-128 and RIPEMD", Cryptology ePrint Archive, 2007, pp.176.
IACR Cryptology ePrint Archive, 2004, pp. 199. [54] M. Bellare, and T. Ristenpart, "Multi-Property-
[32] X. Wang, and H. Yu, "How to Break MD5 and Preserving Hash Domain Extension and the EMD
Other Hash Functions", inEUROCRYPT, 2005, pp. Transform", in ASIACRYPT, 2006, pp.299-314 .
19-35. [55] T. Duong, and J. Rizzo, “Flickr's API Signature Forgery
[33] E. Biham, R. Chen, A. Joux, P. Carribault, C. Lemuet, Vulnerability”, 2009 [online]
and W. Jalby, "Collisions of SHA-0 and Reduced SHA-1", http://netifera.com/research/flickr_api_signature_forgery.pdf
inEUROCRYPT, 2005, pp.36-57. [56] B. Kaliski, and M. Robshaw. “Message Authentication
[34] X. Wang, H. Yu, and Y. L. Yin, "Efficient Collision with MD5”. RSA Labs' CryptoBytes, Vol. 1, No. 1, Spring
Search Attacks on SHA-0", inCRYPTO, 2005, pp.1-16. 1995.
[35] X. Wang, Y. L. Yin, and H. Yu, "Finding Collisions in
the Full SHA-1", inCRYPTO, 2005, pp.17-36.
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 478
[57] J. Kelsey, and B.Shneier, “Second preimages on n-bit [78] J. J. Quisquarter and M. Girault, “2n-bit Hash functions
Hash Functions for much less than 2n Work”,in using n-bit Symmetric block Cipher Algorithms”, in
EUROCRYPT, 2005, pp. 474-490. EUROCRYPT , 1990, pp 102-109.
[58] S. Bakhtiari, R. Safavi-Naini, and J Pieprzy. [79] W. Hohl, X. Lai, T. Meier and C. Waldvogel, “Security
“Cryptographic Hash Functions: A Survey”, Technical of Iterated Hash Functions based on Block Ciphers”, in
Report 95-09, Department of Computer Science, University CRYPTO, 1994, pp. 379 – 390.
of Wollongong, 1995 [80] X. Lai, "On the Design and Security of Block Ciphers,"
[59] E.Biham, and A. Shamir, “Differential Cryptanalysis of ETH Series in Information Processing, vol.1, Konstanz:
DES-like Cryptosystems”, Journal of Cryptology, Vol. 4, No. Hartung-GeorreVerlag, 1992.
1, 1991, pp. 3-72. [81] X. Lai and J. Massey, “ Hash functions based on Block
[60] E.Biham, and A. Shamir, “Differential Cryptanalysis of Ciphers”, in EUROCRYPT , 1992, pp. 55-70.
FEAL and N-Hash”, in EUROCRYPT, 1991, pp. 1-16. [82] GOST R 34.11- 94, Gosudarstvennyi Standard of
[61] E. Biham, and A. Shamir, “Differential Cryptanalysis of Russian Federation, “Information technology. Cryptographic
Snefru, Khafre, REDOC-II, LOKI and Lucifer”, in Data Security Hashing function. “Government Committee of
CRYPTO, 1991, pp. 156-171. the Russia for Standards, 1994 RFC 5831
[62] M. Matsui, “Linear Cryptanalysis methods for DES [83] ISO. ISO N179 AR Fingerprint Function. Working
Cipher”, in EUROCRYPT, 1993, pp. 386-397. document, ISOIEC/JTC1/SC27 WG2, International
[63] S. Miyaguchi, K. Ohta, and M. Iwata, “Confirmation Organization for Standardization, 1992.
that some Hash Functions are not Collisions Free” in [84] P. S. L. M. Barreto and V. Rijmen, “The Whirlpool
EUROCRYPT, 1990, pp. 326 – 343. hashing function”. Primitive submitted to NESSIE,
[64] D. Khovratovich, and I. Nikolic, "Rotational September 2000, revised on May 2003.
Cryptanalysis of ARX", inFSE, 2010, pp.333-346. [85] W. Stallings, Cryptography and Network Security,
[65] D. Khovratovich, I. Nikolic, and C. Rechberger, Pearson Prentice Hall,USA, 2009.
"Rotational Rebound Attacks on Reduced Skein", IACR [86] Y. Zheng, J. Pieprzyk and J. Seberry, “HAVAL — A
Cryptology ePrint Archive, 2010, pp.538. One-Way Hashing Algorithm with Variable Length of
[66] B. Schneier, N. Ferguson, S. Lucks, D. Whiting, M. Output”, in AUSCRYPT, 1993, pp. 83-104.
Bellare, T. Kohno, J. Walker, and J. Callas, “The Skein Hash [87] H. Dobbertin, A. Bosselaersand B. Preneel, “RIPEMD-
Function Family”, Submission to NIST (Round 3),2011. 160: A Strengthened Version of RIPEMD”,in Fast Software
[online]http://csrc.nist.gov/groups/ST/hash/sha- Encryption, 1996, pp. 71-82.
3/Round3/submissions_rnd3.html. [88] R. C. Merkle, “A fast software one-way hash function”,
[67] FIPS 46-3, “Data Encryption Standard”, National Journal of Cryptology, Vol. 3, No. 1, 1990, pp. 43-58.
Institute of Standards and Technology, US Department of [89] R. Anderson and E. Biham, “Tiger — A Fast New
Commerce, WashingtonD. C., 1999. Hash Function” , in Fast Software Encryption, 1996, pp. 89-
[68] B. Preneel, “Differential Cryptanalysis of Hash 97.
functions based on Block Ciphers”, ACM Conference on [90] H. Wu: “The Hash Function JH”, Submission to NIST
Computer and Communications Security, 1993, pp.183-188. (Round 3), 2011. [online] http://csrc.nist.gov/groups/ST/
[69] V. Rijmen and B. Preneel, “Improved characteristics for hash/sha-3/Round3/submissions_rnd3.html
Differential Cryptanalysis of hash functions based on Block [91] J. P. Aumasson, L. Henzen, and W. Meier, "SHA-3
Ciphers”, in FSE, 1995, Vol. 1008, pp. 242-248. proposal BLAKE," Submission to NIST (Round 3), 2011.
[70] S. M. Matyas, C. H. Meyer, and J. Oseas, “Generating [online] http://csrc.nist.gov/groups/ST/
strong one-way functions with cryptographic algorithm", hash/sha-3/Round3/submissions_rnd3.html
IBM Technical Disclosure Bulletin, Vol. 27, No. 10A, 1985, [92]P. Gauravaram, L. R. Knudsen, K. Matusiewicz, F.
pp. 5658-5659. Mendel, C. Rechberger, M. Schläffer, and S. S. Thomsen,
[71] S. Miyaguchi. K. Ohtaand M. Iwata, “New 128-bit "Grøstl- A SHA-3 Candidate", Submission to NIST (Round
Hash functions”, in 4th International Joint Workshop on 3), 2011. [online] http://csrc.nist.gov/groups/ST/
Computer Communications, 1989, pp. 279 - 288. hash/sha-3/Round3/submissions_rnd3.html
[72] B. Preneel, R. Govaertsand J. Vandewalle, “Hash [93] E. Biham, “New techniques for Cryptanalysis of hash
Functions Based on Block Ciphers: A Synthetic Approach", functions and improved attacks on Snefru” in FSE, 2008, pp.
in CRYPTO, 1993, pp. 368- 378. 444-461.
[73] B. Preneel and R. Govaerts, J. Vandewalle, [94] P. Camion and J. Patarin, “ The knapsack hash function
“Cryptographically Secure Hash Functions: An Overview", proposed at Crypto’89 can be broken”, in EUROCRYPT,
ESAT Internal Report, K. U. Leuven, 1989. 1991, pp. 39-53.
[74] D. W. Davies and W. L. Price, “Digital Signature – An [95] A. Joux and L. Granboulan, “ A Practical Attack against
Update” in International Conference on Computer Knapsack based hash functions”, in EUROCRYPT ,1995, pp.
Communications, 1984, pp. 843-847. 58-66.
[75] J. Black, P. Rogaway and T. Shrimpton,”Black-box [96] S. Wolfram, “Cryptology with Cellular Automata”, in
analysis of the block-cipher-based hash function CRYPTO, 1986, pp. 429-432.
constructions from PGV."in CRYPTO, 2002, pp. 320-335. [97] J. Daeman, R. Govaerts and J. Vandewalle, “ A
[76] B.O. Brachtl, D. Coppersmith, M.M. Hyden, S.M. framework for the design of One-way hash functions
Matyas, C.H. Meyer, J. Oseas, S. Pilpel and M. Schilling, including cryptanalysis of Damgard’s One way function
“Data Authentication Using Modification Detection Codes based on Cellular Automata”, in ASIACRYPT, 1993, pp. 82-
Based on a Public One Way Encryption Function”,1990, 96.
U.S. Patent Number 4,908,861. [98] C. P. Schnorr, “An efficient Cryptographic Hash
[77] C. H. Meyer and M. Schilling, “Secure program load Functions” in CRYPTO, 1991.
with manipulation detection code." in Securicon, 1988 pp. [99] C. P. Schnorr, “ FFT –Hash II, Efficient Cryptographic
111-130. Hasing”, in EUROCRYPT , 1993 pp. 45-54.
Copyright (c) 2012 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012
ISSN (Online): 1694-0814
www.IJCSI.org 479