Seyed Amir Hossain Naseredini Cryptographic Hash Functions Definition, History and Cryptanalysis Seyed Amir Hossain Naseredini Computer and Information Technology Engineering Department Spring, 2017
Outline About our laboratory Introduction History 2 Outline About our laboratory Introduction History Cryptographic hash function Application ARX-Design hash function An example Cryptanalysis Hash functions’ cryptanalysis Why cryptanalysis Conclusion
About our laboratory Data Security Research Laboratory Under supervision of Professor B. Sadeghiyan Research Area Cryptography Cryptanalysis Security protocols Computer forensic Malware detection Vulnerability Detection
Introduction Cryptographic hash function Introduced by Diffie and Hellman Security requirement Collision resistance Pre-image resistance Second pre-image resistance MD4 was the first cryptographic hash function SHS hash function By NIST Hash function cryptanalysis by Wang et al. SHA-3 competition Select a standard hash function Cryptanalysis To find a flaw
Early History Introduced by Diffie and Hellman 1976 The first collision resistant hash function Merkle and Damgard 1989 Cryptographic hash function received more attention 1990s MD4 Cryptanalysis Dobbertin 1995 A huge step in hash function cryptanalysis Wang et al. 2004
Cryptographic Hash Function Introduction Input: m (variable length) Output: H (fixed length) ℎ 𝑚 =𝐻 Cryptographic hash function Collision resistance 𝑚 1 ≠ 𝑚 2 ↛h 𝑚 1 =ℎ( 𝑚 2 ) Pre-image resistance ℎ 𝑚 =𝐻 ,H↛𝑚 Second pre-image resistance ℎ 𝑚 1 =𝐻 , 𝑚 1 ≠ 𝑚 2 ↛ℎ 𝑚 2 =𝐻
Cryptographic Hash Function (cont’d) Two different types Modification Detection Code (MDC) Message Authentication Code(MAC) Message Hash function MAC function Hash MAC Key
Cryptographic Hash Function (cont’d) A Taxonomy MDC One Way Hash Functions (OWHF) Collision Resistant Hash Functions (CRHF) Universal One Way Hash Functions (UOWHF) MAC Application Based on speed/resistance Some usual applications Store passwords Digital Signature Zero-Knowledge proof Use as a PRNG etc.
Cryptographic Hash Function (cont’d) ARX-Design hash functions Use only three operations modular Addition Rotation Xor Modular addition provides nonlinearity Rotation prevents the balance XOR complicates the function ARX operations are functionally complete Security is a common belief and has not been proven.
Cryptographic Hash Function (cont’d) ShA-3 competition finalists BLAKE (Aumasson et al.) Grøstl (Knudsen et al.) JH (Hongjun Wu) Keccak (Keccak team, Daemen et al.) Skein (Schneier et al.) Let’s take a look at BLAKE hash function
Cryptographic Hash Function (cont’d) BLAKE hash function Designed to compete in SHA-3 Did pass to final round ARX-Design ℎ, the compression function Inputs: ℎ= ℎ 0 ,…, ℎ 7 𝑚= 𝑚 0 ,…, 𝑚 15 𝑠= 𝑠 0 ,…, 𝑠 3 𝑡= 𝑡 0 , 𝑡 1 Output: ℎ′= ℎ′ 0 ,…, ℎ′ 7
Cryptographic Hash Function (cont’d) BLAKE hash function Using 𝐺 in compression function (ℎ)
Cryptographic Hash Function (cont’d) BLAKE hash function Column step and diagonal step
Cryptographic Hash Function (cont’d) BLAKE hash function Final round Iterative algorithm
Hash Functions’ Cryptanalysis Purpose Pre-image Second pre-image Collision Others Pseudo collision Length extension Birthday paradox Range: q The number of input data: k 1− 𝑒 −𝑘(𝑘−1)/2𝑞
Hash Functions’ Cryptanalysis (cont’d) Cryptanalysis of hash functions Differential cryptanalysis Reflection cryptanalysis Boomerang attack Linear cryptanalysis Rotational cryptanalysis Cube attack Algebraic cryptanalysis Statistical Sophisticated High data complexity Algebraic Newer Low data complexity
Noteworthy cryptanalysis MD5 differential cryptanalysis 2005, Wang et al. A huge step Cube attack on MD6 2009, Aumasson et al. Rotational cryptanalysis on ARX-Design 2010, Khovratovich and Nikolic Linear cryptanalysis of CubeHash 2011, Ashur and Dukelman Algebraic cryptanalysis on Keccak 2013, Morawiecki and Srebrny
Noteworthy cryptanalysis (cont’d) Some results Algebraic cryptanalysis of Keccak
Conclusion Talked about cryptographic hash functions Cryptanalysis History Application A taxonomy ARX-Design hash function An example Cryptanalysis Hash functions’ cryptanalysis Purpose of cryptanalysis Some results
Any Question?