Dynamic Cryptographic Hash Functions

Dynamic Cryptographic Hash Functions

CERIAS Tech Report 2007-20 DYNAMIC CRYPTOGRAPHIC HASH FUNCTIONS by William Speirs Center for Education and Research in Information Assurance and Security, Purdue University, West Lafayette, IN 47907-2086 DYNAMIC CRYPTOGRAPHIC HASH FUNCTIONS A Thesis Submitted to the Faculty of Purdue University by William Robert Speirs II In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy May 2007 Purdue University West Lafayette, Indiana ii To my parents, Jeffrey and Ellen iii ACKNOWLEDGMENTS First and foremost I would like to thank my adviser, Samuel S. Wagstaff, Jr. His advice, guidance, and patience helped me to gain a deeper understanding of the field of cryptography and research in general. I would also like to thank only one of my committee members Eugene Spafford for supporting me and my efforts to complete this Ph.D. A special thanks to Bart Preneel (Katholieke Universiteit Leuven) for providing early ideas and agreeing to be part of my preliminary examination committee. I would also like to thank Moses Liskov (The College of William and Mary) for providing me with valuable insight and comments towards the end of my work. Thanks to The Center for Education and Research in Information Assurance and Security (CERIAS) and the Computer Science faculty and staff of Purdue University for providing me with all the necessary resources and an environment that allowed me to complete this work. A special thanks goes to the Pikewerks Corporation and the Air Force Research Laboratory for providing me with funding to accomplish additional research not directly related to this dissertation. Finally, I would like to thank my family and friends. My family has always shown me unconditional support through sometimes tumultuous periods and always encouraged me to pursue this degree. My friends always supported me and endured my sometimes negative discourse about this dissertation. A special thanks goes to my roommates Barry Wittman and Armand Navabi who were always there to humor my ideas and help me especially in those final trying weeks; stick with it guys. \This thesis is dedicated to all the professors that wanted to see me fail, to all the companies that supported me while I was trying to make some money to support my daughter, and all the graduate students in the strug- gle." { Christopher George Latore Wallace (modified) iv TABLE OF CONTENTS Page LIST OF TABLES : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : viii LIST OF FIGURES : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ix ABBREVIATIONS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : x ABSTRACT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : xi 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.1 A Brief History of Cryptographic Hash Functions : : : : : : : : : : : 1 1.2 Current Applications of Cryptographic Hash Functions : : : : : : : : 3 1.3 Motivation for Dynamic Hash Functions : : : : : : : : : : : : : : : : 5 1.4 Scope of This Dissertation : : : : : : : : : : : : : : : : : : : : : : : : 6 1.4.1 Message Authentication Codes : : : : : : : : : : : : : : : : : : 7 1.5 Contributions of This Dissertation : : : : : : : : : : : : : : : : : : : : 8 1.6 Organization of This Dissertation : : : : : : : : : : : : : : : : : : : : 9 1.7 Notation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 2 Traditional Cryptographic Hash Functions : : : : : : : : : : : : : : : : : : 13 2.1 Function Families : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15 2.2 Adversarial Model : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16 2.3 Methods for Defining Security Properties : : : : : : : : : : : : : : : : 17 2.3.1 Experiment Descriptions : : : : : : : : : : : : : : : : : : : : : 18 2.3.2 The Fixed and Asymptotic Frameworks : : : : : : : : : : : : : 19 2.4 Formal Definitions of Security Properties : : : : : : : : : : : : : : : : 20 2.4.1 Preimage Resistance : : : : : : : : : : : : : : : : : : : : : : : 20 2.4.2 Second Preimage Resistance : : : : : : : : : : : : : : : : : : : 21 2.4.3 Collision Resistance : : : : : : : : : : : : : : : : : : : : : : : : 22 2.5 Notions of Security : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23 v Page 2.5.1 Preimage Resistance : : : : : : : : : : : : : : : : : : : : : : : 24 2.5.2 Second Preimage Resistance : : : : : : : : : : : : : : : : : : : 26 2.5.3 Collision Resistance : : : : : : : : : : : : : : : : : : : : : : : : 27 2.5.4 Implications Between Notions of Security : : : : : : : : : : : : 27 3 Dynamic Cryptographic Hash Functions : : : : : : : : : : : : : : : : : : : 29 3.1 Background and Introduction : : : : : : : : : : : : : : : : : : : : : : 29 3.2 Definition of a Dynamic Cryptographic Hash Function : : : : : : : : 30 3.3 Traditional Properties for Dynamic Hash Functions : : : : : : : : : : 32 3.4 Dynamic Versions of the Traditional Properties : : : : : : : : : : : : 35 3.5 Properties Without Traditional Analogs : : : : : : : : : : : : : : : : 40 3.5.1 Security Parameter Collision Resistance : : : : : : : : : : : : 41 3.5.2 Digest Resistance : : : : : : : : : : : : : : : : : : : : : : : : : 42 3.6 Implications Between Security Properties : : : : : : : : : : : : : : : : 44 3.7 Notions of Security : : : : : : : : : : : : : : : : : : : : : : : : : : : : 49 3.7.1 Implications Between Notions of Security : : : : : : : : : : : : 52 3.8 Using Dynamic Hash Functions in Practice : : : : : : : : : : : : : : : 54 3.8.1 Expected Security for an Ideal Dynamic Hash Function : : : : 54 3.8.2 Choosing the Right Security Parameter : : : : : : : : : : : : : 56 4 Cryptographic Hash Function Constructions : : : : : : : : : : : : : : : : : 58 4.1 The Merkle-Damg˚ard Construction : : : : : : : : : : : : : : : : : : : 59 4.1.1 Proofs for Preimage Resistance and Collision Resistance : : : 60 4.2 Attacks Against the Merkle-Damg˚ard Construction : : : : : : : : : : 63 4.2.1 The Birthday Attack : : : : : : : : : : : : : : : : : : : : : : : 64 4.2.2 The Length Extension Attack : : : : : : : : : : : : : : : : : : 65 4.2.3 The Multi-Collision Attack : : : : : : : : : : : : : : : : : : : : 65 4.2.4 Herding Attack : : : : : : : : : : : : : : : : : : : : : : : : : : 68 4.2.5 Long Message Second Preimage Attack : : : : : : : : : : : : : 70 4.2.6 Fixed Point Attack : : : : : : : : : : : : : : : : : : : : : : : : 72 vi Page 4.3 New Constructions : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73 4.3.1 The Wide-Pipe Hash and Double-Pipe Hash : : : : : : : : : : 73 4.3.2 Prefix-Free Merkle-Damg˚ard : : : : : : : : : : : : : : : : : : : 76 4.3.3 Enveloped Merkle-Damg˚ard : : : : : : : : : : : : : : : : : : : 78 4.3.4 The Hash Iterative Framework : : : : : : : : : : : : : : : : : : 79 4.3.5 Randomized Hashing: RMX : : : : : : : : : : : : : : : : : : : 82 4.3.6 3C and 3C-X : : : : : : : : : : : : : : : : : : : : : : : : : : : 83 5 A Dynamic Hash Function Construction : : : : : : : : : : : : : : : : : : : 87 5.1 Construction Description : : : : : : : : : : : : : : : : : : : : : : : : : 88 5.1.1 Initial Value Creation : : : : : : : : : : : : : : : : : : : : : : : 90 5.1.2 Message Processing : : : : : : : : : : : : : : : : : : : : : : : : 90 5.1.3 Message Padding : : : : : : : : : : : : : : : : : : : : : : : : : 91 5.1.4 Digest Creation : : : : : : : : : : : : : : : : : : : : : : : : : : 92 5.1.5 Security Parameter Bounds : : : : : : : : : : : : : : : : : : : 93 5.2 The Security of This Construction : : : : : : : : : : : : : : : : : : : : 93 5.2.1 Dynamic Preimage Resistance : : : : : : : : : : : : : : : : : : 97 5.2.2 Dynamic Collision Resistance : : : : : : : : : : : : : : : : : : 100 5.2.3 Security Parameter Collision Resistance : : : : : : : : : : : : 104 5.2.4 Digest Resistance : : : : : : : : : : : : : : : : : : : : : : : : : 105 5.3 Expanding the Digest Size Beyond 4n : : : : : : : : : : : : : : : : : : 106 5.4 Additional Properties : : : : : : : : : : : : : : : : : : : : : : : : : : : 108 5.5 Provisions for Adding Salt : : : : : : : : : : : : : : : : : : : : : : : : 109 5.6 Preventing the Multi-Collision Attack : : : : : : : : : : : : : : : : : : 110 5.7 Implementation Issues : : : : : : : : : : : : : : : : : : : : : : : : : : 111 5.7.1 Speed Comparison : : : : : : : : : : : : : : : : : : : : : : : : 112 6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 114 6.1 Conclusion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 114 6.2 Future Work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 115 vii Page LIST OF REFERENCES : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 117 A Additional Experiments for Dynamic Hash Function Security Properties : : 124 B Birthday Attacks : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127 B.1 Preimage : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127 B.2 Collision : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 128 B.3 k-Collisions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 129 VITA : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 131 viii LIST OF TABLES Table Page 1.1 Symbols and their description. : : : : : : : : : : : : : : : : : : : : : : 11 1.2 Variables and their description. : : : : : : : : : : : : : : : : : : : : : 12 2.1 The seven notions of security for traditional hash functions. : : : : : 24 5.1 The relative speed of the dynamic hash function construction. : : : : 112 ix LIST OF FIGURES Figure

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    146 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us