algorithmically random oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · rom: what is it good for?...

30
Margus Niitsoo Algorithmically Random Oracles

Upload: others

Post on 10-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Margus Niitsoo

Algorithmically Random Oracles

Page 2: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Outline● Random Oracle Model

● What is it?● What is it good for?

● Algorithmically Random Oracles● Kolmogorov Complexity● Deterministic one-way functions

● Isomorphism result

Page 3: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● You have an ID scheme:

● Alice has a secret sksk

Page 4: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● You have an ID scheme:

● Alice has a secret sk● Alice sends c to Bob

csk

Page 5: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● You have an ID scheme:

● Alice has a secret sk● Alice sends c to Bob● Bob sends r to Alice

c

r

sk

Page 6: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● You have an ID scheme:

● Alice has a secret sk● Alice sends c to Bob● Bob sends r to Alice● Alice sends a to Bob

c

r

a

sk

Page 7: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● You have an ID scheme:

● Alice has a secret sk● Alice sends c to Bob● Bob sends r to Alice● Alice sends a to Bob● Bob verifies f(pk,c,r,a) = 1

c

r

a

sk

Page 8: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● You have an ID scheme:

● Alice has a secret sk● Alice sends c to Bob● Bob sends r to Alice● Alice sends a to Bob● Bob verifies f(pk,c,r,a) = 1

● We want a Signature scheme!

r

sk

a

c

Page 9: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?

csk

● Signature Scheme● Alice has a secret sk● Alice generates c ?

Page 10: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?

c

r

sk● Signature Scheme

● Alice has a secret sk● Alice generates c● Computes r=h(d,c)

Page 11: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?

c

r

sk● Signature Scheme

● Alice has a secret sk● Alice generates c● Computes r=h(d,c)● Alice signs d: (a,r,c) a

(d,a,r,c)

Page 12: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?

c

r

sk● Signature Scheme

● Alice has a secret sk● Alice generates c● Computes r=h(d,c)● Alice signs d: (a,r,c)● Bob verifies f(pk,c,h(d,c),a) = 1

a(d,a,r,c)

Alice has good stuff

Page 13: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?

sk● Signature Scheme

● Alice has a secret sk● Alice generates c● Computes r=h(d,c)● Alice signs d: (a,r,c)● Bob verifies f(pk,c,h(d,c),a) = 1

● How good Hash do we need?(d,a,r,c)

c

r

a

Page 14: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● We need hash to...

● Work Fast - so we use SHA-2

Page 15: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● We need hash to...

● Work Fast - so we use SHA-2● One-way? Collision-resistant?

Page 16: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● We need hash to...

● Work Fast - so we use SHA-2● One-way? Collision-resistant?● Magic (Dwork 03)

Page 17: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● We need hash to...

● Work Fast - so we use SHA-2● One-way? Collision-resistant?● Magic (Dwork 03)● Ideally random

– Answers to queries are independent and

uniformly distributed

Page 18: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it?● We need h to be...

● Ideally random– Answers to queries are uniformly

distributed and independent

Page 19: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it?● We need h to be...

● Ideally random– Answers to queries are uniformly

distributed and independent

● Introducing a Random Oracle:

Page 20: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it?● We need h to be...

● Ideally random– Answers to queries are uniformly

distributed and independent

● Introducing a Random Oracle: ● h chosen uniformly from all h● Result holds in ROM

Pr{h}

[Result]= 1

Page 21: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: What is it good for?● Fiat-Shamir heuristic

● What we just described

● Simple proofs for strong security● Efficient CCA-2 cryptosystem (BR93)

● Also used in Oracle Separation● (Proving certain reductions impossible)

Page 22: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

ROM: Flipside?● Family of functions

● No secure instances (CGH99)● Certain things impossible (Nielsen 02)● “Oracle Extraction Step” (BJN 09)

Page 23: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Getting rid of Randomness● Literally “too good to be true”

● Most functions non-computable!– With Probability 1, to be precise

Page 24: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Getting rid of Randomness● Literally “too good to be true”

● Most functions non-computable!– With Probability 1, to be precise

● Hypothesis:Non-computability of h is enough● This is almost the case

Page 25: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Kolmogorov Complexity● Which is more complex?

● 01001101011100100010● 11111111111111111111

● Kolmogorov Complexity C(s) :Length of the shortest

program that outputs s

Page 26: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Algorithmic Randomness● s is c-random if C(s)>|s| - c

● An infinite sequence s is random if C(s

k)>s

k - c

s for all k

● Such sequences occur with Prob. 1

Page 27: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Alg. Rand. Oracle● Instead of choosing h randomly● Fix alg. random sequence

● Construct h based on that

● “Deterministic random functions”● Good one-way functions

– Proof: If there exists an inverter, we can find a shorter description

Page 28: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

AROM vs ROMTheorem:

A system is secure in ROM

iff

it is secure relative to every AROM

Page 29: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Applications● Philosophically interesting

● Secure fixed instantiations do exist!

● Kolmogorov-complexity based security proofs● May be conceptually simpler

● Avoid “oracle extraction” step ● Concise description of

the Measure 1 set

Page 30: Algorithmically Random Oracleshome.lu.lv/~df/tdays/niitsoo-slides.pdf · ROM: What is it good for? Fiat-Shamir heuristic What we just described Simple proofs for strong security Efficient

Thank you for listening!Questions? Comments?