introduction to provable securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · introduction...

204

Upload: others

Post on 12-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction to Provable Security

Bart Mennink

KU Leuven (Belgium)

IACR School on Design and Security ofCryptographic Algorithms and Devices

October 20, 2015

1 / 58

Page 2: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 3: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security

(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 4: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 5: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 6: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 7: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 8: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

What is Provable Security?

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

absolute security reductionist security(e.g., lower bound on thenumber of active S-boxes)

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

based on based oncrypto primitive math problem

←−−−−−−−−−−−−−−

←−−−−−

−−−−−−

−−−

keyed keyless

2 / 58

Page 9: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BCEven-Mansour←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 10: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BCEven-Mansour←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 11: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 12: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 13: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 14: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .Hash

HMAC−−−−−−−−−−−→

. .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 15: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 16: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 17: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 18: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 19: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 20: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BCEven-Mansour←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 21: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Introduction

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BCEven-Mansour←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

3 / 58

Keyed

Sponges

Page 22: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Constructions

4 / 58

Page 23: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher1 cipher

m cE

k

• Blockcipher: a family of permutations indexed by key

• Ek for secret k should behave like permutation π

5 / 58

Page 24: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher1 cipher

m cE

k

• Blockcipher: a family of permutations indexed by key

• Ek for secret k should behave like permutation π

5 / 58

Page 25: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher: (S)PRP Security9 indistsimpleEnoD

ICEk πkeyed blockcipher ideal permutation

• Two oracles: Ek (for secret random key k) and π

• Distinguisher D has query access to either Ek or π

• Forward query: m −→ Ek(m) or π(m)• Inverse query: c −→ E−1k (c) or π−1(c)

• D can also make �o�ine� evaluations of E

• D tries to determine which oracle it communicates with

6 / 58

Page 26: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher: (S)PRP Security3 indistsimpleE

ICEk π

distinguisher D

keyed blockcipher ideal permutation

• Two oracles: Ek (for secret random key k) and π

• Distinguisher D has query access to either Ek or π

• Forward query: m −→ Ek(m) or π(m)• Inverse query: c −→ E−1k (c) or π−1(c)

• D can also make �o�ine� evaluations of E

• D tries to determine which oracle it communicates with

6 / 58

Page 27: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher: (S)PRP Security3 indistsimpleE

ICEk π

distinguisher D

keyed blockcipher ideal permutation

• Two oracles: Ek (for secret random key k) and π

• Distinguisher D has query access to either Ek or π• Forward query: m −→ Ek(m) or π(m)• Inverse query: c −→ E−1k (c) or π−1(c)

• D can also make �o�ine� evaluations of E

• D tries to determine which oracle it communicates with

6 / 58

Page 28: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher: (S)PRP Security3 indistsimpleE

ICEk π

distinguisher D

keyed blockcipher ideal permutation

• Two oracles: Ek (for secret random key k) and π

• Distinguisher D has query access to either Ek or π• Forward query: m −→ Ek(m) or π(m)• Inverse query: c −→ E−1k (c) or π−1(c)

• D can also make �o�ine� evaluations of E

• D tries to determine which oracle it communicates with

6 / 58

Page 29: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher: (S)PRP Security3 indistsimpleE

ICEk π

distinguisher D

keyed blockcipher ideal permutation

• Two oracles: Ek (for secret random key k) and π

• Distinguisher D has query access to either Ek or π• Forward query: m −→ Ek(m) or π(m)• Inverse query: c −→ E−1k (c) or π−1(c)

• D can also make �o�ine� evaluations of E

• D tries to determine which oracle it communicates with

6 / 58

Page 30: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Blockcipher: (S)PRP Security3 indistsimpleE

ICEk π

distinguisher D

keyed blockcipher ideal permutation

De�nitionE is a (strong) pseudorandom permutation if

Adv(s)prpE (D) =

∣∣∣Pr[DE

(±)k = 1

]−Pr

[Dπ(±)

= 1]∣∣∣

is small. D is parametrized by: • Q online queries• T o�ine evaluations

7 / 58

Page 31: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Tweakable Blockcipher2 ciphertweakable

m

t

c

k

E

• Tweak: �exibility to the cipher

• Each key and tweak givesa di�erent permutation

• Ek for secret k should behavelike tweakable permutation π

De�nitionE is a (strong) tweakable pseudorandom permutation if

Adv(s)tprp

E(D) =

∣∣∣Pr[DE

(±)k = 1

]−Pr

[Dπ(±)

= 1]∣∣∣

is small. D is parametrized by: • Q online queries• T o�ine evaluations

8 / 58

Page 32: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Tweakable Blockcipher2 ciphertweakable

m

t

c

k

E

• Tweak: �exibility to the cipher

• Each key and tweak givesa di�erent permutation

• Ek for secret k should behavelike tweakable permutation π

De�nitionE is a (strong) tweakable pseudorandom permutation if

Adv(s)tprp

E(D) =

∣∣∣Pr[DE

(±)k = 1

]−Pr

[Dπ(±)

= 1]∣∣∣

is small. D is parametrized by: • Q online queries• T o�ine evaluations

8 / 58

Page 33: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Tweakable Blockcipher2 ciphertweakable

m

t

c

k

E

• Tweak: �exibility to the cipher

• Each key and tweak givesa di�erent permutation

• Ek for secret k should behavelike tweakable permutation π

De�nitionE is a (strong) tweakable pseudorandom permutation if

Adv(s)tprp

E(D) =

∣∣∣Pr[DE

(±)k = 1

]−Pr

[Dπ(±)

= 1]∣∣∣

is small. D is parametrized by: • Q online queries• T o�ine evaluations

8 / 58

Page 34: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed One-Way Function4 compfn

m cFk

• Keyed one-way function(could be compressing)

• Fk for secret k should behavelike random function $

De�nitionF is a pseudorandom function if

AdvprfF (D) =

∣∣∣Pr[DFk = 1

]−Pr

[D$ = 1

]∣∣∣is small. D is parametrized by: • Q online queries of length `

• T o�ine evaluations

9 / 58

Page 35: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed One-Way Function4 compfn

m cFk

• Keyed one-way function(could be compressing)

• Fk for secret k should behavelike random function $

De�nitionF is a pseudorandom function if

AdvprfF (D) =

∣∣∣Pr[DFk = 1

]−Pr

[D$ = 1

]∣∣∣is small. D is parametrized by: • Q online queries of length `

• T o�ine evaluations

9 / 58

Page 36: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed One-Way Function4 compfn

m cFk

• Keyed one-way function(could be compressing)

• Fk for secret k should behavelike random function $

De�nitionF is a pseudorandom function if

AdvprfF (D) =

∣∣∣Pr[DFk = 1

]−Pr

[D$ = 1

]∣∣∣is small. D is parametrized by: • Q online queries of length `

• T o�ine evaluations

9 / 58

Page 37: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability

Generalization: Indistinguishability of Random Systems2 indistsimpleO

IC

construction

O P

distinguisher D

Advind(D) =∣∣Pr

[DO = 1

]−Pr

[DP = 1

]∣∣ = ∆D(O ; P)

How to Prove that Advind(D) is Small?

• Game-playing technique

• H-coe�cient technique

10 / 58

Page 38: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability

Generalization: Indistinguishability of Random Systems2 indistsimpleO

IC

construction

O P

distinguisher D

Advind(D) =∣∣Pr

[DO = 1

]−Pr

[DP = 1

]∣∣ = ∆D(O ; P)

How to Prove that Advind(D) is Small?

• Game-playing technique

• H-coe�cient technique

10 / 58

Page 39: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability

Generalization: Indistinguishability of Random Systems2 indistsimpleO

IC

construction

O P

distinguisher D

Advind(D) =∣∣Pr

[DO = 1

]−Pr

[DP = 1

]∣∣ = ∆D(O ; P)

How to Prove that Advind(D) is Small?

• Game-playing technique

• H-coe�cient technique

10 / 58

Page 40: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

• Bellare and Rogaway [BR06]

• Similar to Maurer's methodology [Mau02]

2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• From O to P in small steps

• Intermediate steps (presumably) easy to analyze

11 / 58

Page 41: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

• Bellare and Rogaway [BR06]

• Similar to Maurer's methodology [Mau02]

2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• From O to P in small steps

• Intermediate steps (presumably) easy to analyze

11 / 58

Page 42: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

• Bellare and Rogaway [BR06]

• Similar to Maurer's methodology [Mau02]

2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• From O to P in small steps

• Intermediate steps (presumably) easy to analyze

11 / 58

Page 43: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

• Bellare and Rogaway [BR06]

• Similar to Maurer's methodology [Mau02]

2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• From O to P in small steps• Intermediate steps (presumably) easy to analyze

11 / 58

Page 44: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

Triangle Inequality

∆(O;P) ≤ ∆(O;R) + ∆(R;P)

Fundamental Lemma

If O and P are identical until bad, then:

∆(O;P) ≤ Pr [P sets bad]

12 / 58

Page 45: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

Triangle Inequality

∆(O;P) ≤ ∆(O;R) + ∆(R;P)

Fundamental Lemma

If O and P are identical until bad, then:

∆(O;P) ≤ Pr [P sets bad]

12 / 58

Page 46: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Game-Playing Technique

Triangle Inequality

∆(O;P) ≤ ∆(O;R) + ∆(R;P)

Fundamental LemmaIf O and P are identical until bad, then:

∆(O;P) ≤ Pr [P sets bad]

12 / 58

Page 47: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (1/4)7 indistsimpleSwitch

ICFk = Ek $

distinguisher D

keyed blockcipher random function

TheoremFor any distinguisher D making Q queries to Ek/$ and To�ine evaluations

∆D(Ek; $) ≤ AdvprpE (D) +

(Q2

)2n

13 / 58

Page 48: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (2/4)

Step 1. �Replace� Ek by Random Permutation π

• Triangle inequality:

∆D(Ek; $)

≤ ∆D(Ek;π) + ∆D(π; $)

• ∆D(Ek;π) = AdvprpE (D) by de�nition

• ∆D(π; $)• D is parametrized by Q queries to π/$

14 / 58

Page 49: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (2/4)

Step 1. �Replace� Ek by Random Permutation π

• Triangle inequality:

∆D(Ek; $)

≤ ∆D(Ek;π) + ∆D(π; $)

• ∆D(Ek;π) = AdvprpE (D) by de�nition

• ∆D(π; $)• D is parametrized by Q queries to π/$

14 / 58

Page 50: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (2/4)

Step 1. �Replace� Ek by Random Permutation π

• Triangle inequality:

∆D(Ek; $) ≤ ∆D(Ek;π) + ∆D(π; $)

• ∆D(Ek;π) = AdvprpE (D) by de�nition

• ∆D(π; $)• D is parametrized by Q queries to π/$

14 / 58

Page 51: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (2/4)

Step 1. �Replace� Ek by Random Permutation π

• Triangle inequality:

∆D(Ek; $) ≤ ∆D(Ek;π) + ∆D(π; $)

• ∆D(Ek;π) = AdvprpE (D) by de�nition

• ∆D(π; $)• D is parametrized by Q queries to π/$

14 / 58

Page 52: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (2/4)

Step 1. �Replace� Ek by Random Permutation π

• Triangle inequality:

∆D(Ek; $) ≤ ∆D(Ek;π) + ∆D(π; $)

• ∆D(Ek;π) = AdvprpE (D) by de�nition

• ∆D(π; $)• D is parametrized by Q queries to π/$

14 / 58

Page 53: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (3/4)

Step 2. Random Permutation to Random Function

• Consider lazily sampled π and $• Initially empty list of responses L• Randomly generated response for every new query

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

15 / 58

Page 54: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (3/4)

Step 2. Random Permutation to Random Function

• Consider lazily sampled π and $• Initially empty list of responses L• Randomly generated response for every new query

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

15 / 58

Page 55: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (3/4)

Step 2. Random Permutation to Random Function

• Consider lazily sampled π and $• Initially empty list of responses L• Randomly generated response for every new query

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

15 / 58

Page 56: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (3/4)

Step 2. Random Permutation to Random Function

• Consider lazily sampled π and $• Initially empty list of responses L• Randomly generated response for every new query

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

15 / 58

Page 57: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (4/4)

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

identical identical until bad

• Triangle inequality:

∆D(π; $)

≤ ∆D(π;π′) + ∆D(π′; $)

≤ 0 +

Pr [π′ sets bad]

≤ (Q2)2n

16 / 58

Page 58: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (4/4)

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

identical identical until bad

• Triangle inequality:

∆D(π; $) ≤ ∆D(π;π′) + ∆D(π′; $)

≤ 0 +

Pr [π′ sets bad]

≤ (Q2)2n

16 / 58

Page 59: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (4/4)

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

identical

identical until bad

• Triangle inequality:

∆D(π; $) ≤ ∆D(π;π′) + ∆D(π′; $)

≤ 0 +

Pr [π′ sets bad] ≤ (Q2)2n

16 / 58

Page 60: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (4/4)

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

identical identical until bad

• Triangle inequality:

∆D(π; $) ≤ ∆D(π;π′) + ∆D(π′; $)

≤ 0 + Pr [π′ sets bad]

≤ (Q2)2n

16 / 58

Page 61: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: PRP-PRF Switch (4/4)

Oracle π

y$←− {0, 1}n\L

L ∪←− yreturn y

Oracle π′

y$←− {0, 1}n

if y ∈ Ly

$←− {0, 1}n\Lbad

L ∪←− yreturn y

Oracle $

y$←− {0, 1}n

return y

identical identical until bad

• Triangle inequality:

∆D(π; $) ≤ ∆D(π;π′) + ∆D(π′; $)

≤ 0 + Pr [π′ sets bad] ≤ (Q2)2n

16 / 58

Page 62: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• Patarin [Pat91,Pat08]

• Popularized by Chen and Steinberger [CS14]

• Similar to �Strong Interpolation Technique� [Ber05]

2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• Each conversation de�nes a transcript τ

• O ≈ P for most of the transcripts• Remaining transcripts occur with small probability

17 / 58

Page 63: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• Patarin [Pat91,Pat08]

• Popularized by Chen and Steinberger [CS14]

• Similar to �Strong Interpolation Technique� [Ber05]2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• Each conversation de�nes a transcript τ

• O ≈ P for most of the transcripts• Remaining transcripts occur with small probability

17 / 58

Page 64: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• Patarin [Pat91,Pat08]

• Popularized by Chen and Steinberger [CS14]

• Similar to �Strong Interpolation Technique� [Ber05]2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• Each conversation de�nes a transcript τ

• O ≈ P for most of the transcripts• Remaining transcripts occur with small probability

17 / 58

Page 65: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• Patarin [Pat91,Pat08]

• Popularized by Chen and Steinberger [CS14]

• Similar to �Strong Interpolation Technique� [Ber05]2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• Each conversation de�nes a transcript τ• O ≈ P for most of the transcripts

• Remaining transcripts occur with small probability

17 / 58

Page 66: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• Patarin [Pat91,Pat08]

• Popularized by Chen and Steinberger [CS14]

• Similar to �Strong Interpolation Technique� [Ber05]2 indistsimpleO

IC

construction

O P

distinguisher D

• Basic idea:• Each conversation de�nes a transcript τ• O ≈ P for most of the transcripts• Remaining transcripts occur with small probability

17 / 58

Page 67: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• D is computationally unbounded and deterministic

• Each conversation de�nes a transcript τ

• Consider good and bad transcripts

LemmaLet ε > 0 be such that for all good transcripts τ :

Pr [O gives τ ]

Pr [P gives τ ]≥ 1− ε

Then, ∆D(O;P ) ≤ ε+ Pr [bad transcript for P]

Trade-o�: de�ne bad transcripts smartly!

18 / 58

Page 68: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• D is computationally unbounded and deterministic

• Each conversation de�nes a transcript τ

• Consider good and bad transcripts

LemmaLet ε > 0 be such that for all good transcripts τ :

Pr [O gives τ ]

Pr [P gives τ ]≥ 1− ε

Then, ∆D(O;P ) ≤ ε+ Pr [bad transcript for P]

Trade-o�: de�ne bad transcripts smartly!

18 / 58

Page 69: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• D is computationally unbounded and deterministic

• Each conversation de�nes a transcript τ

• Consider good and bad transcripts

LemmaLet ε > 0 be such that for all good transcripts τ :

Pr [O gives τ ]

Pr [P gives τ ]≥ 1− ε

Then, ∆D(O;P ) ≤ ε+ Pr [bad transcript for P]

Trade-o�: de�ne bad transcripts smartly!

18 / 58

Page 70: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

H-Coe�cient Technique

• D is computationally unbounded and deterministic

• Each conversation de�nes a transcript τ

• Consider good and bad transcripts

LemmaLet ε > 0 be such that for all good transcripts τ :

Pr [O gives τ ]

Pr [P gives τ ]≥ 1− ε

Then, ∆D(O;P ) ≤ ε+ Pr [bad transcript for P]

Trade-o�: de�ne bad transcripts smartly!

18 / 58

Page 71: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (1/10)

1 EM

m c

k k

P

Ek(m) = P (m⊕ k)⊕ k

19 / 58

Page 72: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (2/10)1 p-indistEM1

IC

PSfrag

E±k π±

distinguisher D

Slightly Di�erent Security Model

• Underlying permutation

randomized

• Information-theoretic distinguisher D• Q construction queries• T o�ine evaluations ≈ T primitive queries

• Unbounded computational power

20 / 58

Page 73: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (2/10)2 p-indistEM2

IC

PSfrag

E±k P± π±

distinguisher D

Slightly Di�erent Security Model

• Underlying permutation

randomized

• Information-theoretic distinguisher D• Q construction queries• T o�ine evaluations ≈ T primitive queries

• Unbounded computational power

20 / 58

Page 74: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (2/10)3 p-indistEM3

IC

PSfrag

E±k P± π± P±

distinguisher D

Slightly Di�erent Security Model

• Underlying permutation randomized

• Information-theoretic distinguisher D• Q construction queries• T o�ine evaluations ≈ T primitive queries

• Unbounded computational power

20 / 58

Page 75: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (2/10)3 p-indistEM3

IC

PSfrag

E±k P± π± P±

distinguisher D

Slightly Di�erent Security Model

• Underlying permutation randomized

• Information-theoretic distinguisher D• Q construction queries• T o�ine evaluations ≈ T primitive queries• Unbounded computational power

20 / 58

Page 76: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (3/10)3 p-indistEM3

IC

PSfrag

E±k P± π± P±

distinguisher D

Slightly Di�erent Security Model

• Without loss of generality, D is deterministic• No random choices

• Reason: at the end we maximize over all distinguishers

21 / 58

Page 77: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (3/10)3 p-indistEM3

IC

PSfrag

E±k P± π± P±

distinguisher D

Slightly Di�erent Security Model

• Without loss of generality, D is deterministic• No random choices

• Reason: at the end we maximize over all distinguishers

21 / 58

Page 78: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (4/10)3 p-indistEM3

IC

PSfrag

E±k P± π± P±

distinguisher D

TheoremFor any deterministic distinguisher D making Q queries toEk/$ and T primitive queries

AdvsprpE (D) = ∆D(E±k , P

±;π±, P±) ≤ 2QT

2n

22 / 58

Page 79: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (5/10)

Step 1. De�ne how transcripts look like

Step 2. De�ne good and bad transcripts

Step 3. Upper bound Pr [bad transcript for (π±, P±)]

Step 4. Lower boundPr[(E±k ,P

±) gives τ ]Pr[(π±,P±) gives τ ]

≥ 1− ε (∀ good τ)

23 / 58

Page 80: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (6/10)

1. De�ne how transcripts look like

• Construction queries:

τE = {(m1, c1), . . . , (mQ, cQ)}

• Primitive queries:

τP = {(x1, y1), . . . , (xT , yT )}

• Unordered lists (ordering not needed in current proof)

• 1-to-1 correspondence between any D and any (τE , τP )

• Bonus information!• After interaction of D with oracles: reveal the key

• Real world (E±k , P±): key used for encryption

• Ideal world (π±, P±): dummy key k$←− {0, 1}n

24 / 58

Page 81: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (6/10)

1. De�ne how transcripts look like

• Construction queries:

τE = {(m1, c1), . . . , (mQ, cQ)}

• Primitive queries:

τP = {(x1, y1), . . . , (xT , yT )}

• Unordered lists (ordering not needed in current proof)

• 1-to-1 correspondence between any D and any (τE , τP )

• Bonus information!• After interaction of D with oracles: reveal the key

• Real world (E±k , P±): key used for encryption

• Ideal world (π±, P±): dummy key k$←− {0, 1}n

24 / 58

Page 82: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (6/10)

1. De�ne how transcripts look like

• Construction queries:

τE = {(m1, c1), . . . , (mQ, cQ)}

• Primitive queries:

τP = {(x1, y1), . . . , (xT , yT )}

• Unordered lists (ordering not needed in current proof)

• 1-to-1 correspondence between any D and any (τE , τP )

• Bonus information!• After interaction of D with oracles: reveal the key

• Real world (E±k , P±): key used for encryption

• Ideal world (π±, P±): dummy key k$←− {0, 1}n

24 / 58

Page 83: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (6/10)

1. De�ne how transcripts look like

• Construction queries:

τE = {(m1, c1), . . . , (mQ, cQ)}

• Primitive queries:

τP = {(x1, y1), . . . , (xT , yT )}

• Unordered lists (ordering not needed in current proof)

• 1-to-1 correspondence between any D and any (τE , τP )

• Bonus information!• After interaction of D with oracles: reveal the key

• Real world (E±k , P±): key used for encryption

• Ideal world (π±, P±): dummy key k$←− {0, 1}n

24 / 58

Page 84: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (6/10)

1. De�ne how transcripts look like

• Construction queries:

τE = {(m1, c1), . . . , (mQ, cQ)}

• Primitive queries:

τP = {(x1, y1), . . . , (xT , yT )}

• Unordered lists (ordering not needed in current proof)

• 1-to-1 correspondence between any D and any (τE , τP )

• Bonus information!• After interaction of D with oracles: reveal the key

• Real world (E±k , P±): key used for encryption

• Ideal world (π±, P±): dummy key k$←− {0, 1}n

24 / 58

Page 85: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (7/10)1 EM

m c

k k

P

2. De�ne good and bad transcripts

• Intuition:

• (m, c) ∈ τE �de�nes� P -query (m⊕ k, c⊕ k)

• Should not collide with any (x, y) ∈ τP• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

• Note: no internal collisions in τE and τP

25 / 58

Page 86: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (7/10)1 EM

m c

k k

P

2. De�ne good and bad transcripts

• Intuition:• (m, c) ∈ τE �de�nes� P -query (m⊕ k, c⊕ k)

• Should not collide with any (x, y) ∈ τP• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

• Note: no internal collisions in τE and τP

25 / 58

Page 87: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (7/10)1 EM

m c

k k

P

2. De�ne good and bad transcripts

• Intuition:• (m, c) ∈ τE �de�nes� P -query (m⊕ k, c⊕ k)

• Should not collide with any (x, y) ∈ τP

• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

• Note: no internal collisions in τE and τP

25 / 58

Page 88: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (7/10)1 EM

m c

k k

P

2. De�ne good and bad transcripts

• Intuition:• (m, c) ∈ τE �de�nes� P -query (m⊕ k, c⊕ k)

• Should not collide with any (x, y) ∈ τP• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

• Note: no internal collisions in τE and τP

25 / 58

Page 89: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (7/10)1 EM

m c

k k

P

2. De�ne good and bad transcripts

• Intuition:• (m, c) ∈ τE �de�nes� P -query (m⊕ k, c⊕ k)

• Should not collide with any (x, y) ∈ τP• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

• Note: no internal collisions in τE and τP

25 / 58

Page 90: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (8/10)

3. Upper bound Pr[bad transcript for (π±, P±)

]• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

⇐⇒

k ∈ {m⊕ x, c⊕ y | (m, c) ∈ τE , (x, y) ∈ τP }︸ ︷︷ ︸of size ≤ 2QT−→

independently generated n-bit dummy key

Pr[bad transcript for (π±, P±)

]≤ 2QT

2n

26 / 58

Page 91: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (8/10)

3. Upper bound Pr[bad transcript for (π±, P±)

]• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

⇐⇒

k ∈ {m⊕ x, c⊕ y | (m, c) ∈ τE , (x, y) ∈ τP }

︸ ︷︷ ︸of size ≤ 2QT−→

independently generated n-bit dummy key

Pr[bad transcript for (π±, P±)

]≤ 2QT

2n

26 / 58

Page 92: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (8/10)

3. Upper bound Pr[bad transcript for (π±, P±)

]• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

⇐⇒

k ∈ {m⊕ x, c⊕ y | (m, c) ∈ τE , (x, y) ∈ τP }︸ ︷︷ ︸of size ≤ 2QT

−→

independently generated n-bit dummy key

Pr[bad transcript for (π±, P±)

]≤ 2QT

2n

26 / 58

Page 93: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (8/10)

3. Upper bound Pr[bad transcript for (π±, P±)

]• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

⇐⇒

k ∈ {m⊕ x, c⊕ y | (m, c) ∈ τE , (x, y) ∈ τP }︸ ︷︷ ︸of size ≤ 2QT−→

independently generated n-bit dummy key

Pr[bad transcript for (π±, P±)

]≤ 2QT

2n

26 / 58

Page 94: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (8/10)

3. Upper bound Pr[bad transcript for (π±, P±)

]• Transcript τ = (τE , τP , k) is bad if

∃(m, c) ∈ τE , (x, y) ∈ τP such that m⊕ k = x or c⊕ k = y

⇐⇒

k ∈ {m⊕ x, c⊕ y | (m, c) ∈ τE , (x, y) ∈ τP }︸ ︷︷ ︸of size ≤ 2QT−→

independently generated n-bit dummy key

Pr[bad transcript for (π±, P±)

]≤ 2QT

2n

26 / 58

Page 95: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (9/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Counting �compatible� oracles (modulo details):

Pr [O gives τ ] =

∣∣oracles O that could give τ∣∣∣∣oracles O∣∣

• For real world (E±k , P±):

Pr[(E±k , P

±) gives τ]

=

(2n −Q− T )!

2n · 2n!

• For ideal world (π±, P±):

Pr[(π±, P±) gives τ

]=

(2n −Q)!(2n − T )!

2n · (2n!)2

27 / 58

Page 96: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (9/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Counting �compatible� oracles (modulo details):

Pr [O gives τ ] =

∣∣oracles O that could give τ∣∣∣∣oracles O∣∣

• For real world (E±k , P±):

Pr[(E±k , P

±) gives τ]

=

(2n −Q− T )!

2n · 2n!

• For ideal world (π±, P±):

Pr[(π±, P±) gives τ

]=

(2n −Q)!(2n − T )!

2n · (2n!)2

27 / 58

Page 97: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (9/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Counting �compatible� oracles (modulo details):

Pr [O gives τ ] =

∣∣oracles O that could give τ∣∣∣∣oracles O∣∣

• For real world (E±k , P±):

Pr[(E±k , P

±) gives τ]

=

(2n −Q− T )!

2n · 2n!

• For ideal world (π±, P±):

Pr[(π±, P±) gives τ

]=

(2n −Q)!(2n − T )!

2n · (2n!)2

27 / 58

Page 98: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (9/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Counting �compatible� oracles (modulo details):

Pr [O gives τ ] =

∣∣oracles O that could give τ∣∣∣∣oracles O∣∣

• For real world (E±k , P±):

Pr[(E±k , P

±) gives τ]

=

(2n −Q− T )!

2n · 2n!

• For ideal world (π±, P±):

Pr[(π±, P±) gives τ

]=

(2n −Q)!(2n − T )!

2n · (2n!)2

27 / 58

Page 99: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (9/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Counting �compatible� oracles (modulo details):

Pr [O gives τ ] =

∣∣oracles O that could give τ∣∣∣∣oracles O∣∣

• For real world (E±k , P±):

Pr[(E±k , P

±) gives τ]

=(2n −Q− T )!

2n · 2n!

• For ideal world (π±, P±):

Pr[(π±, P±) gives τ

]=

(2n −Q)!(2n − T )!

2n · (2n!)2

27 / 58

Page 100: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (9/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Counting �compatible� oracles (modulo details):

Pr [O gives τ ] =

∣∣oracles O that could give τ∣∣∣∣oracles O∣∣

• For real world (E±k , P±):

Pr[(E±k , P

±) gives τ]

=(2n −Q− T )!

2n · 2n!

• For ideal world (π±, P±):

Pr[(π±, P±) gives τ

]=

(2n −Q)!(2n − T )!

2n · (2n!)2

27 / 58

Page 101: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (10/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Putting things together:

Pr[(E±k , P

±) gives τ]

Pr[(π±, P±) gives τ

] =(2n−Q−T )!

2n·2n!(2n−Q)!(2n−T )!

2n·(2n!)2

=(2n −Q− T )!2n!

(2n −Q)!(2n − T )!

≥ 1

• We put ε = 0

• Conclusion:

AdvsprpE (D) = ∆D(E±k , P

±;π±, P±) ≤ 2QT

2n+ 0

28 / 58

Page 102: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (10/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Putting things together:

Pr[(E±k , P

±) gives τ]

Pr[(π±, P±) gives τ

] =(2n−Q−T )!

2n·2n!(2n−Q)!(2n−T )!

2n·(2n!)2

=(2n −Q− T )!2n!

(2n −Q)!(2n − T )!

≥ 1

• We put ε = 0

• Conclusion:

AdvsprpE (D) = ∆D(E±k , P

±;π±, P±) ≤ 2QT

2n+ 0

28 / 58

Page 103: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (10/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Putting things together:

Pr[(E±k , P

±) gives τ]

Pr[(π±, P±) gives τ

] =(2n−Q−T )!

2n·2n!(2n−Q)!(2n−T )!

2n·(2n!)2

=(2n −Q− T )!2n!

(2n −Q)!(2n − T )!

≥ 1

• We put ε = 0

• Conclusion:

AdvsprpE (D) = ∆D(E±k , P

±;π±, P±) ≤ 2QT

2n+ 0

28 / 58

Page 104: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: Even-Mansour (10/10)

4. Lower boundPr

[(E

±k ,P

±) gives τ]

Pr[(π

±,P±) gives τ

] ≥ 1− ε (∀ good τ )

• Putting things together:

Pr[(E±k , P

±) gives τ]

Pr[(π±, P±) gives τ

] =(2n−Q−T )!

2n·2n!(2n−Q)!(2n−T )!

2n·(2n!)2

=(2n −Q− T )!2n!

(2n −Q)!(2n − T )!

≥ 1

• We put ε = 0

• Conclusion:

AdvsprpE (D) = ∆D(E±k , P

±;π±, P±) ≤ 2QT

2n+ 0

28 / 58

Page 105: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Authenticated Encryption

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−

OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein

←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour

←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

29 / 58

Page 106: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Authenticated Encryption

. .HashHMAC−−−−−−−−−−−→

. .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−

OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein

←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC

Even-Mansour

←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

29 / 58

Page 107: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Authenticated Encryption5 AE

m

n, a

c, tAE

k

• Con�dentiality: c should always look random

• Authenticity: t is �hard to forge�

• (AEk,ADk) for secret k should behave like ($,⊥)

30 / 58

Page 108: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyed Authenticated Encryption: AE Security6 indistsimpleAE

ICAE k,ADk $,⊥

distinguisher D

keyed AE scheme random cipher, ⊥ function

De�nition(AE ,AD) is a secure authenticated encryption scheme if1

AdvaeAE (D) =

∣∣∣Pr[DAEk,ADk = 1

]−Pr

[D$,⊥ = 1

]∣∣∣is small. D is parametrized by: • Q online queries of length `

(nonce-respecting/misusing)• T o�ine evaluations

31 / 581 Also known as CCA3 security

Page 109: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (1/2)2 OCBgen

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

EN,A1

k EN,A2

k EN,Aa

k EN,M⊕k EN,M1

k EN,M2

k EN,Md

k

• Generalized OCB by Rogaway et al. [RBBK01,Rog04,KR11]

• Internally based on tweakable blockcipher E• Tweak (N, tweak) is unique for every evaluation

• Triangle inequality:

∆D(AE

Ek

k ,AD

Ek

k ; $,⊥)

≤ ∆D(AE π,AD π; $,⊥) + ∆D′(E±k ; π±)

32 / 58

STPRP security of E −→

Page 110: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (1/2)3 OCBgenalert

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

EN,A1

k EN,A2

k EN,Aa

k EN,M⊕k EN,M1

k EN,M2

k EN,Md

k

• Generalized OCB by Rogaway et al. [RBBK01,Rog04,KR11]

• Internally based on tweakable blockcipher E• Tweak (N, tweak) is unique for every evaluation

• Triangle inequality:

∆D(AE Ekk ,AD Ek

k ; $,⊥)

≤ ∆D(AE π,AD π; $,⊥) + ∆D′(E±k ; π±)

32 / 58

STPRP security of E −→

Page 111: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (1/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Generalized OCB by Rogaway et al. [RBBK01,Rog04,KR11]

• Internally based on tweakable blockcipher E• Tweak (N, tweak) is unique for every evaluation

• Triangle inequality:

∆D(AE Ekk ,AD Ek

k ; $,⊥) ≤ ∆D(AE π,AD π; $,⊥) + ∆D′(E±k ; π±)

32 / 58

STPRP security of E −→

Page 112: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (1/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Generalized OCB by Rogaway et al. [RBBK01,Rog04,KR11]

• Internally based on tweakable blockcipher E• Tweak (N, tweak) is unique for every evaluation

• Triangle inequality:

∆D(AE Ekk ,AD Ek

k ; $,⊥) ≤ ∆D(AE π,AD π; $,⊥) + ∆D′(E±k ; π±)

32 / 58

STPRP security of E −→

Page 113: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (2/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Nonce uniqueness ⇒ tweak uniqueness

• Encryption calls behave like random functions: AE π = $

• Authentication behaves like random function

• Tag forged with probability at most 1/(2n − 1)

∆D(AE π,AD π; $,⊥)

≤ 1/(2n − 1)

33 / 58

Page 114: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (2/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Nonce uniqueness ⇒ tweak uniqueness

• Encryption calls behave like random functions: AE π = $

• Authentication behaves like random function

• Tag forged with probability at most 1/(2n − 1)

∆D(AE π,AD π; $,⊥)

≤ 1/(2n − 1)

33 / 58

Page 115: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (2/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Nonce uniqueness ⇒ tweak uniqueness

• Encryption calls behave like random functions: AE π = $

• Authentication behaves like random function

• Tag forged with probability at most 1/(2n − 1)

∆D(AE π,AD π; $,⊥)

≤ 1/(2n − 1)

33 / 58

Page 116: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (2/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Nonce uniqueness ⇒ tweak uniqueness

• Encryption calls behave like random functions: AE π = $

• Authentication behaves like random function

• Tag forged with probability at most 1/(2n − 1)

∆D(AE π,AD π; $,⊥)

≤ 1/(2n − 1)

33 / 58

Page 117: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (2/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Nonce uniqueness ⇒ tweak uniqueness

• Encryption calls behave like random functions: AE π = $

• Authentication behaves like random function• Tag forged with probability at most 1/(2n − 1)

∆D(AE π,AD π; $,⊥)

≤ 1/(2n − 1)

33 / 58

Page 118: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Example: OCBx (2/2)4 OCBgenalertpi

A1 A2 Aa M1 M2 Md⊕Mi

C1 C2 Cd

T

πN,A1 πN,A2 πN,Aa πN,M⊕ πN,M1 πN,M2 πN,Md

• Nonce uniqueness ⇒ tweak uniqueness

• Encryption calls behave like random functions: AE π = $

• Authentication behaves like random function• Tag forged with probability at most 1/(2n − 1)

∆D(AE π,AD π; $,⊥) ≤ 1/(2n − 1)

33 / 58

Page 119: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Tomorrow's Talk

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BC . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

34 / 58

Page 120: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Keyless Constructions

35 / 58

Page 121: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Hash Functions

H 011 . . . 01n∗

36 / 58

Page 122: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Hash Functions: Classical Security Requirements

gCollisiong1 col

H

HM

M ′

h

Find M 6= M ′

Application:

p2012 Flame virusp

Preimage2 pre

HM

h

Given h, �nd M

Application:

passphrase protection

Second Preimage3 sec

H

HM

M ′

h

Given M , �nd M ′ 6= M

Application:

data integrity

37 / 58

Page 123: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Hash Functions from Compression Functions

1 MDp

M1 Mk len(M)

ivh1 hk–1 hk

h

m

n nF FF · · ·

· · ·

Merkle-Damgård with Strengthening

• Damgård [Dam89] and Merkle [Mer89]

• Consecutive evaluation of compression function F

• Length encoding at the end

38 / 58

Page 124: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Hash Functions from Compression Functions

1 MDp

M1 Mk len(M)

ivh1 hk–1 hk

h

m

n nF FF · · ·

· · ·

Security of Merkle-Damgård

• H and F have same security models

• Ideally, we want:

F is col/sec/pre secure =⇒ H is col/sec/pre secure

39 / 58

Page 125: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Hash Functions from Compression Functions

1 MDp

M1 Mk len(M)

ivh1 hk–1 hk

h

m

n nF FF · · ·

· · ·

Security of Merkle-Damgård

• H and F have same security models

• Ideally, we want:

F is col/sec/pre secure =⇒ H is col/sec/pre secure

39 / 58

Page 126: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)3 MDproof0·

M1 Mk len(M)

iv

iv

h1 hk–1 hk

M ′1 M ′

k′ len(M ′)

h′1 h′

k′–1 h′k′

h

h

m

m

n n

n n

F FF

F FF

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))

• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else,

F (hk−1,Mk) = F (h′k−1,M′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 127: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)4 MDproof0coll

M1 Mk len(M)

iv

iv

h1 hk–1 hk

M ′1 M ′

k′ len(M ′)

h′1 h′

k′–1 h′k′

h

h

m

m

n

n

n

n

FF

FF

F

F

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))

• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else,

F (hk−1,Mk) = F (h′k−1,M′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 128: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)4 MDproof0coll

M1 Mk len(M)

iv

iv

h1 hk–1 hk

M ′1 M ′

k′ len(M ′)

h′1 h′

k′–1 h′k′

h

h

m

m

n

n

n

n

FF

FF

F

F

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision

• Else,

F (hk−1,Mk) = F (h′k−1,M′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 129: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)5 MDproof1a

n

n

F

F

·

M1 Mk len(M)

iv

iv

h1 hk–1 hk

M ′1 M ′

k′ len(M ′) = len(M)

h′1 h′

k′–1 h′k′=hk

h

h

m

m

n

n

FF

FF

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else,

F (hk−1,Mk) = F (h′k−1,M′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 130: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)6 MDproof1b

n

n

F

F

·

M1 Mk len(M)

iv

iv

h1 hk–1 hk

M ′1 M ′

k len(M ′) = len(M)

h′1 h′

k–1 hk

h

h

m

m

n

n

FF

FF

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else,

F (hk−1,Mk) = F (h′k−1,M′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 131: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)7 MDproof2·

M1 Mk

iv

iv

h1 hk–1 hk

M ′1 M ′

k

h′1 h′

k–1 hk

m

m

n

n

FF

FF

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else,

F (hk−1,Mk) = F (h′k−1,M′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 132: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)8 MDproof2coll

F

F

·

M1 Mk

iv

iv

h1 hk–1 hk

M ′1 M ′

k

h′1 h′

k–1 hk

m

m

n

n

F

F

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else, F (hk−1,Mk) = F (h′k−1,M

′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 133: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)9 MDproof3·

M1

iv

iv

h1 hk–1

M ′1

h′1 hk–1

m

m

n

n

F

F

· · ·

· · ·

· · ·

· · ·

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else, F (hk−1,Mk) = F (h′k−1,M

′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 134: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)10 MDproof4coll

F

F

·

M1

iv

ivh1

M ′1

h1

m

m

n

n

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else, F (hk−1,Mk) = F (h′k−1,M

′k)

• · · ·

• We can �nd F -collision

40 / 58

Page 135: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Collision Security of Merkle-Damgård

• Suppose we are given a collision H(M) = H(M ′)10 MDproof4coll

F

F

·

M1

iv

ivh1

M ′1

h1

m

m

n

n

• Then, F (hk, len(M)) = F (h′k′ , len(M ′))• If (hk, len(M)) 6= (h′k′ , len(M ′)): this is an F -collision• Else, F (hk−1,Mk) = F (h′k−1,M

′k)

• · · ·

• We can �nd F -collision40 / 58

Page 136: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Preimage Security of Merkle-Damgård

• Let h be any range value

• Suppose we are given a preimage H(M) = h1 MDp

M1 Mk len(M)

ivh1 hk–1 hk

h

m

n nF FF · · ·

· · ·

• Then, F (hk, len(M)) = h

• We can �nd F -preimage for h

41 / 58

Page 137: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Preimage Security of Merkle-Damgård

• Let h be any range value

• Suppose we are given a preimage H(M) = h2 MDpre

M1 Mk len(M)

ivh1 hk–1 hk

h

m

n nFF F· · ·

· · ·

• Then, F (hk, len(M)) = h

• We can �nd F -preimage for h

41 / 58

Page 138: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Preimage Security of Merkle-Damgård

• Let h be any range value

• Suppose we are given a preimage H(M) = h2 MDpre

M1 Mk len(M)

ivh1 hk–1 hk

h

m

n nFF F· · ·

· · ·

• Then, F (hk, len(M)) = h

• We can �nd F -preimage for h

41 / 58

Page 139: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Second Preimage Security of Merkle-Damgård

• Second preimage for H: easier than for F

• Kelsey and Schneier [KS05]

• Assume F is an ideal function• Let M be any preimage for H (forget about len(M))• Second preimage attack complexity ≈ 2n/k• Work-around trick if len(M) is included

42 / 58

Page 140: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Second Preimage Security of Merkle-Damgård

• Second preimage for H: easier than for F

• Kelsey and Schneier [KS05]

• Assume F is an ideal function• Let M be any preimage for H (forget about len(M))

• Second preimage attack complexity ≈ 2n/k• Work-around trick if len(M) is included

11 MDpsec1k

M1 Mk−1 Mk

ivh1 hk–2 hk–1

h

m

n nF FF · · ·

· · ·

42 / 58

Page 141: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Second Preimage Security of Merkle-Damgård

• Second preimage for H: easier than for F

• Kelsey and Schneier [KS05]

• Assume F is an ideal function• Let M be any preimage for H (forget about len(M))• Second preimage attack complexity ≈ 2n/k

• Work-around trick if len(M) is included

12 MDpsec2

M1 Mk−1 Mk

M ′1

iv

iv

h1 hk–2 hk–1h

m

m

n n

n

F FF

F

· · ·

· · ·

42 / 58

Page 142: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Second Preimage Security of Merkle-Damgård

• Second preimage for H: easier than for F

• Kelsey and Schneier [KS05]

• Assume F is an ideal function• Let M be any preimage for H (forget about len(M))• Second preimage attack complexity ≈ 2n/k• Work-around trick if len(M) is included

12 MDpsec2

M1 Mk−1 Mk

M ′1

iv

iv

h1 hk–2 hk–1h

m

m

n n

n

F FF

F

· · ·

· · ·

42 / 58

Page 143: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers/Permutations

Blockcipher Based.1 compfSBL

E

F

pPermutation Based.p2 compfpi

P

F

• Proofs in ideal model• E or P assumed to be uniformly random primitives• Proof via combinatorics and probability theory

43 / 58

Page 144: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers/Permutations

Blockcipher Based.1 compfSBL

E

F

pPermutation Based.p2 compfpi

P

F

• Proofs in ideal model• E or P assumed to be uniformly random primitives• Proof via combinatorics and probability theory

43 / 58

Page 145: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers

• Classical approach

• PGV compression functions [PGV93]

• Used in MD5, SHA-1/2, . . .

Group G1 Group G2

1 4

5 8

9 12

1

2 3

6 7

10 11

2

44 / 58

−→Matyas-Meyer-Oseas ('85)

−→Davies-Meyer

(≈'84)

←−−Miyaguchi-Preneel ('89)

Page 146: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers

• Classical approach

• PGV compression functions [PGV93]

• Used in MD5, SHA-1/2, . . .

Group G1 Group G2

1 4

5 8

9 12

1

2 3

6 7

10 11

2

44 / 58

−→Matyas-Meyer-Oseas ('85)

−→Davies-Meyer

(≈'84)

←−−Miyaguchi-Preneel ('89)

Page 147: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers

• Classical approach

• PGV compression functions [PGV93]

• Used in MD5, SHA-1/2, . . .

Group G1 Group G2

1 4

5 8

9 12

1

2 3

6 7

10 11

2

44 / 58

−→Matyas-Meyer-Oseas ('85)

−→Davies-Meyer

(≈'84)

←−−Miyaguchi-Preneel ('89)

Page 148: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function1 DM

M

hin hE

• Black et al. [BRS02]

• Assume that E is an ideal cipher

• Adversary A makes Q queries to E• Forward query (k, x)→ y• Inverse query (k, y)→ x

• Query (k, x, y) corresponds to DM(x, k) = x⊕ y• A must make the required queries for the attack

45 / 58

Page 149: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function2 DM1

M

hin h

k

x yE

• Black et al. [BRS02]

• Assume that E is an ideal cipher

• Adversary A makes Q queries to E• Forward query (k, x)→ y• Inverse query (k, y)→ x

• Query (k, x, y) corresponds to DM(x, k) = x⊕ y• A must make the required queries for the attack

45 / 58

Page 150: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

• Black et al. [BRS02]

• Assume that E is an ideal cipher

• Adversary A makes Q queries to E• Forward query (k, x)→ y• Inverse query (k, y)→ x

• Query (k, x, y) corresponds to DM(x, k) = x⊕ y

• A must make the required queries for the attack

45 / 58

Page 151: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

• Black et al. [BRS02]

• Assume that E is an ideal cipher

• Adversary A makes Q queries to E• Forward query (k, x)→ y• Inverse query (k, y)→ x

• Query (k, x, y) corresponds to DM(x, k) = x⊕ y• A must make the required queries for the attack

45 / 58

Page 152: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Collision Resistance

• Consider ith query (k, x, y) (forward or inverse)

• Response is random from set of size at least 2n − (i− 1)• Renders collision if x⊕ y = x′⊕ y′ for any earlier (k′, x′, y′)• There are i− 1 earlier queries (k′, x′, y′)

Pr [collision for DM] ≤Q∑i=1

i− 1

2n − (i− 1)

≤(Q2

)2n −Q

46 / 58

Page 153: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Collision Resistance

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)

• Renders collision if x⊕ y = x′⊕ y′ for any earlier (k′, x′, y′)• There are i− 1 earlier queries (k′, x′, y′)

Pr [collision for DM] ≤Q∑i=1

i− 1

2n − (i− 1)

≤(Q2

)2n −Q

46 / 58

Page 154: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Collision Resistance

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)• Renders collision if x⊕ y = x′⊕ y′ for any earlier (k′, x′, y′)

• There are i− 1 earlier queries (k′, x′, y′)

Pr [collision for DM] ≤Q∑i=1

i− 1

2n − (i− 1)

≤(Q2

)2n −Q

46 / 58

Page 155: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Collision Resistance

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)• Renders collision if x⊕ y = x′⊕ y′ for any earlier (k′, x′, y′)• There are i− 1 earlier queries (k′, x′, y′)

Pr [collision for DM] ≤Q∑i=1

i− 1

2n − (i− 1)

≤(Q2

)2n −Q

46 / 58

Page 156: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Collision Resistance

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)• Renders collision if x⊕ y = x′⊕ y′ for any earlier (k′, x′, y′)• There are i− 1 earlier queries (k′, x′, y′)

Pr [collision for DM] ≤Q∑i=1

i− 1

2n − (i− 1)

≤(Q2

)2n −Q

46 / 58

Page 157: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Collision Resistance

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)• Renders collision if x⊕ y = x′⊕ y′ for any earlier (k′, x′, y′)• There are i− 1 earlier queries (k′, x′, y′)

Pr [collision for DM] ≤Q∑i=1

i− 1

2n − (i− 1)≤

(Q2

)2n −Q

46 / 58

Page 158: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Preimage Resistance

• Consider any �xed target value h

• Consider ith query (k, x, y) (forward or inverse)

• Response is random from set of size at least 2n − (i− 1)• Renders preimage if x⊕ y = h

Pr [preimage for DM] ≤Q∑i=1

1

2n − (i− 1)≤ Q

2n −Q

47 / 58

Page 159: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Preimage Resistance

• Consider any �xed target value h

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)• Renders preimage if x⊕ y = h

Pr [preimage for DM] ≤Q∑i=1

1

2n − (i− 1)≤ Q

2n −Q

47 / 58

Page 160: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function3 DM2k

M

hin h = x⊕ y

k

x yE

Preimage Resistance

• Consider any �xed target value h

• Consider ith query (k, x, y) (forward or inverse)• Response is random from set of size at least 2n − (i− 1)• Renders preimage if x⊕ y = h

Pr [preimage for DM] ≤Q∑i=1

1

2n − (i− 1)≤ Q

2n −Q

47 / 58

Page 161: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function1 DM

M

hin hE

• Can we prove security if E is not ideal?

• What if E is SPRP?

• Even-Mansour is SPRP• But DMEM(hin,M) = DMEM(hin ⊕ δ,M ⊕ δ)• E is used as keyless primitive

• Bottom line:• Be careful with choice of security model• Be careful with instantiation of the construction

48 / 58

Page 162: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function4 DM-EMk

M

hin hP

• Can we prove security if E is not ideal?

• What if E is SPRP?• Even-Mansour is SPRP

• But DMEM(hin,M) = DMEM(hin ⊕ δ,M ⊕ δ)• E is used as keyless primitive

• Bottom line:• Be careful with choice of security model• Be careful with instantiation of the construction

48 / 58

Page 163: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function4 DM-EMk

M

hin hP

• Can we prove security if E is not ideal?

• What if E is SPRP?• Even-Mansour is SPRP• But DMEM(hin,M) = DMEM(hin ⊕ δ,M ⊕ δ)

• E is used as keyless primitive

• Bottom line:• Be careful with choice of security model• Be careful with instantiation of the construction

48 / 58

Page 164: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function4 DM-EMk

M

hin hP

• Can we prove security if E is not ideal?

• What if E is SPRP?• Even-Mansour is SPRP• But DMEM(hin,M) = DMEM(hin ⊕ δ,M ⊕ δ)• E is used as keyless primitive

• Bottom line:• Be careful with choice of security model• Be careful with instantiation of the construction

48 / 58

Page 165: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Davies-Meyer Compression Function4 DM-EMk

M

hin hP

• Can we prove security if E is not ideal?

• What if E is SPRP?• Even-Mansour is SPRP• But DMEM(hin,M) = DMEM(hin ⊕ δ,M ⊕ δ)• E is used as keyless primitive

• Bottom line:• Be careful with choice of security model• Be careful with instantiation of the construction

48 / 58

Page 166: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers

• Similar ideas for other PGVs

• Additional proof tricks for double length functions

• �Wish lists� [LSS10]

• �Free super queries� [LSS11]

• Many case distinctions (up to ≈ 40 in worst case)

u

vw

y

z

E

E

u

v

w

y

z

E

E

u

v wconst

y

z

E

E

1 FAexa1

u v w

c1

linear mapping

v + 2c1

u + w

2v + c1

2w

y z

E

E E

49 / 58

Page 167: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers

• Similar ideas for other PGVs

• Additional proof tricks for double length functions

• �Wish lists� [LSS10]

• �Free super queries� [LSS11]

• Many case distinctions (up to ≈ 40 in worst case)

u

vw

y

z

E

E

u

v

w

y

z

E

E

u

v wconst

y

z

E

E

1 FAexa1

u v w

c1

linear mapping

v + 2c1

u + w

2v + c1

2w

y z

E

E E

49 / 58

Page 168: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Blockciphers

• Similar ideas for other PGVs

• Additional proof tricks for double length functions• �Wish lists� [LSS10]

• �Free super queries� [LSS11]

• Many case distinctions (up to ≈ 40 in worst case)

u

vw

y

z

E

E

u

v

w

y

z

E

E

u

v wconst

y

z

E

E

1 FAexa1

u v w

c1

linear mapping

v + 2c1

u + w

2v + c1

2w

y z

E

E E

49 / 58

Page 169: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations

• Formalized by Black et al. [BCS05]• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 170: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations

• Formalized by Black et al. [BCS05]• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 171: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]

• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 172: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]

• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07)

Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query

collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query

preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 173: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]

• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09)

Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries

collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries

preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 174: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]

• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 175: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 176: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure?

No ,!

Page 177: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Compression Functions from Permutations

• Blockcipher calls require re-keying

• Instead use �xed-key blockciphers, or permutations• Formalized by Black et al. [BCS05]• More primitive calls needed• Similar proof techniques but more cases

Sponge ('07) Grøstl ('09) Shrimpton-Stam ('08)

x1

x2

zP

1

x1

x2 z

P1

P2

1

x1

x2 z

P1

P2 P3

1

collision: 1 query collision: 2n/4 queries collision: 2n/2 queries

preimage: 1 query preimage: 2n/2 queries preimage: 22n/3 queries

50 / 58

←−are the Sponges insecure? No ,!

Page 178: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Sponge

. .HashHMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)FFSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge/SS

. .BCEven-Mansour←−−−−−−−−−−− . .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

51 / 58

Keyed

Sponges

(insecure)

direct

proof?

Page 179: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Sponge

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

SHA-x/MDy

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge

/SS

. .BCEven-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

51 / 58

Keyed

Sponges

(insecure)

direct

proof?

Page 180: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Sponge

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

(secure)

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge

/SS

. .BCEven-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

51 / 58

Keyed

Sponges

(insecure)

direct

proof?

Page 181: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Security of Sponge

. .Hash

HMAC−−−−−−−−−−−→ . .MAC/AE

←−−−−−−−

(secure)

Merkle-Damgård

. . .

←−−−−−−−OCB

COPA

OTR. . .

←−−−−−−−−−−−−−−

OMD

. .(C)F

FSkein←−−−−−−−−−−− . .TBC

Feistel

−−−−−−−→

←−−−−−−−

PRP-PRF

PGV

←−−−−−−−

TEM/XPX

←−−−−−−−−−−−−−−

←−−−−−−−−−−−−−−

LRW/XEX

Sponge

/SS

. .BCEven-Mansour←−−−−−−−−−−−

. .P

←−−−−−−−−−−−−−−−−−−−−−−−−

GCM

CMAC

51 / 58

Keyed

Sponges

(insecure)

direct

proof?

Page 182: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability of Hash Functions

• H should behave like random oracle RO

• Indistinguishability of random systems:8 indistsimpleH

ICH RO

distinguisher D

hash function random oracle

• But H is not a random system

• Distinguisher succeeds with probability 1

• Solution: indi�erentiability

52 / 58

Page 183: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability of Hash Functions

• H should behave like random oracle RO• Indistinguishability of random systems:8 indistsimpleH

ICH RO

distinguisher D

hash function random oracle

• But H is not a random system

• Distinguisher succeeds with probability 1

• Solution: indi�erentiability

52 / 58

Page 184: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability of Hash Functions

• H should behave like random oracle RO• Indistinguishability of random systems:8 indistsimpleH

ICH RO

distinguisher D

hash function random oracle

• But H is not a random system

• Distinguisher succeeds with probability 1

• Solution: indi�erentiability

52 / 58

Page 185: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indistinguishability of Hash Functions

• H should behave like random oracle RO• Indistinguishability of random systems:8 indistsimpleH

ICH RO

distinguisher D

hash function random oracle

• But H is not a random system

• Distinguisher succeeds with probability 1

• Solution: indi�erentiability

52 / 58

Page 186: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Hash Functions1 p-indiffH

ICH P RO S

real world simulated world

distinguisher

hashfunction

idealprimitive

randomoracle

simulatorfor P

• Maurer et al. [MRH04]

• H is indi�erentiable from RO if for some simulator S:∆D(H,P;RO,S) is small

• Proof idea:

Step 1. Construct a clever simulator SStep 2. Use game-playing or H-coe�cient technique

53 / 58

Page 187: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Hash Functions1 p-indiffH

ICH P RO S

real world simulated world

distinguisher

hashfunction

idealprimitive

randomoracle

simulatorfor P

• Maurer et al. [MRH04]

• H is indi�erentiable from RO if for some simulator S:∆D(H,P;RO,S) is small

• Proof idea:

Step 1. Construct a clever simulator SStep 2. Use game-playing or H-coe�cient technique

53 / 58

Page 188: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Hash Functions1 p-indiffH

ICH P RO S

real world simulated world

distinguisher

hashfunction

idealprimitive

randomoracle

simulatorfor P

• Maurer et al. [MRH04]

• H is indi�erentiable from RO if for some simulator S:∆D(H,P;RO,S) is small

• Proof idea:

Step 1. Construct a clever simulator SStep 2. Use game-playing or H-coe�cient technique

53 / 58

Page 189: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Hash Functions1 p-indiffH

ICH P RO S

real world simulated world

distinguisher

hashfunction

idealprimitive

randomoracle

simulatorfor P

• H can replace RO in certain scenarios• Single-stage only, Ristenpart et al. [RSS11]

• Indi�erentiability =⇒ coll/pre/sec security

54 / 58

Page 190: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Hash Functions1 p-indiffH

ICH P RO S

real world simulated world

distinguisher

hashfunction

idealprimitive

randomoracle

simulatorfor P

• H can replace RO in certain scenarios• Single-stage only, Ristenpart et al. [RSS11]

• Indi�erentiability =⇒ coll/pre/sec security

54 / 58

Page 191: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Sponge

M1 Mk

iv

z1 zl

r

cPPPP

· · ·

· · ·· · ·

· · ·· · ·

· · ·

· · ·· · ·

1

• Bertoni et al. [BDPA07]

• Sponge indi�erentiable from random oracle

∆D(Sponge, P ;RO,S) ≤ Q2

2c

(with Q the total complexity)

• Optimal collision, preimage, second preimage security

(if c ≥ 2n)

55 / 58

Page 192: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Sponge

M1 Mk

iv

z1 zl

r

cPPPP

· · ·

· · ·· · ·

· · ·· · ·

· · ·

· · ·· · ·

1

• Bertoni et al. [BDPA07]

• Sponge indi�erentiable from random oracle

∆D(Sponge, P ;RO,S) ≤ Q2

2c

(with Q the total complexity)

• Optimal collision, preimage, second preimage security

(if c ≥ 2n)

55 / 58

Page 193: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Sponge

M1 Mk

iv

z1 zl

r

cPPPP

· · ·

· · ·· · ·

· · ·· · ·

· · ·

· · ·· · ·

1

• Bertoni et al. [BDPA07]

• Sponge indi�erentiable from random oracle

∆D(Sponge, P ;RO,S) ≤ Q2

2c

(with Q the total complexity)

• Optimal collision, preimage, second preimage security

(if c ≥ 2n)

55 / 58

Page 194: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers2 p-indiffE

ICE± P rE± S

real world simulated world

distinguisher

block-cipher

idealprimitive

idealcipher

simulatorfor P

• Similar model for keyless blockciphers

• Blockcipher behaves like ideal cipher

• Can be plugged into PGV compression functions

• Much (!!) harder to prove

56 / 58

Page 195: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers2 p-indiffE

ICE± P rE± S

real world simulated world

distinguisher

block-cipher

idealprimitive

idealcipher

simulatorfor P

• Similar model for keyless blockciphers

• Blockcipher behaves like ideal cipher

• Can be plugged into PGV compression functions

• Much (!!) harder to prove

56 / 58

Page 196: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers3 Feistelk

Fi

Feistel bound remark

Coron et al. '08 218 q8 /2n 6 rnd (�awed)Holenstein et al. '10 266 q10/2n 14 rndGuo and Lin '15 2222q30/2n 21 rnd (alter. key)Dachman-Soled et al. '15 251 q12/2n 10 rndDai and Steinberger '15 223 q8 /2n 10 rnd

2 EMi

ki−1 ki

P

Even-Mansour bound remark

Andreeva et al. '13 234q10/2n 5 rnd (random kdf)Lampe and Seurin '13 291q12/2n 12 rndGuo and Lin '15 211q8 /2n 15 rnd (alter. key)

Extremely hard research question!

57 / 58

−−→pointless for n = 128; security up to q . 2 for n = 256

−−→security up to q . 8 for n = 128

Page 197: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers3 Feistelk

Fi

Feistel bound remark

Coron et al. '08 218 q8 /2n 6 rnd (�awed)Holenstein et al. '10 266 q10/2n 14 rndGuo and Lin '15 2222q30/2n 21 rnd (alter. key)Dachman-Soled et al. '15 251 q12/2n 10 rndDai and Steinberger '15 223 q8 /2n 10 rnd

2 EMi

ki−1 ki

P

Even-Mansour bound remark

Andreeva et al. '13 234q10/2n 5 rnd (random kdf)Lampe and Seurin '13 291q12/2n 12 rndGuo and Lin '15 211q8 /2n 15 rnd (alter. key)

Extremely hard research question!

57 / 58

−−→pointless for n = 128; security up to q . 2 for n = 256

−−→security up to q . 8 for n = 128

Page 198: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers3 Feistelk

Fi

Feistel bound remark

Coron et al. '08 218 q8 /2n 6 rnd (�awed)Holenstein et al. '10 266 q10/2n 14 rndGuo and Lin '15 2222q30/2n 21 rnd (alter. key)Dachman-Soled et al. '15 251 q12/2n 10 rndDai and Steinberger '15 223 q8 /2n 10 rnd

2 EMi

ki−1 ki

P

Even-Mansour bound remark

Andreeva et al. '13 234q10/2n 5 rnd (random kdf)Lampe and Seurin '13 291q12/2n 12 rndGuo and Lin '15 211q8 /2n 15 rnd (alter. key)

Extremely hard research question!

57 / 58

−−→pointless for n = 128; security up to q . 2 for n = 256

−−→security up to q . 8 for n = 128

Page 199: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers3 Feistelk

Fi

Feistel bound remark

Coron et al. '08 218 q8 /2n 6 rnd (�awed)Holenstein et al. '10 266 q10/2n 14 rndGuo and Lin '15 2222q30/2n 21 rnd (alter. key)Dachman-Soled et al. '15 251 q12/2n 10 rndDai and Steinberger '15 223 q8 /2n 10 rnd

2 EMi

ki−1 ki

P

Even-Mansour bound remark

Andreeva et al. '13 234q10/2n 5 rnd (random kdf)Lampe and Seurin '13 291q12/2n 12 rndGuo and Lin '15 211q8 /2n 15 rnd (alter. key)

Extremely hard research question!

57 / 58

−−→pointless for n = 128; security up to q . 2 for n = 256

−−→security up to q . 8 for n = 128

Page 200: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers3 Feistelk

Fi

Feistel bound remark

Coron et al. '08 218 q8 /2n 6 rnd (�awed)Holenstein et al. '10 266 q10/2n 14 rndGuo and Lin '15 2222q30/2n 21 rnd (alter. key)Dachman-Soled et al. '15 251 q12/2n 10 rndDai and Steinberger '15 223 q8 /2n 10 rnd

2 EMi

ki−1 ki

P

Even-Mansour bound remark

Andreeva et al. '13 234q10/2n 5 rnd (random kdf)Lampe and Seurin '13 291q12/2n 12 rndGuo and Lin '15 211q8 /2n 15 rnd (alter. key)

Extremely hard research question!

57 / 58

−−→pointless for n = 128; security up to q . 2 for n = 256

−−→security up to q . 8 for n = 128

Page 201: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Indi�erentiability of Blockciphers3 Feistelk

Fi

Feistel bound remark

Coron et al. '08 218 q8 /2n 6 rnd (�awed)Holenstein et al. '10 266 q10/2n 14 rndGuo and Lin '15 2222q30/2n 21 rnd (alter. key)Dachman-Soled et al. '15 251 q12/2n 10 rndDai and Steinberger '15 223 q8 /2n 10 rnd

2 EMi

ki−1 ki

P

Even-Mansour bound remark

Andreeva et al. '13 234q10/2n 5 rnd (random kdf)Lampe and Seurin '13 291q12/2n 12 rndGuo and Lin '15 211q8 /2n 15 rnd (alter. key)

Extremely hard research question!

57 / 58

−−→pointless for n = 128; security up to q . 2 for n = 256

−−→security up to q . 8 for n = 128

Page 202: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Conclusion

Recipe

• Model:• Keyed: usually indistinguishability• Keyless: indi�erentiability or dedicated security model

• Technique: game-playing, H-coe�cient,explicit reduction, combinatorics, . . .

• Approach depends on speci�c scheme and application

Thank you for your attention!

58 / 58

Page 203: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Conclusion

Recipe

• Model:• Keyed: usually indistinguishability• Keyless: indi�erentiability or dedicated security model

• Technique: game-playing, H-coe�cient,explicit reduction, combinatorics, . . .

• Approach depends on speci�c scheme and application

Thank you for your attention!

58 / 58

Page 204: Introduction to Provable Securitybmennink/slides/sardinia15a.pdf · 2015-10-20 · Introduction What is Provable Security? absolute securityreductionist security (e.g., lower bound

Conclusion

Recipe

• Model:• Keyed: usually indistinguishability• Keyless: indi�erentiability or dedicated security model

• Technique: game-playing, H-coe�cient,explicit reduction, combinatorics, . . .

• Approach depends on speci�c scheme and application

Thank you for your attention!

58 / 58