From 1effb2ca999acc55af0e9cf81c2472ee34be1d53 Mon Sep 17 00:00:00 2001 From: ccremers Date: Wed, 13 Oct 2004 12:55:23 +0000 Subject: [PATCH] - Added original Kao-Chow protocol. There is something strange with the Arachne method though, that needs investigating. --- spdl/kaochow.spdl | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 spdl/kaochow.spdl diff --git a/spdl/kaochow.spdl b/spdl/kaochow.spdl new file mode 100644 index 0000000..8314d7f --- /dev/null +++ b/spdl/kaochow.spdl @@ -0,0 +1,62 @@ +usertype Sessionkey; +usertype Ticket; +secret k: Function; + +protocol kaochow(I,R,S) +{ + role I + { + const ni: Nonce; + var nr: Nonce; + var kir: Sessionkey; + + send_1 (I,S, I,R,ni); + read_3 (R,I, {I,R,ni,kir}k(I,S), {ni}kir, nr ); + send_4 (I,R, {nr}kir ); + } + + role R + { + var ni: Nonce; + const nr: Nonce; + var kir: Sessionkey; + var T; + + read_2 (S,R, { T, { I,R,ni,kir }k(R,S) }k(R,S) ); + send_3 (R,I, T, {ni}kir, nr ); + read_4 (I,R, {nr}kir ); + + claim_5 (R, Nisynch); + claim_6 (R, Secret, kir); + } + + role S + { + var ni: Nonce; + const kir: Sessionkey; + + read_1 (I,S, I,R,ni); + send_2 (S,R, {I,R,ni,kir}k(I,S), { I,R,ni,kir }k(R,S) ); + } +} + +const Alice,Bob,Simon,Eve: Agent; + +untrusted Eve; +const ne: Nonce; +const te: Ticket; +const ke: Sessionkey; +compromised k(Eve,Eve); +compromised k(Eve,Alice); +compromised k(Eve,Bob); +compromised k(Eve,Simon); +compromised k(Alice,Eve); +compromised k(Bob,Eve); +compromised k(Simon,Eve); + +run kaochow.I(Agent,Agent,Simon); +run kaochow.R(Agent,Agent,Simon); +run kaochow.S(Agent,Agent,Simon); +run kaochow.I(Agent,Agent,Simon); +run kaochow.R(Agent,Agent,Simon); +run kaochow.S(Agent,Agent,Simon);