Collision Resistant Hashing for Paranoids:
Dealing with Multiple Collisions
Eylon Yogev
Ilan Komargodski Moni Naor
&
Eurocrypt 2018, Tel Aviv
Weizmann Institute of Science
Collision Resistant Hashing for Paranoids: Dealing with Multiple - - PowerPoint PPT Presentation
Collision Resistant Hashing for Paranoids: Dealing with Multiple Collisions Eylon Yogev Weizmann Institute of Science & Moni Naor Ilan Komargodski Eurocrypt 2018, Tel Aviv Ask less of a hash function and it is less likely to disappoint!
Ilan Komargodski Moni Naor
&
Eurocrypt 2018, Tel Aviv
Weizmann Institute of Science
Ask less of a hash function and it is less likely to disappoint!
Bellare-Rogaway ‘97 What is the “right” notion of hardness of finding collisions in a cryptographic hash function? Depends on the application!
Storing passwords Delegation of computation Signatures POW/ Blockchains
3
𝐼 hash function family Each ℎ ∈ 𝐼 is
ℎ: {0,1}2𝑜 → 0,1 𝑜 Easy to sample ℎ ← 𝐼
𝒊 𝒚, 𝒛 𝒈 CRH 𝒚, 𝒊 𝒛 𝒈 UOWHF
Adv wins if 𝒊 𝒚 = 𝒊(𝒛) Adv wins if 𝒊 𝒚 = 𝒊(𝒛)
4
small compression yields any polynomial compression ℎ: 0,1 𝑜𝑑 → 0,1 𝑜
𝒊 𝒚, 𝒛 𝒈 CRH
Adv wins if 𝒊 𝒚 = 𝒊(𝒛)
5
𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝑧
Committing to a long string by a short one Merkle-tree construction:
positions
6
𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝑧
Committing to a long string by a short one Merkle-tree construction:
positions
7
𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝑧
Committing to a long string by a short one Merkle-tree construction:
positions
8
𝒊 𝒚𝟐, … , 𝒚𝒍 𝒈 MCRH
Adv wins if 𝒊 𝒚𝟐 = ⋯ = 𝒊(𝒚𝒍)
Then ℎ’ is a 3-MCRH but not a CRH!
9
The bipartite Ramsey Problem:
find a bipartite clique or IS of size
𝑜 4 × 𝑜 4.
Theorem:
𝑜 4 - MCRH exists.
Worlds have black-box separations Contains major cryptographic primitives!
Nocrypt:
∄ one-way functions (∄ UOWHF)
Unihash:
UOWHF exist but ∄ Multi-CRH
Minihash:
∃ Multi-CRH but ∄ CRH
Hashomania:
∃ CRH
Theorem 1: k-MCRH ⇒ constant-round short commitment with local-opening
(and statistically hiding).
𝑃(𝑜) bits with 𝑃(𝑑) rounds.
Theorem 2: k-MCRH ⇒ 4-round short commitment (no local-opening).
Theorem 3: k-MCRH does not imply standard CRH (in a black-box manner).
Find: ℎ 𝑦1 = ℎ 𝑧1 , … , ℎ 𝑦𝑙 = ℎ 𝑧𝑙
CRH.
Theorem 1:
k-MCRH ⇒ constant-round short commitment with local-opening (and statistical hiding).
14
Receiver Sender
ℎ Input: 𝑦 Sample ℎ ∈ 𝐼 (3-MCRH family) 𝑧 𝑦′: ℎ 𝑦′ = 𝑧 Not committing! 𝑧 = ℎ(𝑦) Commitment = 𝑧 Solution: add pair-wise hash function – in new round
15
Receiver Sender
ℎ Input: 𝑦 Sample ℎ ∈ 𝐼 (3-MCRH family) 𝑧 Committing! 𝑧 = ℎ(𝑦) Commitment = 𝑧, 𝑣 𝑣 Sample ∈ 𝐻 (pairwise family) 𝑣 = (𝑦) 𝑦′: ℎ 𝑦′ = 𝑧 𝑦′ ≠ 𝑣 Remark: can reduce communication by using an almost pairwise hash function
16
Receiver Adversary
ℎ Sample ℎ ∈ 𝐼 (3-MCRH family) 𝑧 Commitment = 𝑧, 𝑣 𝑣 Sample ∈ 𝐻 (pairwise family) 𝑦1, 𝑦2 ℎ 𝑦1 = ℎ 𝑦2 = 𝑧 𝑦1 = 𝑦2 = 𝑣
17
Receiver Adversary
ℎ Sample ℎ ∈ 𝐼 (3-MCRH family) 𝑧 ′ Sample ′ ∈ 𝐻 (pairwise family) ℎ 𝑦1 = ℎ 𝑦2 = 𝑧 = ℎ 𝑦3 = ℎ(𝑦4) 𝑦1 = 𝑦2 = 𝑣 ′ 𝑦3 = ′ 𝑦4 = 𝑣′ 𝑣′ 𝑦3, 𝑦4 Did we find a 3-collision? Pr ′ 𝑦1 = ′ 𝑦2 = 2−𝑨 => 𝑦1, 𝑦2, 𝑦3, 𝑦4 form a 3-collision!
Ingredients:
Protocol:
send the root-hash 𝑧.
𝑣𝑗 = 𝜌𝑤𝜌𝑂 𝑤
𝑤∈pathi
𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝜌1 𝜌2 𝜌3 𝜌4 𝜌5 𝜌6 𝜌7 𝑧 = (𝜌1𝜌2) (𝜌5𝜌6) will be determined later
𝑦=
(𝑦3𝑦4)
Note: this is not a hash-tree of
Ingredients:
Protocol:
send the root-hash 𝑧.
𝑣𝑗 = 𝜌𝑤𝜌𝑂 𝑤
𝑤∈pathi
Important: 𝑦′ < |𝑦| will be determined later Note: this is not a hash-tree of
𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝜌1 𝜌2 𝜌3 𝜌4 𝜌5 𝜌6 𝜌7 𝑧 = (𝜌1𝜌2) (𝜌5𝜌6)
𝑦=
(𝑦3𝑦4)
Ingredients:
Protocol:
send the root-hash 𝑧.
𝑣𝑗 = 𝜌𝑤𝜌𝑂 𝑤
𝑤∈pathi
Important: 𝑦′ < |𝑦| 𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝜌1 𝜌2 𝜌3 𝜌4 𝜌5 𝜌6 𝜌7 𝑧 = (𝜌1𝜌2) (𝜌5𝜌6) will be determined later
𝑦=
(𝑦3𝑦4) Note: this is not a hash-tree of
Ingredients:
Parameters: Input size: 𝑜𝑑 Set: 𝑨 = 𝑜1−𝜀 Size of 𝑦′: 𝑜𝑑−1𝑨 = 𝑜𝑑−𝜀 #rounds:
𝑑 𝜀 = 𝑃 1
Remark: Use the same ℎ in all recursions 𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝜌1 𝜌2 𝜌3 𝜌4 𝜌5 𝜌6 𝜌7 𝑧 = (𝜌1𝜌2) (𝜌5𝜌6)
𝑦=
(𝑦3𝑦4)
Protocol:
𝑣𝑗 = 𝜌𝑤𝜌𝑂 𝑤
𝑤∈pathi.
Proof:
a freshly sampled ∈ 𝐻
values 𝑦1 𝑦2 𝑦3 𝑦4 𝑦5 𝑦6 𝑦7 𝑦8 𝜌1 𝜌2 𝜌3 𝜌4 𝜌5 𝜌6 𝜌7 𝑧 = (𝜌1𝜌2) (𝜌5𝜌6)
𝑦=
(𝑦3𝑦4)
Iterations are not not independent ⇒ proof uses Azuma’s inequality
23
Theorem 2: k-MCRH ⇒ 4-round short commitment (no local-opening).
24
1. Multi-Collision Resistance: A Paradigm for Keyless Hash Functions [Bitansky-Kalai-Paneth]. Main focus is keyless hash function. 1. 3-message zero-knowledge arguments for NP. 2. 3-message succinct arguments of knowledge for NP. 2. Multi Collision Resistant Hash Functions and their Applications [Berman-Degwekar-Rothblum-Vasudevan] 1. A construction of MCRH from hardness of a variant of Entropy Approximation. 2. constant-round statistically hiding commitment from MCRH.
Can find all three papers on eprint