On Graph-Based Cryptographic Hash Functions
Total Page:16
File Type:pdf, Size:1020Kb
Universite´ catholique de Louvain Ecole polytechnique de Louvain Laboratoire de Microelectronique´ On graph-based cryptographic hash functions Christophe Petit Th`esesoutenue en vue de l'obtention du grade de Docteur en Sciences Appliqu´ees Composition du jury: Pr Jean-Jacques Quisquater (UCL - DICE) { Promoteur Pr Jean-Pierre Tignol (UCL - MATH) { Promoteur Pr Olivier Pereira (UCL - DICE) Dr Kristin Lauter (Microsoft Research) Pr Bart Preneel (KULeuven) Pr Gilles Z´emor(Bordeaux I) Pr Jean-Pierre Raskin (UCL - EMIC) { Pr´esident Louvain-la-Neuve, Belgique May 2009 ii Abstract Hash functions are an invaluable tool for cryptography. They must primarily satisfy collision resistance, but standardized hash functions like SHA also satisfy stronger properties needed for the wide range of their applications. The design of many hash functions including SHA is based on a compression function that is close to a block cipher and on a domain extension transform like Merkle-Damg˚ard.However, recent attacks against the collision resistance of SHA-1 suggest investigating new designs. The expander hash design, proposed in the early nineties by Z´emorand Tillich and recently rediscovered by Charles, Goren and Lauter, consists in defining a cryptographic hash function from an expander graph. The design is simple and elegant and important hash function properties can be interpreted as graph properties. When Cayley expander graphs are used, collision resistance reduces to the hardness of group-theoretical problems. Although these problems are not classical in cryptography, they appear in different forms in other fields and in at least one case, they have remained unbroken since 1994. This thesis studies the expander hash design, its main strengths and weak- nesses and the security and efficiency of currently existing instances. We in- troduce new functions, the Morgenstern hash function and the vectorial and projective versions of the Z´emor-Tillich function. We study the security of particular constructions. We present new algorithms breaking the preimage resistance of the LPS hash function and the collision and preimage resis- tances of the Morgenstern hash function. We improve collision and preimage attacks against Z´emor-Tillich and we describe hard and easy components of collision search for this function. We capture the malleability of expander hashes by two definitions of the literature and we describe its positive and negative consequences for applications. Finally, we introduce ZesT, an all- purpose hash function based on Z´emor-Tillich, keeping its provable collision resistance and its parallelism but avoiding its malleability. Our function is provably secure, parallelizable, scalable, admits a wide range of (very) effi- cient implementations and can be used as a general-purpose hash function. iii iv Acknowledgements My first thanks for this thesis go to Professor Jean-Jacques Quisquater for accepting to serve as my advisor. Even though Jean-Jacques sometimes appears to be flying around the world, he has always also been a safe haven to me. I owe him these years at UCL CRYPTO group, very interesting collaborations with top international researchers, great scientific and career advices, interesting discussions and a careful review of my scientific work. Professor Olivier Pereira has been perfectly complementary to Jean-Jacques. I appreciated his great availability for patiently explaining me subtleties of security definitions and proofs, his encyclopedic knowledge of the literature and his meticulous review of my thesis and some of my papers. I am grateful to Dr. Kristin Lauter and to Professor Daniele Micciancio for arranging my stay in San Diego. These three months were a very great life experience both from personal and scientific points of view. I am especially grateful to Kristin for the collaboration we started, the work we published together, the lights she provided me on the mathematics subjacent to LPS and Pizer hashes, and finally for accepting to serve in my thesis committee. Many thanks also for the funny moments I spent with you and your family in San Diego. I am also very grateful to Professor Gilles Z´emor and to Dr. Jean-Pierre Tillich for the interesting and fruitful collaboration we started these last months. I owe them two of my favorite works so far, patient explanations of the ideas that lead them to invent the expander hash design and a careful review of large parts of this thesis. Thank you also, Gilles, for accepting to serve in my thesis committee. I would also like to thank Professor Jean-Pierre Tignol for patiently teach- ing me on quaternion algebras and elliptic curves and for his very conscien- tious review of this text, and Professor Bart Preneel for accepting to serve in my thesis committee. I thank all my co-authors and the anonymous reviewers of my papers. What I have learnt from each of you has served and will keep serving me in the future. I thank Nicolas and Giacomo whose help was precious in evaluating v vi the performances of ZesT. I would also like to thank all the members of the UCL CRYPTO group and of the UCSD Cryptography and Security group for the atmospheres full of friendship and of research stimulation that I found in both places. I am especially grateful to Sylvie Baudine, heart and soul of the UCL Crypto group, for her permanent enthusiasm, her incredible efficiency and for her tracking down English errors throughout this text. As I remember some periods of doubts and stress during these years, I also remember receiving strong support and advices from colleagues that I like to call my friends; I remember playing games and drinking beers with them and I remember our Tuesday's gastronomic lunches. With all these respects, I have special thanks to address to Fran¸cois,Julien, Olmar, Chong- Hee, Giacomo and Philippe. I thank the Belgian National Science Foundation (FRS-FNRS) for its financial support and the excellent working conditions I benefited from during my thesis. Finally, I would like to thank my family and all my friends for their friendship and support in life since I have known them. For everything, un tout grand merci, thank you so much, much´ısimasgracias. Contents 1 Cryptographic hash functions from expander graphs 1 I Introduction 5 2 Cryptographic hash functions 7 2.1 Meaning of \security" in cryptography . .9 2.1.1 Computational security . .9 2.1.2 Security reductions . 11 2.2 Preimage, second preimage and collision resistances . 12 2.2.1 Preimage resistance . 14 2.2.2 Second preimage resistance . 16 2.2.3 Collision resistance . 17 2.2.4 Implications . 18 2.3 Other security notions for hash functions . 18 2.3.1 Universal hash functions . 19 2.3.2 Pseudo-random functions . 20 2.3.3 Perfectly one-way probabilistic hash functions . 22 2.3.4 The Random Oracle model . 23 2.4 The Merkle-Damg˚ardtransform . 25 2.5 Popular attacks on hash functions . 27 2.5.1 Complexity limits for the feasibility of attacks . 28 2.5.2 Generic attacks . 29 2.5.3 Attacks on iterated hash functions . 30 2.5.4 Differential cryptanalysis . 31 2.5.5 On \meaningful" collisions . 32 2.5.6 Beyond collision resistance . 32 2.6 Applications . 33 2.6.1 Message authentication codes . 33 2.6.2 Digital signatures . 36 2.6.3 Other applications . 39 vii viii CONTENTS 2.7 Further readings . 42 3 The reductionist approach to cryptographic hash functions 43 3.1 Early instances of CRHF . 45 3.1.1 Factorization-based hash functions . 45 3.1.2 Discrete logarithm-based hash functions . 48 3.1.3 Knapsack-based hash functions . 49 3.2 The Very Smooth Hash (VSH) . 52 3.2.1 The VSSR assumption . 53 3.2.2 The Very Smooth Hash algorithm . 53 3.2.3 Cube-VSH, Fast-VSH and VSH-DL . 55 3.2.4 Pros and contras of VSH . 55 3.3 The SWIFFT hash function . 56 3.3.1 The SWIFFT algorithm . 57 3.3.2 Pros and contras of SWIFFT . 59 3.4 Block-cipher based hash functions . 60 3.4.1 The Ideal Cipher model . 60 3.4.2 Main constructions . 61 3.4.3 Pros and contra . 64 3.5 Expander hashes: pros and contras . 64 3.6 Conclusion and further readings . 66 II Expander Hashes 69 4 From expander graphs to expander hashes 71 4.1 Expander graphs . 72 4.1.1 Basic definitions and notations . 73 4.1.2 Expanding properties . 76 4.1.3 Random walks on expander graphs . 79 4.1.4 Cayley graphs . 84 4.2 Expander hashes . 86 4.2.1 General construction . 86 4.2.2 Cayley hashes . 89 4.2.3 Paths and cycles-finding problems . 90 4.2.4 Balance, representation and factorization problems . 92 4.2.5 Output distribution and randomness extraction . 94 4.2.6 Generic attacks against expander and Cayley hashes . 95 4.2.7 Malleability properties . 98 4.3 Expander hashes proposals . 99 4.3.1 Necessary requirements . 99 CONTENTS ix 4.3.2 Z´emor'sfirst proposal . 100 4.3.3 Z´emor-Tillich hash function . 101 4.3.4 LPS hash function . 102 4.3.5 Morgenstern hash function . 104 4.3.6 Pizer hash function . 106 4.4 Revisiting some previous schemes . 107 5 Cryptanalytic results on ZT hash 111 5.1 On the group SL(2; F2n ) and the generators A0 and A1 .... 112 5.1.1 Subgroups of SL(2; F2n )................. 113 5.1.2 Homomorphism from SL(2; F2[X]) . 115 5.1.3 On powers of elements . 116 5.2 Positive security results on ZT hash . 118 5.3 Previous results on ZT hash . 120 5.3.1 Invertibility for short messages . 120 5.3.2 Charnes-Pieprzyck attack .