MATH 470 Lecture 19

From Notes
Jump to navigation Jump to search

« previous | Thursday, March 28, 2013 | next »


Tests will be graded by tomorrow, and are viewable during office hours on Monday 11:00 – 12:30

From Yesterday

The secret was 23:

Three pairs for group were:

  • (12,96)
  • (38,25)
  • (2,17)


Randomness and Collisions: The Birthday Paradox

What are the chances that among 25 people, there exist at least 2 people with the same birthday?

Very likely: , and the probability that there are no common birthdays is

With a little work, we can get an estimate:

Similarly, when picking numbered balls (with replacement) out of an urn with , the probability of getting a collision is at least

Back to Signatures: Priority

This is an example of "Blind" Signatures

Suppose Pfizer and Roche are developing a cure for cancer. They are entering trials with patients, but want to later claim priority.

They want to prevent espionage by the other company.

If they want the CDC to believe their claim of priority, all parties can do the following:

Reveal that you know something without telling anyone what it is.

  • CDC generates 2 RSA instances: and .
  • CDC sends set 1 to Pfizer and set 2 to Roche
  • Pfizer picks a random and sends to the CDC.
  • The CDC signs by computing and sends it back to Pfizer
  • Pfizer keeps
  • Roche does the same with subscript 2

Each message is the formula for the cancer drugs.

Assuming these dialogues happened today (28 Mar. 2013), when trials are done, Pfizer (or Roche) can say: "I was first!" and prove it:

Proof. Pfizer observes

CRC evaluates

Now in order for this to work, the CDC must be honest

Hash Functions

For digital signatures to be practical, we need to sign digests of messages instead of messages because RSA and El Gamal run in cubic time, not linear time (i.e. slow).

How do we get a digest?

Simple idea: use first few hundred bits

However, this can lead to collisions if two messages start with the same thing.

Mathematically, we want a function

(maps bit strings of length to bit strings of length )

such that

  1. can be computed relatively quickly ()
  2. is pre-image resistant, i.e. given , finding with is very hard.
  3. is strongly collision-free: it is very hard to find and with [1]
Note: For with having no collisions, this is impossible!
Note: requirements 2 and 3 are for cryptographic hash functions. For computing programming hashes for use in hash tables, requirements 2 and 3 may be discarded

Example Hash Functions

    • (1 passes) easy to compute
    • (2 fails) given , it's easy to find with , namely .
    • (3 fails) take
    • (1 passes) easy
    • (2 passes) discrete log is hard
    • (3 passes) only if is a generator for
    • BUT range is still considerably big:


Digression: Transmitting Keys via RSA

Suppose you want to transmit a 56-bit (< 1017) DES key using RSA with having 200 bits (> 1060).

You would like your adversary to be forced to search through all possibilities if she tries to read your message.

However, using RSA naïvely enables Eve to find the 56-bit key after searching just 2E9 possibilities!

  1. Compute for
  2. Upon seeing your message , she computes for
  3. Now Eve looks for collisions by checking possibilities in total, BUT
  4. Thanks to the birthday paradox, Eve will find a collision with probability 2E9 checks!


The collisions work because , and so

Eve just found an encrypted key with relatively little work

What to do!?

Padding

Concatenate 72 random bits to the front and back of the key.

This still is not quite secure: Eve could figure out how the padding scheme works

OAEP-Padding Scheme

1994: Bellaire and Rogaway

Based on hash functions, but performs the inverse mapping.


Footnotes

  1. Sometimes, it's enough to have be weakly collision-free: given it is very hard to find with .