(herald "Otway-Rees Protocol" (comment "Standard version using variables of sort mesg")) (comment "CPSA 2.2.11") (comment "All input read from or.scm") (defprotocol or basic (defrole init (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text)) (trace (send (cat m my_init_id yr_resp_id (enc na m my_init_id yr_resp_id (ltk my_init_id s)))) (recv (cat m (enc na k (ltk my_init_id s)))))) (defrole resp (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text) (x y mesg)) (trace (recv (cat m yr_init_id my_resp_id x)) (send (cat m yr_init_id my_resp_id x (enc nb m yr_init_id my_resp_id (ltk my_resp_id s)))) (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y))) (defrole serv (vars (a b s name) (na nb text) (k skey) (m text)) (trace (recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) (uniq-orig k))) (defskeleton or (vars (x y mesg) (nb m text) (s a b name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y))) (label 0) (unrealized (0 2)) (origs (nb (0 1))) (comment "2 in cohort - 2 not yet seen")) (defskeleton or (vars (x y mesg) (nb m nb-0 m-0 text) (s a b b-0 name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (defstrand serv 2 (na nb) (nb nb-0) (m m-0) (a b) (b b-0) (s s) (k k)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (added-strand serv 2) (enc nb k (ltk b s)) (0 2)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv (cat m-0 b b-0 (enc nb m-0 b b-0 (ltk b s)) (enc nb-0 m-0 b b-0 (ltk b-0 s)))) (send (cat m-0 (enc nb k (ltk b s)) (enc nb-0 k (ltk b-0 s)))))) (label 1) (parent 0) (unrealized (1 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (x y mesg) (nb m na m-0 text) (s a b a-0 name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m-0) (a a-0) (b b) (s s) (k k)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (added-strand serv 2) (enc nb k (ltk b s)) (0 2)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv (cat m-0 a-0 b (enc na m-0 a-0 b (ltk a-0 s)) (enc nb m-0 a-0 b (ltk b s)))) (send (cat m-0 (enc na k (ltk a-0 s)) (enc nb k (ltk b s)))))) (label 2) (parent 0) (unrealized (1 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (displaced 2 0 resp 2) (enc nb m-0 b b (ltk b s)) (1 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))) (label 3) (parent 1) (unrealized (1 0)) (comment "3 in cohort - 3 not yet seen")) (defskeleton or (vars (x y mesg) (nb m na text) (s a b name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (displaced 2 0 resp 2) (enc nb m-0 a-0 b (ltk b s)) (1 0)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))) (label 4) (parent 2) (seen 6) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) (defskeleton or (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) (defstrand init 1 (na nb-0) (m m) (my_init_id a) (yr_resp_id a) (s s)) (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (added-strand init 1) (enc nb-0 m a a (ltk a s)) (1 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))))) ((send (cat m a a (enc nb-0 m a a (ltk a s)))))) (label 5) (parent 3) (unrealized) (shape) (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y)))) (origs (k (1 1)) (nb (0 1)))) (defskeleton or (vars (x y mesg) (nb m text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (defstrand serv 2 (na nb) (nb nb) (m m) (a a) (b a) (s s) (k k)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (displaced 2 0 resp 2) (enc nb-0 m a a (ltk a s)) (1 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb k (ltk a s)))))) (label 6) (parent 3) (unrealized) (shape) (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y)))) (origs (k (1 1)) (nb (0 1)))) (defskeleton or (vars (x y x-0 mesg) (nb m nb-0 text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) (defstrand resp 2 (x x-0) (nb nb-0) (m m) (yr_init_id a) (my_resp_id a) (s s)) (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (added-strand resp 2) (enc nb-0 m a a (ltk a s)) (1 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))))) ((recv (cat m a a x-0)) (send (cat m a a x-0 (enc nb-0 m a a (ltk a s)))))) (label 7) (parent 3) (unrealized) (shape) (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y)))) (origs (k (1 1)) (nb (0 1)))) (defskeleton or (vars (x y mesg) (nb m na text) (s a b name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (defstrand init 1 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s)) (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (added-strand init 1) (enc na m a b (ltk a s)) (1 0)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) ((send (cat m a b (enc na m a b (ltk a s)))))) (label 8) (parent 4) (unrealized) (shape) (maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y)))) (origs (k (1 1)) (nb (0 1)))) (defskeleton or (vars (x y x-0 mesg) (nb m na text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b a) (s s) (k k)) (defstrand resp 2 (x x-0) (nb na) (m m) (yr_init_id a) (my_resp_id a) (s s)) (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (added-strand resp 2) (enc na m a a (ltk a s)) (1 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv (cat m a a (enc na m a a (ltk a s)) (enc nb m a a (ltk a s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk a s))))) ((recv (cat m a a x-0)) (send (cat m a a x-0 (enc na m a a (ltk a s)))))) (label 9) (parent 4) (unrealized) (shape) (maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y)))) (origs (k (1 1)) (nb (0 1)))) (comment "Nothing left to do") (defprotocol or basic (defrole init (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text)) (trace (send (cat m my_init_id yr_resp_id (enc na m my_init_id yr_resp_id (ltk my_init_id s)))) (recv (cat m (enc na k (ltk my_init_id s)))))) (defrole resp (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text) (x y mesg)) (trace (recv (cat m yr_init_id my_resp_id x)) (send (cat m yr_init_id my_resp_id x (enc nb m yr_init_id my_resp_id (ltk my_resp_id s)))) (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y))) (defrole serv (vars (a b s name) (na nb text) (k skey) (m text)) (trace (recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) (uniq-orig k))) (defskeleton or (vars (na m text) (s a b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (non-orig (ltk a s) (ltk b s)) (uniq-orig na) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s)))))) (label 10) (unrealized (0 1)) (origs (na (0 0))) (comment "2 in cohort - 2 not yet seen")) (defskeleton or (vars (na m nb m-0 text) (s a b b-0 name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m-0) (a a) (b b-0) (s s) (k k)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand serv 2) (enc na k (ltk a s)) (0 1)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv (cat m-0 a b-0 (enc na m-0 a b-0 (ltk a s)) (enc nb m-0 a b-0 (ltk b-0 s)))) (send (cat m-0 (enc na k (ltk a s)) (enc nb k (ltk b-0 s)))))) (label 11) (parent 10) (unrealized (1 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (na m na-0 m-0 text) (s a b a-0 name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na-0) (nb na) (m m-0) (a a-0) (b a) (s s) (k k)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand serv 2) (enc na k (ltk a s)) (0 1)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv (cat m-0 a-0 a (enc na-0 m-0 a-0 a (ltk a-0 s)) (enc na m-0 a-0 a (ltk a s)))) (send (cat m-0 (enc na-0 k (ltk a-0 s)) (enc na k (ltk a s)))))) (label 12) (parent 10) (unrealized (1 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (na m nb text) (s a b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (displaced 2 0 init 1) (enc na m-0 a b-0 (ltk a s)) (1 0)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))) (label 13) (parent 11) (unrealized (1 0)) (comment "3 in cohort - 3 not yet seen")) (defskeleton or (vars (na m na-0 text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (displaced 2 0 init 1) (enc na m-0 a a (ltk a s)) (1 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s)))))) (label 14) (parent 12) (seen 15) (unrealized (1 0)) (comment "3 in cohort - 2 not yet seen")) (defskeleton or (vars (na m text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb na) (m m) (a b) (b b) (s s) (k k)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (displaced 2 0 init 1) (enc nb m b b (ltk b s)) (1 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv (cat m b b (enc na m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na k (ltk b s)) (enc na k (ltk b s)))))) (label 15) (parent 13) (unrealized) (shape) (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m)))) (origs (k (1 1)) (na (0 0)))) (defskeleton or (vars (na m nb text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m) (a b) (b b) (s s) (k k)) (defstrand init 1 (na nb) (m m) (my_init_id b) (yr_resp_id b) (s s)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand init 1) (enc nb m b b (ltk b s)) (1 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv (cat m b b (enc na m b b (ltk b s)) (enc nb m b b (ltk b s)))) (send (cat m (enc na k (ltk b s)) (enc nb k (ltk b s))))) ((send (cat m b b (enc nb m b b (ltk b s)))))) (label 16) (parent 13) (unrealized) (shape) (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m)))) (origs (k (1 1)) (na (0 0)))) (defskeleton or (vars (x mesg) (na m nb text) (s a b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (defstrand resp 2 (x x) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand resp 2) (enc nb m a b (ltk b s)) (1 0)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))))) (label 17) (parent 13) (unrealized) (shape) (maps ((0) ((na na) (s s) (a a) (b b) (k k) (m m)))) (origs (k (1 1)) (na (0 0)))) (defskeleton or (vars (na m na-0 text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) (defstrand init 1 (na na-0) (m m) (my_init_id b) (yr_resp_id b) (s s)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand init 1) (enc na-0 m b b (ltk b s)) (1 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s))))) ((send (cat m b b (enc na-0 m b b (ltk b s)))))) (label 18) (parent 14) (unrealized) (shape) (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m)))) (origs (k (1 1)) (na (0 0)))) (defskeleton or (vars (x mesg) (na m na-0 text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) (defstrand resp 2 (x x) (nb na-0) (m m) (yr_init_id b) (my_resp_id b) (s s)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand resp 2) (enc na-0 m b b (ltk b s)) (1 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s))))) ((recv (cat m b b x)) (send (cat m b b x (enc na-0 m b b (ltk b s)))))) (label 19) (parent 14) (unrealized) (shape) (maps ((0) ((na na) (s s) (a b) (b b) (k k) (m m)))) (origs (k (1 1)) (na (0 0)))) (comment "Nothing left to do") (defprotocol or basic (defrole init (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text)) (trace (send (cat m my_init_id yr_resp_id (enc na m my_init_id yr_resp_id (ltk my_init_id s)))) (recv (cat m (enc na k (ltk my_init_id s)))))) (defrole resp (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text) (x y mesg)) (trace (recv (cat m yr_init_id my_resp_id x)) (send (cat m yr_init_id my_resp_id x (enc nb m yr_init_id my_resp_id (ltk my_resp_id s)))) (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y))) (defrole serv (vars (a b s name) (na nb text) (k skey) (m text)) (trace (recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) (uniq-orig k))) (defskeleton or (vars (x y mesg) (nb m text) (s a b name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (deflistener k) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv k) (send k))) (label 20) (unrealized (0 2)) (origs (nb (0 1))) (comment "2 in cohort - 2 not yet seen")) (defskeleton or (vars (x y mesg) (nb m nb-0 m-0 text) (s a b b-0 name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na nb) (nb nb-0) (m m-0) (a b) (b b-0) (s s) (k k)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (added-strand serv 2) (enc nb k (ltk b s)) (0 2)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv k) (send k)) ((recv (cat m-0 b b-0 (enc nb m-0 b b-0 (ltk b s)) (enc nb-0 m-0 b b-0 (ltk b-0 s)))) (send (cat m-0 (enc nb k (ltk b s)) (enc nb-0 k (ltk b-0 s)))))) (label 21) (parent 20) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (x y mesg) (nb m na m-0 text) (s a b a-0 name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m-0) (a a-0) (b b) (s s) (k k)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (added-strand serv 2) (enc nb k (ltk b s)) (0 2)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv k) (send k)) ((recv (cat m-0 a-0 b (enc na m-0 a-0 b (ltk a-0 s)) (enc nb m-0 a-0 b (ltk b s)))) (send (cat m-0 (enc na k (ltk a-0 s)) (enc nb k (ltk b s)))))) (label 22) (parent 20) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (deflistener k) (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (displaced 3 0 resp 2) (enc nb m-0 b b (ltk b s)) (2 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv k) (send k)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s)))))) (label 23) (parent 21) (unrealized (1 0) (2 0)) (comment "3 in cohort - 3 not yet seen")) (defskeleton or (vars (x y mesg) (nb m na text) (s a b name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (displaced 3 0 resp 2) (enc nb m-0 a-0 b (ltk b s)) (2 0)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv k) (send k)) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))) (label 24) (parent 22) (seen 26) (unrealized (1 0) (2 0)) (comment "3 in cohort - 2 not yet seen")) (defskeleton or (vars (x y mesg) (nb m nb-0 text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (deflistener k) (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) (defstrand init 1 (na nb-0) (m m) (my_init_id a) (yr_resp_id a) (s s)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (added-strand init 1) (enc nb-0 m a a (ltk a s)) (2 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv k) (send k)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))))) ((send (cat m a a (enc nb-0 m a a (ltk a s)))))) (label 25) (parent 23) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (x y mesg) (nb m text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (deflistener k) (defstrand serv 2 (na nb) (nb nb) (m m) (a a) (b a) (s s) (k k)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (displaced 3 0 resp 2) (enc nb-0 m a a (ltk a s)) (2 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv k) (send k)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb k (ltk a s)))))) (label 26) (parent 23) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (x y x-0 mesg) (nb m nb-0 text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (deflistener k) (defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k)) (defstrand resp 2 (x x-0) (nb nb-0) (m m) (yr_init_id a) (my_resp_id a) (s s)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (added-strand resp 2) (enc nb-0 m a a (ltk a s)) (2 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv k) (send k)) ((recv (cat m a a (enc nb m a a (ltk a s)) (enc nb-0 m a a (ltk a s)))) (send (cat m (enc nb k (ltk a s)) (enc nb-0 k (ltk a s))))) ((recv (cat m a a x-0)) (send (cat m a a x-0 (enc nb-0 m a a (ltk a s)))))) (label 27) (parent 23) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (x y mesg) (nb m na text) (s a b name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (defstrand init 1 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig nb k) (operation encryption-test (added-strand init 1) (enc na m a b (ltk a s)) (2 0)) (traces ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))) (recv (cat m y (enc nb k (ltk b s)))) (send y)) ((recv k) (send k)) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) ((send (cat m a b (enc na m a b (ltk a s)))))) (label 28) (parent 24) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (x y x-0 mesg) (nb m na text) (s a name) (k skey)) (defstrand resp 4 (x x) (y y) (nb nb) (m m) (yr_init_id a) (my_resp_id a) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b a) (s s) (k k)) (defstrand resp 2 (x x-0) (nb na) (m m) (yr_init_id a) (my_resp_id a) (s s)) (precedes ((0 1) (2 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (ltk a s)) (uniq-orig nb k) (operation encryption-test (added-strand resp 2) (enc na m a a (ltk a s)) (2 0)) (traces ((recv (cat m a a x)) (send (cat m a a x (enc nb m a a (ltk a s)))) (recv (cat m y (enc nb k (ltk a s)))) (send y)) ((recv k) (send k)) ((recv (cat m a a (enc na m a a (ltk a s)) (enc nb m a a (ltk a s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk a s))))) ((recv (cat m a a x-0)) (send (cat m a a x-0 (enc na m a a (ltk a s)))))) (label 29) (parent 24) (unrealized (1 0)) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol or basic (defrole init (vars (my_init_id yr_resp_id s name) (na text) (k skey) (m text)) (trace (send (cat m my_init_id yr_resp_id (enc na m my_init_id yr_resp_id (ltk my_init_id s)))) (recv (cat m (enc na k (ltk my_init_id s)))))) (defrole resp (vars (yr_init_id my_resp_id s name) (nb text) (k skey) (m text) (x y mesg)) (trace (recv (cat m yr_init_id my_resp_id x)) (send (cat m yr_init_id my_resp_id x (enc nb m yr_init_id my_resp_id (ltk my_resp_id s)))) (recv (cat m y (enc nb k (ltk my_resp_id s)))) (send y))) (defrole serv (vars (a b s name) (na nb text) (k skey) (m text)) (trace (recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) (uniq-orig k))) (defskeleton or (vars (na m text) (s a b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (deflistener k) (non-orig (ltk a s) (ltk b s)) (uniq-orig na) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv k) (send k))) (label 30) (unrealized (0 1)) (origs (na (0 0))) (comment "2 in cohort - 2 not yet seen")) (defskeleton or (vars (na m nb m-0 text) (s a b b-0 name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m-0) (a a) (b b-0) (s s) (k k)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand serv 2) (enc na k (ltk a s)) (0 1)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv k) (send k)) ((recv (cat m-0 a b-0 (enc na m-0 a b-0 (ltk a s)) (enc nb m-0 a b-0 (ltk b-0 s)))) (send (cat m-0 (enc na k (ltk a s)) (enc nb k (ltk b-0 s)))))) (label 31) (parent 30) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (na m na-0 m-0 text) (s a b a-0 name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na-0) (nb na) (m m-0) (a a-0) (b a) (s s) (k k)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand serv 2) (enc na k (ltk a s)) (0 1)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv k) (send k)) ((recv (cat m-0 a-0 a (enc na-0 m-0 a-0 a (ltk a-0 s)) (enc na m-0 a-0 a (ltk a s)))) (send (cat m-0 (enc na-0 k (ltk a-0 s)) (enc na k (ltk a s)))))) (label 32) (parent 30) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton or (vars (na m nb text) (s a b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (displaced 3 0 init 1) (enc na m-0 a b-0 (ltk a s)) (2 0)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv k) (send k)) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s)))))) (label 33) (parent 31) (unrealized (1 0) (2 0)) (comment "3 in cohort - 3 not yet seen")) (defskeleton or (vars (na m na-0 text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (displaced 3 0 init 1) (enc na m-0 a a (ltk a s)) (2 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv k) (send k)) ((recv (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s)))))) (label 34) (parent 32) (seen 35) (unrealized (1 0) (2 0)) (comment "3 in cohort - 2 not yet seen")) (defskeleton or (vars (na m text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb na) (m m) (a b) (b b) (s s) (k k)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (displaced 3 0 init 1) (enc nb m b b (ltk b s)) (2 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv k) (send k)) ((recv (cat m b b (enc na m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na k (ltk b s)) (enc na k (ltk b s)))))) (label 35) (parent 33) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (na m nb text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m) (a b) (b b) (s s) (k k)) (defstrand init 1 (na nb) (m m) (my_init_id b) (yr_resp_id b) (s s)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand init 1) (enc nb m b b (ltk b s)) (2 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv k) (send k)) ((recv (cat m b b (enc na m b b (ltk b s)) (enc nb m b b (ltk b s)))) (send (cat m (enc na k (ltk b s)) (enc nb k (ltk b s))))) ((send (cat m b b (enc nb m b b (ltk b s)))))) (label 36) (parent 33) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (x mesg) (na m nb text) (s a b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id a) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k)) (defstrand resp 2 (x x) (nb nb) (m m) (yr_init_id a) (my_resp_id b) (s s)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (ltk a s) (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand resp 2) (enc nb m a b (ltk b s)) (2 0)) (traces ((send (cat m a b (enc na m a b (ltk a s)))) (recv (cat m (enc na k (ltk a s))))) ((recv k) (send k)) ((recv (cat m a b (enc na m a b (ltk a s)) (enc nb m a b (ltk b s)))) (send (cat m (enc na k (ltk a s)) (enc nb k (ltk b s))))) ((recv (cat m a b x)) (send (cat m a b x (enc nb m a b (ltk b s)))))) (label 37) (parent 33) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (na m na-0 text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) (defstrand init 1 (na na-0) (m m) (my_init_id b) (yr_resp_id b) (s s)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand init 1) (enc na-0 m b b (ltk b s)) (2 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv k) (send k)) ((recv (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s))))) ((send (cat m b b (enc na-0 m b b (ltk b s)))))) (label 38) (parent 34) (unrealized (1 0)) (comment "empty cohort")) (defskeleton or (vars (x mesg) (na m na-0 text) (s b name) (k skey)) (defstrand init 2 (na na) (m m) (my_init_id b) (yr_resp_id b) (s s) (k k)) (deflistener k) (defstrand serv 2 (na na-0) (nb na) (m m) (a b) (b b) (s s) (k k)) (defstrand resp 2 (x x) (nb na-0) (m m) (yr_init_id b) (my_resp_id b) (s s)) (precedes ((0 0) (2 0)) ((2 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (ltk b s)) (uniq-orig na k) (operation encryption-test (added-strand resp 2) (enc na-0 m b b (ltk b s)) (2 0)) (traces ((send (cat m b b (enc na m b b (ltk b s)))) (recv (cat m (enc na k (ltk b s))))) ((recv k) (send k)) ((recv (cat m b b (enc na-0 m b b (ltk b s)) (enc na m b b (ltk b s)))) (send (cat m (enc na-0 k (ltk b s)) (enc na k (ltk b s))))) ((recv (cat m b b x)) (send (cat m b b x (enc na-0 m b b (ltk b s)))))) (label 39) (parent 34) (unrealized (1 0)) (comment "empty cohort")) (comment "Nothing left to do")