Lecture 17
Lecture 17
Modern Cryptology
Lecture 17
1 Hashing
We need a function h : {0, 1}∗ 7→ {0, 1}` such that h maps two
distinct documents to distinct strings of length ` with ` less than size
of one block.
This is impossible since there can be infinitely many documents but
there are only 2` strings of length `.
If h is such that finding two documents that map to same output is
hard, it can still work:
I Since it is hard to find m and m0 such that h(m) = h(m0 ), one would
not encounter two such documents!
Such functions are called hash functions.
We need a function h : {0, 1}∗ 7→ {0, 1}` such that h maps two
distinct documents to distinct strings of length ` with ` less than size
of one block.
This is impossible since there can be infinitely many documents but
there are only 2` strings of length `.
If h is such that finding two documents that map to same output is
hard, it can still work:
I Since it is hard to find m and m0 such that h(m) = h(m0 ), one would
not encounter two such documents!
Such functions are called hash functions.
We need a function h : {0, 1}∗ 7→ {0, 1}` such that h maps two
distinct documents to distinct strings of length ` with ` less than size
of one block.
This is impossible since there can be infinitely many documents but
there are only 2` strings of length `.
If h is such that finding two documents that map to same output is
hard, it can still work:
I Since it is hard to find m and m0 such that h(m) = h(m0 ), one would
not encounter two such documents!
Such functions are called hash functions.
We need a function h : {0, 1}∗ 7→ {0, 1}` such that h maps two
distinct documents to distinct strings of length ` with ` less than size
of one block.
This is impossible since there can be infinitely many documents but
there are only 2` strings of length `.
If h is such that finding two documents that map to same output is
hard, it can still work:
I Since it is hard to find m and m0 such that h(m) = h(m0 ), one would
not encounter two such documents!
Such functions are called hash functions.
We need a function h : {0, 1}∗ 7→ {0, 1}` such that h maps two
distinct documents to distinct strings of length ` with ` less than size
of one block.
This is impossible since there can be infinitely many documents but
there are only 2` strings of length `.
If h is such that finding two documents that map to same output is
hard, it can still work:
I Since it is hard to find m and m0 such that h(m) = h(m0 ), one would
not encounter two such documents!
Such functions are called hash functions.
Anubha announces her public key (e, n) and she has corresponding
private key d.
Assume that a cryptographycally secure hash function h is available
such that its output can be viewed as a number < n.
Signing: Anubha computes s = h(m)d (mod n).
Verification: Given (m, s), Braj checks if s = h(m)e (mod n).
Hardness of forgery follows as before and using the properties of h.
Anubha announces her public key (e, n) and she has corresponding
private key d.
Assume that a cryptographycally secure hash function h is available
such that its output can be viewed as a number < n.
Signing: Anubha computes s = h(m)d (mod n).
Verification: Given (m, s), Braj checks if s = h(m)e (mod n).
Hardness of forgery follows as before and using the properties of h.
Anubha announces her public key (e, n) and she has corresponding
private key d.
Assume that a cryptographycally secure hash function h is available
such that its output can be viewed as a number < n.
Signing: Anubha computes s = h(m)d (mod n).
Verification: Given (m, s), Braj checks if s = h(m)e (mod n).
Hardness of forgery follows as before and using the properties of h.
Anubha announces her public key (e, n) and she has corresponding
private key d.
Assume that a cryptographycally secure hash function h is available
such that its output can be viewed as a number < n.
Signing: Anubha computes s = h(m)d (mod n).
Verification: Given (m, s), Braj checks if s = h(m)e (mod n).
Hardness of forgery follows as before and using the properties of h.
Anubha announces her public key (e, n) and she has corresponding
private key d.
Assume that a cryptographycally secure hash function h is available
such that its output can be viewed as a number < n.
Signing: Anubha computes s = h(m)d (mod n).
Verification: Given (m, s), Braj checks if s = h(m)e (mod n).
Hardness of forgery follows as before and using the properties of h.
In 1980s, several hash functions were proposed but none were secure.
In 1991, Ron Rivesh proposed MD5, which was found suitable and
got adopted widely.
I It produces 128-bit output.
In 2005, MD5 was shown to be insecure by demonstrating two
distinct messages that hash to same value.
I This also made another similar algorithm, SHA-1, insecure.
In 2006, NIST started a competition to select a new secure hash
algorithm that culminated in SHA-3 being selected in 2012.
In 1980s, several hash functions were proposed but none were secure.
In 1991, Ron Rivesh proposed MD5, which was found suitable and
got adopted widely.
I It produces 128-bit output.
In 2005, MD5 was shown to be insecure by demonstrating two
distinct messages that hash to same value.
I This also made another similar algorithm, SHA-1, insecure.
In 2006, NIST started a competition to select a new secure hash
algorithm that culminated in SHA-3 being selected in 2012.
In 1980s, several hash functions were proposed but none were secure.
In 1991, Ron Rivesh proposed MD5, which was found suitable and
got adopted widely.
I It produces 128-bit output.
In 2005, MD5 was shown to be insecure by demonstrating two
distinct messages that hash to same value.
I This also made another similar algorithm, SHA-1, insecure.
In 2006, NIST started a competition to select a new secure hash
algorithm that culminated in SHA-3 being selected in 2012.
In 1980s, several hash functions were proposed but none were secure.
In 1991, Ron Rivesh proposed MD5, which was found suitable and
got adopted widely.
I It produces 128-bit output.
In 2005, MD5 was shown to be insecure by demonstrating two
distinct messages that hash to same value.
I This also made another similar algorithm, SHA-1, insecure.
In 2006, NIST started a competition to select a new secure hash
algorithm that culminated in SHA-3 being selected in 2012.
1 Hashing
Anubha can share her public-key with Braj and then digitally sign
communication with Braj to prove her identity.
But this only proves that the sender has the private-key corresponding
to public-key sent to Braj.
What is the proof that public-key belongs to Anubha?
Anubha can share her public-key with Braj and then digitally sign
communication with Braj to prove her identity.
But this only proves that the sender has the private-key corresponding
to public-key sent to Braj.
What is the proof that public-key belongs to Anubha?
Anubha can share her public-key with Braj and then digitally sign
communication with Braj to prove her identity.
But this only proves that the sender has the private-key corresponding
to public-key sent to Braj.
What is the proof that public-key belongs to Anubha?
Anubha can share her public-key with Braj and then digitally sign
communication with Braj to prove her identity.
But this only proves that the sender has the private-key corresponding
to public-key sent to Braj.
What is the proof that public-key belongs to Anubha?