(herald "Station-to-station protocol" (bound 20) (algebra diffie-hellman)) (comment "CPSA 4.4.3") (comment "All input read from tst/sts.scm") (comment "Strand count bounded at 20") (defprotocol station-to-station diffie-hellman (defrole init (vars (x rndx) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))) (send (privk a))) (uniq-gen x)) (defrole resp (vars (y rndx) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))) (send (privk b))) (uniq-gen y)) (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 station-to-station (vars (a b name) (h base) (x rndx)) (defstrand init 3 (a a) (b b) (h h) (x x)) (non-orig (privk a) (privk b)) (uniq-gen x) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))))) (label 0) (unrealized (0 1)) (origs) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (1 1)) ((1 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation encryption-test (added-strand init 3) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 1) (parent 0) (unrealized (1 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation encryption-test (added-strand resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 2) (parent 0) (realized) (shape) (maps ((0) ((a a) (b b) (x x) (h (exp (gen) y))))) (origs)) (defskeleton station-to-station (vars (a b name) (h base) (x rndx)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation encryption-test (added-listener (exp h x)) (enc (enc h (exp (gen) x) (privk b)) (exp h x)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x)))) (label 3) (parent 0) (unrealized (0 1) (1 0)) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((1 0) (2 0)) ((1 2) (0 1)) ((2 1) (1 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (1 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 4) (parent 1) (unrealized (2 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x rndx)) (defstrand init 3 (a a) (b b) (h (gen)) (x x)) (deflistener (exp (gen) x)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (gen) (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x)))) (send (enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x)))) ((recv (exp (gen) x)) (send (exp (gen) x)))) (label 5) (parent 3) (unrealized (0 1)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x)) (deflistener (gen)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (rec x)) (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b)) (gen)))) (send (enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen)))) ((recv (gen)) (send (gen)))) (label 6) (parent 3) (unrealized (0 1)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x)) (deflistener (exp (gen) x-0)) (defstrand init 1 (x x-0)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) x-0)) (enc (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b)) (exp (gen) x-0)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a)) (exp (gen) x-0)))) ((recv (exp (gen) x-0)) (send (exp (gen) x-0))) ((send (exp (gen) x-0)))) (label 7) (parent 3) (unrealized (0 1)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x)) (deflistener (exp (gen) y)) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) y)) (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b)) (exp (gen) y)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 8) (parent 3) (unrealized (0 1)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (h base) (x rndx) (w expt)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (deflistener (cat (exp h (mul x (rec w))) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w)) (exp h x) (1 0)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x))) ((recv (cat (exp h (mul x (rec w))) w)) (send (cat (exp h (mul x (rec w))) w)))) (label 9) (parent 3) (unrealized (0 1) (2 0)) (comment "4 in cohort - 4 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 10) (parent 4) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (3 0)) ((1 0) (3 0)) ((1 2) (0 1)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 11) (parent 4) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (w expt) (x rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) w)) (x x)) (deflistener (exp (gen) (mul w x))) (deflistener (cat (exp (gen) x) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) w) (enc (enc (exp (gen) w) (exp (gen) x) (privk b)) (exp (gen) (mul w x))))) (send (enc (enc (exp (gen) x) (exp (gen) w) (privk a)) (exp (gen) (mul w x))))) ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x)))) ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))) (label 12) (parent 9) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x rndx) (w expt)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x)) (deflistener (exp (gen) w)) (deflistener (cat (gen) w)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w)))) (gen) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w)) (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b)) (exp (gen) w)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a)) (exp (gen) w)))) ((recv (exp (gen) w)) (send (exp (gen) w))) ((recv (cat (gen) w)) (send (cat (gen) w)))) (label 13) (parent 9) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x rndx) (w expt) (x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0))) (x x)) (deflistener (exp (gen) (mul w x-0))) (deflistener (cat (exp (gen) x-0) w)) (defstrand init 1 (x x-0)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w x-0)) (enc (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x) (privk b)) (exp (gen) (mul w x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a)) (exp (gen) (mul w x-0))))) ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0)))) ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))) ((send (exp (gen) x-0)))) (label 14) (parent 9) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x rndx) (w expt) (y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (2 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w y)) (enc (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b)) (exp (gen) (mul w y))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 15) (parent 9) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 16) (parent 12) (unrealized (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x) y)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 17) (parent 12) (unrealized (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 18) (parent 13) (unrealized (1 0) (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (gen) (mul x y))) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 19) (parent 13) (unrealized (1 0) (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (displaced 3 4 init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 20) (parent 14) (unrealized (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))))) (label 21) (parent 14) (unrealized (1 0) (2 0) (4 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x x-0 y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y))) (defstrand init 1 (x x-0)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 y) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y))) (send (cat (exp (gen) x-0) (mul x (rec x-0) y)))) ((send (exp (gen) x-0))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 22) (parent 14) (unrealized (1 0) (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 23) (parent 15) (unrealized (1 0) (2 0) (4 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (displaced 4 3 resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 24) (parent 15) (unrealized (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x y y-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y-0)) (x x)) (deflistener (exp (gen) (mul x y-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) y-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y-0)) (precedes ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y y-0) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))) (send (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0))))) ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) y-0))) (send (cat (exp (gen) y) (mul x (rec y) y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))))) (label 25) (parent 15) (unrealized (1 0) (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 26) (parent 16) (unrealized (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 27) (parent 18) (unrealized (1 0) (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 28) (parent 20) (unrealized (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1)) ((5 1) (4 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-1))) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))) (4 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))) (label 29) (parent 21) (unrealized (1 0) (2 0) (5 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1)) ((5 1) (4 1))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))) (4 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 30) (parent 23) (unrealized (1 0) (2 0) (5 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 31) (parent 26) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 32) (parent 26) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 33) (parent 27) (unrealized (1 0) (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 34) (parent 27) (unrealized (1 0) (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 35) (parent 28) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 36) (parent 28) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x) x-1)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-1)) (exp (gen) (mul x x-1)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x) x-1)) (send (cat (exp (gen) x) x-1)))) (label 37) (parent 29) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-1) x)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-1) x)) (exp (gen) (mul x x-1)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-1) x)) (send (cat (exp (gen) x-1) x)))) (label 38) (parent 29) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 39) (parent 30) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((1 1) (0 1)) ((2 1) (1 0)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 40) (parent 30) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-to-station diffie-hellman (defrole init (vars (x rndx) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))) (send (privk a))) (uniq-gen x)) (defrole resp (vars (y rndx) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))) (send (privk b))) (uniq-gen y)) (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 station-to-station (vars (a b name) (h base) (y rndx)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (non-orig (privk a) (privk b)) (uniq-gen y) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))))) (label 41) (unrealized (0 2)) (origs) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen y x) (operation encryption-test (added-strand init 3) (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 42) (parent 41) (unrealized (1 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (h base) (y rndx)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation encryption-test (added-listener (exp h y)) (enc (enc h (exp (gen) y) (privk a)) (exp h y)) (0 2)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y)))) (label 43) (parent 41) (unrealized (0 2) (1 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (precedes ((0 1) (1 1)) ((1 0) (0 0)) ((1 2) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation encryption-test (displaced 2 0 resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))) (1 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))) (label 44) (parent 42) (realized) (shape) (maps ((0) ((a a) (b b) (y y) (h (exp (gen) x))))) (origs)) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (precedes ((0 1) (2 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1))) (non-orig (privk a) (privk b)) (uniq-gen y x) (operation encryption-test (added-listener (exp (gen) (mul y x))) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))) (1 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))) (label 45) (parent 42) (unrealized (2 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (y rndx)) (defstrand resp 3 (a a) (b b) (h (gen)) (y y)) (deflistener (exp (gen) y)) (precedes ((0 1) (1 0)) ((1 1) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0)) (traces ((recv (gen)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y)))) (recv (enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y)))) (label 46) (parent 43) (unrealized (0 2)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (h base) (y rndx) (w expt)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (deflistener (cat (exp h (mul y (rec w))) w)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w)) (exp h y) (1 0)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y))) ((recv (cat (exp h (mul y (rec w))) w)) (send (cat (exp h (mul y (rec w))) w)))) (label 47) (parent 43) (unrealized (0 2) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen y x) (operation nonce-test (added-listener (cat (exp (gen) y) x)) (exp (gen) (mul y x)) (2 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 48) (parent 45) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 1) (3 0)) ((1 0) (0 0)) ((1 2) (0 2)) ((2 1) (1 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen y x) (operation nonce-test (added-listener (cat (exp (gen) x) y)) (exp (gen) (mul y x)) (2 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 49) (parent 45) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (w expt) (y rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (displaced 3 0 resp 2) (exp (gen) y-0) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))) (label 50) (parent 47) (unrealized (0 2)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 51) (parent 50) (unrealized (2 0) (3 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (displaced 4 0 resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))) (3 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))) (label 52) (parent 51) (unrealized (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (precedes ((0 1) (2 0)) ((0 1) (4 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul y x))) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))) (3 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))) (label 53) (parent 51) (unrealized (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) y) x)) (exp (gen) (mul y x)) (4 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 54) (parent 53) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((1 1) (0 2)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) y)) (exp (gen) (mul y x)) (4 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 55) (parent 53) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-to-station diffie-hellman (defrole init (vars (x rndx) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))) (send (privk a))) (uniq-gen x)) (defrole resp (vars (y rndx) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))) (send (privk b))) (uniq-gen y)) (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 station-to-station (vars (a b name) (h base) (x rndx)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (non-orig (privk a) (privk b)) (uniq-gen x) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x)))) (label 56) (unrealized (0 1) (1 0)) (preskeleton) (origs) (comment "Not a skeleton")) (defskeleton station-to-station (vars (a b name) (h base) (x rndx)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (precedes ((0 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x)))) (label 57) (parent 56) (unrealized (0 1) (1 0)) (origs) (comment "5 in cohort - 5 not yet seen")) (defskeleton station-to-station (vars (a b name) (x rndx)) (defstrand init 3 (a a) (b b) (h (gen)) (x x)) (deflistener (exp (gen) x)) (precedes ((0 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (displaced 2 0 init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (gen) (enc (enc (gen) (exp (gen) x) (privk b)) (exp (gen) x)))) (send (enc (enc (exp (gen) x) (gen) (privk a)) (exp (gen) x)))) ((recv (exp (gen) x)) (send (exp (gen) x)))) (label 58) (parent 57) (unrealized (0 1)) (dead) (origs) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (rec x))) (x x)) (deflistener (gen)) (precedes ((0 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (operation nonce-test (contracted (h (exp (gen) (rec x)))) (gen) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (rec x)) (enc (enc (exp (gen) (rec x)) (exp (gen) x) (privk b)) (gen)))) (send (enc (enc (exp (gen) x) (exp (gen) (rec x)) (privk a)) (gen)))) ((recv (gen)) (send (gen)))) (label 59) (parent 57) (unrealized (0 1)) (dead) (origs) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) x-0))) (x x)) (deflistener (exp (gen) x-0)) (defstrand init 1 (x x-0)) (precedes ((0 0) (1 0)) ((2 0) (0 1)) ((2 0) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) x-0)) (enc (enc (exp (gen) (mul (rec x) x-0)) (exp (gen) x) (privk b)) (exp (gen) x-0)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) x-0)) (privk a)) (exp (gen) x-0)))) ((recv (exp (gen) x-0)) (send (exp (gen) x-0))) ((send (exp (gen) x-0)))) (label 60) (parent 57) (unrealized (0 1)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) y))) (x x)) (deflistener (exp (gen) y)) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (1 0)) ((2 1) (0 1)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-strand resp 2) (exp (gen) y) (1 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) y)) (enc (enc (exp (gen) (mul (rec x) y)) (exp (gen) x) (privk b)) (exp (gen) y)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) y)) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 61) (parent 57) (unrealized (0 1)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (h base) (x rndx) (w expt)) (defstrand init 3 (a a) (b b) (h h) (x x)) (deflistener (exp h x)) (deflistener (cat (exp h (mul x (rec w))) w)) (precedes ((0 0) (2 0)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul x (rec w))) w)) (exp h x) (1 0)) (traces ((send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x)))) ((recv (exp h x)) (send (exp h x))) ((recv (cat (exp h (mul x (rec w))) w)) (send (cat (exp h (mul x (rec w))) w)))) (label 62) (parent 57) (unrealized (0 1) (2 0)) (comment "4 in cohort - 4 not yet seen")) (defskeleton station-to-station (vars (a b name) (w expt) (x rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) w)) (x x)) (deflistener (exp (gen) (mul w x))) (deflistener (cat (exp (gen) x) w)) (precedes ((0 0) (2 0)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (displaced 3 0 init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) w) (enc (enc (exp (gen) w) (exp (gen) x) (privk b)) (exp (gen) (mul w x))))) (send (enc (enc (exp (gen) x) (exp (gen) w) (privk a)) (exp (gen) (mul w x))))) ((recv (exp (gen) (mul w x))) (send (exp (gen) (mul w x)))) ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))) (label 63) (parent 62) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x rndx) (w expt)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w))) (x x)) (deflistener (exp (gen) w)) (deflistener (cat (gen) w)) (precedes ((0 0) (2 0)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen x) (precur (2 0)) (operation nonce-test (contracted (h (exp (gen) (mul (rec x) w)))) (gen) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w)) (enc (enc (exp (gen) (mul (rec x) w)) (exp (gen) x) (privk b)) (exp (gen) w)))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w)) (privk a)) (exp (gen) w)))) ((recv (exp (gen) w)) (send (exp (gen) w))) ((recv (cat (gen) w)) (send (cat (gen) w)))) (label 64) (parent 62) (unrealized (0 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x rndx) (w expt) (x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w x-0))) (x x)) (deflistener (exp (gen) (mul w x-0))) (deflistener (cat (exp (gen) x-0) w)) (defstrand init 1 (x x-0)) (precedes ((0 0) (2 0)) ((2 1) (1 0)) ((3 0) (0 1)) ((3 0) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-strand init 1) (exp (gen) x-0) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w x-0)) (enc (enc (exp (gen) (mul (rec x) w x-0)) (exp (gen) x) (privk b)) (exp (gen) (mul w x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w x-0)) (privk a)) (exp (gen) (mul w x-0))))) ((recv (exp (gen) (mul w x-0))) (send (exp (gen) (mul w x-0)))) ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w))) ((send (exp (gen) x-0)))) (label 65) (parent 62) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x rndx) (w expt) (y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) (mul (rec x) w y))) (x x)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (defstrand resp 2 (b b-0) (h h) (y y)) (precedes ((0 0) (2 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation nonce-test (added-strand resp 2) (exp (gen) y) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) (mul (rec x) w y)) (enc (enc (exp (gen) (mul (rec x) w y)) (exp (gen) x) (privk b)) (exp (gen) (mul w y))))) (send (enc (enc (exp (gen) x) (exp (gen) (mul (rec x) w y)) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y)))))) (label 66) (parent 62) (unrealized (0 1)) (comment "3 in cohort - 3 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 67) (parent 63) (unrealized (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x) y)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 68) (parent 63) (unrealized (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 69) (parent 64) (unrealized (1 0) (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (gen) (mul x y))) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (gen) (mul x y))) (send (cat (gen) (mul x y)))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 70) (parent 64) (unrealized (1 0) (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (3 1)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (displaced 3 4 init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 71) (parent 65) (unrealized (2 0) (3 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((2 1) (1 0)) ((3 0) (0 1)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1)))))) (label 72) (parent 65) (unrealized (1 0) (2 0) (4 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x x-0 y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) y))) (defstrand init 1 (x x-0)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (4 0)) ((2 1) (1 0)) ((3 0) (0 1)) ((3 0) (2 0)) ((4 1) (0 1)) ((4 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 y) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) y))) (send (cat (exp (gen) x-0) (mul x (rec x-0) y)))) ((send (exp (gen) x-0))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 73) (parent 65) (unrealized (1 0) (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (precedes ((0 0) (2 0)) ((0 0) (4 1)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 2) (0 1))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0)))))) (label 74) (parent 66) (unrealized (1 0) (2 0) (4 1)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (3 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (displaced 4 3 resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b-0)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))))) (label 75) (parent 66) (unrealized (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (h base) (x y y-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) y-0)) (x x)) (deflistener (exp (gen) (mul x y-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) y-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand resp 2 (b b) (h (exp (gen) x)) (y y-0)) (precedes ((0 0) (4 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0)) ((4 1) (0 1)) ((4 1) (2 0))) (non-orig (privk a) (privk b)) (uniq-gen x y y-0) (precur (2 0)) (operation encryption-test (added-strand resp 2) (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (0 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))) (send (enc (enc (exp (gen) x) (exp (gen) y-0) (privk a)) (exp (gen) (mul x y-0))))) ((recv (exp (gen) (mul x y-0))) (send (exp (gen) (mul x y-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) y-0))) (send (cat (exp (gen) y) (mul x (rec y) y-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((recv (exp (gen) x)) (send (cat (exp (gen) y-0) (enc (enc (exp (gen) y-0) (exp (gen) x) (privk b)) (exp (gen) (mul x y-0))))))) (label 76) (parent 66) (unrealized (1 0) (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 77) (parent 67) (unrealized (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 78) (parent 69) (unrealized (1 0) (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (4 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (4 0)) ((3 2) (0 1)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))) (3 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 79) (parent 71) (unrealized (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (0 1)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1)) ((5 1) (4 1))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-1))) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))) (4 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1))))) (label 80) (parent 72) (unrealized (1 0) (2 0) (5 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (5 0)) ((4 2) (0 1)) ((5 1) (4 1))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul x x-0))) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))) (4 1)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0))))) (label 81) (parent 74) (unrealized (1 0) (2 0) (5 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 82) (parent 77) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 83) (parent 77) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 84) (parent 78) (unrealized (1 0) (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (gen) (mul x x-0))) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (gen) (mul x x-0))) (send (cat (gen) (mul x x-0)))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 85) (parent 78) (unrealized (1 0) (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 86) (parent 79) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (5 0)) ((2 1) (1 0)) ((3 0) (2 0)) ((3 0) (5 0)) ((3 2) (0 1)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (4 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-0)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 87) (parent 79) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x) x-1)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 1) (1 0)) ((3 0) (0 1)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-1)) (exp (gen) (mul x x-1)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x) x-1)) (send (cat (exp (gen) x) x-1)))) (label 88) (parent 80) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (x x-0 x-1 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-1)) (x x)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (defstrand init 1 (x x-0)) (defstrand init 3 (a b) (b b-0) (h (exp (gen) x)) (x x-1)) (deflistener (exp (gen) (mul x x-1))) (deflistener (cat (exp (gen) x-1) x)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 1) (1 0)) ((3 0) (0 1)) ((3 0) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x x-0 x-1) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-1) x)) (exp (gen) (mul x x-1)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-1) (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x) (exp (gen) x-1) (privk a)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-0) (mul x (rec x-0) x-1))) (send (cat (exp (gen) x-0) (mul x (rec x-0) x-1)))) ((send (exp (gen) x-0))) ((send (exp (gen) x-1)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-1) (privk b-0)) (exp (gen) (mul x x-1))))) (send (enc (enc (exp (gen) x-1) (exp (gen) x) (privk b)) (exp (gen) (mul x x-1))))) ((recv (exp (gen) (mul x x-1))) (send (exp (gen) (mul x x-1)))) ((recv (cat (exp (gen) x-1) x)) (send (cat (exp (gen) x-1) x)))) (label 89) (parent 80) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x) x-0)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) x-0)) (exp (gen) (mul x x-0)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x) x-0)) (send (cat (exp (gen) x) x-0)))) (label 90) (parent 81) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 b-1 name) (h base) (x y x-0 rndx)) (defstrand init 3 (a a) (b b) (h (exp (gen) x-0)) (x x)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) y) (mul x (rec y) x-0))) (defstrand resp 2 (b b-0) (h h) (y y)) (defstrand init 3 (a b) (b b-1) (h (exp (gen) x)) (x x-0)) (deflistener (exp (gen) (mul x x-0))) (deflistener (cat (exp (gen) x-0) x)) (precedes ((0 0) (2 0)) ((0 0) (6 0)) ((2 1) (1 0)) ((3 1) (0 1)) ((3 1) (2 0)) ((4 0) (2 0)) ((4 0) (6 0)) ((4 2) (0 1)) ((5 1) (4 1)) ((6 1) (5 0))) (non-orig (privk a) (privk b)) (uniq-gen x y x-0) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x-0) x)) (exp (gen) (mul x x-0)) (5 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) x-0) (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x) (exp (gen) x-0) (privk a)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) y) (mul x (rec y) x-0))) (send (cat (exp (gen) y) (mul x (rec y) x-0)))) ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b-0)) (exp h y))))) ((send (exp (gen) x-0)) (recv (cat (exp (gen) x) (enc (enc (exp (gen) x) (exp (gen) x-0) (privk b-1)) (exp (gen) (mul x x-0))))) (send (enc (enc (exp (gen) x-0) (exp (gen) x) (privk b)) (exp (gen) (mul x x-0))))) ((recv (exp (gen) (mul x x-0))) (send (exp (gen) (mul x x-0)))) ((recv (cat (exp (gen) x-0) x)) (send (cat (exp (gen) x-0) x)))) (label 91) (parent 81) (unrealized (1 0) (2 0) (6 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-to-station diffie-hellman (defrole init (vars (x rndx) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))) (send (privk a))) (uniq-gen x)) (defrole resp (vars (y rndx) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))) (send (privk b))) (uniq-gen y)) (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 station-to-station (vars (a b name) (h base) (y rndx)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (non-orig (privk a) (privk b)) (uniq-gen y) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y)))) (label 92) (unrealized (0 2) (1 0)) (preskeleton) (origs) (comment "Not a skeleton")) (defskeleton station-to-station (vars (a b name) (h base) (y rndx)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (precedes ((0 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen y) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y)))) (label 93) (parent 92) (unrealized (0 2) (1 0)) (origs) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (y rndx)) (defstrand resp 3 (a a) (b b) (h (gen)) (y y)) (deflistener (exp (gen) y)) (precedes ((0 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen y) (operation nonce-test (displaced 2 0 resp 2) (exp (gen) y-0) (1 0)) (traces ((recv (gen)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (gen) (privk b)) (exp (gen) y)))) (recv (enc (enc (gen) (exp (gen) y) (privk a)) (exp (gen) y)))) ((recv (exp (gen) y)) (send (exp (gen) y)))) (label 94) (parent 93) (unrealized (0 2)) (dead) (origs) (comment "empty cohort")) (defskeleton station-to-station (vars (a b name) (h base) (y rndx) (w expt)) (defstrand resp 3 (a a) (b b) (h h) (y y)) (deflistener (exp h y)) (deflistener (cat (exp h (mul y (rec w))) w)) (precedes ((0 1) (2 0)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (added-listener (cat (exp h (mul y (rec w))) w)) (exp h y) (1 0)) (traces ((recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y)))) ((recv (exp h y)) (send (exp h y))) ((recv (cat (exp h (mul y (rec w))) w)) (send (cat (exp h (mul y (rec w))) w)))) (label 95) (parent 93) (unrealized (0 2) (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b name) (w expt) (y rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) w)) (y y)) (deflistener (exp (gen) (mul w y))) (deflistener (cat (exp (gen) y) w)) (precedes ((0 1) (2 0)) ((2 1) (1 0))) (non-orig (privk a) (privk b)) (uniq-gen y) (precur (2 0)) (operation nonce-test (displaced 3 0 resp 2) (exp (gen) y-0) (2 0)) (traces ((recv (exp (gen) w)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) w) (privk b)) (exp (gen) (mul w y))))) (recv (enc (enc (exp (gen) w) (exp (gen) y) (privk a)) (exp (gen) (mul w y))))) ((recv (exp (gen) (mul w y))) (send (exp (gen) (mul w y)))) ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))) (label 96) (parent 95) (unrealized (0 2)) (comment "1 in cohort - 1 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation encryption-test (added-strand init 3) (enc (exp (gen) x) (exp (gen) y) (privk a)) (0 2)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))))) (label 97) (parent 96) (unrealized (2 0) (3 1)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (x y rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b) (h (exp (gen) y)) (x x)) (precedes ((0 1) (2 0)) ((0 1) (3 1)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2))) (non-orig (privk a) (privk b)) (uniq-gen x y) (precur (2 0)) (operation encryption-test (displaced 4 0 resp 2) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul x y))) (3 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y))))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))))) (label 98) (parent 97) (unrealized (2 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (precedes ((0 1) (2 0)) ((0 1) (4 0)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation encryption-test (added-listener (exp (gen) (mul y x))) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))) (3 1)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x))))) (label 99) (parent 97) (unrealized (2 0) (4 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) y) x)) (exp (gen) (mul y x)) (4 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 100) (parent 99) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b b-0 name) (y x rndx)) (defstrand resp 3 (a a) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) y) x)) (defstrand init 3 (a a) (b b-0) (h (exp (gen) y)) (x x)) (deflistener (exp (gen) (mul y x))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 1) (2 0)) ((0 1) (5 0)) ((2 1) (1 0)) ((3 0) (0 0)) ((3 2) (0 2)) ((4 1) (3 1)) ((5 1) (4 0))) (non-orig (privk a) (privk b)) (uniq-gen y x) (precur (2 0)) (operation nonce-test (added-listener (cat (exp (gen) x) y)) (exp (gen) (mul y x)) (4 0)) (traces ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x))) ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b-0)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x))))) ((recv (exp (gen) (mul y x))) (send (exp (gen) (mul y x)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 101) (parent 99) (unrealized (2 0) (5 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-to-station diffie-hellman (defrole init (vars (x rndx) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))) (send (privk a))) (uniq-gen x)) (defrole resp (vars (y rndx) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))) (send (privk b))) (uniq-gen y)) (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 station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b)))) (label 102) (unrealized (1 2)) (origs ((privk b) (1 3)) ((privk a) (0 3))) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b name) (y x rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a) (b b) (h (exp (gen) x)) (y y)) (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1))) (uniq-orig (privk a) (privk b)) (uniq-gen y x) (operation encryption-test (displaced 2 0 init 3) (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul y x))) (1 2)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul y x))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul y x)))) (send (privk b)))) (label 103) (parent 102) (realized) (shape) (maps ((0 1) ((a a) (b b) (x x) (y y) (a-0 a)))) (origs ((privk b) (1 3)) ((privk a) (0 3)))) (defskeleton station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0)) ((2 1) (1 2))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (operation encryption-test (added-listener (exp (gen) (mul x y))) (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y))) (1 2)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))) (label 104) (parent 102) (unrealized (2 0)) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-listener (cat (exp (gen) x) y)) (exp (gen) (mul x y)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 105) (parent 104) (unrealized (3 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((2 1) (1 2)) ((3 1) (2 0))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-listener (cat (exp (gen) y) x)) (exp (gen) (mul x y)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 106) (parent 104) (unrealized (3 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do") (defprotocol station-to-station diffie-hellman (defrole init (vars (x rndx) (h base) (a b name)) (trace (send (exp (gen) x)) (recv (cat h (enc (enc h (exp (gen) x) (privk b)) (exp h x)))) (send (enc (enc (exp (gen) x) h (privk a)) (exp h x))) (send (privk a))) (uniq-gen x)) (defrole resp (vars (y rndx) (h base) (a b name)) (trace (recv h) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) h (privk b)) (exp h y)))) (recv (enc (enc h (exp (gen) y) (privk a)) (exp h y))) (send (privk b))) (uniq-gen y)) (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 station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))) (label 107) (unrealized (1 2) (2 0)) (preskeleton) (origs ((privk b) (1 3)) ((privk a) (0 3))) (comment "Not a skeleton")) (defskeleton station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (2 0))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y))))) (label 108) (parent 107) (unrealized (1 2) (2 0)) (origs ((privk b) (1 3)) ((privk a) (0 3))) (comment "2 in cohort - 2 not yet seen")) (defskeleton station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) x) y)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((3 1) (2 0))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-listener (cat (exp (gen) x) y)) (exp (gen) (mul x y)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) x) y)) (send (cat (exp (gen) x) y)))) (label 109) (parent 108) (unrealized (1 2) (3 0)) (dead) (comment "empty cohort")) (defskeleton station-to-station (vars (a b a-0 name) (x y rndx)) (defstrand init 4 (a a) (b b) (h (exp (gen) y)) (x x)) (defstrand resp 4 (a a-0) (b b) (h (exp (gen) x)) (y y)) (deflistener (exp (gen) (mul x y))) (deflistener (cat (exp (gen) y) x)) (precedes ((0 0) (1 0)) ((1 1) (0 1)) ((1 1) (3 0)) ((3 1) (2 0))) (uniq-orig (privk a) (privk b)) (uniq-gen x y) (operation nonce-test (added-listener (cat (exp (gen) y) x)) (exp (gen) (mul x y)) (2 0)) (traces ((send (exp (gen) x)) (recv (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (send (enc (enc (exp (gen) x) (exp (gen) y) (privk a)) (exp (gen) (mul x y)))) (send (privk a))) ((recv (exp (gen) x)) (send (cat (exp (gen) y) (enc (enc (exp (gen) y) (exp (gen) x) (privk b)) (exp (gen) (mul x y))))) (recv (enc (enc (exp (gen) x) (exp (gen) y) (privk a-0)) (exp (gen) (mul x y)))) (send (privk b))) ((recv (exp (gen) (mul x y))) (send (exp (gen) (mul x y)))) ((recv (cat (exp (gen) y) x)) (send (cat (exp (gen) y) x)))) (label 110) (parent 108) (unrealized (1 2) (3 0)) (dead) (comment "empty cohort")) (comment "Nothing left to do")