(comment "CPSA 2.2.0") (comment "All input read") (defprotocol uncarried-keys basic (defrole init (vars (a text) (A B name) (K akey)) (trace (send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a K (pubk B))) (recv (enc a A B K))) (non-orig (invk K) (privk B)) (uniq-orig a K)) (defrole resp (vars (a text) (A B name) (K akey)) (trace (recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))) (recv (enc a K (pubk B))) (send (enc a A B K))))) (defskeleton uncarried-keys (vars (a text) (A B name) (K akey)) (defstrand init 4 (a a) (A A) (B B) (K K)) (non-orig (invk K) (privk B)) (uniq-orig a K) (traces ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a K (pubk B))) (recv (enc a A B K)))) (label 0) (unrealized (0 1) (0 3)) (comment "1 in cohort - 1 not yet seen")) (defskeleton uncarried-keys (vars (a text) (A B name) (K akey)) (defstrand init 4 (a a) (A A) (B B) (K K)) (defstrand resp 2 (a a) (A A) (B B)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (invk K) (privk B)) (uniq-orig a K) (operation nonce-test (added-strand resp 2) a (0 1) (enc "start" a A B (pubk B))) (traces ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a K (pubk B))) (recv (enc a A B K))) ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))))) (label 1) (parent 0) (seen 4) (unrealized (0 3)) (comment "5 in cohort - 4 not yet seen")) (defskeleton uncarried-keys (vars (a text) (A B name) (K akey)) (defstrand init 4 (a a) (A A) (B B) (K K)) (defstrand resp 2 (a a) (A A) (B B)) (defstrand resp 4 (a a) (A A) (B B) (K K)) (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 2) (2 2)) ((1 1) (0 1)) ((2 3) (0 3))) (non-orig (invk K) (privk B)) (uniq-orig a K) (operation encryption-test (added-strand resp 4) (enc a A B K) (0 3)) (traces ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a K (pubk B))) (recv (enc a A B K))) ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))) ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))) (recv (enc a K (pubk B))) (send (enc a A B K)))) (label 2) (parent 1) (seen 3) (unrealized) (shape) (comment "1 in cohort - 0 not yet seen")) (defskeleton uncarried-keys (vars (a text) (A B name) (K akey)) (defstrand init 4 (a a) (A A) (B B) (K K)) (defstrand resp 4 (a a) (A A) (B B) (K K)) (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3))) (non-orig (invk K) (privk B)) (uniq-orig a K) (operation encryption-test (displaced 1 2 resp 4) (enc a A B K) (0 3)) (traces ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a K (pubk B))) (recv (enc a A B K))) ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))) (recv (enc a K (pubk B))) (send (enc a A B K)))) (label 3) (parent 1) (unrealized) (shape)) (defskeleton uncarried-keys (vars (a text) (A B name)) (defstrand init 4 (a a) (A A) (B B) (K (pubk A))) (defstrand resp 2 (a a) (A A) (B B)) (precedes ((0 0) (1 0)) ((1 1) (0 1))) (non-orig (privk A) (privk B)) (uniq-orig a (pubk A)) (operation encryption-test (added-strand resp 2) (enc a A B (pubk A)) (0 3)) (traces ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a (pubk A) (pubk B))) (recv (enc a A B (pubk A)))) ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))))) (label 4) (parent 1) (unrealized) (shape)) (defskeleton uncarried-keys (vars (a text) (A B name) (K akey)) (defstrand init 4 (a a) (A A) (B B) (K K)) (defstrand resp 2 (a a) (A A) (B B)) (deflistener K) (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3))) (non-orig (invk K) (privk B)) (uniq-orig a K) (operation encryption-test (added-listener K) (enc a A B K) (0 3)) (traces ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A))) (send (enc a K (pubk B))) (recv (enc a A B K))) ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))) ((recv K) (send K))) (label 5) (parent 1) (unrealized (2 0)) (comment "empty cohort")) (comment "Nothing left to do")