cpsa-3.6.8: tst/nhcr_um3.tst
(herald "NHCR: unified model (UM3) original" (bound 20) (limit 8000)
(algebra diffie-hellman))
(comment "CPSA 3.6.7")
(comment "All input read from tst/nhcr_um3.scm")
(comment "Step count limited to 8000")
(comment "Strand count bounded at 20")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self self) (l ltxa))
(defstrand ltx-gen 1 (self self-0) (l ltxb))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat self (hash "public" ltxa))))
((send (cat self-0 (hash "public" ltxb)))))
(label 0)
(unrealized (0 0) (0 2))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(precedes ((1 0) (0 0)) ((2 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb)))))
(label 1)
(parent 0)
(unrealized (0 2))
(origs (na (0 1)))
(comment "2 in cohort - 2 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(precedes ((0 1) (3 1)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0))
((2 0) (3 0)) ((3 2) (0 2)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(non-orig ltxa ltxb)
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test (added-strand resp 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) (0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))))
(label 2)
(parent 1)
(unrealized)
(shape)
(maps
((0 1 2)
((ltxa ltxa) (ltxb ltxb) (a a) (b b) (x x) (y y) (na na) (nb nb)
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))))))
(origs (nb (3 2)) (na (0 1))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 2)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 3)
(parent 1)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 2))
((4 1) (3 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 4)
(parent 3)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(precedes ((0 1) (4 0)) ((1 0) (0 0)) ((1 0) (5 0)) ((2 0) (0 0))
((3 1) (0 2)) ((4 1) (3 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))))
(label 5)
(parent 4)
(unrealized (4 0) (5 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self self) (l ltxb))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self ltxb) (a ltxa) (b ltxb))
("principal-of" (ltxb self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat self (hash "public" ltxb)))))
(label 6)
(unrealized (0 0) (0 2))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self b) (l ltxb))
(precedes ((1 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat b (hash "public" ltxb)))))
(label 7)
(parent 6)
(unrealized (0 2))
(origs (na (0 1)))
(comment "2 in cohort - 2 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self b) (l ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(precedes ((0 1) (2 1)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 2) (0 2)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen y ltxb x)
(uniq-orig na nb)
(operation encryption-test (added-strand resp 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) (0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb)) ((send (cat b (hash "public" ltxb))))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))))
(label 8)
(parent 7)
(unrealized)
(shape)
(maps
((0 1)
((ltxa ltxa) (ltxb ltxb) (a a) (b b) (x x) (y y) (na na) (nb nb)
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))))))
(origs (nb (2 2)) (na (0 1))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (2 0)) ((1 0) (0 0)) ((2 1) (0 2)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 9)
(parent 7)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (3 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 10)
(parent 9)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2))
(precedes ((0 1) (4 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2))
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2))))
(label 11)
(parent 10)
(unrealized (3 0) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2))
(deflistener (cat "share" (hash "public" ltxb) x))
(precedes ((0 1) (5 0)) ((1 0) (0 0)) ((2 1) (0 2)) ((3 1) (2 0))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(non-orig ltxb)
(uniq-gen ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxb) x))
(hash "share" (hash "public" ltxb) x) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2))
(send (cat "nh_key" (hash "share" (hash "public" ltxb) x) hint2)))
((recv (cat "share" (hash "public" ltxb) x))
(send (cat "share" (hash "public" ltxb) x))))
(label 12)
(parent 11)
(unrealized (5 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (na nb data) (a b self self-0 name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self self) (l ltxa))
(defstrand ltx-gen 1 (self self-0) (l ltxb))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat self (hash "public" ltxa))))
((send (cat self-0 (hash "public" ltxb)))))
(label 13)
(unrealized (0 0) (0 3))
(preskeleton)
(origs (nb (0 2)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(precedes ((1 0) (0 0)) ((2 0) (0 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb)))))
(label 14)
(parent 13)
(unrealized (0 3))
(origs (nb (0 2)))
(comment "9 in cohort - 9 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(precedes ((0 2) (3 2)) ((1 0) (0 0)) ((1 0) (3 0)) ((2 0) (0 0))
((2 0) (3 0)) ((3 1) (0 1)) ((3 3) (0 3)))
(absent (x ltxa) (x ltxb) (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)) (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation nonce-test (added-strand init 4) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb)))
(label 15)
(parent 14)
(unrealized)
(shape)
(maps
((0 1 2)
((ltxa ltxa) (ltxb ltxb) (a a) (b b) (y y) (x x) (na na)
(nb nb))))
(origs (na (3 1)) (nb (0 2))))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 16)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 17)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 18)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 19)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 20)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 21)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 22)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 23)
(parent 14)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 24)
(parent 16)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 25)
(parent 17)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 26)
(parent 18)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 27)
(parent 19)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 28)
(parent 20)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 29)
(parent 21)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 30)
(parent 22)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 31)
(parent 23)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 32)
(parent 24)
(unrealized (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 33)
(parent 25)
(unrealized (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 34)
(parent 26)
(unrealized (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 35)
(parent 27)
(unrealized (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 36)
(parent 28)
(unrealized (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 37)
(parent 29)
(unrealized (4 0) (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 38)
(parent 30)
(unrealized (4 0) (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 39)
(parent 31)
(unrealized (4 0) (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (6 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 40)
(parent 32)
(unrealized (6 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (6 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 41)
(parent 33)
(unrealized (6 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (6 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 42)
(parent 34)
(unrealized (4 0) (6 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand ltx-gen 1 (self b) (l ltxb))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (6 0)) ((1 0) (0 0)) ((2 0) (0 0)) ((3 1) (0 3))
((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa ltxb)
(uniq-gen ltxa ltxb y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((send (cat b (hash "public" ltxb))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 43)
(parent 35)
(unrealized (4 0) (6 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (na nb data) (a b self name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self self) (l ltxa))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat self (hash "public" ltxa)))))
(label 44)
(unrealized (0 0) (0 3))
(preskeleton)
(origs (nb (0 2)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(precedes ((1 0) (0 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa)))))
(label 45)
(parent 44)
(unrealized (0 3))
(origs (nb (0 2)))
(comment "9 in cohort - 9 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(precedes ((0 2) (2 2)) ((1 0) (0 0)) ((1 0) (2 0)) ((2 1) (0 1))
((2 3) (0 3)))
(absent (x ltxa) (x ltxb) (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)) (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen y ltxa x)
(uniq-orig na nb)
(operation nonce-test (added-strand init 4) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb)))
(label 46)
(parent 45)
(unrealized)
(shape)
(maps
((0 1)
((ltxa ltxa) (ltxb ltxb) (a a) (b b) (y y) (x x) (na na)
(nb nb))))
(origs (na (2 1)) (nb (0 2))))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 47)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 48)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 49)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 50)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 51)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 52)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 53)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (2 0)) ((1 0) (0 0)) ((2 1) (0 3)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation nonce-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))) nb (0 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 54)
(parent 45)
(unrealized (2 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 55)
(parent 47)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 56)
(parent 48)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 57)
(parent 49)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 58)
(parent 50)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 59)
(parent 51)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 60)
(parent 52)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 61)
(parent 53)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 2) (3 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (2 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 62)
(parent 54)
(unrealized (3 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 63)
(parent 55)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 64)
(parent 56)
(unrealized (3 0) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 65)
(parent 57)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 66)
(parent 58)
(unrealized (3 0) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 67)
(parent 59)
(unrealized (4 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 68)
(parent 60)
(unrealized (3 0) (4 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 69)
(parent 61)
(unrealized (4 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 2) (4 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (3 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 70)
(parent 62)
(unrealized (3 0) (4 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 71)
(parent 63)
(unrealized (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 72)
(parent 64)
(unrealized (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 73)
(parent 65)
(unrealized (5 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (ltxa ltxb y rndx) (x expt))
(defstrand resp 4 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(defstrand ltx-gen 1 (self a) (l ltxa))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 2) (5 0)) ((1 0) (0 0)) ((2 1) (0 3)) ((3 1) (2 0))
((4 1) (3 0)) ((5 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) x) (gen)))
(non-orig ltxa)
(uniq-gen ltxa y)
(uniq-orig nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb)) ((send (cat a (hash "public" ltxa))))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 74)
(parent 66)
(unrealized (5 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 75)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 76)
(parent 75)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 77)
(parent 76)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 78)
(parent 77)
(unrealized (0 2) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" x) ltxb))
(hash "share" (hash "public" x) ltxb) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb))))
(label 79)
(parent 78)
(unrealized (0 2) (6 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0))
((3 2) (6 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation nonce-test (displaced 7 3 ltx-gen 3) l (6 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l))))
(label 80)
(parent 79)
(unrealized (0 2))
(comment "2 in cohort - 2 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(precedes ((0 1) (7 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (7 0)) ((3 0) (0 0)) ((3 0) (7 0)) ((3 2) (6 0))
((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 2)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test (added-strand resp 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) (0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb)))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))))
(label 81)
(parent 80)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((3 2) (6 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (0 2)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 82)
(parent 80)
(unrealized (7 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 1) (7 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (7 0)) ((3 0) (0 0)) ((3 0) (7 0)) ((3 2) (6 0))
((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 2))
((7 2) (8 0)) ((8 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb)))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 83)
(parent 81)
(unrealized (4 0) (8 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((3 2) (6 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (0 2)) ((8 1) (7 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)) (7 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 84)
(parent 82)
(unrealized (8 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" ltxa) y))
(precedes ((0 1) (7 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (7 0)) ((3 0) (0 0)) ((3 0) (7 0)) ((3 2) (6 0))
((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 2))
((7 2) (9 0)) ((8 1) (4 0)) ((9 1) (8 0)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxa) y))
(hash "share" (hash "public" ltxa) y) (8 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb)))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" ltxa) y))
(send (cat "share" (hash "public" ltxa) y))))
(label 85)
(parent 83)
(unrealized (9 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (9 0)) ((3 0) (0 0)) ((3 2) (6 0)) ((4 1) (1 0))
((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (0 2)) ((8 1) (7 0))
((9 1) (8 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1) (8 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))))
(label 86)
(parent 84)
(unrealized (8 0) (9 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(deflistener (cat "share" (hash "public" y) ltxa))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (10 0)) ((3 0) (0 0)) ((3 2) (6 0)) ((4 1) (1 0))
((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (0 2)) ((8 1) (7 0))
((9 1) (8 0)) ((10 1) (9 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) ltxa))
(hash "share" (hash "public" y) ltxa) (9 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa) hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1))
(send (cat "nh_key" (hash "share" (hash "public" y) ltxa) hint1)))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa))))
(label 87)
(parent 86)
(unrealized (8 0) (10 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 88)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 89)
(parent 88)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 90)
(parent 89)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 91)
(parent 90)
(unrealized (0 2) (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" x) ltxb))
(hash "share" (hash "public" x) ltxb) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb))))
(label 92)
(parent 91)
(unrealized (0 2) (4 0) (6 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((3 0) (0 0))
((3 2) (6 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation nonce-test (displaced 7 3 ltx-gen 3) l (6 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l))))
(label 93)
(parent 92)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((3 2) (6 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
(label 94)
(parent 93)
(unrealized (0 2) (7 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxa x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb l) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l l))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(deflistener (cat "share" (hash "public" x) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(deflistener (cat "share" (hash "public" y) x))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((3 2) (6 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x ltxa) (x l))
(fn-of ("ltx-of" (b l) (a ltxa)) ("principal-of" (l b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa x l)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) x))
(hash "share" (hash "public" y) x) (7 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" l)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" l) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" l))) (recv "end-of-protocol") (send l))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l)
(hash "hint" (hash "share" (hash "public" x) l)))))
((recv (cat "share" (hash "public" x) l))
(send (cat "share" (hash "public" x) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
((recv (cat "share" (hash "public" y) x))
(send (cat "share" (hash "public" y) x))))
(label 95)
(parent 94)
(unrealized (0 2) (8 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 96)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 97)
(parent 96)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 98)
(parent 97)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 99)
(parent 98)
(unrealized (0 2) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" ltxb) x))
(precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxb) x))
(hash "share" (hash "public" ltxb) x) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" ltxb) x))
(send (cat "share" (hash "public" ltxb) x))))
(label 100)
(parent 99)
(unrealized (0 2) (5 0) (6 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 101)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 102)
(parent 101)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 103)
(parent 102)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (5 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 104)
(parent 103)
(unrealized (0 2) (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" ltxb) x))
(precedes ((0 1) (6 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxb) x))
(hash "share" (hash "public" ltxb) x) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" ltxb) x))
(send (cat "share" (hash "public" ltxb) x))))
(label 105)
(parent 104)
(unrealized (0 2) (5 0) (6 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 106)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 107)
(parent 106)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 108)
(parent 107)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (5 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 109)
(parent 108)
(unrealized (0 2) (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) ltxa))
(hash "share" (hash "public" y) ltxa) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa))))
(label 110)
(parent 109)
(unrealized (0 2) (4 0) (6 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation nonce-test (displaced 7 2 ltx-gen 3) l (6 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l))))
(label 111)
(parent 110)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 112)
(parent 111)
(unrealized (0 2) (7 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" x) ltxb))
(hash "share" (hash "public" x) ltxb) (7 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb))))
(label 113)
(parent 112)
(unrealized (0 2) (8 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0))
((3 0) (0 0)) ((3 2) (8 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation nonce-test (displaced 9 3 ltx-gen 3) l-0 (8 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0))))
(label 114)
(parent 113)
(unrealized (0 2))
(comment "2 in cohort - 2 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(precedes ((0 1) (9 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (9 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 0) (9 0))
((3 2) (8 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0))
((7 1) (4 0)) ((8 1) (7 0)) ((9 2) (0 2)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test (added-strand resp 3)
(enc na nb a b (hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))) (0 2))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb)))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))))
(label 115)
(parent 114)
(unrealized (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(deflistener
(hash "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (9 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (8 0)) ((4 1) (1 0))
((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0))
((9 1) (0 2)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation encryption-test
(added-listener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(0 2))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 116)
(parent 114)
(unrealized (9 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))
(precedes ((0 1) (9 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (9 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 0) (9 0))
((3 2) (8 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0))
((7 1) (4 0)) ((8 1) (7 0)) ((9 2) (0 2)) ((9 2) (10 0))
((10 1) (4 0)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb)))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))
(send
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
(label 117)
(parent 115)
(unrealized (10 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(deflistener
(hash "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(precedes ((0 1) (10 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (8 0)) ((4 1) (1 0))
((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0))
((9 1) (0 2)) ((10 1) (9 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(hash "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)) (9 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))))
(label 118)
(parent 116)
(unrealized (10 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (na nb data) (a b name) (y ltxa ltxb x rndx))
(defstrand init 4
(hint1 (hash "hint" (hash "share" (hash "public" ltxa) y)))
(hint2 (hash "hint" (hash "share" (hash "public" x) ltxb)))
(hint3 (hash "hint" (hash "share" (hash "public" x) y))) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(defstrand resp 3 (na na) (nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb)
(y y) (x x))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))
(deflistener (cat "share" (hash "public" x) y))
(precedes ((0 1) (9 1)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (9 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 0) (9 0))
((3 2) (8 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0))
((7 1) (4 0)) ((8 1) (7 0)) ((9 2) (0 2)) ((9 2) (11 0))
((10 1) (4 0)) ((11 1) (10 0)))
(absent (y ltxa) (y ltxb) (y x) (x ltxa) (x ltxb))
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)) (a b) ((exp (gen) y) (gen)))
(uniq-gen y ltxa ltxb x)
(uniq-orig na nb)
(operation encryption-test
(added-listener (cat "share" (hash "public" x) y))
(hash "share" (hash "public" x) y) (10 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb)))
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))))
((recv
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))
(send
(cat "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
((recv (cat "share" (hash "public" x) y))
(send (cat "share" (hash "public" x) y))))
(label 119)
(parent 117)
(unrealized (11 0))
(dead)
(comment "empty cohort"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(deflistener
(hash "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener (cat "nh_key" (hash "share" (hash "public" y) l) hint1))
(precedes ((0 1) (10 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (11 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (8 0))
((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (4 0))
((8 1) (7 0)) ((9 1) (0 2)) ((10 1) (9 0)) ((11 1) (10 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) l) hint1))
(hash "nh_key" (hash "share" (hash "public" y) l) hint1) (10 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" y) l) hint1))
(send (cat "nh_key" (hash "share" (hash "public" y) l) hint1))))
(label 120)
(parent 118)
(unrealized (10 0) (11 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(deflistener
(hash "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener
(cat "key" (hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(deflistener (cat "nh_key" (hash "share" (hash "public" y) l) hint1))
(deflistener (cat "share" (hash "public" y) l))
(precedes ((0 1) (10 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (12 0)) ((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (8 0))
((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (4 0))
((8 1) (7 0)) ((9 1) (0 2)) ((10 1) (9 0)) ((11 1) (10 0))
((12 1) (11 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) l))
(hash "share" (hash "public" y) l) (11 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0)))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3)))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x) hint3))))
((recv (cat "nh_key" (hash "share" (hash "public" y) l) hint1))
(send (cat "nh_key" (hash "share" (hash "public" y) l) hint1)))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l))))
(label 121)
(parent 120)
(unrealized (10 0) (12 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 122)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 123)
(parent 122)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 124)
(parent 123)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (5 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 125)
(parent 124)
(unrealized (0 2) (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) ltxa))
(hash "share" (hash "public" y) ltxa) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa))))
(label 126)
(parent 125)
(unrealized (0 2) (4 0) (6 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation nonce-test (displaced 7 2 ltx-gen 3) l (6 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l))))
(label 127)
(parent 126)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 128)
(parent 127)
(unrealized (0 2) (4 0) (7 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" x) ltxb))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" x) ltxb))
(hash "share" (hash "public" x) ltxb) (7 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" x) ltxb))
(send (cat "share" (hash "public" x) ltxb))))
(label 129)
(parent 128)
(unrealized (0 2) (4 0) (8 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0))
((3 0) (0 0)) ((3 2) (8 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation nonce-test (displaced 9 3 ltx-gen 3) l-0 (8 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0))))
(label 130)
(parent 129)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(precedes ((0 1) (9 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (8 0)) ((4 1) (1 0))
((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0))
((9 1) (4 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))) (4 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0)))
((recv
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
(label 131)
(parent 130)
(unrealized (0 2) (9 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (x rndx)
(y expt) (l l-0 rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb l-0) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l l-0))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(deflistener (cat "share" (hash "public" x) l-0))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(deflistener (cat "share" (hash "public" y) x))
(precedes ((0 1) (10 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((3 2) (8 0)) ((4 1) (1 0))
((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0))
((9 1) (4 0)) ((10 1) (9 0)))
(absent (x l) (x l-0))
(fn-of ("ltx-of" (b l-0) (a l)) ("principal-of" (l-0 b) (l a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen x l l-0)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) x))
(hash "share" (hash "public" y) x) (9 0))
(traces
((recv (cat (hash "public" l) (hash "public" l-0)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" l-0) x) hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" l-0))) (recv "end-of-protocol")
(send l-0))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0))))
(send
(cat "nh_key" (hash "share" (hash "public" x) l-0)
(hash "hint" (hash "share" (hash "public" x) l-0)))))
((recv (cat "share" (hash "public" x) l-0))
(send (cat "share" (hash "public" x) l-0)))
((recv
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
((recv (cat "share" (hash "public" y) x))
(send (cat "share" (hash "public" y) x))))
(label 132)
(parent 131)
(unrealized (0 2) (10 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 133)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 134)
(parent 133)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 135)
(parent 134)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (5 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 136)
(parent 135)
(unrealized (0 2) (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) ltxa))
(hash "share" (hash "public" y) ltxa) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa))))
(label 137)
(parent 136)
(unrealized (0 2) (4 0) (6 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation nonce-test (displaced 7 2 ltx-gen 3) l (6 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l))))
(label 138)
(parent 137)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 139)
(parent 138)
(unrealized (0 2) (7 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" ltxb) x))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxb) x))
(hash "share" (hash "public" ltxb) x) (7 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" ltxb) x))
(send (cat "share" (hash "public" ltxb) x))))
(label 140)
(parent 139)
(unrealized (0 2) (7 0) (8 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")
(defprotocol nhcr-um3 diffie-hellman
(defrole init
(vars (ltxa ltxb x rndx) (y expt) (a b name) (na nb data)
(hint1 hint2 hint3 mesg))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
(uniq-orig na)
(uniq-gen x)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) y) (gen)))
(absent (x ltxa) (x ltxb)))
(defrole resp
(vars (ltxa ltxb y rndx) (x expt) (a b name) (na nb data))
(trace (recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(recv (cat na a b (hash "public" x)))
(send
(cat (hash "public" y)
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" ltxa) y)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" x) ltxb)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" x) y)
(hash "hint" (hash "share" (hash "public" x) y)))))
(enc na nb a b
(hash "hint" (hash "share" (hash "public" ltxa) y))
(hash "hint" (hash "share" (hash "public" x) ltxb))
(hash "hint" (hash "share" (hash "public" x) y))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(recv nb))
(uniq-orig nb)
(uniq-gen y)
(fn-of ("ltx-of" (a ltxa) (b ltxb))
("principal-of" (ltxa a) (ltxb b)))
(neq ((exp (gen) x) (gen)))
(absent (y ltxa) (y ltxb) (y x)))
(defrole ltx-gen
(vars (self name) (l rndx))
(trace (send (cat self (hash "public" l))) (recv "end-of-protocol")
(send l))
(uniq-gen l)
(fn-of ("ltx-of" (self l)) ("principal-of" (l self)))))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b self self-0 name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self self) (l ltxa))
(defstrand ltx-gen 3 (self self-0) (l ltxb))
(precedes ((0 3) (2 1)) ((0 3) (3 1)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (self-0 ltxb) (self ltxa) (a ltxa) (b ltxb))
("principal-of" (ltxb self-0) (ltxa self) (ltxa a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat self (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat self-0 (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 141)
(unrealized (0 0) (0 2) (1 0))
(preskeleton)
(origs (na (0 1)))
(comment "Not a skeleton"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(precedes ((0 1) (1 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb)))
(label 142)
(parent 141)
(unrealized (0 2) (1 0))
(origs (na (0 1)))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((3 0) (0 0)) ((4 1) (1 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))) (1 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))))
(label 143)
(parent 142)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (5 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))) (4 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))))
(label 144)
(parent 143)
(unrealized (0 2) (4 0) (5 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name)
(ltxa ltxb x rndx) (y expt))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa ltxa) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l ltxa))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(deflistener (cat "share" (hash "public" y) ltxa))
(precedes ((0 1) (4 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 0) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)))
(absent (x ltxa) (x ltxb))
(fn-of ("ltx-of" (b ltxb) (a ltxa))
("principal-of" (ltxb b) (ltxa a)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxa ltxb x)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" y) ltxa))
(hash "share" (hash "public" y) ltxa) (5 0))
(traces
((recv (cat (hash "public" ltxa) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" ltxa))) (recv "end-of-protocol")
(send ltxa))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) ltxa)
(hash "hint" (hash "share" (hash "public" ltxa) y)))))
((recv (cat "share" (hash "public" y) ltxa))
(send (cat "share" (hash "public" y) ltxa))))
(label 145)
(parent 144)
(unrealized (0 2) (4 0) (6 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(precedes ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0)) ((2 2) (6 0))
((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0)) ((6 1) (5 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation nonce-test (displaced 7 2 ltx-gen 3) l (6 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l))))
(label 146)
(parent 145)
(unrealized (0 2) (4 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(precedes ((0 1) (7 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))) (4 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))))
(label 147)
(parent 146)
(unrealized (0 2) (4 0) (7 0))
(comment "1 in cohort - 1 not yet seen"))
(defskeleton nhcr-um3
(vars (hint1 hint2 hint3 mesg) (na nb data) (a b name) (ltxb x rndx)
(y expt) (l rndx))
(defstrand init 4 (hint1 hint1) (hint2 hint2) (hint3 hint3) (na na)
(nb nb) (a a) (b b) (ltxa l) (ltxb ltxb) (x x) (y y))
(deflistener
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(defstrand ltx-gen 3 (self a) (l l))
(defstrand ltx-gen 3 (self b) (l ltxb))
(deflistener
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(deflistener
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(deflistener (cat "share" (hash "public" y) l))
(deflistener
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(deflistener (cat "share" (hash "public" ltxb) x))
(precedes ((0 1) (8 0)) ((0 3) (2 1)) ((0 3) (3 1)) ((2 0) (0 0))
((2 2) (6 0)) ((3 0) (0 0)) ((4 1) (1 0)) ((5 1) (4 0))
((6 1) (5 0)) ((7 1) (4 0)) ((8 1) (7 0)))
(absent (x l) (x ltxb))
(fn-of ("ltx-of" (a l) (b ltxb)) ("principal-of" (l a) (ltxb b)))
(neq (a b) ((exp (gen) y) (gen)))
(uniq-gen ltxb x l)
(uniq-orig na)
(operation encryption-test
(added-listener (cat "share" (hash "public" ltxb) x))
(hash "share" (hash "public" ltxb) x) (7 0))
(traces
((recv (cat (hash "public" l) (hash "public" ltxb)))
(send (cat na a b (hash "public" x)))
(recv
(cat (hash "public" y) hint1 hint2 hint3
(enc na nb a b hint1 hint2 hint3
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l) hint1)
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
hint2)
(hash "nh_key" (hash "share" (hash "public" y) x)
hint3))))) (send nb))
((recv
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(hash "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((send (cat a (hash "public" l))) (recv "end-of-protocol") (send l))
((send (cat b (hash "public" ltxb))) (recv "end-of-protocol")
(send ltxb))
((recv
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y)))))
(send
(cat "key"
(hash "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))
(hash "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))
(hash "nh_key" (hash "share" (hash "public" y) x)
(hash "hint" (hash "share" (hash "public" x) y))))))
((recv
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y))))
(send
(cat "nh_key" (hash "share" (hash "public" y) l)
(hash "hint" (hash "share" (hash "public" l) y)))))
((recv (cat "share" (hash "public" y) l))
(send (cat "share" (hash "public" y) l)))
((recv
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb))))
(send
(cat "nh_key" (hash "share" (hash "public" ltxb) x)
(hash "hint" (hash "share" (hash "public" x) ltxb)))))
((recv (cat "share" (hash "public" ltxb) x))
(send (cat "share" (hash "public" ltxb) x))))
(label 148)
(parent 147)
(unrealized (0 2) (7 0) (8 0))
(dead)
(comment "empty cohort"))
(comment "Nothing left to do")