cpsa-4.4.4: tst/yahalom_shapes.tst
(comment "CPSA 4.3.1")
(comment "Extracted shapes")
(herald "Yahalom Protocol Without Forwarding" (bound 15))
(comment "CPSA 4.3.1")
(comment "All input read from tst/yahalom.scm")
(comment "Strand count bounded at 15")
(defprotocol yahalom basic
(defrole init
(vars (a b c name) (n-a n-b text) (k skey))
(trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
(send (enc n-b k))))
(defrole resp
(vars (b a c name) (n-a n-b text) (k skey))
(trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
(recv (enc a k (ltk b c))) (recv (enc n-b k))))
(defrole serv
(vars (c a b name) (n-a n-b text) (k skey))
(trace (recv (cat b (enc a n-a n-b (ltk b c))))
(send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
(uniq-orig k))
(defgenrule neqRl_indx
(forall ((x indx)) (implies (fact neq x x) (false))))
(defgenrule neqRl_strd
(forall ((x strd)) (implies (fact neq x x) (false))))
(defgenrule neqRl_mesg
(forall ((x mesg)) (implies (fact neq x x) (false)))))
(defskeleton yahalom
(vars (k skey) (n-b n-a text) (a b c name))
(defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
(non-orig (ltk a c) (ltk b c))
(uniq-orig n-b)
(traces
((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
(recv (enc a k (ltk b c))) (recv (enc n-b k))))
(label 0)
(unrealized (0 2) (0 3))
(origs (n-b (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton yahalom
(vars (k skey) (n-b n-a text) (a b c name))
(defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
(defstrand serv 3 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
(defstrand init 3 (k k) (n-a n-a) (n-b n-b) (a a) (b b) (c c))
(precedes ((0 1) (1 0)) ((1 1) (2 1)) ((1 2) (0 2)) ((2 2) (0 3)))
(non-orig (ltk a c) (ltk b c))
(uniq-orig k n-b)
(operation nonce-test (contracted (a-0 a) (b-0 b) (c-0 c) (n-a-0 n-a))
n-b (2 1) (enc a n-a n-b (ltk b c)) (enc b k n-a n-b (ltk a c)))
(traces
((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
(recv (enc a k (ltk b c))) (recv (enc n-b k)))
((recv (cat b (enc a n-a n-b (ltk b c))))
(send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
((send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
(send (enc n-b k))))
(label 8)
(parent 0)
(realized)
(shape)
(maps ((0) ((a a) (b b) (c c) (n-b n-b) (n-a n-a) (k k))))
(origs (k (1 1)) (n-b (0 1))))
(comment "Nothing left to do")
(defprotocol yahalom basic
(defrole init
(vars (a b c name) (n-a n-b text) (k skey))
(trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
(send (enc n-b k))))
(defrole resp
(vars (b a c name) (n-a n-b text) (k skey))
(trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
(recv (enc a k (ltk b c))) (recv (enc n-b k))))
(defrole serv
(vars (c a b name) (n-a n-b text) (k skey))
(trace (recv (cat b (enc a n-a n-b (ltk b c))))
(send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
(uniq-orig k))
(defgenrule neqRl_indx
(forall ((x indx)) (implies (fact neq x x) (false))))
(defgenrule neqRl_strd
(forall ((x strd)) (implies (fact neq x x) (false))))
(defgenrule neqRl_mesg
(forall ((x mesg)) (implies (fact neq x x) (false)))))
(defskeleton yahalom
(vars (k skey) (n-b n-a text) (a b c name))
(defstrand resp 4 (k k) (n-a n-a) (n-b n-b) (b b) (a a) (c c))
(deflistener k)
(non-orig (ltk a c) (ltk b c))
(uniq-orig n-b)
(traces
((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
(recv (enc a k (ltk b c))) (recv (enc n-b k)))
((recv k) (send k)))
(label 52)
(unrealized (0 2) (0 3))
(origs (n-b (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(comment "Nothing left to do")
(defprotocol yahalom basic
(defrole init
(vars (a b c name) (n-a n-b text) (k skey))
(trace (send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
(send (enc n-b k))))
(defrole resp
(vars (b a c name) (n-a n-b text) (k skey))
(trace (recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))
(recv (enc a k (ltk b c))) (recv (enc n-b k))))
(defrole serv
(vars (c a b name) (n-a n-b text) (k skey))
(trace (recv (cat b (enc a n-a n-b (ltk b c))))
(send (enc b k n-a n-b (ltk a c))) (send (enc a k (ltk b c))))
(uniq-orig k))
(defgenrule neqRl_indx
(forall ((x indx)) (implies (fact neq x x) (false))))
(defgenrule neqRl_strd
(forall ((x strd)) (implies (fact neq x x) (false))))
(defgenrule neqRl_mesg
(forall ((x mesg)) (implies (fact neq x x) (false)))))
(defskeleton yahalom
(vars (k skey) (n-a n-b text) (a b c name))
(defstrand init 3 (k k) (n-a n-a) (n-b n-b) (a a) (b b) (c c))
(non-orig (ltk a c) (ltk b c))
(uniq-orig n-a)
(traces
((send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
(send (enc n-b k))))
(label 58)
(unrealized (0 1))
(origs (n-a (0 0)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton yahalom
(vars (k skey) (n-a n-b text) (a b c name))
(defstrand init 3 (k k) (n-a n-a) (n-b n-b) (a a) (b b) (c c))
(defstrand serv 2 (k k) (n-a n-a) (n-b n-b) (c c) (a a) (b b))
(defstrand resp 2 (n-a n-a) (n-b n-b) (b b) (a a) (c c))
(precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)))
(non-orig (ltk a c) (ltk b c))
(uniq-orig k n-a)
(operation encryption-test (added-strand resp 2)
(enc a n-a n-b (ltk b c)) (1 0))
(traces
((send (cat a n-a)) (recv (enc b k n-a n-b (ltk a c)))
(send (enc n-b k)))
((recv (cat b (enc a n-a n-b (ltk b c))))
(send (enc b k n-a n-b (ltk a c))))
((recv (cat a n-a)) (send (cat b (enc a n-a n-b (ltk b c))))))
(label 60)
(parent 58)
(realized)
(shape)
(maps ((0) ((a a) (b b) (c c) (n-a n-a) (n-b n-b) (k k))))
(origs (k (1 1)) (n-a (0 0))))
(comment "Nothing left to do")