CSE442T Introduction to Cryptography (Lecture 20)
Chapter 5: Authentication
Construction of CRHF (Collision Resistant Hash Function)
Let be a CRHF.
Base on the discrete log assumption, we can construct a CRHF as follows:
generator for group of sequence (G_q)
is a random element in
,
if , if .
Under the discrete log assumption, is a CRHF.
- It is easy to sample
- It is easy to compute
- Compressing by 1 bit
Proof
The hash function is a CRHF
Suppose there exists an adversary that can break with non-negligible probability .
Where is the collision of .
Suppose .
Then implies .
So and .
So , Without loss of generality, say and .
implies .
We can create a adversary that can break the discrete log assumption with non-negligible probability using .
Let be chosen and set random such that .
Let the algorithm defined as follows:
function B(p,g,y):
(x_1,b_1),(x_2,b_2)\gets \mathcal{A}(p,g,y)
If (x_1,1) and (x_2,0) and there is a collision:
y=g^{x_2-x_1}\mod p
return x_2-x_1 for b=1
Else:
return "Failed"So can break the discrete log assumption with non-negligible probability , which contradicts the discrete log assumption.
So is a CRHF.
To compress by more, say , then we can use multiple times.
To find a collision of , the adversary must find a collision of .
Application of CRHF to Digital Signature
Digital signature scheme on for a fixed security parameter . (one-time secure)
- Use Digital Signature Scheme on : .
- Use CRHF family
, choose uniformly at random.
, return
and
One-time secure:
- Given that () is one-time secure
- is a CRHF
Then () is one-time secure.
Ideas of Proof
If the digital signature scheme () is not one-time secure, then there exists an adversary which can ask oracle for one signature on and receive .
- It outputs and receives .
- If is accepted, then is accepted and .
There are two cases to consider:
Case 1: , Then finds a collision of .
Case 2: , Then produced valid signature on after only seeing . This contradicts the one-time secure of ().
Many-time Secure Digital Signature
Using one-time secure digital signature scheme on to construct many-time secure digital signature scheme on .
Let defined as follows:
$Gen(1^n):(pk,sk)\gets (pk_0,sk_0)
For the first message:
, return
We need to remember state and for the second message.
For the second message:
, return
We need to remember state and for the third message.
…
For the -th message:
, return
We need to remember state and for the -th message.
Will need to verify all the states public keys so far.
Proof on homework.
Drawbacks:
- Signature size and verification time grows linearly with the number of messages.
- Memory for signing grows linearly with the number of messages.
These can be fixed.
Question: Note that the signature signing message longer than the public key, which is impossible in Lamport Scheme.