29
Guessing Games Cryptography Model Checking Conclusion Modeλ Checking DEL for Guessing Games and Cryptography Malvin Gattinger ILLC, Amsterdam October 3rd 2014 LiRA-Workshop “The Logical Dynamics of Information, Agency and Interaction” 1 / 29

Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Modeλ Checking DEL forGuessing Games and Cryptography

Malvin Gattinger

ILLC, Amsterdam

October 3rd 2014

LiRA-Workshop“The Logical Dynamics of Information, Agency and Interaction”

1 / 29

Page 2: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Outline

1 Guessing GamesRegister ModelsSyntax and SemanticsAxiomatization

2 CryptographyCommunicationComputationExample: Diffie-Hellman

3 Model CheckingLive DemoMonte Carlo Method

4 Conclusion

2 / 29

Page 3: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Guessing Games

3 / 29

Page 4: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

What does it mean to know a number?

jan: “I have a number in mind, in the range from one to ten.You may take turns guessing. Whoever guesses thenumber first wins.”

gaia: “But how can we know you are not cheating?”rosa: “Please write down the number before we start

guessing, so you can show it afterwards as a proof.”jan: “Okay.”

[Jan writes 6 on a piece of paper, hidden from Gaia and Rosa.]

4 / 29

Page 5: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

What does it mean to know a number?

6

1

23

4

5

78

9

10

5 / 29

Page 6: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

What does it mean to know a number?

Agents: Jan, Gaia, Rosa

1p

p = 6

0

1 ≤ p ≤ 10 and p 6∈ {6}

Gaia

Rosa

6 / 29

Page 7: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Models

Definition (Guessing Game Models)M = (W ,R,V ) where

(W ,R) is a multi-agent S5 frame,V : w 7→ (Pw , fw ,C+

w ,C−w ) is a valuation:Pw ⊆ P are the basic propositions true at w ,fw is a function that assigns to some propositions q ∈ Q triples(n,m,X ), meaning that the value of q is between n and m butnot in X . We also demand that

(i) whenever q ∈ Pw then n = m and X = ∅(ii) whenever q ∈ Pv ∩ Pw for v , w ∈ W then fv (q) = fw (q)

C+w ,C−

w ⊆ Q2 are in/equality constraints in the following sense:(p, q) ∈ C+

w expresses that p and q have the same values and(p, q) ∈ C−

w expresses that p and q have different values at w .

7 / 29

Page 8: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Models

Example

Agents: Jan, Gaia, Rosa

7p

1 ≤ p1 ≤ 10 and p1 6∈ {5}p = 6p 6= p1

4p1, p

p1 = 5p = 6

11p1

p1 = 51 ≤ p ≤ 10 and p 6∈ {6, 10}

p 6= p18

1 ≤ p1 ≤ 10 and p1 6∈ {5}1 ≤ p ≤ 10 and p 6∈ {6, 10}

p 6= p1

Rosa

Gaia

RosaJan

Rosa

Jan

Rosa

Gaia

Rosa

Rosa

8 / 29

Page 9: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Updates (two examples)

Register Creation p i← N: Create secret variable p for agent iwith value N.

p must be globally false before.Copy all worlds, let p = N at the new worlds and let p haveany other value at the others.Connect the worlds for everyone but i .

Announcement !p = q: Tell everyone that p = q.p = q must be true at the current world.Where p and q are false, add p = q to the constraints.

Exact definitions: Action structures as in [BMS98] and [BEK06].

9 / 29

Page 10: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Syntax

Definition (Language)The language LGG consists of formulas, commands and expressions:

φ ::= > | p | p = E | ¬φ | φ ∧ φ | Kiφ | Gφ | 〈C〉φ

C ::= !p = E | !p 6= E | p i← N | C ; C

E ::= p | N

10 / 29

Page 11: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Assignments

Definition (Assignments and Agreement)An assignment is a function h : Prop→ N.It agrees with a world (h (w) iff

for all q ∈ Q: f 0w (q) ≤ h(q) ≤ f 1w (q) and h(q) 6∈ f 2w (q)positive constraints C+

w : if (p, q) ∈ C+w then h(p) = h(q)

negative constraints C−w : if (p, q) ∈ C−w then h(p) 6= h(q).

Example

Agents: Jan, Gaia, Rosa

3p1

p1 = 51 ≤ p ≤ 10 and p 6∈ {6, 10}

0p1, p

p1 = 5p = 6

Gaia

Rosah = {p 7→ 6, p1 7→ 5}agrees with 0, but not with 3.

11 / 29

Page 12: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

SemanticsDefinition (Truth with regard to assignments)M,w , h |= > alwaysM,w , h |= p iff p ∈ PwM,w , h |= p1 = p2 iff h(p1) = h(p2)M,w , h |= p = N iff h(p) = NM,w , h |= ¬φ iff notM,w , h |= φM,w , h |= φ1 ∧ φ2 iff M,w , h |= φ1 andM,w , h |= φ2M,w , h |= Kiφ iff wRiw ′ ⇒ ∀h′ (w ′ :M,w ′, h′ |= φM,w , h |= Gφ iff ∀w ′ ∈W∀h′ (w ′ :M,w ′, h′ |= φM,w , h |= 〈! p = E 〉φ iff M,w , h |= p = E andM!p=E ,w , h |= φM,w , h |= 〈! p 6= E 〉φ iff M,w , h |= p 6= E andM!p 6=E ,w , h |= φ

M,w , h |= 〈p i← N〉φ iff M,w , h |= G¬p andMp i←N ,w , (h ∪ {(p,N)}) |= φ

M,w , h |= 〈A1; A2〉φ iff M,w , h |= 〈A1〉〈A2〉φ12 / 29

Page 13: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Semantics

Definition (World Level Truth)

M,w |= φ iff ∀h with w ( h :M,w , h |= φ.

A formula φ is valid iff for allM,w we haveM,w � φ.We then write � φ.

This leaves some formulas undecided on the world level.But we still have:TheoremFor allM, w , i and φ we have eitherM,w |= Kiφ orM,w =|Kiφ.

13 / 29

Page 14: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Reduction Axioms (some of them)

P5) 〈!p = E 〉K̂iφ↔ (p = E ∧ K̂i(〈!p = E 〉φ))P6) 〈!p = E 〉Gφ↔ (p = E ∧ G(p = E → 〈!p = E 〉φ))

R3a1) 〈p i← N〉(p = N)↔ (G¬p)R3a1’) 〈p i← N〉(p = M)↔ ⊥ where M 6= NR3a2) 〈p i← N〉(q = M)↔ (G¬p ∧ (q = M)) where p 6= qR3b1) 〈p i← N〉(p = p)↔ (G¬p)R3b1’) 〈p i← N〉(p = q)↔ (G¬p ∧ (q = N)) where p 6= qR3b2) 〈p i← N〉(q = p)↔ (G¬p ∧ (q = N)) where p 6= qR3b2’) 〈p i← N〉(q = r)↔ (G¬p ∧ (q = r)) where p 6= q and p 6= r

R6) 〈p i← N〉(Kiφ)↔ (G¬p ∧ Ki(G¬p → 〈p i← N〉φ))R7) 〈p i← N〉(Kjφ)↔ (G¬p ∧ Kjφ) where j 6= iR8) 〈p i← N〉(Gφ)↔ G(〈p i← N〉φ)

14 / 29

Page 15: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Register ModelsSyntax and SemanticsAxiomatization

Axiomatization

Theorem (Soundness)All reduction axioms are valid.

Definition (Proof System)We write ` φ iff φ is provable using propositional tautologies,standard rules for the S5 modalities Ki and the global modality Gand the reduction axioms.

Theorem (Completeness)For all φ ∈ LGG, if � φ, then ` φ.

15 / 29

Page 16: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

CommunicationComputationExample: Diffie-Hellman

Cryptography

16 / 29

Page 17: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

CommunicationComputationExample: Diffie-Hellman

Communication

“Let me tell you a secret ...”

Goal: Model the intended audience, but also eavesdropping.New proposition: w � Li means Agent i is listening at w .Two new commands: 〈Openi〉 and 〈Closei〉.Announcements are only heard by the current listeners.

17 / 29

Page 18: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

CommunicationComputationExample: Diffie-Hellman

Computation

“If I know that p = 5 then I also know that p + p = 10.”

Goal: Give agents some (realistic) computational power.For now: Primality-Testing and modular arithmetic, which are bothassumed to be feasible in Cryptography.

New propositions: PrimeE , CoprimeEENew expressions: E + E mod E , E × E mod E , EE mod E

18 / 29

Page 19: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

CommunicationComputationExample: Diffie-Hellman

The full language

Definition (Language)The language LECL consists of the following formulas, commandsand expressions.

φ ::= > | p | Li | p = E | ¬φ | φ ∧ φ | Kiφ | Gφ | 〈C〉φ| Prime E | Coprime E E

C ::= p i← E | Openi | Closei | !p | !p = N | !p = p| !p 6= N | !p 6= p | ?φ

E ::= p | N | E + E mod E | E × E mod E | EE mod E

19 / 29

Page 20: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

CommunicationComputationExample: Diffie-Hellman

The Diffie-Hellman Key Exchange

(Whitfield Diffie and Martin Hellman [DH76])1 Alice and Bob agree on a prime p and a base g < p such that

g and p − 1 are coprime.2 Alice picks a secret N and sends gN mod p = A to Bob.3 Bob picks a secret M and sends gM mod p = B to Alice.4 Alice calculates k = BN mod p.5 Bob calculates k = AM mod p.6 They now have a shared key k = (gM)N = (gN)M mod p.

If the Diffie-Hellman problem is hard, Eve does not know k.NB: The protocol is only secure against passive eavesdroppers.

20 / 29

Page 21: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

CommunicationComputationExample: Diffie-Hellman

Diffie-Hellman in ECL

LetMDH be the blissful ignorance model for Alice, Bob and Eve.Let DHg ,p,N,M be the command:

Coprime g (p − 1) ;q1

a← N ; r1a← (gq1 mod p) ; Openb ; !r1 ; Closeb ;

q2b← M ; r2

b← (gq2 mod p) ; Opena ; !r2 ; Closea ;s1

a← r2q1 mod p ; s2b← r1q2 mod p

Let ψDH := (s1 = s2) ∧ (Kas1 ∧ Kbs2) ∧ (¬Kes1 ∧ ¬Kes2).Then we have:

MDH,w � 〈DHg ,p,N,M〉ψDH

21 / 29

Page 22: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Live DemoMonte Carlo Method

Model Checking

22 / 29

Page 23: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Live DemoMonte Carlo Method

Live Demo

Example 1Creating a secret number for Alice and telling Bob about it.

Example 2Order matters: “Hey Bob! Hey Alice!” 6= “Hey Alice! Hey Bob!”

23 / 29

Page 24: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Live DemoMonte Carlo Method

Monte Carlo Method

M,w |≈ φ iff for some randomly picked h (w :M,w , h |= φ

For many formulas we do not have to check all possible assignments.Example: Is Ka(p = q) is true at 0?

0q, p

q = 5p = 5

1p

0 ≤ q ≤ 256 and q 6∈ {5}p = 5

Alice

1 256

No, and checking one assignment at 1 suffices.

NB: There are also cases where this almost always goes wrong.24 / 29

Page 25: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Live DemoMonte Carlo Method

Normal VS. Monte-Carlo Methods

How long does it take to checkMDH,w � 〈DHg ,p,N,M〉ψDH?

registersize Normal Monte Carlo28 1.07 2.7429 1.36 2.82210 2.13 3.41211 3.59 3.24212 5.17 2.8213 11.56 3.28214 22.66 3.57215 44.44 4.1216 81.26 3.52

25 / 29

Page 26: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Conclusion

26 / 29

Page 27: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Conclusion

To know a number is to distinguish a true value from all othersRegister models for DEL:reduce “Knowledge of” to “Knowledge that”Axiomatization for GGExplicit communication and computation in ECLExample: Diffie-HellmanImplemented both frameworks in HaskellEfficient but probabilistic Monte Carlo method

Future ideas: axiomatize full ECL, improve implementation,non-S5, other protocols, automated attack finding, . . .

27 / 29

Page 28: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

References

Johan van Benthem, Jan van Eijck, and Barteld Kooi.Logics of communication and change.Information and computation, 204(11):1620–1662, 2006.

Alexandru Baltag, Lawrence S. Moss, and Slawomir Solecki.The logic of public announcements, common knowledge, and private suspicions.In I. Bilboa, editor, Proceedings of TARK’98, pages 43–56, 1998.

Whitfield Diffie and Martin Hellman.New directions in cryptography.Information Theory, IEEE Transactions on, 22(6):644–654, 1976.

28 / 29

Page 29: Modeλ CheckingDELfor GuessingGamesandCryptography · 2014-10-03 · GuessingGames Cryptography ModelChecking Conclusion Modeλ CheckingDELfor GuessingGamesandCryptography MalvinGattinger

Guessing GamesCryptography

Model CheckingConclusion

Thank you.

http://is.gd/eclonline

29 / 29