packages feed

cpsa-4.4.1: tst/neuman-stubblebine-alt.lisp

;;; derived from the protocol description in the CPSA tst directory

(defprotocol neuman-stubblebine basic
  (defrole init
    (vars (a name) (b name) (ks name) (ra text) (rb text) (ltk-a-ks skey) (k skey) (tb text))
    (trace (send (cat a ra))
	   (recv (cat (enc (cat b ra k tb) ltk-a-ks) (enc (cat a k tb) (ltk b ks)) rb))
	   (send (cat (enc (cat a k tb) (ltk b ks)) (enc rb k)))))
  (defrole resp
    (vars (a name) (b name) (ks name) (ra text) (rb text) (k skey) (tb text))
    (trace (recv (cat a ra))
	   (send (cat b rb (enc (cat a ra tb) (ltk b ks))))
	   (recv (cat (enc (cat a k tb) (ltk b ks)) (enc rb k)))))
  (defrole keyserver
    (vars (a name) (b name) (ks name) (ra text) (rb text) (k skey) (tb text))
    (trace (recv (cat b rb (enc (cat a ra tb) (ltk b ks))))
	   (send (cat (enc (cat b ra k tb) (ltk a ks)) (enc (cat a k tb) (ltk b ks)) rb)))
    (uniq-orig k)))

(defskeleton neuman-stubblebine
  (vars (a name) (b name) (ks name) (ra text) (rb text))
  (defstrand init 3 (a a) (b b) (ks ks) (ra ra) (rb rb))
  (uniq-orig ra rb)
  (non-orig (ltk a ks) (ltk b ks)))

(defskeleton neuman-stubblebine
  (vars (a name) (b name) (ks name) (ra text) (rb text))
  (defstrand resp 3 (a a) (b b) (ks ks) (ra ra) (rb rb))
  (uniq-orig ra rb)
  (non-orig (ltk a ks) (ltk b ks)))

(defskeleton neuman-stubblebine
  (vars (a name) (b name) (ks name) (ra text) (rb text))
  (defstrand keyserver 2 (a a) (b b) (ks ks) (ra ra) (rb rb))
  (uniq-orig ra rb)
  (non-orig (ltk a ks) (ltk b ks)))