Getting the best out of existing hash functions; or what if we are stuck with SHA?

  • Authors:
  • Yevgeniy Dodis;Prashant Puniya

  • Affiliations:
  • Department of Computer Science, Courant Institute of Mathematical Sciences, New York University;Department of Computer Science, Courant Institute of Mathematical Sciences, New York University

  • Venue:
  • ACNS'08 Proceedings of the 6th international conference on Applied cryptography and network security
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cascade chaining is a very efficient and popular mode of operation for building various kinds of cryptographic hash functions. In particular, it is the basis of the most heavily utilized SHA function family. Recently, many researchers pointed out various practical and theoretical deficiencies of this mode, which resulted in a renewed interest in building specialized modes of operations and new hash functions with better security. Unfortunately, it appears unlikely that a new hash function (say, based on a new mode of operation) would be widely adopted before being standardized, which is not expected to happen in the foreseeable future. Instead, it seems likely that practitioners would continue to use the cascade chaining, and the SHA family in particular, and try to work around the deficiencies mentioned above. In this paper we provide a thorough treatment of how to soundly design a secure hash function H′ from a given cascade-based hash function H for various cryptographic applications, such as collision-resistance, one-wayness, pseudorandomness, etc. We require each proposed construction of HH′ to satisfy the following "axioms". 1. The construction consists of one or two "black-box" calls to H. 2. In particular, one is not allowed to know/use anything about the internals of H, such as modifying the initialization vector or affecting the value of the chaining variable. 3. The construction should support variable-length inputs. 4. Compared to a single evaluation of H(M), the evaluation of H(M) should make at most a fixed (small constant) number of extra calls to the underlying compression function of H. In other words, the efficiency of H′ is negligibly close to that of H. We discuss several popular modes of operation satisfying the above axioms. For each such mode and for each given desired security requirement, we discuss the weakest requirement on the compression function of H which would make this mode secure. We also give the implications of these results for using existing hash functions SHA-x, where x ∈ {1, 224, 256, 384, 512}.