Tools in Cryptanalysis of Hash Functions



Similar documents
How To Attack Preimage On Hash Function 2.2 With A Preimage Attack On A Pre Image

Differential Cryptanalysis of Hash Functions: How to find Collisions?

How to Break MD5 and Other Hash Functions

Grøstl a SHA-3 candidate

Visa Smart Debit/Credit Certificate Authority Public Keys

The First 30 Years of Cryptographic Hash Functions and the NIST SHA-3 Competition

Chapter 1 On the Secure Hash Algorithm family

Ascon. Ch. Dobraunig 1, M. Eichlseder 1, F. Mendel 1, M. Schläffer 2. 22nd Crypto Day, Infineon, Munich. (A Submission to CAESAR)

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.7

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.5

Hash Function JH and the NIST SHA3 Hash Competition

Introduction to Computer Security

KALE: A High-Degree Algebraic-Resistant Variant of The Advanced Encryption Standard

Cryptography for Network Security: Failures, Successes and Challenges

lundi 1 octobre 2012 In a set of N elements, by picking at random N elements, we have with high probability a collision two elements are equal

An Efficient Cryptographic Hash Algorithm (BSA)

The Stream Cipher HC-128

SHA3 WHERE WE VE BEEN WHERE WE RE GOING

The 128-bit Blockcipher CLEFIA Design Rationale

Length extension attack on narrow-pipe SHA-3 candidates

Cryptography and Network Security Chapter 11

Message Authentication

On Collisions for MD5

Permutation-based encryption, authentication and authenticated encryption

Lecture Note 8 ATTACKS ON CRYPTOSYSTEMS I. Sourav Mukhopadhyay

Linear (Hull) and Algebraic Cryptanalysis of the Block Cipher PRESENT

Cryptographic Hash Functions Message Authentication Digital Signatures

A NEW HASH ALGORITHM: Khichidi-1

Authentication requirement Authentication function MAC Hash function Security of

LEA: A 128-Bit Block Cipher for Fast Encryption on Common Processors

One-Way Encryption and Message Authentication

Recommendation for Applications Using Approved Hash Algorithms

HASH CODE BASED SECURITY IN CLOUD COMPUTING

Lecture Notes in Computer Science

Lightweight Block Ciphers Revisited: Cryptanalysis of Reduced Round PRESENT and HIGHT

Chapter 6. Hash Functions. 6.1 The hash function SHA1

On the Influence of the Algebraic Degree of the Algebraic Degree of

Comparison of seven SHA-3 candidates software implementations on smart cards.

Hash Functions. Integrity checks

SERVER CERTIFICATES OF THE VETUMA SERVICE

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

IT Networks & Security CERT Luncheon Series: Cryptography

Unknown Plaintext Template Attacks

Rijndael Encryption implementation on different platforms, with emphasis on performance

Statistical weakness in Spritz against VMPC-R: in search for the RC4 replacement

Computer Security: Principles and Practice

CIS433/533 - Computer and Network Security Cryptography

SFLASH v3, a fast asymmetric signature scheme

Cryptography and Network Security

A New 128-bit Key Stream Cipher LEX

6 Data Encryption Standard (DES)

Evaluation of Digital Signature Process

International Journal of Advance Foundation and Research in Computer (IJAFRC) Volume 2, Special Issue (NCRTIT 2015), January 2015.

Practical Attacks on Digital Signatures Using MD5 Message Digest

Hash Function of Finalist SHA-3: Analysis Study

The Advanced Encryption Standard (AES)

Added Advanced Encryption Standard (A-Aes): With 512 Bits Data Block And 512, 768 And 1024 Bits Encryption Key

SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI User Guide

Algorithms and Parameters for Secure Electronic Signatures V.1.44 DRAFT May 4 th., 2001

M.S. Project Proposal. SAT Based Attacks on SipHash

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Enhancing Advanced Encryption Standard S-Box Generation Based on Round Key

On the Impact of Known-Key Attacks on Hash Functions

C O M P U T E R S E C U R I T Y

Scilab Textbook Companion for Digital Electronics: An Introduction To Theory And Practice by W. H. Gothmann 1

Table of Contents. Bibliografische Informationen digitalisiert durch

Cryptographic Algorithms and Key Size Issues. Çetin Kaya Koç Oregon State University, Professor

Elliptic Curve Hash (and Sign)

Differences Between SSLv2, SSLv3, and TLS

ETSI TS V2.0.0 ( ) Technical Specification

USB HID to PS/2 Scan Code Translation Table

2010 JOURNAL OF SOFTWARE, VOL. 9, NO. 8, AUGUST 2014

Cryptography and Network Security Chapter 12

CRYPTANALYSIS OF HASH FUNCTIONS USING ADVANCED MULTIPROCESSING

BPS: a Format-Preserving Encryption Proposal

IronKey Data Encryption Methods

Sosemanuk, a fast software-oriented stream cipher

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Establishing a Mechanism for Maintaining File Integrity within the Data Archive

Secure Applications of Low-Entropy Keys

NEOSHO COUNTY COMMUNITY COLLEGE MASTER COURSE SYLLABUS. Medical Administrative Aspects

Transcription:

Tools in Cryptanalysis of Hash Functions Application to SHA-256 Florian Mendel Institute for Applied Information Processing and Communications (IAIK) Graz University of Technology Inffeldgasse 16a, A-8010 Graz, Austria

Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work

Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work

Attacks on the MD4-family MD4 SHA-1 RIPEMD-128 MD5 SHA-0 HAVAL RIPEMD RIPEMD-160 SHA-224 SHA-256 SHA-384 SHA-512

Consequences of the Attacks Transition from SHA-1 to SHA-2 NIST proposed the transition from SHA-1 to the SHA-2 family Companies and organization are expected to migrate to SHA-2 SHA-3 initiative Researchers were evaluating alternative hash functions in the SHA-3 initiative organized by NIST NIST selected Keccak as SHA-3

Results for SHA-256 Preimage Attack Aoki et al. [AGM + 09] 43 out of 64 steps (complexity: 2 254.9 ) Khovratovich et al. [KRS12] 45 out of 64 steps (complexity: 2 255.5 ) Collision Attack Nikolić and Biryukov [NB08] 21 out of 64 steps (example) Indesteege et al. [IMPR08]; Sanadhya and Sarkar [SS08] 24 out of 64 steps (example)

Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work

The SHA-2 Family Designed by NSA and issued by NIST in 2002. Defined in the Federal Information Processing Standard (FIPS-180-3) Part of several international standards Often recommended as an alternative to SHA-1 Consists of 4 hash functions, i.e. SHA-224, SHA-256, SHA-384, SHA-512

Description of SHA-256 Iterated hash function processing message blocks of 512 bits and producing a hash value of 256 bits. Compression function f consists of 2 parts: Message Expansion State Update (64 steps) M 1 M 2 M 3 M t IV f f f f h

Message Expansion The message expansion of SHA-256 splits the 512-bit message block into 16 words M i, i = 0,..., 15, and expands them into 64 expanded message words W i as follows: { Mi 0 i < 16 W i = σ 1 (W i 2 ) + W i 7 + σ 0 (W i 15 ) + W i 16 16 i < 64 The functions σ 0 (X) and σ 1 (X) are given by σ 0 (X) = (X 7) (X 18) (X 3) σ 1 (X) = (X 17) (X 19) (X 10)

Step Function of SHA-256 A i 1 B i 1 C i 1 D i 1 E i 1 F i 1 G i 1 H i 1 Σ 1 Σ 0 K i f 0 f 1 W i A i B i C i D i E i F i G i H i

Step Function of SHA-256 The bitwise Boolean functions f 0 and f 1 used in each step are defined as follows: f 0 (X, Y, Z ) = X Y Y Z X Z f 1 (X, Y, Z ) = X Y X Z The linear functions Σ 0 and Σ 1 are defined as follows: Σ 0 (X) = (X 2) (X 13) (X 22) Σ 1 (X) = (X 6) (X 11) (X 25)

Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work

Our Contribution Advanced Automatic Search Tool Finding complex differential characteristics for SHA-2 automatically Similar to the one for SHA-1 by De Cannière and Rechberger [DR06] Collisions Attacks on SHA-256 Collisions for up to 38 steps of the compression function Collisions for up to 31 steps of the hash function

Collision Attacks m m H H h = h Birthday Attack: 2 n/2

Collision Attacks (Differential View) m m m 0 H H H h = h h = 0 Find a differential characteristic which results in a collision with a good probability Find a message m following the differential characteristic to get a colliding message pair (m, m )

Collision Attacks on SHA-256 All collisions attacks so far are of practical complexity They are all based on the same basic idea: extending a local collision over 9 steps to more steps The best collision attack so far is for 24 steps based on the 9-step differential characteristic of Nikolić and Biryukov

Basic Attack Strategy To find collisions for more than 24 steps, we need differential characteristics spanning over t > 9 steps To find these characteristics we proceed as follows: (1) Fix the value of t (2) Identify those message words which need to have differences to result in a valid differential characteristic for the message expansion (3) Consider only the candidates that may result in a collision for more than 24 steps (4) Use an automatic search tool to construct a valid differential characteristic for both the state update transformation and the message expansion

Candidate for 27 Steps For t = 10 we already find a candidate which may result in a collision for 27 steps step A B C D E F G H W 4? 5?? 6???? 7????? 8?????? 9????? 10???? 11??? 12??? 13?? 14 W 4 12 13 0 1 2 3 4 x 5 6 7 8 9 10 11 12 x 13 x 14 15 16 17 18 19 x x 20 x x 21 22 23 24 25 26

Finding Differential Characteristics These characteristics can not be constructed manually A sophisticated automatic search tool is needed to construct these characteristics Gröbner Basis, SAT solvers,... Dedicated Approach [DR06] (Guess-and-Determine)

Guess-and-Determine Attack On a high level, a guess-and-determine attack can be described as a repetition of the following two steps guess the value of some unknowns determine the value of as many unknowns as is possible until all unknowns have been determined

Guess-and-Determine Attack A guess-and-determine attack works specially well if there are many sparse equations the set of equations can be split into a number of subsets with very few variables occurring in more than one subset A successful attack employs a strategy to convert the complex and dense equations into a form that is more amenable to attack

De Cannière and Rechberger Approach for SHA-1 Generalized Conditions All 16 possible conditions on a pair of bits are taken into account. (X i, X i ) (0, 0) (1, 0) (0, 1) (1, 1)? - - - x - - 0 - - - u - - - n - - - 1 - - - # - - - - (X i, Xi ) (0, 0) (1, 0) (0, 1) (1, 1) 3 - - 5 - - 7 - A - - B - C - - D - E -

De Cannière and Rechberger Approach for SHA-1 Search Algorithm (1) Start with an unrestricted characteristic (only? ) (2) Successively impose new conditions on the characteristic (replace? by - and x by n or u ) (3) Propagate the conditions in a bitslice manner and check for consistency If a contradiction occurs then backtrack else proceed with step 2 (4) Repeat steps 2 and 3 until all bits of the characteristic are determined

Increased Complexity of SHA-2 SHA-1 Ai 1 Bi 1 Ci 1 SHA-2 Di 1 Ei 1 Fi 1 Gi 1 Hi 1 Ai 1 Bi 1 Ci 1 Di 1 Ei 1 5 Ki Σ0 Σ1 Ki f f0 f1 2 Wi Wi Ai Bi Ci Di Ei Ai Bi Ci Di Ei Fi Gi Hi Design Complexity

How to overcome the problems? Use alternative description of state update Identify more complex conditions involving several bits Use modified search algorithm Combine search for differential characteristic and message pair Apply sophisticated tests to detect contradictions earlier

Example Collision for 27 Steps of SHA-256 Compression Function

Candidate for 27 Steps For t = 10 we already find a candidate which may result in a collision for 27 steps step A B C D E F G H W 4? 5?? 6???? 7????? 8?????? 9????? 10???? 11??? 12??? 13?? 14 W 4 12 13 0 1 2 3 4 x 5 6 7 8 9 10 11 12 x 13 x 14 15 16 17 18 19 x x 20 x x 21 22 23 24 25 26

i Ai Ei Wi -4 -------------------------------- -------------------------------- -3 -------------------------------- -------------------------------- -2 -------------------------------- -------------------------------- -1 -------------------------------- -------------------------------- 0 -------------------------------- -------------------------------- -------------------------------- 1 -------------------------------- -------------------------------- -------------------------------- 2 -------------------------------- -------------------------------- -------------------------------- 3 -------------------------------- -------------------------------- -------------------------------- 4???????????????????????????????????????????????????????????????????????????????????????????????? 5???????????????????????????????????????????????????????????????? -------------------------------- 6 --------------------------------???????????????????????????????? -------------------------------- 7 --------------------------------???????????????????????????????? -------------------------------- 8 --------------------------------???????????????????????????????? -------------------------------- 9 --------------------------------???????????????????????????????? -------------------------------- 10 -------------------------------- -------------------------------- -------------------------------- 11 -------------------------------- -------------------------------- -------------------------------- 12 -------------------------------- --------------------------------???????????????????????????????? 13 -------------------------------- --------------------------------???????????????????????????????? 14 -------------------------------- -------------------------------- -------------------------------- 15 -------------------------------- -------------------------------- -------------------------------- 16 -------------------------------- -------------------------------- -------------------------------- 17 -------------------------------- -------------------------------- -------------------------------- 18 -------------------------------- -------------------------------- -------------------------------- 19 -------------------------------- -------------------------------- -------------------------------- 20 -------------------------------- -------------------------------- -------------------------------- 21 -------------------------------- -------------------------------- -------------------------------- 22 -------------------------------- -------------------------------- -------------------------------- 23 -------------------------------- -------------------------------- -------------------------------- 24 -------------------------------- -------------------------------- -------------------------------- 25 -------------------------------- -------------------------------- -------------------------------- 26 -------------------------------- -------------------------------- -------------------------------- # freebits: 352 # backtrack: 0

Results for the Compression Function Example of a collision for 27 steps of the compression function (seconds on a standard PC) h 0 4d031285 26b1c18f c8c014f2 3cca74bd 58481e1b c7dd5a1e 0ae3c962 e01f0e96 e4e9607f b6fb6b22 01597e95 5265b614 d4dbb9af 8a228a75 3c660afd 55b668bc m 97121d5e 35214e08 174b5fbb 1dc549e5 7e5b858a c966e506 faac3dbc 9df96855 m e4e9607f b6fb6b22 01597e95 5265b614 d543baaf 8a228a75 3c660afd 55b668bc 97121d5e 35214e08 174b5fbb 1dc549e5 7e0bb58a c8fee406 faac3dbc 9df96855 00000000 00000000 00000000 00000000 01980300 00000000 00000000 00000000 m 00000000 00000000 00000000 00000000 00503000 01980100 00000000 00000000 h 1 9f9579f2 2737d03f 20263c5b 1b802daf 0b5e24ad 9eed0964 6bb8f239 2a4c60f7

Extending the Attack to more Steps Example of a collision for 38 steps of the compression function (about 8 hours on a standard PC) h 0 ba75b4ac c3c9fd45 fce04f3a 6d620fdb 42559d01 b0a0cd10 729ca9bc b284a572 4f5267f8 8f8ec13b 22371c61 56836f2b 459501d1 8078899e 98947e61 4015ef31 m 06e98ffc 4babda4a 27809447 3bf9f3be 7b3b74e1 065f711d 6c6ead5e a1781d54 m 4f5267f8 8f8ec13b 22371c61 56836f2b 459501d1 8078899e 98947e61 7e73f1f1 06e99000 4babda4a 277f1447 3bf9f3be 7b3b74e1 065f711d 6c6ead5e a1781d50 00000000 00000000 00000000 00000000 00000000 00000000 00000000 3e661ec0 m 00001ffc 00000000 00ff8000 00000000 00000000 00000000 00000000 00000004 h 1 baa8df17 9f9f64dd d57d5c2c 7b232c81 1f3916e6 7a03a2be 7afb1d86 6b0eced6

Results for the Hash Function Extending the Attack to the Hash Function Approach of Indesteege et al. [IMPR08] Construct a collision for the compression function (with no differences in the first message words) Use the freedom in the first message words to turn it into a collision for the hash function Collision attack on 28 steps of SHA-256 W 8 9 13 16 18 0 1 2 3 4 5 6 7 8 x 9 x 10 11 12 13 x 14 15 16 x x 17 18 x x 19 20 x x 21 22 23 x x 24 x x 25 x x 26 27

Results for the Hash Function Example of a collision for 28 steps of the hash function h 0 6a09e667 bb67ae85 3c6ef372 a54ff53a 510e527f 9b05688c 1f83d9ab 5be0cd19 14c48440 b3c3277f ad69812d c3d4dffa 7eae690b 7f9fe027 832aece8 9a489458 m 1607a45c db81bdc8 8786e031 d8f22801 72b6be5e 45a2652f f3fbb17a 2ce70f52 m 14c48440 b3c3277f ad69812d c3d4dffa 7eae690b 7f9fe027 832aece8 9a489458 e6b2f4fc d759b930 8786e031 d8f22801 72b6be5e 47e26dbf f3fbb17a 2ce70f52 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 m f0b550a0 0cd804f8 00000000 00000000 00000000 02400890 00000000 00000000 h 1 01470131 cd0062bc 7e8f8c21 98938652 3d49075a 327f38e8 11f0d36d 58601725 Theoretical collision attack on SHA-256 reduced to 31 steps (complexity 2 65.5 )

Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work

RIPEMD-128/160 Designed by Dobbertin, Bosselaers and Preneel in 1996 ISO/IEC 10118-3 standard on dedicated hash function Similar design principle as MD5 and SHA-1 Results: RIPEMD-128 component attack steps complexity compression collision 48 example hash collision 38 example hash near-collision 44 example hash non-randomness 48 2 70 RIPEMD-160 compression collision 48 example

Other HAS-160 SM3 Standardized by the Korean government Similar design principle as SHA-1 Results: component attack steps complexity compression collision 65 example Standardized by the Chinese government Similar design principle as SHA-256 Results: component attack steps complexity compression collision 24 example hash collision 20 example

Outline 1 Motivation 2 The SHA-2 family 3 Collision Attacks on Reduced SHA-256 4 Application to other Hash Functions 5 Summary and Future Work

Summary and Future Work Summary Sophisticated tool to construct complex differential characteristics Attacks on several popular hash functions SHA-256, RIPEMD-128/160, SM3,... Current/Future Work Application to other hash functions Analysis of keyed functions, e.g. HMAC Still lots of work to be done!

Thank you for your attention!

References I Kazumaro Aoki, Jian Guo, Krystian Matusiewicz, Yu Sasaki, and Lei Wang. Preimages for Step-Reduced SHA-2. In Mitsuru Matsui, editor, ASIACRYPT, volume 5912 of LNCS, pages 578 597. Springer, 2009. Alex Biryukov, Mario Lamberger, Florian Mendel, and Ivica Nikolic. Second-Order Differential Collisions for Reduced SHA-256. In Dong Hoon Lee and Xiaoyun Wang, editors, ASIACRYPT, volume 7073 of LNCS, pages 270 287. Springer, 2011. Christophe De Cannière and Christian Rechberger. Finding SHA-1 Characteristics: General Results and Applications. In Xuejia Lai and Kefei Chen, editors, ASIACRYPT, volume 4284 of LNCS, pages 1 20. Springer, 2006. Sebastiaan Indesteege, Florian Mendel, Bart Preneel, and Christian Rechberger. Collisions and Other Non-random Properties for Step-Reduced SHA-256. In Roberto Maria Avanzi, Liam Keliher, and Francesco Sica, editors, Selected Areas in Cryptography, volume 5381 of LNCS, pages 276 293. Springer, 2008. Dmitry Khovratovich, Christian Rechberger, and Alexandra Savelieva. Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 Family. In Anne Canteaut, editor, FSE, volume 7549 of LNCS, pages 244 263. Springer, 2012. Florian Mendel, Tomislav Nad, and Martin Schläffer. Cryptanalysis of Round-Reduced HAS-160. In Howon Kim, editor, ICISC, volume 7259 of LNCS, pages 33 47. Springer, 2011.

References II Florian Mendel, Tomislav Nad, and Martin Schläffer. Finding SHA-2 Characteristics: Searching through a Minefield of Contradictions. In Dong Hoon Lee and Xiaoyun Wang, editors, ASIACRYPT, volume 7073 of LNCS, pages 288 307. Springer, 2011. Florian Mendel, Tomislav Nad, and Martin Schläffer. Collision Attacks on the Reduced Dual-Stream Hash Function RIPEMD-128. In Anne Canteaut, editor, FSE, volume 7549 of LNCS, pages 226 243. Springer, 2012. Florian Mendel, Tomislav Nad, and Martin Schläffer. Finding Collisions for Round-Reduced SM3. In Ed Dawson, editor, Topics in Cryptology - CT-RSA 2013, volume 7779 of LNCS, pages 174 188. Springer, 2013. Florian Mendel, Tomislav Nad, and Martin Schläffer. Improving Local Collisions: New Attacks on Reduced SHA-256. In Thomas Johansson and Phong Q. Nguyen, editors, EUROCRYPT, LNCS. Springer, 2013. To appear. Florian Mendel, Tomislav Nad, Stefan Scherz, and Martin Schläffer. Differential Attacks on Reduced RIPEMD-160. In Dieter Gollmann and Felix C. Freiling, editors, ISC, volume 7483 of LNCS, pages 23 38. Springer, 2012. Ivica Nikolić and Alex Biryukov. Collisions for Step-Reduced SHA-256. In Kaisa Nyberg, editor, FSE, volume 5086 of LNCS, pages 1 15. Springer, 2008.

References III Somitra Kumar Sanadhya and Palash Sarkar. New Collision Attacks against Up to 24-Step SHA-2. In Dipanwita Roy Chowdhury, Vincent Rijmen, and Abhijit Das, editors, INDOCRYPT, volume 5365 of LNCS, pages 91 103. Springer, 2008.