Approximate Relational Reasoning for Probabilistic Programs PhD - - PowerPoint PPT Presentation

approximate relational reasoning for probabilistic
SMART_READER_LITE
LIVE PREVIEW

Approximate Relational Reasoning for Probabilistic Programs PhD - - PowerPoint PPT Presentation

Approximate Relational Reasoning for Probabilistic Programs PhD Candidate: Federico Olmedo Supervisor: Gilles Barthe IMDEA Software Institute PhD Examination Technical University of Madrid January 9, 2014 Selecting Locations for


slide-1
SLIDE 1

Approximate Relational Reasoning for Probabilistic Programs

PhD Candidate: Federico Olmedo Supervisor: Gilles Barthe

IMDEA Software Institute PhD Examination – Technical University of Madrid January 9, 2014

slide-2
SLIDE 2

Selecting Locations for Rehabilitation Centers

Home Feasible location for rehab. centers

Scenario: 2 new rehab. centers to be opened; 4 feasible locations. Goal: select locations that minimize average patient commute time.

1 / 26

slide-3
SLIDE 3

Selecting Locations for Rehabilitation Centers

Home hosting pa- tients in treatment Feasible location for rehab. centers

Scenario: 2 new rehab. centers to be opened; 4 feasible locations. Goal: select locations that minimize average patient commute time.

1 / 26

slide-4
SLIDE 4

Selecting Locations for Rehabilitation Centers

Home hosting pa- tients in treatment Feasible location for rehab. centers

  • Rehab. center

Scenario: 2 new rehab. centers to be opened; 4 feasible locations. Goal: select locations that minimize average patient commute time.

1 / 26

slide-5
SLIDE 5

Selecting Locations for Rehabilitation Centers

Home hosting pa- tients in treatment Feasible location for rehab. centers

  • Rehab. center

Scenario: 2 new rehab. centers to be opened; 4 feasible locations. Goal: select locations that minimize average patient commute time.

1 / 26

slide-6
SLIDE 6

Selecting Locations for Rehabilitation Centers

Home hosting pa- tients in treatment Feasible location for rehab. centers

Scenario: 2 new rehab. centers to be opened; 4 feasible locations. Goal: select locations that minimize average patient commute time. Optimum Solution Approach: Highest utility. Leakage of sensitive information.

1 / 26

slide-7
SLIDE 7

The Privacy–Utility Conflict

privacy utility

2 / 26

slide-8
SLIDE 8

The Privacy–Utility Conflict

Differential Privacy (DP)

[Dwork+, ICALP ’06] privacy utility

2 / 26

slide-9
SLIDE 9

The Privacy–Utility Conflict

Differential Privacy (DP)

[Dwork+, ICALP ’06] privacy utility

1

Privacy definition

Selection Algorithm

2 / 26

slide-10
SLIDE 10

The Privacy–Utility Conflict

Differential Privacy (DP)

[Dwork+, ICALP ’06] privacy utility

1

Privacy definition

Selection Algorithm

2

Privacy realization

Basic mechanisms for numeric/discrete-valued computations. Composition theorems.

2 / 26

slide-11
SLIDE 11

Differentially Private Location Selection

[Gupta+, SODA’10] function kMedian(C, F0)

1

i ← 0;

2

while i < T do

3

(x, y)

$

← pick−swap(Fi × Fi);

4

Fi+1 ← (Fi\{x}) ∪ {y};

5

i ← i + 1

6

end;

7

j

$

← pick−solution([1, . . . , T], F);

8

return Fj

3 / 26

slide-12
SLIDE 12

Verifying Differential Privacy

Dynamic verification: PINQ [McSherry ’09] Airavat [Roy+ ’10] Static verification: Fuzz [Reed & Pierce ’10] and DFuzz [Gaboardi+ ’13] [Chaudhuri+ ’11] Limitations of theses techniques: Only programs that are combinations of basic mechanisms. Only standard differential privacy. Fixed set of domains and/or operations.

4 / 26

slide-13
SLIDE 13

In this Dissertation

Our Goal Verify differential privacy properties of probabilistic programs. We want our technique to Circumvent limitations of existing techniques. Provide strong evidence of correctness. Be extensible to reason about other quantitative properties of probabilistic programs.

5 / 26

slide-14
SLIDE 14

Outline

1

Motivation

2

Verification of Differential Privacy

3

Extensions of our Technique

4

Summary and Conclusions

6 / 26

slide-15
SLIDE 15

Outline

1

Motivation

2

Verification of Differential Privacy

3

Extensions of our Technique

4

Summary and Conclusions

7 / 26

slide-16
SLIDE 16

Differential Privacy – Definition

Mining Process

8 / 26

slide-17
SLIDE 17

Differential Privacy – Definition

Mining Process

Location Selection

8 / 26

slide-18
SLIDE 18

Differential Privacy – Definition

Mining Process

8 / 26

slide-19
SLIDE 19

Differential Privacy – Definition

Mining Process

8 / 26

slide-20
SLIDE 20

Differential Privacy – Definition

Mining Process

A randomized mechanism K is ǫ-differentially private iff for all databases d1 and d2, and all events A, ∆(d1, d2) ≤ 1 =⇒ Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A]

8 / 26

slide-21
SLIDE 21

Differential Privacy – Definition

Mining Process

Bounded ratio

A randomized mechanism K is ǫ-differentially private iff for all databases d1 and d2, and all events A, ∆(d1, d2) ≤ 1 =⇒ Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A]

8 / 26

slide-22
SLIDE 22

Differential Privacy – Definition

Mining Process

A randomized mechanism K is (ǫ, δ)-differentially private iff for all databases d1 and d2, and all events A, ∆(d1, d2) ≤ 1 =⇒ Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A] + δ

8 / 26

slide-23
SLIDE 23

Differential Privacy – Fundamentals

Basic mechanism for numeric queries.

d ǫ-DP f(d) f(d) + ∼

Composition theorem.

ǫ+ǫ′-DP ǫ-DP ǫ′-DP

9 / 26

slide-24
SLIDE 24

Verifying Differential Privacy – Our Approach

Differential privacy is a quantitative 2-safety property: ∆(d1, d2) ≤ 1 =⇒ ∀A • Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A] + δ

10 / 26

slide-25
SLIDE 25

Verifying Differential Privacy – Our Approach

Differential privacy is a quantitative 2-safety property: ∆(d1, d2) ≤ 1 =⇒ ∀A • Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A] + δ

relational pre-condition

10 / 26

slide-26
SLIDE 26

Verifying Differential Privacy – Our Approach

Differential privacy is a quantitative 2-safety property: ∆(d1, d2) ≤ 1 =⇒ ∀A • Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A] + δ

relational pre-condition quantitative relational post-condition

10 / 26

slide-27
SLIDE 27

Verifying Differential Privacy – Our Approach

Differential privacy is a quantitative 2-safety property: ∆(d1, d2) ≤ 1 =⇒ ∀A • Pr [K(d1)∈A] ≤ eǫ Pr [K(d2)∈A] + δ

relational pre-condition quantitative relational post-condition

We propose a quantitative probabilistic relational Hoare logic {Ψ} c1 ∼α,δ c2 {Φ} such that a program c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡}

database adjacency equality on

  • bservable output

10 / 26

slide-28
SLIDE 28

Relational Program Reasoning

Standard Hoare Logic |= {Ψ} c {Φ}

m Ψ(m) m′ Φ(m′) c

11 / 26

slide-29
SLIDE 29

Relational Program Reasoning

Standard Hoare Logic |= {Ψ} c {Φ}

m Ψ(m) m′ Φ(m′) c

Relational Hoare Logic |= {Ψ} c1 ∼ c2 {Φ}

m1 m′

1

c1 m2 m′

2

c2 Ψ Φ

11 / 26

slide-30
SLIDE 30

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure.

12 / 26

slide-31
SLIDE 31

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure. Lδ

α(·)

∆α (·, ·) α≥1, δ≥0 P (A×B) → P (DA×DB) DA × DA → R≥0

12 / 26

slide-32
SLIDE 32

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure. Lδ

α(·)

∆α (·, ·) α≥1, δ≥0 P (A×B) → P (DA×DB) DA × DA → R≥0

1

Judgment {Ψ} c1 ∼α,δ c2 {Φ} is interpreted as m1 Ψ m2 =⇒ (c1 m1) Lδ

α(Φ) (c2 m2)

12 / 26

slide-33
SLIDE 33

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure. Lδ

α(·)

∆α (·, ·) α≥1, δ≥0 P (A×B) → P (DA×DB) DA × DA → R≥0

1

Judgment {Ψ} c1 ∼α,δ c2 {Φ} is interpreted as m1 Ψ m2 =⇒ (c1 m1) Lδ

α(Φ) (c2 m2)

3

c is (ǫ, δ)-DP iff for all memories m1 and m2, m1 ≃ m2 =⇒ ∀A • Pr [c(m1)∈A] ≤ eǫ Pr [c(m2)∈A] + δ

12 / 26

slide-34
SLIDE 34

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure. Lδ

α(·)

∆α (·, ·) α≥1, δ≥0 P (A×B) → P (DA×DB) DA × DA → R≥0

1

Judgment {Ψ} c1 ∼α,δ c2 {Φ} is interpreted as m1 Ψ m2 =⇒ (c1 m1) Lδ

α(Φ) (c2 m2)

3

c is (ǫ, δ)-DP iff for all memories m1 and m2, m1 ≃ m2 =⇒ ∆eǫ (c m1, c m2) ≤ δ

12 / 26

slide-35
SLIDE 35

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure. Lδ

α(·)

∆α (·, ·) α≥1, δ≥0 P (A×B) → P (DA×DB) DA × DA → R≥0

1

Judgment {≃} c ∼eǫ,δ c {≡} is interpreted as m1 ≃ m2 =⇒ (c m1) Lδ

eǫ(≡) (c m2)

3

c is (ǫ, δ)-DP iff for all memories m1 and m2, m1 ≃ m2 =⇒ ∆eǫ (c m1, c m2) ≤ δ

12 / 26

slide-36
SLIDE 36

Characterizing Differential Privacy

Our Goal c is (ǫ, δ)-DP iff {≃} c ∼eǫ,δ c {≡} To achieve so we rely on a lifting operation and a distance measure. Lδ

α(·)

∆α (·, ·) α≥1, δ≥0 P (A×B) → P (DA×DB) DA × DA → R≥0

1

Judgment {≃} c ∼eǫ,δ c {≡} is interpreted as m1 ≃ m2 =⇒ (c m1) Lδ

eǫ(≡) (c m2)

2

The lifting Lδ

α(≡) of equality is characterized as

µ1 Lδ

α(≡) µ2 ⇐⇒ ∆α

µ1, µ2 ≤ δ

3

c is (ǫ, δ)-DP iff for all memories m1 and m2, m1 ≃ m2 =⇒ ∆eǫ (c m1, c m2) ≤ δ

12 / 26

slide-37
SLIDE 37

Characterizing Differential Privacy – Cont’d

Definition of the α-distance is straightforward. ∆α µ1, µ2 max

A

Pr µ1 ∈A − α Pr µ2 ∈A Definition of the (α, δ)-lifting is somewhat intricate (in the general case), . . . but simpler characterization for equiv. relations.

13 / 26

slide-38
SLIDE 38

The Programming Language

C ::= skip nop | C; C sequence | V ← E assignment | V

$

← D random sampling | if E then C else C conditional | while E do C while loop | V ← P(E, . . . , E) procedure call

14 / 26

slide-39
SLIDE 39

The Proof System

Weakening |= {Ψ′} c1 ∼α′,δ′ c2 {Φ′} Ψ ⇒ Ψ′ Φ′ ⇒ Φ α′ ≤ α δ′ ≤ δ |= {Ψ} c1 ∼α,δ c2 {Φ}

15 / 26

slide-40
SLIDE 40

The Proof System

Weakening |= {Ψ′} c1 ∼α′,δ′ c2 {Φ′} Ψ ⇒ Ψ′ Φ′ ⇒ Φ α′ ≤ α δ′ ≤ δ |= {Ψ} c1 ∼α,δ c2 {Φ} Sequential composition |= {Ψ} c1 ∼α1,δ1 c2 {Φ′} |= {Φ′} c′

1 ∼α2,δ2 c′ 2 {Φ}

|= {Ψ} c1; c′

1 ∼α1α2,δ1+δ2 c2; c′ 2 {Φ}

15 / 26

slide-41
SLIDE 41

The Proof System – Cont’d

Laplacian mechanism Output perturbation makes numerical queries ǫ-DP

ǫ-DP f ⊕ Lap

  • ∆ f

ǫ

  • The sensitivity of a numerical query

f : D → R is defined as: ∆ f max

d1,d2 d1≃d2

| f(d1) − f(d2)|

Lap(λ) λ = 0.40 λ = 0.65 16 / 26

slide-42
SLIDE 42

The Proof System – Cont’d

Laplacian mechanism Output perturbation makes numerical queries ǫ-DP

ǫ-DP f ⊕ Lap

  • ∆ f

ǫ

  • The sensitivity of a numerical query

f : D → R is defined as: ∆ f max

d1,d2 d1≃d2

| f(d1) − f(d2)|

Lap(λ) λ = 0.40 λ = 0.65

m1 Ψ m2 =⇒ |r m1 − r m2| ≤ k |= {Ψ} x

$

← L(r, k/

ǫ) ∼eǫ,0 x

$

← L(r, k/

ǫ) {x1 = x2}

16 / 26

slide-43
SLIDE 43

Machine-Checked Proofs of Differential Privacy

CertiPriv: framework proving interactive support for the logic built

  • n top of the Coq proof assistant.

Delivers machine-checked proofs of differential privacy. Built as an extension of CertiCrypt.

α-distance + (α, δ)-lifting + logic soundness (+6.500 lines of Coq proof-script)

Several case studies:

Laplacian, Exponential and Gaussian basic mechanisms. k-Median, Minimum Vertex Cover, streaming algorithm.

17 / 26

slide-44
SLIDE 44

Case Study: k-Median Problem

function kMedian(C, F0)

1

i ← 0;

2

while i < T do

3

(x, y)

$

← pick−swap(Fi × Fi);

4

Fi+1 ← (Fi\{x}) ∪ {y};

5

i ← i + 1

6

end;

7

j

$

← pick−solution([1, . . . , T], F);

8

return Fj Differential privacy is captured by judgment {Ψ} kMedian ∼α,0 kMedian {Φ}

C1≃C2 ∧ F01=F02 e2ǫ∆(T+1) Fj1=Fj2

Judgment derivation + Verification of side conditions ≈ 450 lines proof-script

18 / 26

slide-45
SLIDE 45

Verifying Differential Privacy – Summary

Program logic for reasoning about DP. Framework for building machined-checked proofs of DP With G. Barthe, B. Köpf and S. Zanella Béguelin [POPL ’12] [TOPLAS ’13]

19 / 26

slide-46
SLIDE 46

Our Goal Verify differential privacy properties of probabilistic programs. We want our technique to Provides strong evidence of correctness. Circumvent limitations of existing techniques. Be extensible to reason about other quantitative properties of probabilistic programs.

20 / 26

slide-47
SLIDE 47

Outline

1

Motivation

2

Verification of Differential Privacy

3

Extensions of our Technique

4

Summary and Conclusions

21 / 26

slide-48
SLIDE 48

Scope of our Approach

Differential privacy is a quantitative relational property of probabilistic programs: m1Ψm2 =⇒ ∆ (c1 m1, c2 m2) ≤ δ But it is not the only one! Indifferentiability Zero Knowledge Pseudo-randomness . . . Can we use our logic as it is to reason about these properties as well?

  • NO. They use distance measures different from the α-distance.

22 / 26

slide-49
SLIDE 49

Extending our Logic

Our logic is extensible to the class of f-divergences. The class of f-divergences comprises well-know examples of distance measures and finds applications in multiple areas: Statistical distance Hellinger distance Relative entropy α-distance χ2-distance

Image Processing Data Mining Pattern Recognition Cryptography Information Theory f-divergences

23 / 26

slide-50
SLIDE 50

Extending our Logic

Our logic is extensible to the class of f-divergences. With G. Barthe [ICALP ’13 ] The class of f-divergences comprises well-know examples of distance measures and finds applications in multiple areas: Statistical distance Hellinger distance Relative entropy α-distance χ2-distance

Image Processing Data Mining Pattern Recognition Cryptography Information Theory f-divergences

23 / 26

slide-51
SLIDE 51

Our Goal Verify differential privacy properties of probabilistic programs. We want our technique to Provides strong evidence of correctness. Circumvent limitations of existing technique. Be extensible to reason about other quantitative properties of probabilistic programs.

24 / 26

slide-52
SLIDE 52

What else is in the dissertation?

Crypto Case Study: Secure Hash Functions into Elliptic Curves [Brier+ ’10] Security is captured by formula ∀D • ∆SD

  • DH,h, DRO,S

≤ ǫ Our machine-checked proof Approximate observational equivalence (specialization of our Hoare logic) + adversary rule. Requires heavy algebraic reasoning (elliptic curves and group theory). 10.000+ lines of Coq proof-script. With G. Barthe, B. Grégoire, S. Heraud, S. Zanella [POST ’12, JCS ’14]

25 / 26

slide-53
SLIDE 53

Conclusions

Summary of contributions Quantitative relational Hoare logic for approximate reasoning about probabilistic programs. Framework for building machined-checked proofs of differential privacy (and other quantitative properties). Verification of several constructions from the recent literature. Future work Improve automation (e.g. inference of loop invariants). Lipschitz continuity of probabilistic programs. Combination of different techniques.

26 / 26

slide-54
SLIDE 54

26 / 26

slide-55
SLIDE 55

The (α, δ)-lifting

µ1 Lδ

α(R) µ2 ∃ µL, µR •

         ∆α µL, µR ≤ δ π1(µL) = µ1 ∧ π2(µR) = µ2 supp µL ⊆ R ∧ supp µR ⊆ R

⊆ (A × B) Witness distributions in DA×B

Admits an inductive characterization. For equivalence relations, it can be characterized as a closeness condition. µ1 Lδ

α(R) µ2 ⇐⇒ ∆α

µ1/R, µ2/R ≤ δ For finite relations, it can be modeled as network-flow problem.

26 / 26

slide-56
SLIDE 56

Generalized Data Processing Theorem For any distribution transformer h : DA → DB ∆f h(µ1), h(µ2) ≤ ∆f µ1, µ2

  • 26 / 26
slide-57
SLIDE 57

∀m1, m2 • m1 Ψ m2 =⇒ (m1 {e1 m1/x1}) Φ (m2 {e2 m2/x2}) ⊢ {Ψ} x1 ← e1 ∼f,0 x2 ← e2 {Φ} [assn] ∀m1, m2 • m1 Ψ m2 =⇒ ∆ f µ1 m1, µ2 m2 ≤ δ ⊢ {Ψ} x1

$

← µ1 ∼f,δ x2

$

← µ2 {x11 = x22} [rand] Ψ =⇒ b1 ≡ b′2 ⊢ {Ψ ∧ b1} c1 ∼ f,δ c′

1 {Φ}

⊢ {Ψ ∧ ¬b1} c2 ∼f,δ c′

2 {Φ}

⊢ {Ψ} if b then c1 else c2 ∼f,δ if b′ then c′

1 else c′ 2 {Φ}

[cond] (f1, . . . , fn) composable and monotonic Θ b1 ≡ b′2 Ψ ∧ e1 ≤ 0 =⇒ ¬b1 ⊢ {Ψ ∧ b1 ∧ b′2 ∧ e1 = k} c ∼f1,δ c′ {Ψ ∧ Θ ∧ e1 < k} ⊢ {Ψ ∧ Θ ∧ e1 ≤ n} while b do c ∼fn,nδ while b′ do c′ {Ψ ∧ ¬b1 ∧ ¬b′2}[while] ⊢ {Ψ} skip ∼f,0 skip {Ψ}[skip] ( f1, f2) is f3-composable ⊢ {Ψ } c1 ∼f1,δ1 c2 { Φ′} ⊢ {Φ′} c′

1 ∼f2,δ2 c′ 2 {

Φ} ⊢ {Ψ} c1; c′

1 ∼f3,δ1+δ2 c2; c′ 2 {Φ}

[seq] ⊢ {Ψ ∧ Θ} c1 ∼f,δ c2 {Φ} ⊢ {Ψ ∧ ¬Θ} c1 ∼f,δ c2 {Φ} ⊢ {Ψ} c1 ∼ f,δ c2 {Φ} [case] ⊢ {Ψ′} c1 ∼f ′,δ′ c2 {Φ′} Ψ ⇒ Ψ′ Φ′ ⇒ Φ f ≤ f ′ δ′ ≤ δ ⊢ {Ψ} c1 ∼ f,δ c2 {Φ} [weak]

26 / 26

slide-58
SLIDE 58

Trusted Code Base

You need to:

trust the type checker of Coq; trust the language semantics; make sure the security statement (a few lines in Coq) is as expected.

You don’t need to

understand or even read the proof; trust program logics,

26 / 26

slide-59
SLIDE 59

Case Study: k-Median Problem

Problem’s solution may leak the presence/absence of clients World 1

f2 f3 f1

World 2

f2 f3 f1

Assume k = 2 Solution = { f2, f3} =⇒ World 1 Solution = { f1, f2} =⇒ World 2

26 / 26

slide-60
SLIDE 60

Case Study: k-Median Problem

function kMedian(C, F0)

1

i ← 0;

2

while i < T do

3

(x, y)

$

← pick−swap(Fi × Fi);

4

Fi+1 ← (Fi\{x}) ∪ {y};

5

i ← i + 1

6

end;

7

j

$

← pick−solution([1, . . . , T], F);

8

return Fj

Pr(x, y) ∝ e−ǫ c(Fi−x+y)

Each iteration of the loop (3-5) 2ǫ∆-DP

Pr(j) ∝ e−ǫ c(Fj)

Selection of the solution (7) 2ǫ∆-DP 2ǫ∆(T+1)-DP In our formalism, {Ψ} kMedian ∼α,0 kMedian {Φ}

C1≃C2 ∧ F01=F02 e2ǫ∆(T+1) Fj1=Fj2

26 / 26

slide-61
SLIDE 61

f-divergences in Crypto

Improving security bounds for Key-Alternating Cipher via Hellinger Distance. EP(k, ·) : {0,1}n → {0,1}n

PERMUTATION 01001 11010

26 / 26

slide-62
SLIDE 62

f-divergences

The f-divergence between two distributions µ1 and µ2 over a set A is defined as ∆f µ1, µ2

  • a∈A

µ2(a) f µ1(a) µ2(a)

  • where f : R≥0 → R is a continuous convex function s.t. f(1) = 0.

Some examples Statistical distance (∆SD) f(t) = 1

2 |t − 1|

Kullback-Leibler (∆KL) f(t) = t ln(t) Hellinger distance (∆HD) f(t) = 1

2(

√ t − 1)2 α-distance (∆α) f(t) = max{t − α, 0}

26 / 26

slide-63
SLIDE 63

Indifferentiability

F with access to a RO h is (tS, q, ǫ)-indifferentiable from a RO H if ∃S that runs in time tS, ∀D that makes at most q queries,

  • Pr
  • b ← DF,h : b = 1
  • − Pr
  • b ← DH,S : b = 1
  • ≤ ǫ

F h H S D 0/1

26 / 26

slide-64
SLIDE 64

Indifferentiability

F with access to a RO h is (tS, q, ǫ)-indifferentiable from a RO H if ∃S that runs in time tS, ∀D that makes at most q queries,

  • Pr
  • b ← DF,h : b = 1
  • − Pr
  • b ← DH,S : b = 1
  • ≤ ǫ

F h H S D 0/1 In any secure cryptosystem, a random oracle H can be replaced with the construction F, which uses a random oracle h

26 / 26

slide-65
SLIDE 65

Indifferentiability

F with access to a RO h is (tS, q, ǫ)-indifferentiable from a RO H if ∃S that runs in time tS, ∀D that makes at most q queries,

  • Pr
  • b ← DF,h : b = 1
  • − Pr
  • b ← DH,S : b = 1
  • ≤ ǫ

F h H S D 0/1 In any secure cryptosystem, a random oracle H into EC(Fp) can be replaced with the construction F, which uses a random oracle h into Fp × ZN

26 / 26

slide-66
SLIDE 66

.

26 / 26

slide-67
SLIDE 67

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

26 / 26

slide-68
SLIDE 68

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

Hash Function

  • Arb. size

input Fix size

  • utput

Building blocks of numerous cryptosystems: encryption schemes, signature schemes, etc.

26 / 26

slide-69
SLIDE 69

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

Hash Function

  • Arb. size

input Fix size

  • utput

{0,1}⋆ {0,1}k

Building blocks of numerous cryptosystems: encryption schemes, signature schemes, etc.

26 / 26

slide-70
SLIDE 70

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

Hash Function

  • Arb. size

input Fix size

  • utput

N [1, . . . , N]

Building blocks of numerous cryptosystems: encryption schemes, signature schemes, etc.

26 / 26

slide-71
SLIDE 71

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

Hash Function

  • Arb. size

input Fix size

  • utput

M G

Building blocks of numerous cryptosystems: encryption schemes, signature schemes, etc.

26 / 26

slide-72
SLIDE 72

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

Hash Function

  • Arb. size

input Fix size

  • utput

Building blocks of numerous cryptosystems: encryption schemes, signature schemes, etc. Their output should “look like” uniformly distributed.

26 / 26

slide-73
SLIDE 73

A Crypto Case Study

Constructing Secure Hash Functions into Elliptic Curves (EC)

Hash Function

  • Arb. size

input Fix size

  • utput

EC

Building blocks of numerous cryptosystems: encryption schemes, signature schemes, etc. Their output should “look like” uniformly distributed. Hash functions into elliptic curve allow an efficient implementation of some functionalities.

26 / 26

slide-74
SLIDE 74

A Crypto Case Study – Cont’d I

What is an elliptic curve? Given a finite field F and two scalars a, b ∈ F, EC(F) {(X, Y) ∈ F × F | Y2 = X3 + aX + b}

26 / 26

slide-75
SLIDE 75

A Crypto Case Study – Cont’d I

What is an elliptic curve? Given a finite field F and two scalars a, b ∈ F, EC(F) {(X, Y) ∈ F × F | Y2 = X3 + aX + b} ∪ {O} Theorem: the points in EC(F) have a group structure.

26 / 26

slide-76
SLIDE 76

A Crypto Case Study – Cont’d I

What is an elliptic curve? Given a finite field F and two scalars a, b ∈ F, EC(F) {(X, Y) ∈ F × F | Y2 = X3 + aX + b} ∪ {O} Theorem: the points in EC(F) have a group structure. How to securely hash into an elliptic curve EC(F)? [Brier+ ’10] H(m) = f (h1(m)) ⊗ gh2(m)

: M→F : M→[1,...,N] : F→EC(F)

26 / 26

slide-77
SLIDE 77

A Crypto Case Study – Cont’d II

Indifferentiability from a Random Oracle

H Real World RO Ideal World D 0/1 (guess)

H is called ǫ-indifferentiable from a random oracle iff ∀D • ∆SD

  • DH, DRO

≤ ǫ Machine-checked version of Brier et al’s proof Equational theory for approximate observational equivalence (specialization of our Hoare logic) + adversary rule. Requires heavy algebraic reasoning (elliptic curves and group theory). 10.000+ lines of Coq proof-script. With G. Barthe, B. Grégoire, S. Heraud, S. Zanella [POST ’12, JCS ’14]

26 / 26