Deciding Indistinguishability: A Decision Result for a Set of - - PowerPoint PPT Presentation

deciding indistinguishability a decision result for a set
SMART_READER_LITE
LIVE PREVIEW

Deciding Indistinguishability: A Decision Result for a Set of - - PowerPoint PPT Presentation

Deciding Indistinguishability: A Decision Result for a Set of Cryptographic Game Transformations Adrien Koutsos March 13, 2018 Adrien Koutsos Deciding Indistinguishability March 13, 2018 1 / 37 Introduction 1 The Model 2 Game


slide-1
SLIDE 1

Deciding Indistinguishability: A Decision Result for a Set

  • f Cryptographic Game Transformations

Adrien Koutsos March 13, 2018

Adrien Koutsos Deciding Indistinguishability March 13, 2018 1 / 37

slide-2
SLIDE 2

1

Introduction

2

The Model

3

Game Transformations Basic Games Game Transformations

4

Decision Result

5

Conclusion

Adrien Koutsos Deciding Indistinguishability March 13, 2018 2 / 37

slide-3
SLIDE 3

Introduction

Motivation

Security protocols are distributed programs which aim at providing some security properties. They are extensively used, and bugs can be very costly. Security protocols are often short, but the security properties are complex. ⇒ Need to use formal methods.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 3 / 37

slide-4
SLIDE 4

Introduction

Goal of this work

We focus on fully automatic proofs of indistinguishability properties in the computational model: Computational model: the adversary is any probabilistic polynomial time Turing machine. This offers strong security guarantees. Indistinguishability properties: e.g. strong secrecy, anonymity or unlinkability. Fully automatic: we want a complete decision procedure.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 4 / 37

slide-5
SLIDE 5

The Private Authentication Protocol

A’ : nA’

$

← B : nB

$

← 1 : A’ − → B : {pk(A’) , nA’}pk(B) 2 : B − → A’ :

  • {nA’ , nB}pk(A)

if pk(A’) = pk(A) {nB , nB}pk(A)

  • therwise

Adrien Koutsos Deciding Indistinguishability March 13, 2018 5 / 37

slide-6
SLIDE 6

1

Introduction

2

The Model

3

Game Transformations Basic Games Game Transformations

4

Decision Result

5

Conclusion

Adrien Koutsos Deciding Indistinguishability March 13, 2018 6 / 37

slide-7
SLIDE 7

Model: Messages

Messages

In the computational model, a message is a distribution over bitstrings. We

  • nly consider distribution built using:

Random uniform sampling nA, nB . . . over {0, 1}η. Function applications: A, B, _ , _ , πi(_), {_}_ , pk(_), sk(_), if _ then _ else _ . . . .

Adrien Koutsos Deciding Indistinguishability March 13, 2018 7 / 37

slide-8
SLIDE 8

Model: Messages

Messages

In the computational model, a message is a distribution over bitstrings. We

  • nly consider distribution built using:

Random uniform sampling nA, nB . . . over {0, 1}η. Function applications: A, B, _ , _ , πi(_), {_}_ , pk(_), sk(_), if _ then _ else _ . . . .

Examples

nA , A π1(nB) {pk(A’) , nA’}pk(B)

Adrien Koutsos Deciding Indistinguishability March 13, 2018 7 / 37

slide-9
SLIDE 9

Model: Messages

The Private Authentication Protocol

1 : A’ − → B : {pk(A’) , nA’}pk(B) 2 : B − → A’ :

  • {nA’ , nB}pk(A)

if pk(A’) = pk(A) {nB , nB}pk(A)

  • therwise

How do we represent the adversary’s inputs?

Adrien Koutsos Deciding Indistinguishability March 13, 2018 8 / 37

slide-10
SLIDE 10

Model: Messages

The Private Authentication Protocol

1 : A’ − → B : {pk(A’) , nA’}pk(B) 2 : B − → A’ :

  • {nA’ , nB}pk(A)

if pk(A’) = pk(A) {nB , nB}pk(A)

  • therwise

How do we represent the adversary’s inputs?

We use special functions symbols g, g0, g1 . . . .

Adrien Koutsos Deciding Indistinguishability March 13, 2018 8 / 37

slide-11
SLIDE 11

Model: Messages

The Private Authentication Protocol

1 : A’ − → B : {pk(A’) , nA’}pk(B) 2 : B − → A’ :

  • {nA’ , nB}pk(A)

if pk(A’) = pk(A) {nB , nB}pk(A)

  • therwise

How do we represent the adversary’s inputs?

We use special functions symbols g, g0, g1 . . . . Intuitively, they can be any probabilistic polynomial time algorithm. Moreover, branching of the protocol is done using if _ then _ else _.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 8 / 37

slide-12
SLIDE 12

Model: Messages

The Private Authentication Protocol

1 : A’ − → B : {pk(A’) , nA’}pk(B) 2 : B − → A’ :

  • {nA’ , nB}pk(A)

if pk(A’) = pk(A) {nB , nB}pk(A)

  • therwise

Adrien Koutsos Deciding Indistinguishability March 13, 2018 9 / 37

slide-13
SLIDE 13

Model: Messages

The Private Authentication Protocol

1 : A’ − → B : {pk(A’) , nA’}pk(B) 2 : B − → A’ :

  • {nA’ , nB}pk(A)

if pk(A’) = pk(A) {nB , nB}pk(A)

  • therwise

Term Representing the Messages in PA

t1 = {pk(A’) , nA’}pk(B) t2 = if EQ(π1(dec(g(t1), sk(B))); pk(A)) then {π2(dec(g(t1), sk(B))) , nB}pk(A) else {nB , nB}pk(A)

Adrien Koutsos Deciding Indistinguishability March 13, 2018 9 / 37

slide-14
SLIDE 14

Model: Protocol Execution

Protocol Execution

The execution of a protocol P is a sequence of terms using adversarial function symbols: uP

0 , . . . , uP n

where uP

i is the i-th message sent on the network by P.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 10 / 37

slide-15
SLIDE 15

Model: Protocol Execution

Protocol Execution

The execution of a protocol P is a sequence of terms using adversarial function symbols: uP

0 , . . . , uP n

where uP

i is the i-th message sent on the network by P.

Remark

Only possible for a bounded number of sessions. The sequence of terms can be automatically computed (folding).

Adrien Koutsos Deciding Indistinguishability March 13, 2018 10 / 37

slide-16
SLIDE 16

Model: Security Property

Indistinguishability Properties

Two protocols P and Q are indistinguishable if every adversary A loses the following game: We toss a coin b. If b = 0, then A interacts with P. Otherwise A interacts with Q. Remark: A is an active adversary (it is the network). After the protocol execution, A outputs a guess b′ for b. A wins if it guesses correctly with probability better than ≈ 1/2.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 11 / 37

slide-17
SLIDE 17

Model: Security Properties

Proposition

P and Q are indistinguishable ⇔ uP

0 , . . . , uP n and uQ 0 , . . . , uQ n are indistinguishable

⇔ uP

0 , . . . , uP n

∼ uQ

0 , . . . , uQ n

Adrien Koutsos Deciding Indistinguishability March 13, 2018 12 / 37

slide-18
SLIDE 18

Model: Security Properties

Proposition

P and Q are indistinguishable ⇔ uP

0 , . . . , uP n and uQ 0 , . . . , uQ n are indistinguishable

⇔ uP

0 , . . . , uP n

∼ uQ

0 , . . . , uQ n

Example: Privacy for PA

tA

1 , tA 2

∼ tA’

1 , tA’ 2

Adrien Koutsos Deciding Indistinguishability March 13, 2018 12 / 37

slide-19
SLIDE 19

Model: Summary

Summary

Messages are represented by terms, which are built using names N and function symbols F. A protocol execution is represented by a sequence of terms. Indistinguishability properties are expressed through games: uP

0 , . . . , uP n

∼ uQ

0 , . . . , uQ n

Adrien Koutsos Deciding Indistinguishability March 13, 2018 13 / 37

slide-20
SLIDE 20

1

Introduction

2

The Model

3

Game Transformations Basic Games Game Transformations

4

Decision Result

5

Conclusion

Adrien Koutsos Deciding Indistinguishability March 13, 2018 14 / 37

slide-21
SLIDE 21

Basic Games

Basic Games

We know that some indistinguishability games are secure: Using α-renaming of random samplings: nA, nB ∼ nC, nD

Adrien Koutsos Deciding Indistinguishability March 13, 2018 15 / 37

slide-22
SLIDE 22

Basic Games

Basic Games

We know that some indistinguishability games are secure: Using α-renaming of random samplings: nA, nB ∼ nC, nD Using probabilistic arguments: when nA ∈ st(t),

  • t ⊕ nA ∼ nB

EQ(t; nA) ∼ false

Adrien Koutsos Deciding Indistinguishability March 13, 2018 15 / 37

slide-23
SLIDE 23

Basic Games

Basic Games

We know that some indistinguishability games are secure: Using α-renaming of random samplings: nA, nB ∼ nC, nD Using probabilistic arguments: when nA ∈ st(t),

  • t ⊕ nA ∼ nB

EQ(t; nA) ∼ false Using cryptographic assumptions on the security primitives, e.g. if {_}_, dec(_, _), pk(_), sk(_) is ind-cca1.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 15 / 37

slide-24
SLIDE 24

Cryptographic assumptions: ind-cca1

b

$

← {0, 1}; pk (pk, sk) ← KG(1η); c1 x1 := dec(c1, sk); x1 · · · cn xn := dec(cn, sk); xn (m0, m1) y := {mb}pk ; y b′ b = b′? A Challenger

Adrien Koutsos Deciding Indistinguishability March 13, 2018 16 / 37

slide-25
SLIDE 25

Basic Game: Cryptographic Assumptions

EncCCA1 Games:

  • v, {m0}pk ∼

v, {m1}pk

Adrien Koutsos Deciding Indistinguishability March 13, 2018 17 / 37

slide-26
SLIDE 26

Basic Game: Cryptographic Assumptions

EncCCA1 Games:

  • v, {m0}pk ∼

v, {m1}pk Assuming: sk occurs only in decryption position in v, m0, m1.

Theorem

The EncCCA1 games are secure when the encryption and decryption function are an ind-cca1 encryption scheme.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 17 / 37

slide-27
SLIDE 27

Basic Game: Cryptographic Assumptions

EncCCA1 Games:

  • v, {m0}pk ∼

v, {m1}pk Assuming: sk occurs only in decryption position in v, m0, m1.

Theorem

The EncCCA1 games are secure when the encryption and decryption function are an ind-cca1 encryption scheme.

Other cryptographic assumptions

ind-cpa, ind-cca2, cr, prf, euf-cma . . .

Adrien Koutsos Deciding Indistinguishability March 13, 2018 17 / 37

slide-28
SLIDE 28

Game Transformations

Proof Technique

If u ∼ v is not a basic game, we try to show that it is secure through a succession of game transformations:

  • s ∼

t

  • u ∼

v This is the way cryptographers or CryptoVerif do proofs.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 18 / 37

slide-29
SLIDE 29

Game Transformations

Proof Technique

If u ∼ v is not a basic game, we try to show that it is secure through a succession of game transformations:

  • s ∼

t

  • u ∼

v This is the way cryptographers or CryptoVerif do proofs. Validity by reduction: u ∼ v can be replaced by s ∼ t when, given an adversary winning u ∼ v, we can build an adversary winning s ∼ t.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 18 / 37

slide-30
SLIDE 30

Game Transformations

Proof Technique

If u ∼ v is not a basic game, we try to show that it is secure through a succession of game transformations:

  • s ∼

t

  • u ∼

v This is the way cryptographers or CryptoVerif do proofs. Validity by reduction: u ∼ v can be replaced by s ∼ t when, given an adversary winning u ∼ v, we can build an adversary winning s ∼ t.

Example

x ∼ y Sym y ∼ x

Adrien Koutsos Deciding Indistinguishability March 13, 2018 18 / 37

slide-31
SLIDE 31

Structural Game Transformation

Duplicate

x ∼ y Dup x, x ∼ y, y

Adrien Koutsos Deciding Indistinguishability March 13, 2018 19 / 37

slide-32
SLIDE 32

Structural Game Transformation

Duplicate

  • wl, x ∼

wr, y Dup

  • wl, x, x ∼

wr, y, y

Adrien Koutsos Deciding Indistinguishability March 13, 2018 19 / 37

slide-33
SLIDE 33

Structural Game Transformation

Function Application

If you cannot distinguish the arguments, you cannot distinguish the images. x1, . . . , xn ∼ y1, . . . , yn FA f (x1, . . . , xn) ∼ f (y1, . . . , yn)

Adrien Koutsos Deciding Indistinguishability March 13, 2018 20 / 37

slide-34
SLIDE 34

Structural Game Transformation

Function Application

If you cannot distinguish the arguments, you cannot distinguish the images.

  • wl, x1, . . . , xn ∼

wr, y1, . . . , yn FA

  • wl, f (x1, . . . , xn) ∼

wr, f (y1, . . . , yn)

Adrien Koutsos Deciding Indistinguishability March 13, 2018 20 / 37

slide-35
SLIDE 35

Structural Game Transformation

Case Study

If we use Function Application on (if then else ): b, u, v ∼ b′, u′, v′ FA if b then u else v ∼ if b′ then u′ else v′

Adrien Koutsos Deciding Indistinguishability March 13, 2018 21 / 37

slide-36
SLIDE 36

Structural Game Transformation

Case Study

If we use Function Application on (if then else ): b, u, v ∼ b′, u′, v′ FA if b then u else v ∼ if b′ then u′ else v′ But we can do better: b, u ∼ b′, u′ b, v ∼ b′, v′ CS if b then u else v ∼ if b′ then u′ else v′

Adrien Koutsos Deciding Indistinguishability March 13, 2018 21 / 37

slide-37
SLIDE 37

Structural Game Transformation

Case Study

If we use Function Application on (if then else ): b, u, v ∼ b′, u′, v′ FA if b then u else v ∼ if b′ then u′ else v′ But we can do better:

  • wl, b, u ∼

wr, b′, u′

  • wl, b, v ∼

wr, b′, v′ CS

  • wl, if b then u else v ∼

wr, if b′ then u′ else v′

Adrien Koutsos Deciding Indistinguishability March 13, 2018 21 / 37

slide-38
SLIDE 38

Game Transformation: Term Rewriting System

Remark: ∼ is not a congruence!

Counter-Example: n ∼ n and n ∼ n′, but n, n ∼ n, n′.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 22 / 37

slide-39
SLIDE 39

Game Transformation: Term Rewriting System

Remark: ∼ is not a congruence!

Counter-Example: n ∼ n and n ∼ n′, but n, n ∼ n, n′.

Congruence

If EQ(u; v) ∼ true then u and v are (almost always) equal ⇒ we have a congruence. u = v syntactic sugar for EQ(u; v) ∼ true

Equational Theory: Protocol Functions

πi (x1, x2) = xi i ∈ {1, 2} dec({x}pk(y) , sk(y)) = x

Adrien Koutsos Deciding Indistinguishability March 13, 2018 22 / 37

slide-40
SLIDE 40

Game Transformation: Term Rewriting System

Equational Theory: Protocol Functions

If Homomorphism: f ( u, if b then x else y, v) = if b then f ( u, x, v) else f ( u, y, v) if (if b then a else c) then x else y = if b then (if a then x else y) else (if c then x else y)

Adrien Koutsos Deciding Indistinguishability March 13, 2018 23 / 37

slide-41
SLIDE 41

Game Transformation: Term Rewriting System

Equational Theory: Protocol Functions

If Homomorphism: f ( u, if b then x else y, v) = if b then f ( u, x, v) else f ( u, y, v) if (if b then a else c) then x else y = if b then (if a then x else y) else (if c then x else y) If Rewriting: if b then x else x = x if b then (if b then x else y) else z = if b then x else z if b then x else (if b then y else z) = if b then x else z

Adrien Koutsos Deciding Indistinguishability March 13, 2018 23 / 37

slide-42
SLIDE 42

Game Transformation: Term Rewriting System

Equational Theory: Protocol Functions

If Homomorphism: f ( u, if b then x else y, v) = if b then f ( u, x, v) else f ( u, y, v) if (if b then a else c) then x else y = if b then (if a then x else y) else (if c then x else y) If Rewriting: if b then x else x = x if b then (if b then x else y) else z = if b then x else z if b then x else (if b then y else z) = if b then x else z If Re-Ordering: if b then (if a then x else y) else z = if a then (if b then x else z) else (if b then y else z) if b then x else (if a then y else z) = if a then (if b then x else y) else (if b then x else z)

Adrien Koutsos Deciding Indistinguishability March 13, 2018 23 / 37

slide-43
SLIDE 43

1

Introduction

2

The Model

3

Game Transformations Basic Games Game Transformations

4

Decision Result

5

Conclusion

Adrien Koutsos Deciding Indistinguishability March 13, 2018 24 / 37

slide-44
SLIDE 44

Decidability

Decision Problem: Game Transformations

Input: A game u ∼ v. Question: Is there a sequence of game transformations in Ax showing that

  • u ∼

v is secure?

Adrien Koutsos Deciding Indistinguishability March 13, 2018 25 / 37

slide-45
SLIDE 45

Decidability

Decision Problem: Game Transformations

Input: A game u ∼ v. Question: Is there a sequence of game transformations in Ax showing that

  • u ∼

v is secure?

  • r equivalently

Decision Problem: Satisfiability

Input: A ground formula u ∼ v in the BC indistinguishability logic. Question: Is Ax ∧ u ∼ v satisfiable?

Adrien Koutsos Deciding Indistinguishability March 13, 2018 25 / 37

slide-46
SLIDE 46

Game Transformations: Summary

The Non-Basic Game Transformations in Ax

x ∼ y Dup x, x ∼ y, y x1, . . . , xn ∼ y1, . . . , yn FA f (x1, . . . , xn) ∼ f (y1, . . . , yn) b, u ∼ b′, u′ b, v ∼ b′, v′ CS if b then u else v ∼ if b′ then u′ else v′

Adrien Koutsos Deciding Indistinguishability March 13, 2018 26 / 37

slide-47
SLIDE 47

Game Transformations: Summary

The Non-Basic Game Transformations in Ax

x ∼ y Dup x, x ∼ y, y x1, . . . , xn ∼ y1, . . . , yn FA f (x1, . . . , xn) ∼ f (y1, . . . , yn) b, u ∼ b′, u′ b, v ∼ b′, v′ CS if b then u else v ∼ if b′ then u′ else v′

  • u ′ ∼

v ′ R

  • u ∼

v when u =R u ′ and v =R v ′

Adrien Koutsos Deciding Indistinguishability March 13, 2018 26 / 37

slide-48
SLIDE 48

Term Rewriting System

Theorem

There exists a term rewriting system →R ⊆ = such that: →R is convergent. = is equal to (R← ∪ →R)∗.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 27 / 37

slide-49
SLIDE 49

Strategy

Deconstructing Rules

Rules CS, FA and Dup are decreasing transformations.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 28 / 37

slide-50
SLIDE 50

Strategy

Deconstructing Rules

Rules CS, FA and Dup are decreasing transformations.

Problems

The rule R is not decreasing! The basic games (CCA1) are given through a recursive schema.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 28 / 37

slide-51
SLIDE 51

Strategy

Deconstructing Rules

Rules CS, FA and Dup are decreasing transformations.

Problems

The rule R is not decreasing! The basic games (CCA1) are given through a recursive schema.

Naive Idea

R is convergent, so could we restrict proofs to terms in R-normal form?

Adrien Koutsos Deciding Indistinguishability March 13, 2018 28 / 37

slide-52
SLIDE 52

Difficulties

If Introduction: x → if b then x else x

n ∼ if g() then n else n’

Adrien Koutsos Deciding Indistinguishability March 13, 2018 29 / 37

slide-53
SLIDE 53

Difficulties

If Introduction: x → if b then x else x

if g() then n else n ∼ if g() then n else n’ n ∼ if g() then n else n’ R

Adrien Koutsos Deciding Indistinguishability March 13, 2018 29 / 37

slide-54
SLIDE 54

Difficulties

If Introduction: x → if b then x else x

n ∼ n g(), n ∼ g(), n FA n ∼ n’ g(), n ∼ g(), n’ FA if g() then n else n ∼ if g() then n else n’ CS n ∼ if g() then n else n’ R

Adrien Koutsos Deciding Indistinguishability March 13, 2018 29 / 37

slide-55
SLIDE 55

Difficulties

If Introduction: : x → if b then x else x

  • u, n ∼

u , if g( u ) then n else n’

Adrien Koutsos Deciding Indistinguishability March 13, 2018 30 / 37

slide-56
SLIDE 56

Difficulties

If Introduction: : x → if b then x else x

  • u, if g(

u) then n else n ∼ u , if g( u ) then n else n’

  • u, n ∼

u , if g( u ) then n else n’ R

Adrien Koutsos Deciding Indistinguishability March 13, 2018 30 / 37

slide-57
SLIDE 57

Difficulties

If Introduction: : x → if b then x else x

  • u, n ∼

u , n

  • u, g(

u), n ∼ u , g( u ), n

FA, Dup

  • u, n ∼

u , n’

  • u, g(

u), n ∼ u , g( u ), n’

FA, Dup

  • u, if g(

u) then n else n ∼ u , if g( u ) then n else n’ CS

  • u, n ∼

u , if g( u ) then n else n’ R

Adrien Koutsos Deciding Indistinguishability March 13, 2018 30 / 37

slide-58
SLIDE 58

Difficulties

If Introduction: : x → if b then x else x

  • u, n ∼

u , n

  • u, g(

u), n ∼ u , g( u ), n

FA, Dup

  • u, n ∼

u , n’

  • u, g(

u), n ∼ u , g( u ), n’

FA, Dup

  • u, if g(

u) then n else n ∼ u , if g( u ) then n else n’ CS

  • u, n ∼

u , if g( u ) then n else n’ R

Bounded Introduction

Still, the introduced conditional g( u ) is bounded by the other side.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 30 / 37

slide-59
SLIDE 59

Decision Procedure

Proof Cut: Introduction of a Conditional on Both Sides

a, s ∼ b, t a, s ∼ b, t if a then s else s ∼ if b then t else t CS s ∼ t R

Adrien Koutsos Deciding Indistinguishability March 13, 2018 31 / 37

slide-60
SLIDE 60

Decision Procedure

Proof Cut: Introduction of a Conditional on Both Sides

a, s ∼ b, t a, s ∼ b, t if a then s else s ∼ if b then t else t CS s ∼ t R

Lemma

From a proof of a, s ∼ b, t we can extract a smaller proof of s ∼ t.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 31 / 37

slide-61
SLIDE 61

Decision Procedure

Proof Cut: Introduction of a Conditional on Both Sides

a, s ∼ b, t a, s ∼ b, t if a then s else s ∼ if b then t else t CS s ∼ t R

Lemma

From a proof of a, s ∼ b, t we can extract a smaller proof of s ∼ t. ⇒ Proof Cut Elimination

Adrien Koutsos Deciding Indistinguishability March 13, 2018 31 / 37

slide-62
SLIDE 62

Decision Procedure

Proof Cut

a1, b2, b3, u4, w5, u6, v 7 ∼ d1, c 2, d3, s4, t5, r6, p7 a1 b2 u4 b3 w5 u6 v 7 ∼ d1 c 2 s4 d3 t5 r6 p7 FA(3) if a then u else v ∼ if c then s else t R where p ≡ if c then s else t

Adrien Koutsos Deciding Indistinguishability March 13, 2018 32 / 37

slide-63
SLIDE 63

Decision Procedure

Proof Cut

a1, b2, b3, u4, w5, u6, v 7 ∼ d1, c 2, d3, s4, t5, r6, p7 a1 b2 u4 b3 w5 u6 v 7 ∼ d1 c 2 s4 d3 t5 r6 p7 FA(3) if a then u else v ∼ if c then s else t R where p ≡ if c then s else t

Key Lemma

If b, b ∼ b′, b′′ can be shown using only FA, Dup and CCA1 then b′ ≡ b′′.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 32 / 37

slide-64
SLIDE 64

Decision Procedure

Proof Cut

a1, b2, b3, u4, w5, u6, v 7 ∼ d1, c 2, d3, s4, t5, r6, p7 a1 b2 u4 b3 w5 u6 v 7 ∼ d1 c 2 s4 d3 t5 r6 p7 FA(3) if a then u else v ∼ if c then s else t R where p ≡ if c then s else t

Proof Cut Elimination

b2, b3 ∼ c 2, d3 ⇒ c ≡ d.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 33 / 37

slide-65
SLIDE 65

Decision Procedure

Proof Cut

a1, b2, b3, u4, w5, u6, v 7 ∼ d1, c 2, d3, s4, t5, r6, p7 a1 b2 u4 b3 w5 u6 v 7 ∼ d1 c 2 s4 d3 t5 r6 p7 FA(3) if a then u else v ∼ if c then s else t R where p ≡ if c then s else t

Proof Cut Elimination

b2, b3 ∼ c 2, d3 ⇒ c ≡ d. a1, b2 ∼ d1, c 2 ⇒ a ≡ b.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 33 / 37

slide-66
SLIDE 66

Strategy: Theorem

Theorem

The following problem is decidable: Input: A game u ∼ v. Question: Is there a sequence of game transformations in Ax showing that

  • u ∼

v is secure?

Adrien Koutsos Deciding Indistinguishability March 13, 2018 34 / 37

slide-67
SLIDE 67

Strategy: Theorem

Theorem

The following problem is decidable: Input: A game u ∼ v. Question: Is there a sequence of game transformations in Ax showing that

  • u ∼

v is secure?

Remark: Basic Games

The above result holds when using CCA2 as basic games.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 34 / 37

slide-68
SLIDE 68

Strategy: Theorem

Theorem

The following problem is decidable: Input: A game u ∼ v. Question: Is there a sequence of game transformations in Ax showing that

  • u ∼

v is secure?

Remark: Basic Games

The above result holds when using CCA2 as basic games.

Sketch

Commute rule applications to order them as follows: (2Box + R) · CS · FAif · FAf · Dup · U We do proof cut eliminations to get a small proof.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 34 / 37

slide-69
SLIDE 69

1

Introduction

2

The Model

3

Game Transformations Basic Games Game Transformations

4

Decision Result

5

Conclusion

Adrien Koutsos Deciding Indistinguishability March 13, 2018 35 / 37

slide-70
SLIDE 70

Conclusion

Our Works

Designed and proved correct a set of game transformations. Showed a decision result for this set of game transformations.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 36 / 37

slide-71
SLIDE 71

Conclusion

Our Works

Designed and proved correct a set of game transformations. Showed a decision result for this set of game transformations.

Advantages and Drawbacks

Full automation. Completeness: absence of proof implies the existence of an attack. Bounded number of sessions. Cannot easily add cryptographic assumptions: current result only

  • f CCA2.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 36 / 37

slide-72
SLIDE 72

Conclusion

Our Works

Designed and proved correct a set of game transformations. Showed a decision result for this set of game transformations.

Advantages and Drawbacks

Full automation. Completeness: absence of proof implies the existence of an attack. Bounded number of sessions. Cannot easily add cryptographic assumptions: current result only

  • f CCA2.

Future Works

Support for a large class of primitives and associated assumptions. Interactive/automatic prover using the strategy.

Adrien Koutsos Deciding Indistinguishability March 13, 2018 36 / 37

slide-73
SLIDE 73

Thanks for your attention

Adrien Koutsos Deciding Indistinguishability March 13, 2018 37 / 37