3 research outputs found

    T5: Hashing Five Inputs with Three Compression Calls

    Get PDF
    Given 2n2n-to-nn compression functions h1,h2,h3h_1,h_2,h_3, we build a new 5n5n-to-nn compression function T5\mathrm{T}_5, using only 33 compression calls: T5(m1,m2,m3,m4,m5):=h3(h1(m1,m2)m5,h2(m3,m4)m5)m5\mathrm{T}_5(m_1, m_2, m_3, m_4, m_5) := h_3( h_1(m_1, m_2)\oplus m_5, h_2(m_3, m_4)\oplus m_5) \oplus m_5. We prove that this construction matches Stam\u27s bound, by providing O~(q2/2n)\tilde{O}(q^2/2^n) collision security and O(q3/22n+nq/2n)O(q^3/2^{2n}+ nq/2^n) preimage security (the latter term dominates in the region of interest, when q<2n/2q<2^{n/2}). In particular, it provides birthday security for hashing 55 inputs using three 2n2n-to-nn compression calls, instead of only 44 inputs in prior constructions. Thus, we get a sequential variant of the Merkle-Damgård (MD) hashing, where tt message blocks are hashed using only 3t/43t/4 calls to the 2n2n-to-nn compression functions; a 25%25\% saving over traditional hash function constructions. This time reduces to t/4t/4 (resp. t/2t/2) sequential calls using 33 (resp. 22) parallel execution units; saving a factor of 44 (resp. 22) over the traditional MD-hashing, where parallelism does not help to process one message. We also get a novel variant of a Merkle tree, where tt message blocks can be processed using 0.75(t1)0.75(t-1) compression function calls and depth 0.86log2t0.86 \log_2 t, thereby saving 25%25\% in the number of calls and 14%14\% in the update time over Merkle trees. We provide two modes for a local opening of a particular message block: conservative and aggressive. The former retains the birthday security, but provides longer proofs and local verification time than the traditional Merkle tree. For the aggressive variant, we reduce the proof length to a 29%29\% overhead compared to Merkle trees (1.29log2t1.29\log_2 t vs log2t\log_2 t), but the verification time is now 14%14\% faster (0.86log2t0.86\log_2 t vs log2t\log_2 t). However, birthday security is only shown under a plausible conjecture related to the 3-XOR problem, and only for the (common, but not universal) setting where the root of the Merkle tree is known to correspond to a valid tt-block message

    Multi-Collision Resistance: A Paradigm for Keyless Hash Functions

    Get PDF
    We introduce a new notion of multi-collision resistance for keyless hash functions. This is a natural relaxation of collision resistance where it is hard to find multiple inputs with the same hash in the following sense. The number of colliding inputs that a polynomial-time non-uniform adversary can find is not much larger than its advice. We discuss potential candidates for this notion and study its applications. Assuming the existence of such hash functions, we resolve the long-standing question of the round complexity of zero knowledge protocols --- we construct a 3-message zero knowledge argument against arbitrary polynomial-size non-uniform adversaries. We also improve the round complexity in several other central applications, including a 3-message succinct argument of knowledge for NP, a 4-message zero-knowledge proof, and a 5-message public-coin zero-knowledge argument. Our techniques can also be applied in the keyed setting, where we match the round complexity of known protocols while relaxing the underlying assumption from collision-resistance to keyed multi-collision resistance. The core technical contribution behind our results is a domain extension transformation from multi-collision-resistant hash functions for a fixed input length to ones with an arbitrary input length and a local opening property. The transformation is based on a combination of classical domain extension techniques, together with new information-theoretic tools. In particular, we define and construct a new variant of list-recoverable codes, which may be of independent interest
    corecore