(comment "CPSA 2.2.11") (comment "Extracted shapes") (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 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 0) (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 0) (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 0) (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 0) (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 0) (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 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 10) (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 10) (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 10) (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 10) (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 10) (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")) (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")) (comment "Nothing left to do")