cpsa 2.0.5 → 2.1.0
raw patch · 76 files changed
+6327/−5108 lines, 76 filesbinary-added
Files
- ChangeLog +49/−0
- NEWS +23/−0
- README +0/−12
- cpsa.cabal +32/−46
- doc/Makefile +1/−1
- doc/cpsa.bib +37/−0
- doc/cpsadesign.pdf binary
- doc/cpsadesign.tex +6/−5
- doc/cpsaoverview.pdf binary
- doc/cpsaprimer.pdf binary
- doc/cpsaspec.pdf binary
- doc/cpsaspec.tex +71/−74
- doc/cpsatheory.pdf binary
- doc/cpsatheory.tex +625/−180
- doc/cpsauser.html +14/−10
- doc/macros.tex +3/−2
- src/CPSA/Annotations/Annotations.hs +1/−1
- src/CPSA/Basic/Algebra.hs +6/−6
- src/CPSA/DiffieHellman/Algebra.hs +7/−7
- src/CPSA/Graph/ExpandedView.hs +11/−2
- src/CPSA/Graph/LaTeXView.hs +6/−3
- src/CPSA/Graph/Loader.hs +11/−4
- src/CPSA/Graph/Main.hs +4/−4
- src/CPSA/Lib/Algebra.hs +1/−1
- src/CPSA/Lib/Cohort.hs +116/−124
- src/CPSA/Lib/Displayer.hs +0/−2
- src/CPSA/Lib/Loader.hs +3/−3
- src/CPSA/Lib/Main.hs +50/−2
- src/CPSA/Lib/Strand.hs +37/−83
- tst/Make.hs +1/−1
- tst/blanchet.tst +1/−1
- tst/completeness-test.tst +1/−1
- tst/dass_simple.tst +1/−1
- tst/denning-sacco.tst +1/−1
- tst/dh.tst +1/−1
- tst/dh_unifywithconst.sch +25/−0
- tst/dh_unifywithconst.tst +59/−0
- tst/dy.tst +1/−1
- tst/encsig.tst +1/−1
- tst/epmo.tst +1/−1
- tst/epmo_acctnum.tst +1/−1
- tst/ffgg.tst +1/−1
- tst/isoreject.tst +1/−1
- tst/kelly1.tst +1/−1
- tst/kerberos.tst +73/−73
- tst/missing_contraction.scm +11/−2
- tst/missing_contraction.tst +88/−1
- tst/neuman-stubblebine-reauth.tst +3811/−4423
- tst/neuman-stubblebine.tst +39/−11
- tst/no_contraction.tst +1/−1
- tst/non_transforming.scm +33/−0
- tst/non_transforming.tst +229/−0
- tst/ns.tst +1/−1
- tst/nsl3.tst +1/−1
- tst/nsl4cm1.lsp +0/−0
- tst/nsl4cm1.tst +1/−1
- tst/nslsk.tst +1/−1
- tst/or.tst +1/−1
- tst/pca.tst +1/−1
- tst/pruning1.scm +32/−0
- tst/pruning1.tst +143/−0
- tst/sigenc.scm +0/−0
- tst/sigenc.tst +1/−1
- tst/sorted_epmo_acctnum.tst +1/−1
- tst/targetterms2.scm +23/−0
- tst/targetterms2.tst +195/−0
- tst/targetterms6.scm +32/−0
- tst/targetterms6.tst +206/−0
- tst/uncarried_keys.scm +19/−0
- tst/uncarried_keys.tst +125/−0
- tst/uo.scm +15/−0
- tst/uo.tst +29/−0
- tst/weird.tst +1/−1
- tst/wmf.tst +1/−1
- tst/woolam.tst +1/−1
- tst/yahalom.tst +1/−1
ChangeLog view
@@ -1,3 +1,52 @@+2010-07-29 John D. Ramsdell <ramsdell@mitre.org>++ * cpsa.cabal (Version): Tagged as version 2.1.0.++2010-07-23 John D. Ramsdell <ramsdell@mitre.org>++ * cpsa.cabal (Cabal-Version): CPSA now assumes Cabal is version+ 1.6 or greater, and support for GHC 6.8 has been withdrawn.++ * src/CPSA/Graph/Loader.hs (loadDefs): The graph program displays+ the initial comments in an input file.++2010-07-14 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Lib/Main.hs (options): Four new command line options+ have been added:+ -d --displacement enable displacement+ -c --check-nonces check nonces first+ -t --try-old-strands try old strands first+ -r --reverse-nodes try old nodes first++2010-07-09 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Lib/Strand.hs (contractAndOrder): Support for this+ addition to authentication test solving has been removed.++ * src/CPSA/Lib/Cohort.hs (contractions): Contraction has changed+ so that it only solves the test for one position of the critical+ message in the test node, not every position. Previously, CPSA+ was missing most general solutions due to contracting too many+ positions at the same time.++ * src/CPSA/Lib/Strand.hs (pruneStrands): The pruning condition now+ checks to see that there is a variable renaming between the+ preskeletons involved. Previously, the only check ensured the map+ was idempotent.++2010-07-08 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Lib/Cohort.hs (useEcapeSetInTargetTerms): Added an+ option to include the escape set in the set of target terms.++2010-06-22 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Lib/Strand.hs (gainedPos): In a skeleton, a node with a+ uniquely originating atom that is gained must be after the node of+ origination. It used to be that only nodes in which the atom is+ acquired must have the ordering.+ 2010-06-18 John D. Ramsdell <ramsdell@mitre.org> * cpsa.cabal (Version): Tagged as version 2.0.5.
NEWS view
@@ -1,5 +1,28 @@ CPSA NEWS -- history of user-visible changes. +* Changes in version 2.1.0++** Initial comments displayed+The graph program displays the initial comments in an input file.++** New command line options+Four new command line options have been added:++ -d --displacement enable displacement+ -c --check-nonces check nonces first+ -t --try-old-strands try old strands first+ -r --reverse-nodes try old nodes first++In rare cases, the use of one of these options may allow normal+termination in a case in which CPSA aborts otherwise.++** GHC 6.8 no longer supported+Use GHC 6.10 or greater.++** Bugs fixes+Some minor bugs were fixed that mostly effect artificially generated+protocols.+ * Changes in version 2.0.5 ** Performance enhanced
README view
@@ -5,18 +5,6 @@ Windows. The instructions assume GHC has been installed on your machine. -CPSA has been built and tested with GHC 6.8 too, but to handle its old-version of Cabal, configure with:--$ make CABALFLAGS=-fold--or--$ runghc Setup.hs configure -fold --ghc --user --prefix="${HOME}"--The Hackage version of the Cabal file needs editing to support GHC-6.8. Simply remove occurrences of the string "--Hackage".- QUICK START (Linux) : To build and install CPSA type:
cpsa.cabal view
@@ -1,7 +1,7 @@ Name: cpsa-Version: 2.0.5+Version: 2.1.0 Maintainer: ramsdell@mitre.org-Cabal-Version: >= 1.2+Cabal-Version: >= 1.6 License: BSD3 License-File: license.txt Synopsis: Symbolic cryptographic protocol analyzer@@ -40,45 +40,47 @@ Category: Cryptography Build-Type: Simple Data-Files:- doc/index.html doc/cpsauser.html doc/cpsa.mk doc/Make.hs- doc/cpsaprimer.pdf doc/cpsaoverview.pdf doc/ffgg.scm doc/ns.scm- doc/or.scm doc/woolam.scm doc/yahalom.scm--- In cabal 1.6, use this:--- Data-Files:--- index.html cpsauser.html cpsa.mk Make.hs cpsaprimer.pdf cpsaoverview.pdf--- ffgg.scm ns.scm or.scm woolam.scm yahalom.scm--- Data-Dir: doc+ index.html cpsauser.html cpsa.mk Make.hs cpsaprimer.pdf+ cpsaoverview.pdf ffgg.scm ns.scm or.scm woolam.scm yahalom.scm+Data-Dir: doc Extra-Source-Files: Makefile ChangeLog README NEWS ghci cpsatst doc/README doc/Makefile doc/macros.tex doc/cpsaprimer.tex doc/bcasyntax.tex doc/cpsatheory.tex doc/cpsaspec.tex doc/cpsadesign.tex doc/cpsaoverview.tex doc/cpsadiagrams.mp doc/strands.mp doc/cmstrands.mp doc/carriers.mp doc/termtree.mp doc/cpsa.bib- doc/SDAG.lhs src/index.html src/cpsacgi src/cpsacgi.py src/cpsa2svg+ doc/SDAG.lhs doc/cpsatheory.pdf doc/cpsaspec.pdf doc/cpsadesign.pdf+ src/index.html src/cpsacgi src/cpsacgi.py src/cpsa2svg src/cpsa.el src/httpd_allow_execmem.te src/cpsaops.scm src/preskel src/cpsa.pl src/pp.pl src/sexpr.pl tst/README tst/Makefile tst/Make.hs tst/checktst tst/cpsagraphall tst/cpsashapesall- tst/dass.lisp tst/blanchet.scm tst/blanchet.tst- tst/completeness-test.scm tst/completeness-test.tst- tst/missing_contraction.scm tst/missing_contraction.tst- tst/no_contraction.scm tst/no_contraction.tst tst/dass-mod.lisp+ tst/blanchet.scm tst/blanchet.tst tst/completeness-test.scm+ tst/completeness-test.tst tst/dass.lisp tst/dass-mod.lisp tst/dass_simple.scm tst/dass_simple.tst tst/denning-sacco.scm- tst/denning-sacco.tst tst/dh.sch tst/dh.tst tst/ds-short.lisp- tst/dy.lsp tst/dy.tst tst/epmo_acctnum.lsp tst/epmo_acctnum.tst- tst/epmo.scm tst/encsig.scm tst/encsig.tst tst/epmo.tst tst/ffgg.scm- tst/ffgg.tst tst/isoreject.scm tst/isoreject.tst tst/kelly1.scm- tst/kelly1.tst tst/kelly64.lisp tst/kerb5.lisp tst/kerberos.scm- tst/kerberos.tst tst/neuman-stubblebine-alt.lisp- tst/neuman-stubblebine-reauth.lisp tst/neuman-stubblebine-reauth.lsp- tst/neuman-stubblebine-reauth.tst tst/neuman-stubblebine.scm- tst/neuman-stubblebine.tst tst/nsl3.scm tst/nsl3.tst tst/nsl4.lisp+ tst/denning-sacco.tst tst/dh.sch tst/dh.tst+ tst/dh_unifywithconst.sch tst/dh_unifywithconst.tst+ tst/ds-short.lisp tst/dy.lsp tst/dy.tst tst/encsig.scm+ tst/encsig.tst tst/epmo_acctnum.lsp tst/epmo_acctnum.tst+ tst/epmo.scm tst/epmo.tst tst/ffgg.scm tst/ffgg.tst+ tst/isoreject.scm tst/isoreject.tst tst/kelly1.scm tst/kelly1.tst+ tst/kelly64.lisp tst/kerb5.lisp tst/kerberos.scm tst/kerberos.tst+ tst/missing_contraction.scm tst/missing_contraction.tst+ tst/neuman-stubblebine-alt.lisp tst/neuman-stubblebine-reauth.lisp+ tst/neuman-stubblebine-reauth.lsp tst/neuman-stubblebine-reauth.tst+ tst/neuman-stubblebine.scm tst/neuman-stubblebine.tst+ tst/no_contraction.scm tst/no_contraction.tst+ tst/non_transforming.scm tst/non_transforming.tst tst/nsl3.scm+ tst/nsl3.tst tst/nsl4cm1.lsp tst/nsl4cm1.tst tst/nsl4.lisp tst/nsl4resp2.lisp tst/nsl5i.lisp tst/nsl5.lisp tst/nslsk.scm tst/nslsk.tst tst/ns.scm tst/ns.tst tst/or.scm tst/or.tst- tst/pca.lsp tst/pca.tst tst/tnsl5.lisp tst/updatetst tst/sigenc.scm- tst/sigenc.tst tst/weird.scm tst/weird.tst tst/wmf.lsp tst/wmf.tst- tst/woolam.scm tst/woolam.tst tst/yahalom.scm tst/yahalom.tst- tst/sorted_epmo_acctnum.scm tst/sorted_epmo_acctnum.tst- tst/nsl4cm1.lsp tst/nsl4cm1.tst+ tst/pca.lsp tst/pca.tst tst/pruning1.scm tst/pruning1.tst+ tst/sigenc.scm tst/sigenc.tst tst/sorted_epmo_acctnum.scm+ tst/sorted_epmo_acctnum.tst tst/targetterms2.scm+ tst/targetterms2.tst tst/targetterms6.scm tst/targetterms6.tst+ tst/tnsl5.lisp tst/uncarried_keys.scm tst/uncarried_keys.tst+ tst/uo.scm tst/uo.tst tst/updatetst tst/weird.scm tst/weird.tst+ tst/wmf.lsp tst/wmf.tst tst/woolam.scm tst/woolam.tst+ tst/yahalom.scm tst/yahalom.tst -- Disable with -f-par option during configuration. @@ -86,22 +88,16 @@ Description: Enable use of the parallel construct par Default: True -Flag Old- Description: Enable support for cabal < 1.6- Default: False- -- Algebra implementations must import CPSA.Lib.CPSA. -- Tools may additionally import CPSA.Lib.Entry. -- No other modules in CPSA.Lib should be imported by applications. Executable cpsa Main-Is: CPSA/Lib/Main.hs- Build-Depends: base >= 3 &&< 5, containers+ Build-Depends: base >= 3 && < 5, containers GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src---Hackage if flag(old)---Hackage Hs-Source-Dirs: dist/build/autogen Other-Modules: Paths_cpsa CPSA.Lib.Vector CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra@@ -120,8 +116,6 @@ GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src---Hackage if flag(old)---Hackage Hs-Source-Dirs: dist/build/autogen Other-Modules: Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol@@ -137,8 +131,6 @@ GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src---Hackage if flag(old)---Hackage Hs-Source-Dirs: dist/build/autogen Other-Modules: Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol@@ -151,8 +143,6 @@ GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src---Hackage if flag(old)---Hackage Hs-Source-Dirs: dist/build/autogen Other-Modules: Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol@@ -167,8 +157,6 @@ GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src---Hackage if flag(old)---Hackage Hs-Source-Dirs: dist/build/autogen Other-Modules: Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol@@ -181,8 +169,6 @@ GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Hs-Source-Dirs: src---Hackage if flag(old)---Hackage Hs-Source-Dirs: dist/build/autogen Other-Modules: Paths_cpsa CPSA.Lib.Utilities CPSA.Lib.Pretty CPSA.Lib.SExpr CPSA.Lib.Printer CPSA.Lib.Entry CPSA.Lib.Algebra CPSA.Lib.Protocol
doc/Makefile view
@@ -62,7 +62,7 @@ pdflatex $(THEORY).tex CLEAN_FILES := $(PRIMER).pdf $(OVERVIEW).pdf \- $(DESIGN).pdf $(SPEC).pdf $(THEORY)\+ $(DESIGN).pdf $(SPEC).pdf $(THEORY).pdf \ $(wildcard *.log *.aux *.toc *.mps *.mpx) \ $(wildcard *.bbl *.blg *.ind *.idx *.ilg *.out)
doc/cpsa.bib view
@@ -131,3 +131,40 @@ pages = "198--208", year = 1983 }++@Manual{cpsaspec09,+ title = {The {CPSA} Specification:+ A Reduction System for Searching for Shapes in Cryptographic Protocols},+ OPTkey = {},+ author = {John D.~Ramsdell and Joshua D.~Guttman and Paul D.~Rowe},+ organization = {The MITRE Corporation},+ OPTaddress = {},+ OPTedition = {},+ OPTmonth = {},+ year = 2009,+ note = {In \url{http://hackage.haskell.org/package/cpsa} source+ distribution, \texttt{doc} directory},+ OPTannote = {}+}++@InCollection{cpsa09,+ author = {John D. Ramsdell and Joshua D. Guttman},+ title = {{CPSA}: A cryptographic protocol shapes analyzer},+ booktitle = {Hackage},+ OPTcrossref = {},+ OPTkey = {},+ OPTpages = {},+ publisher = {The MITRE Corporation},+ year = 2009,+ OPTeditor = {},+ OPTvolume = {},+ OPTnumber = {},+ OPTseries = {},+ OPTtype = {},+ OPTchapter = {},+ OPTaddress = {},+ OPTedition = {},+ OPTmonth = {},+ note = {\url{http://hackage.haskell.org/package/cpsa}},+ OPTannote = {}+}
+ doc/cpsadesign.pdf view
binary file changed (absent → 198971 bytes)
doc/cpsadesign.tex view
@@ -719,7 +719,7 @@ $$ \begin{array}{r@{}c@{}l} \ops{C}_{s,s'}(\cn{k}(P, I, O, N, U))&{}={}&-\cn{k}(P, I\dagger s, \ops{C}_{\phi}\circ O, N, U)\\+\cn{k}(P, I\circ\phi'_s, \ops{C}_{\phi}\circ O, N, U)\\ \ops{C}_\phi(\cn{o}(n_0, n_1))&{}={} &\cn{o}(\ops{C}_\phi(n_0), \ops{C}_\phi(n_1))\\ \ops{C}_\phi(\cn{n}(s, p))&{}={}&\cn{n}(\phi(s), p)\\@@ -733,10 +733,10 @@ j-1&\mbox{if $j>s$}\\ j&\mbox{otherwise} \end{array}\right.\\-(I\dagger s)(j)&{}={}&\left\{+\phi'_s(j)&{}={}&\left\{ \begin{array}{ll}-I(j+1)&\mbox{if $j\geq s$}\\-I(j)&\mbox{otherwise}+j+1&\mbox{if $j\geq s$}\\+j&\mbox{otherwise} \end{array}\right. \end{array} $$ where the trace of~$I(s)$ is a prefix of the trace of~$I(s')$.@@ -744,7 +744,8 @@ $\cn{o}(\cn{n}(s,p),\cn{n}(s,p'))$ are removed from the ordering when $p<p'$, so they do not cause the output preskeleton to fail to be well-formed. The implicit homomorphism is-$(\phi_{s,s'},\idsigma)$, where~$\idsigma$ is the identity substitution.+$(\phi_{s,s'},\idsigma)$, where~$\idsigma$ is the identity+substitution. Note that $\phi_{s,s'}\circ\phi'_s=\idsigma$. \subsection{Transitive Reduction}
doc/cpsaoverview.pdf view
binary file changed (130463 → 78160 bytes)
doc/cpsaprimer.pdf view
binary file changed (277510 → 190605 bytes)
+ doc/cpsaspec.pdf view
binary file changed (absent → 349753 bytes)
doc/cpsaspec.tex view
@@ -772,12 +772,17 @@ In a {\cpsa} algebra, a trace is a term of sort \dom{evt} \dom{list}. -\begin{defn}[Originates]+\begin{defn}[Originates]\index{originates} A message \emph{originates} in a trace if it is carried by some event and the first event in which it is carried is outbound. \end{defn} -\begin{defn}[Acquired]+\begin{defn}[Gained]\index{gained}+A message is \emph{gained} in a trace if it is carried by some+event and the first event in which it is carried is outbound.+\end{defn}++\begin{defn}[Acquired]\index{acquired} A message is \emph{acquired} by a trace if it first occurs in an inbound message and is also carried by that message. \end{defn}@@ -797,7 +802,7 @@ \item Each non-originating atom is not carried by any event in the trace, and each variable that occurs in the atom occurs in the trace.-\item Every non-base sorted variable is acquired by the trace.+\item Every non-base sorted variable is acquired by the trace.\index{acquired} \end{enumerate} \end{defn} @@ -847,13 +852,13 @@ An \emph{instance}~$i$ consists of a role $\fn{role}(i)$, a positive number $\fn{height}(i)$, and an order-sorted substitution $\fn{subst}(i)$. Let~$r$,~$h$, and~$\sigma$ be the role, height, and-substitution for a given instance~$i$. Let $C|_h$ be the prefix of+substitution for a given instance~$i$. Let $\prefix{C}{h}$ be the prefix of sequence~$C$ of length~$h$. The following properties hold. \begin{enumerate} \item The height of an instance cannot exceed the length of it's role's trace. \item $\fn{Dom}(\sigma)$ is the set of variables that occur in- $\fn{rtrace}(r)|_h$.+ $\prefix{\fn{rtrace}(r)}{h}$. \item No variable in an instance's role may occur in $\fn{Ran}(\sigma)$. \end{enumerate}@@ -891,7 +896,7 @@ assumption~$\sigma(t)$ if~$t\in\fn{rnon}(r)$, and the variables in~$t$ are in $\fn{Dom}(\sigma)$. Instance~$i$ inherits the unique origination assumption~$\sigma(t)$ if~$t\in\fn{runique}(r)$, and $t$-originates in $\fn{rtrace}(r)|_h$.+originates in $\prefix{\fn{rtrace}(r)}{h}$. \end{defn} \begin{defn}[Strand Space~\protect{\cite[Definition~2.2]{ThayerEtal99}}]@@ -1062,13 +1067,14 @@ \end{defn} Let $\orig(k,t)$ be the set of nodes at which~$t$ originates in~$k$,-and~$\acqu(k,t)$ be the set of nodes at which~$t$ is acquired in~$k$.+and~$\gain(k,t)$ be the set of nodes at which~$t$ is gained+in~$k$.\index{gained} \begin{defn}[Skeleton] A preskeleton~$k$ is a \emph{skeleton} if each atom in $\fn{unique}(k)$ originates in at most one trace, and the node of-origination precedes each node that acquires the atom, i.e.\@ for-every~$t\in\fn{unique}(k)$, $n_0\in\orig(k,t)$ and $n_1\in\acqu(k,t)$+origination precedes each node that gains the atom, i.e.\@ for+every~$t\in\fn{unique}(k)$, $n_0\in\orig(k,t)$ and $n_1\in\gain(k,t)$ implies~$n_0\kprec{k}n_1$. \end{defn} @@ -1086,7 +1092,7 @@ \item $n_0\kprec{k_0}n_1$ implies $\phi(n_0)\kprec{k_1}\phi(n_1)$; \item $\sigma(\fn{non}(k_0)) \subseteq \fn{non}(k_1)$; \item $\sigma(\fn{unique}(k_0)) \subseteq \fn{unique}(k_1)$;-\item $t\in \fn{unique}(k_0)$ implies+\item\label{enu:orig} $t\in \fn{unique}(k_0)$ implies $\phi(\orig(k_0,t))\subseteq\orig(k_1,\sigma(t))$. \end{enumerate} A homomorphism is \index{homomorphism!strandwise injective}\emph{strandwise@@ -1095,10 +1101,10 @@ both directions. \end{defn} -The last condition ensures that if $t\in unique(k_0)$ originates+Condition~\ref{enu:orig} ensures that if $t\in unique(k_0)$ originates at $(s,p)$ then when we apply $\sigma$ to the strand $s$, $\sigma(t)$-neither originates nor is acquired at $(\sigma(s),j)$ for $j<p$-($\sigma(t)$ can never originate or be acquired later). In other words,+neither originates nor is gained at $(\phi(s),j)$ for $j<p$+($\sigma(t)$ can never originate or be gained later). In other words, $\sigma$ alone will either satisfy or violate the last clause. \begin{defn}[Homomorphism Composition]\label{def:composition}@@ -1193,12 +1199,11 @@ \begin{defn}[Pruned Skeleton] A skeleton~$k$ has a set of \emph{redundant strands}~$S$ if there is a-substitution~$\sigma$ that is a renaming for every variable in the-trace of a strand not in~$S$, a strand mapping~$\phi$ such that $s\in-S$ implies there is some $s'\notin S$ such that $\phi(s)=\phi(s')$-and the height of~$s$ is no greater than the height of~$s'$, a-skeleton~$k'$ such that $k\homomorphism{\phi,\sigma}k'$ where-$k'=(\phi,\sigma)(k)$, and a+substitution~$\sigma$ that is a variable renaming, a strand+mapping~$\phi$ such that $s\in S$ implies there is some $s'\notin S$+such that $\phi(s)=\phi(s')$ and the height of~$s$ is no greater than+the height of~$s'$, a skeleton~$k'$ such that+$k\homomorphism{\phi,\sigma}k'$ where $k'=(\phi,\sigma)(k)$, and a homomorphism $k'\homomorphism{\phi',\sigma'}k$ such that $\sigma\circ\sigma'=\idsigma$ and $\phi\circ\phi'=\idphi$. A skeleton~$k$ is \emph{pruned} if it contains no redundant strands.@@ -1280,7 +1285,7 @@ If a preskeleton $k$ is not a skeleton, then it is either because some $t\in unique(k)$ actually originates at more than one node,-or because for some $t\in unique(k)$, there is a node $n_1\in\acqu(k,t)$,+or because for some $t\in unique(k)$, there is a node $n_1\in\gain(k,t)$, and a node $n_0\in\orig(k,t)$ such that $n_0\nprec_k n_1$. These obstructions are resolved via identifying strands and enriching node orderings respectively. We show that we can always@@ -1715,7 +1720,7 @@ orderings implied by origination. That is, \begin{enumerate} \item $\kprec{k_1}= (\kprec{k_0}\cup\{n_0,n_1\mid n_0\in\orig(k_0,t)\land-n_1\in\acqu(k_0,t)\})^\ast$,+n_1\in\gain(k_0,t)\})^\ast$, \item $\fn{ht}(k_1,s)= \fn{ht}(k_0,s)$ for $s<|\fn{inst}(k_0)|$, \item $\fn{unique}(k_1)=\fn{unique}(k_0)$, and@@ -1746,7 +1751,7 @@ ordering relation. That is, $n_0\kprec{k_0}n_1$ is the transitive closure of pairs such that either $n_0\kprec{k}n_1$ or for some $t\in unique(k)$, $t$ originates-at $n_0$ and $n_1\in\acqu(k,t)$. Let $\psi_0$ be the obvious+at $n_0$ and $n_1\in\gain(k,t)$. Let $\psi_0$ be the obvious embedding of $k$ into $k_0$. We must show that $k_0$ is a skeleton. It will be sufficient to check that we did not introduce any cycles into the node ordering. But, in fact, if $\kprec{k_0}$@@ -2068,9 +2073,7 @@ message~$t'$ if~$t$ is carried by~$t'$ only within a member of~$T_e$. The definition of the carried only within ({\cow}) relation to follow makes this concept precise. The concept is used when solving authentication-tests (Section~\ref{sec:auth tests}) using contraction-(Definition~\ref{def:contraction}) and augmentation-(Definition~\ref{def:augmentation}).+tests (Section~\ref{sec:auth tests}). The question of the protection of a critical message is posed within the context of a given pruned skeleton~$k$. The message algebra is@@ -2095,10 +2098,10 @@ Definition~\ref{def:carried positions} defines $\fn{carpos}(t,t')$, the set of positions at which~$t'$ carries~$t$. -A reduction on skeletons called a contraction will be described in the-next section in Definition~\ref{def:contraction}. For a contraction,-given~$t$,~$T_e$, and~$t'$, one must find all most general-unifiers~$\sigma$ such that~$\sigma(t)$ is carried only within+The details of a reduction on skeletons called a augmentation will be+described in Section~\ref{augmentations}. In simplified form, for+an augmentation, given~$t$,~$T_e$, and~$t'$, one must find all most+general unifiers~$\sigma$ such that~$\sigma(t)$ is carried only within set~$\sigma(T_e)$ in~$\sigma(t')$. A carried only within solution cannot be directly computed using@@ -2185,42 +2188,36 @@ $(T_p,T_a)=\fn{dcmp}(k,n)$, so that~$T_p$ and~$T_a$ need not be recomputed. -\begin{defn}[Critical Nonce]-An atom~$t$ is a \emph{critical nonce} at unrealized reception-node~$n$ in skeleton~$k$ if~$t$ is carried by $\fn{msg}(k,n)$,-$t\in\fn{unique}(k)$,~$t$ originates in~$k$, $\fn{esc}(k,n,t)$ is-defined, and~$t$ is not carried only within $\fn{esc}(k,n,t)$ in-$\fn{msg}(k,n)$.-\end{defn}--\begin{defn}[Critical Encryption]-An encryption~$t=\enc{t_0}{t_1}$ is a \emph{critical encryption} at-unrealized reception node~$n$ in skeleton~$k$ if~$t$ is carried by-$\fn{msg}(k,n)$,~$t_1$ is not derivable before~$n$ in~$k$,-$\fn{esc}(k,n,t)$ is defined, and~$t$ is not carried only within-$\fn{esc}(k,n,t)$ in $\fn{msg}(k,n)$.-\end{defn}--\begin{defn}[Critical Message]-A message~$t$ is a \emph{critical message} at node~$n$ in skeleton~$k$-if it is a critical nonce or a critical encryption.+\begin{defn}[Critical Position]+Position~$p$ is a \emph{critical position} of $t=\fn{msg}(k,n)$ if+\begin{enumerate}+\item $p$ is a carried position in~$t$,+\item either $t\termat p\in\fn{unique}(k)$ and $t\termat p$ originates+ in~$k$, or $t\termat p=\enc{t_0}{t_1}$ and~$t_1$ is not derivable+ before~$n$ in~$k$,+\item $\fn{esc}(k,n,t\termat p)$ is defined, and+\item $\fn{anc}(t,p)\cap \fn{esc}(k,n,t\termat p)=\emptyset$.+\end{enumerate} \end{defn} -Observe that every critical message at a node in a skeleton is not-derivable at the node.+The message at a critical position is called a \emph{critical+ message}. It is a \emph{critical nonce} if the message is an atom,+otherwise it is a \emph{critical encryption}. Observe that every+critical message at a node in a skeleton is not derivable at the node. \begin{thm}-Every unrealized reception node has a critical message.+A reception node is unrealized iff it has a critical position. \end{thm} -\begin{defn}[Critical Message Solved]\label{def:critical message solved}-Suppose~$t_0$ is a critical message at~$n_0$ in~$k_0$ and-$k_0\homomorphism{\phi,\sigma}k_1$. Let~$t_1=\sigma(t_0)$,+\begin{defn}[Critical Position Solved]\label{def:critical position solved}+Suppose~$p$ is a critical position at~$n_0$ in~$k_0$ and+$k_0\homomorphism{\phi,\sigma}k_1$. Let~$t_0=\fn{msg}(k,n)\termat p$,+$t_1=\sigma(t_0)$, $T=\sigma(\fn{esc}(k_0,n_0,t_0))$, $n_1=\phi(n_0)$,-and~$t=\fn{msg}(k_1,n_1)$. Critical message~$t_0$ is solved in~$k_1$+and~$t=\fn{msg}(k_1,n_1)$. Critical position~$p$ is solved in~$k_1$ after~$k_0$ at~$n_0$ if: \begin{enumerate}-\item $t_1$ is carried only within~$T$ in~$t$, or+\item $\fn{anc}(t,p)\cap T\neq\emptyset$, or \item for some~$t_p\in\fn{outpred}(k_1,n_1)$, $t_1$ is not carried only within~$T$ in~$t_p$, or \item the decryption key of a member of~$T$ is derivable@@ -2231,14 +2228,15 @@ \end{defn} \begin{defn}[Contraction]\label{def:contraction}-Let~$t_c$ be a critical message at~$n$ in~$k$. Suppose there is a-substitution~$\sigma$ such that~$\sigma(t_c)$ is carried only-within~$\sigma(\fn{esc}(k,n,t_c))$ in $\sigma(\fn{msg}(k,n))$.+Let~$p$ be a critical position at~$n$ in~$k$, $t=\fn{msg}(k,n)$, and+$T_e= \fn{esc}(k,n,t\termat p)$. Suppose there is a+substitution~$\sigma$ such that for some~$t_a\in\fn{anc}(t,p)$,+$t_e\in T_e$, $\sigma(t_a)=\sigma(t_e)$. Skeleton~$k_1$ is a \emph{contraction} if $k\reduction{\ops{S}_\sigma}k_0\reduction{\fn{skel}}k_1$. \end{defn} -{\cpsa} computes a set of substitutions for each critical message, and+{\cpsa} computes a set of substitutions for each critical position, and then removes some substitutions to form a complete set of most general unifiers. Only most general unifiers are used for contractions.@@ -2287,20 +2285,19 @@ \end{defn} \begin{defn}[Cohort Member]-For unrealized node~$n$ in a skeleton~$k_0$, and a critical-message~$t$ at~$n$, $k_0\reduction{n,t}k_1$ asserts that $k_1$ is a+For unrealized node~$n$ in a skeleton~$k_0$, and a position~$p$ at~$n$, $k_0\reduction{n,p}k_1$ asserts that $k_1$ is a member of the cohort of~$k_0$, where~$k_1$ is derived using-contraction, regular augmentation, or listener augmentation, and~$t$+contraction, regular augmentation, or listener augmentation, and~$p$ is solved in~$k_1$ after~$k_0$ at~$n$. For the setwise cohort member-reduction, $\{k_0\}\setreduction{n,t}\{k_1\mid k_0\reduction{n,t}k_1\}$,-when~$n$ is unrealized in~$k_0$, and~$t$ is a critical message at~$n$.+reduction, $\{k_0\}\setreduction{n,t}\{k_1\mid k_0\reduction{n,p}k_1\}$,+when~$n$ is unrealized in~$k_0$, and~$p$ is a critical position at~$n$. \end{defn} \begin{thm}[Cohort Correct]-Let node~$n$ be unrealized in skeleton~$k$, and~$t$ be a critical-message at~$n$. For every realized skeleton~$k_1$ such that+Let node~$n$ be unrealized in skeleton~$k$, and~$p$ be a critical+position at~$n$. For every realized skeleton~$k_1$ such that $k\homomorphism{\psi_1}k_1$, there is a~$k_0$,~$\psi_0$, and~$\psi$-with $k\reduction{n,t}k_0$, $k\homomorphism{\psi_0}k_0$, and+with $k\reduction{n,p}k_0$, $k\homomorphism{\psi_0}k_0$, and $\psi_1=\psi\circ\psi_0$. $$\xymatrix@C=3em{@@ -2310,14 +2307,14 @@ \end{thm} \begin{thm}[Cohort]-Reduction $\setreduction{\fn{co}}=\bigcup_{n,t}\setreduction{n,t}$ is+Reduction $\setreduction{\fn{co}}=\bigcup_{n,t}\setreduction{n,p}$ is confluent. \end{thm} \begin{thm}[Critical Message Solved]-If $k_0\reduction{n_0,t_0}k_1 \reduction{n_1,t_1}\ldots-\reduction{n_{\ell-1},t_{\ell-1}}k_\ell$ is a sequence of cohort member-reductions, then for positive~$\ell$,~$t_0$ is solved in~$k_\ell$+If $k_0\reduction{n_0,p_0}k_1 \reduction{n_1,p_1}\ldots+\reduction{n_{\ell-1},p_{\ell-1}}k_\ell$ is a sequence of cohort member+reductions, then for positive~$\ell$,~$p_0$ is solved in~$k_\ell$ after~$k_0$ at~$n_0$. \end{thm} @@ -2387,7 +2384,7 @@ precede~$t_{n-1}$, the critical message is carried only within the escape set. The function \fn{cowt}, presented in Figure~\ref{fig:cowt}, performs the explorations, producing the-substitutions $S'=\fn{cowt}(t_c,T_e,\fn{rtrace}(r)|_{n-1},S)$.+substitutions $S'=\fn{cowt}(t_c,T_e,\prefix{\fn{rtrace}(r)}{n-1},S)$. Function $\fn{fold}$ is defined in Figure~\ref{fig:cows}. The final step is to remove substitutions $\sigma\in S'$ such that@@ -2399,7 +2396,7 @@ $(\sigma,i)$, where $\fn{role}(i)=r$, $\fn{height}(i)=n$, $\fn{subst}(i)=\sigma$, and~$\sigma$ is~$\sigma'$ stripped of mappings to messages with variables that do not occur in-$\sigma'\circ\fn{rtrace}(r)|_n$.+$\sigma'\circ\prefix{\fn{rtrace}(r)}{n}$. \begin{note} For target terms to be the reasonable set for insertion of the
+ doc/cpsatheory.pdf view
binary file changed (absent → 248116 bytes)
doc/cpsatheory.tex view
@@ -5,7 +5,7 @@ \usepackage[matrix,arrow,curve]{xy} \title{CPSA Theory}-\author{John D. Ramsdell}+\author{Moses Liskov\and John D. Ramsdell\and Paul Rowe} \input{macros} @@ -16,11 +16,17 @@ \newtheorem{defn}{Definition}[section] \newtheorem{conj}{Conjecture}[section] \newtheorem{prop}{Proposition}[section]+\newtheorem{thm}{Theorem}[section]+\newtheorem{lem}{Lemma}[section] \newcommand{\inv}[1]{\ensuremath{\cn{inv}(#1)}}+\newcommand{\scap}[1]{\ensuremath{\mathop{\relax+ \smash{\mbox{\sc#1}}}\!\mathop{\vphantom{#1}}\nolimits}}+\newcommand{\concat}{\frown} \newcommand{\gen}{\ensuremath{\cn{g}}} \newcommand{\expr}[2]{\ensuremath{{#1}^{#2}}} \newcommand{\sca}{\textsc{sca}}+\newcommand{\bca}{\textsc{bca}} \newcommand{\alga}{\alg{A}} \newcommand{\tr}{\ensuremath{\mathfrak C}} \newcommand{\base}{\ensuremath{\mathfrak B}}@@ -37,15 +43,19 @@ \newcommand{\carpos}{\fn{carpos}} \newcommand{\esc}{\fn{esc}} \newcommand{\msg}{\fn{msg}}+\newcommand{\aug}{\fn{aug}} \newcommand{\eo}{\fn{eo}} \newcommand{\ie}{\fn{ie}} \newcommand{\crit}{\fn{crit}}+\newcommand{\critpos}{\fn{critp}} \newcommand{\anc}{\fn{anc}} \newcommand{\mcow}{\fn{cow}} \newcommand{\mncow}{\fn{ncow}} \newcommand{\sdom}{\fn{Dom}} \newcommand{\sran}{\fn{Ran}}+\newcommand{\svars}{\fn{Vars}} \newcommand{\evt}{\fn{evt}}+\newcommand{\mesg}{\fn{mesg}} \newcommand{\role}{\mathsf{r}} \newcommand{\skel}{\mathsf{k}} \newcommand{\rl}{\fn{rl}}@@ -60,28 +70,28 @@ \cpsacopying {\cpsa} takes a partial description of a run of a protocol, and-attempts to produce a compact description of all possibles runs of the+attempts to produce a compact description of all possible runs of the protocol compatible with the partial description. Given a partial description, {\cpsa} uses an authentication test to infer what else-must have happened, and thereby reduce the problem to finding-possible runs starting with a set of more refined descriptions. The-goal of this document is to precisely describe authentication tests.+must have happened, and thereby reduce the problem to finding possible+runs starting with a set of more refined descriptions. The goal of+this document is to precisely describe authentication tests. The formal definition of a partial run of a protocol is called a skeleton, and is introduced in Section~\ref{sec:skeletons}. To motivate the definition, Section~\ref{sec:order-sorted mesg algs} describes a simplified version of a message algebra used in {\cpsa}.-Section~\ref{sec:strand spaces and bundles} describes a bundle, a-model of asynchronous messages-passing that includes the behaviors of-honest and adversarial participants. It also introduces the notion of-a protocol, and specifies what it means for a bundle to be a run of a-protocol.+Section~\ref{sec:strand spaces and bundles} describes a+bundle~\cite{ThayerEtal99,GuttmanThayer02}, a model of asynchronous+messages-passing that includes the behaviors of honest and adversarial+participants. It also introduces the notion of a protocol, and+specifies what it means for a bundle to be a run of a protocol. Section~\ref{sec:adversary model} describes the capabilities of the adversary. {\cpsa} does not explicitly represents adversarial behaviors. Section~\ref{sec:skeletons} and Section~\ref{sec:pen deriv mesgs} reveal the means by which the details of adversarial-behavior is abstracted away. Finally, Section~\ref{sec:auth tests}+behavior are abstracted away. Finally, Section~\ref{sec:auth tests} describes authentication tests. \section{Order-Sorted Message Algebras}\label{sec:order-sorted mesg algs}@@ -94,60 +104,76 @@ order-sorted quotient term algebras~\cite{GoguenMeseguer92} for message algebras. This formalism enables the use of well-known algorithms for unification and matching in the presences of equations-and sorts.+and sorts~\cite[Chapter~8]{RobinsonVoronkov01}. This paper makes no attempt to provide a general introduction to-order-sorted quotient term algebras. Instead, it presents a very-simple message algebra, called the Simple Crypto Algebra (\sca), that-suffices for this document.+order-sorted quotient term algebras. We use a simple message+algebra called the Basic Crypto Algebra (\bca), which is the algebra+used by CPSA. \begin{figure}-$$\begin{array}{ll@{{}\colon{}}ll}-\mbox{Sorts:}&\multicolumn{3}{l}{\mbox{$\top$, $S$, and $A$, where $S<\top$ and $A<\top$}}\\-\mbox{Operations:}&(\cdot,\cdot)&\top\times\top\to\top& \mbox{Pairing}\\-&\enc{\cdot}{(\cdot)}&\top\times S\to\top& \mbox{Symmetric encryption}\\-&\enc{\cdot}{(\cdot)}&\top\times A\to\top& \mbox{Asymmetric encryption}\\-&(\cdot)^{-1}&S\to S& \mbox{Symmetric key inverse}\\-&(\cdot)^{-1}&A\to A& \mbox{Asymmetric key inverse}-\end{array}$$-\caption{Simple Crypto Algebra Signature}\label{fig:signature}+Sorts: \scap{name}, \scap{text}, \scap{data}, \scap{skey}, \scap{akey} $<$ \scap{mesg}\\[1ex]+Base sorts: \scap{name}, \scap{text}, \scap{data}, \scap{skey}, \scap{akey}\\+Carried positions: $\bullet$ denotes a carried position.\\[1ex]+\begin{tabular}{@{}ll}+$\enc{\bullet}{(\cdot)}\colon\scap{mesg}\times\scap{mesg}\rightarrow\scap{mesg}+$&Encryption\\+$(\bullet,\bullet)\colon\scap{mesg}\times\scap{mesg}\rightarrow\scap{mesg}$+&Pairing\\+``\ldots''$\colon{}\scap{mesg}$& Tag constants\\+$K_{(\cdot)}\colon\scap{name}\rightarrow\scap{akey}$+&Public key of name\\+$(\cdot)^{-1}\colon\scap{akey}\rightarrow\scap{akey}$+&Inverse of key\\+$\cn{ltk}(\cdot,\cdot)\colon\scap{name}\times\scap{name}\rightarrow\scap{skey}$+& Long term key+\end{tabular}\\[1ex]+Equation: $(x^{-1})^{-1} \approx x$ for $x\colon\scap{akey}$+\caption{Basic Crypto Signature and Equation}\label{fig:bcs} \end{figure} -There are three {\sca} sorts: $\top$, the sort of all messages, $S$,-the sort of symmetric keys, and $A$, the sort of asymmetric keys.-Every symmetric key is a message (written $S<\top$), and every-asymmetric key is a message ($A<\top$). The function symbols, or++There are six {\bca} sorts: $\scap{mesg}$, the sort of all messages, +$\scap{skey}$, the sort of symmetric keys, $\scap{akey}$, the sort of asymmetric keys, +$\scap{name}$, the sort of participant names, and $\scap{text}$ and $\scap{data}$+for ordinary values. All sorts are subsorts of $\scap{mesg}$.+The function symbols, or \emph{operations}, used to form terms are given by the signature in-Figure~\ref{fig:signature}. Notice that the encryption and key-inverse operations are overloaded.+Figure~\ref{fig:bcs}. Each variable~$x$ used to form a term has a unique sort~$s$, written-$x\colon s$. If~$X$ is a set of variables, $X_s=\{x\mid x\colon s\}$.-For {\sca}, $X_\top$, $X_S$, and $X_A$, partition a variable set~$X$.--There are two equations in {\sca}, both associated with key inverse.-For symmetric key $x\colon S$, $x^{-1}\approx x$, and for asymmetric-key $y\colon A$, $(y^{-1})^{-1}\approx y$.+$x\colon s$. Variable set~$X$ is an indexed set of sets of variables,+$X_s=\{x\mid x\colon s\}$. For {\bca}, $X_{\scap{mesg}}$, $X_{\scap{skey}}$, +$X_{\scap{akey}}$, $X_{\scap{name}}$, $X_{\scap{text}}$, and+$X_{\scap{data}}$+partition the set of variables in~$X$. The set of variables in~$X$+is $\svars(X)$. \begin{figure} $$\begin{array}{r@{{}={}}l}-\alga_S&\{\{x^{-n}\mid n\in\nat\}\mid x\in X_S\}\\-\alga_A&\begin{array}[t]{@{}l}-\{\{x^{-2n}\mid n\in\nat\}\mid x\in X_A\}\\-\quad{}\cup\{\{x^{-2n-1}\mid n\in\nat\}\mid x\in X_A\}+\alga_{\scap{skey}}&\{\{x\}\mid x \in X_{\scap{skey}}\} \cup \{\{\cn{ltk}(a,b)\}\mid a \in X_{\scap{name}}, b \in X_{\scap{name}}\}\\+\alga_{\scap{akey}}&\begin{array}[t]{@{}l}+\{\{x^{-2n}\mid n\in\nat\}\mid x\in X_{\scap{akey}}\}\\+\quad{}\cup\{\{x^{-2n-1}\mid n\in\nat\}\mid x\in X_{\scap{akey}}\}\\+\quad{}\cup\{\{K_x^{-2n}\mid n\in\nat\}\mid x\in X_{\scap{name}}\}\\+\quad{}\cup\{\{K_x^{-2n-1}\mid n\in\nat\}\mid x\in X_{\scap{name}}\}\\ \end{array}\\-\base&\alga_S\cup\alga_A\\-\alga^0_\top&\base\cup \{\{x\}\mid x\in X_\top\}\\-\alga^{n+1}_\top&\alga^n_\top+\alga_{\scap{name}}&\{\{x\}\mid x \in X_{\scap{name}}\}\\+\alga_{\scap{text}}&\{\{x\}\mid x \in X_{\scap{text}}\}\\+\alga_{\scap{data}}&\{\{x\}\mid x \in X_{\scap{data}}\}\\+\scap{Tags}&\{\{x\}\mid x \hbox{ is a tag constant }\}\\+\base&\alga_{\scap{skey}} \cup \alga_{\scap{akey}} \cup \alga_{\scap{name}} \cup \alga_{\scap{text}} \cup \alga_{\scap{data}}\\+\alga^0&\base\cup \{\{x\}\mid x\in X_{\scap{mesg}}\} \cup \scap{Tags}\\+\alga^{n+1}&\alga^n \begin{array}[t]{@{}l} {}\cup\{\{(t_0,t_1)\mid t_0\in T_0, t_1\in T_1\}\mid- T_0\in\alga^n_\top,T_1\in\alga^n_\top\}\\+ T_0\in\alga^n,T_1\in\alga^n\}\\ {}\cup\{\{\enc{t_0}{t_1}\mid t_0\in T_0, t_1\in T_1\}\mid- T_0\in\alga^n_\top,T_1\in\base\}+ T_0\in\alga^n,T_1\in\alga^n\} \end{array}\\-\alga = \alga_\top&\bigcup_{n\in\nat}\alga^n_\top+\alga = \alga_{\scap{mesg}}&\bigcup_{n\in\nat}\alga^n \end{array}$$-\caption{{\sca} Messages~$\alga$ and Atoms~$\base$}\label{fig:algebra}+\caption{{\bca} Messages~$\alga$ and Atoms~$\base$}\label{fig:algebra} \end{figure} The Simple Crypto Quotient Term Algebra~$\alga$ generated by variable@@ -160,21 +186,20 @@ t'\equiv t\}$ with the fewest occurrences of the $(\cdot)^{-1}$ operation. -In {\sca}, there is a least sort~$s$ associated with each term~$t$,-written $t\colon s$. If $t\in T$ for some $T\in\alga_S$ then $t\colon-S$, else if $t\in T$ for some $T\in\alga_A$ then $t\colon A$,-otherwise $t\colon\top$. Obviously, each message has a least sort-too.--The keys in the algebra are called \emph{atoms} and are members-of~$\base$. We write $t\colon B$ iff $t\colon S$ or $t\colon A$.+Keys, names, data, and texts in the algebra are called \emph{atoms} and+are members of~$\base$. We write $t\colon\base$ iff $t\colon S$ for +some $S \neq \scap{mesg}$. Note that encryption is defined with an +encryption key of sort $\scap{mesg}$. When the encryption key is of sort+$\scap{akey}$ this is meant to model asymmetric encryption: otherwise,+this models symmetric encryption. Note that even complex messages such+as encryptions can be used as encryption keys in the symmetric sense. -An important property possessed by the algebra is that the terms that-make up a message either are all encryptions or are never encryptions.+An important property possessed by the algebra is that for all $T\in\alga$,+if there are any encryptions in $T$ then all members of $T$ are encryptions. As a result, a message can be identified as representing an encryption and if it is, decomposed into its plaintext and its decryption key. This property is a consequence of the fact that equations relate-atoms, not arbitrary messages.+atoms, not arbitrary messages. A similar property holds for pairs. We write $\alga_X$ when it is important to identify the variable set~$X$ that generates the algebra. Given two variable sets~$X$@@ -194,6 +219,12 @@ x_n\cons\seq{}$. If~$S$ is a set, then~$S^\ast$ is the set of finite sequences of~$S$, and~$S^+$ is the non-empty finite sequences of~$S$. +The concatenation of sequences~$f_0$ and~$f_1$ is~$f_0\append f_1$.+When the context distinguishes sequences and their elements, such as+for sequences of integers, we often write $f_0\append 1 \append f_1$+instead of $f_0\append\seq{1}\append f_1$. The prefix of sequence~$f$+of length~$n$ is~$\prefix{f}{n}$.+ A \emph{position}~$p$ is a finite sequence of whole numbers. The term in~$t$ that \emph{occurs at}~$p$, written~$t\termat p$, is: $$\begin{array}{l}@@ -226,7 +257,8 @@ Term~$t$ \emph{carries}~$t'$ if $\carpos(t',t)$ is not empty, and $t'\sqsubseteq t$ when~$t'$ is carried by~$t$. Note that for all terms $t_0,t_1,t'_0,t'_1$, if $t_0\equiv t_1$ and $t'_0\equiv t'_1$,-then $\carpos(t_0,t'_0)= \carpos(t_1,t'_1)$.+then $\carpos(t_0,t'_0)= \carpos(t_1,t'_1)$. We write $t' \sqsubseteq_p t$+when $p \in \carpos(t',t)$ and $t \termat p \equiv t'$. In what follows, we will often conflate a term with the message of which it is a member, and use lowercase letters to denote both.@@ -242,8 +274,10 @@ t$. The set of traces over $\alga_X$ is $\tr_X=(\pm\alga_X)^+$. A message \emph{originates} in a trace if it is carried by some event and the first event in which it is carried is outbound. A message is-\emph{acquired} by a trace if it first occurs in a reception event and-is also carried by that event.+\emph{gained} by a trace if it is carried by some event and the first+event in which it is carried is inbound. A message is \emph{acquired}+by a trace if it first occurs in a reception event and is also carried+by that event. A \emph{strand space}~$\Theta_X$ over algebra~$\alga_X$ is a sequence of traces in $\tr_X$. A strand~$s$ is a member of the domain of@@ -255,10 +289,14 @@ Message events occur at nodes in a strand space. For each strand~$s$, there is a node for every event in~$\Theta(s)$. The \emph{nodes} of strand space $\Theta$ are $\{(s,i)\mid s\in\sdom(\Theta), 1\leq i\leq-|\Theta(s)|\}$, and the event at a node is-$\evt_\Theta(s,i)=\Theta(s)(i)$. The relation~$\Rightarrow$ defined-by $\{(s,i)\Rightarrow(s,i+1)\mid s\in\sdom(\Theta), 1\leq i<|\Theta(s)|\}$-is called the \emph{strand succession relation}.+|\Theta(s)|\}$, the event at a node is+$\evt_\Theta(s,i)=\Theta(s)(i)$, and the message at a node is+$\mesg_\Theta(s,i) = m$ such that $\evt_\Theta(s,i) = \pm m$. Just as+a position names a subterm within another term, a strand names a trace+within a strand space, and a node names an event in a strand space.+The relation~$\Rightarrow$ defined by $\{(s,i)\Rightarrow(s,i+1)\mid+s\in\sdom(\Theta), 1\leq i<|\Theta(s)|\}$ is called the \emph{strand+ succession relation}. A \emph{bundle} in strand space $\Theta$ is a finite directed acyclic graph $\Upsilon(\Theta,\to)$, where the vertices are the nodes@@ -287,24 +325,26 @@ $U\subseteq\base_Y$. The trace of the role is~$C$, its non-origination assumptions are~$N$, and its unique origination assumptions are~$U$. A protorole is a \emph{role} if (1) $t\in N$ implies-$t$ is not carried in $C$, and all variables in $t$ occur in $C$, (2)+$t$ is not carried in $C$, and all variables in $N$ occur in $C$, (2) $t\in U$ implies $t$ originates in $C$, and (3) $x\in Y_\top$ occurs in $C$ implies $x$ is acquired in $C$. A \emph{protocol} is a set of-roles.+roles. Let $\svars(P)$ be the set of variables that occur in the+traces of the roles in protocol~$P$. -A bundle~$\Upsilon(\Theta_X,\to)$ is a \emph{run of protocol}-$P_Y$ if there is a role mapping $\rl\colon\Theta_X\to P_Y$ that-satisfies properties for each $s\in\sdom(\Theta_X)$. Assuming-$\rl(s)=\role_Y(C,N,U)$ and $X$ and $Y$ share no variables, the-properties are (1) $|\Theta_X(s)|\leq|C|$, (2) there is a+A bundle~$\Upsilon(\Theta_X,\to)$ is a \emph{run of protocol} $P$ if+there is a role mapping $\rl\colon\Theta_X\to P$ that satisfies+properties for each $s\in\sdom(\Theta_X)$. Assuming+$\rl(s)=\role_Y(C,N,U)$ and $X$ and $Y$ share no variables, and let+$h=|\Theta_X(s)|$, the properties are (1) $h\leq|C|$, (2) there is a homomorphism~$\sigma\colon\alga_Y\to\alga_X$ such that-$\sigma(C(i))=\Theta_X(s)(i)$ for all $1\leq i\leq|\Theta_X(s)|$, (3) if-the variables in $t\in N$ occur in $\sdom(\sigma)$, then $\sigma(t)$ is-non-originating in $\Upsilon(\Theta_X,\to)$, and (4) if $t\in U$-originates at index~$i$ in~$C$, and $i\leq|\Theta_X(s)|$, then-$\sigma(t)$ uniquely originates in $\Upsilon(\Theta_X,\to)$ at node-$(s,i)$. Origination assumptions in bundles specified by roles are-called \emph{inherited origination assumptions}.+$\comp{\sigma}{\prefix{C}{h}}=\Theta_X(s)$, (3) $\sdom(\sigma)$ is the+set of variables that occur in~$\prefix{C}{h}$, (4) if the variables+in $t\in N$ occur in $\sdom(\sigma)$, then $\sigma(t)$ is+non-originating in $\Upsilon(\Theta_X,\to)$, and (5) if $t\in U$+originates at index~$i$ in~$C$, and $i\leq h$, then $\sigma(t)$+uniquely originates in $\Upsilon(\Theta_X,\to)$ at node $(s,i)$.+Origination assumptions in bundles specified by roles are called+\emph{inherited origination assumptions}. \section{Adversary Model}\label{sec:adversary model} @@ -349,10 +389,11 @@ \section{Skeletons}\label{sec:skeletons} The details of penetrator behavior are abstracted away when performing-protocol analysis. The abstracted description of a bundle is-called a realized skeleton, which is defined using a protoskeleton. A+protocol analysis. The abstracted description of a bundle is called a+realized skeleton, which is defined using a protoskeleton. A \emph{protoskeleton} over $\alga_X$ is-$\skel_X(\rl,\Theta_X,\prec,N,U)$, where $\rl$ is a role map,+$\skel_X(\rl,P,\Theta_X,\prec,N,U)$, where $\rl\colon\Theta_X\to+P$ is a role map, the sets~$\svars(X)$ and~$\svars(P)$ are disjoint, $\Theta_X$ is a sequence of traces in $\tr_X$, $\prec$ is a relation on the nodes in $\Theta_X$, $N\subseteq\base_X$ are its non-origination assumptions, and $U\subseteq\base_X$ are its unique@@ -362,8 +403,9 @@ Assume the strands in bundle $\Upsilon(\Theta_X,\to)$ have been permuted so that regular strands precede penetrator strands in-sequence~$\Theta_X$, and $\rl$ demonstrates the bundle is a run of a-protocol. Skeleton $\skel_X(\rl',\Theta'_X,\prec,N,U)$+sequence~$\Theta_X$, and $\rl$ demonstrates the bundle is a run of+protocol~$P$. Let~$P'$ be~$P$ without penetrator roles.+Skeleton $\skel_X(\rl',P',\Theta'_X,\prec,N,U)$ \emph{realizes} the bundle if $\rl'$ and $\Theta'_X$ are the truncations of $\rl$ and $\Theta_X$ respectively that omit penetrator strands from their domains, $\prec$ is the transitive asymmetric@@ -372,11 +414,11 @@ $\Theta'_X$, and $U$ is the set of atoms that uniquely originate and are carried by some regular node. -A protoskeleton $\skel_X(\rl,\Theta_X,\prec,N,U)$ is a \emph{preskeleton}-if the following properties hold.+A protoskeleton $\skel_X(\rl,P,\Theta_X,\prec,N,U)$ is a+\emph{preskeleton} if the following properties hold. \begin{enumerate} \item Sequence $\rl$ demonstrates that the strands in $\sdom(\Theta_X)$- satisfy the conditions for being a part of a run of the protocol.+ satisfy the conditions for being a part of a run of protocol~$P$. \item Relation $\prec$ is transitive, asymmetric, and includes the strand succession relation $(\Rightarrow)$. \item Each atom in $N$ is carried at no node, and each variable@@ -388,16 +430,18 @@ the role map. \end{enumerate} +\begin{sloppypar} Let $\orig_k(t)$ be the set of nodes at which~$t$ originates in-preskeleton~$k$, and~$\acqu_k(t)$ be the set of nodes at which~$t$ is-acquired in~$k$. Preskeleton $\skel_X(\rl,\Theta_X,\prec,N,U)$ is a+preskeleton~$k$, and~$\gain_k(t)$ be the set of nodes at which~$t$ is+gained in~$k$. Preskeleton $\skel_X(\rl,P,\Theta_X,\prec,N,U)$ is a \emph{skeleton} if each atom in $U$ originates on at most one strand,-and the node of origination precedes each node that acquires the atom,-i.e.\@ for every~$t\in U$, $n_0\in\orig_k(t)$ and $n_1\in\acqu_k(t)$+and the node of origination precedes each node that gains the atom,+i.e.\@ for every~$t\in U$, $n_0\in\orig_k(t)$ and $n_1\in\gain_k(t)$ implies~$n_0\prec n_1$.+\end{sloppypar} -Let $k_0=\skel_X(rl_0,\Theta_0,\prec_0,N_0,U_0)$ and-$k_1=\skel_Y(rl_1,\Theta_1,\prec_1,N_1,U_1)$ be preskeletons. There+Let $k_0=\skel_X(rl_0,P,\Theta_0,\prec_0,N_0,U_0)$ and+$k_1=\skel_Y(rl_1,P,\Theta_1,\prec_1,N_1,U_1)$ be preskeletons. There is a \emph{preskeleton homomorphism} from~$k_0$ to~$k_1$, written~$k_0\homomorphism{\phi,\sigma}k_1$, if~$\phi$ and~$\sigma$ are structure-preserving maps with the following properties:@@ -434,9 +478,14 @@ The set of bundles denoted by preskeleton~$k$, $\sembrack{k}$, is: $$\sembrack{k_0} = \{\Upsilon\mid \mbox{$k_0\homomorphism{\phi,\sigma}k_1$ and $k_1$ realizes modulo- listeners $\Upsilon$}\}$$ Let~$\longrightarrow$ be an irreflexive-reduction relation on preskeletons. The relation~$\longrightarrow$ is-semantics preserving if $\sembrack{k_0}=\bigcup_{\{k_1\in\{k_1\mid+ listeners $\Upsilon$}\}$$ A {\cpsa} algorithm is \emph{complete} if+when given a preskeleton~$k_0$, either the algorithm diverges, or else it+terminates and produces a finite set of realized skeletons~$K$, such+that $\sembrack{k_0}=\bigcup_{k_1\in K}\sembrack{k_1}$.++Let~$\longrightarrow$ be an irreflexive reduction relation on+preskeletons. The relation~$\longrightarrow$ is \emph{semantics+ preserving} if $\sembrack{k_0}=\bigcup_{k_1\in\{k_1\mid k_0\longrightarrow k_1\}}\sembrack{k_1}$. \subsection{Dolev-Yao Example 1.3}@@ -460,7 +509,9 @@ $$\begin{array}{r@{}ll} \skel_Z( &\seq{\init(a_0,b_0,m_0),\lsn(x)},-&\mbox{Roles}\\+&\mbox{Role map}\\+&\{\init(a_0,b_0,m_0),\resp(a_1,b_1,m_1),\lsn(x)\},+&\mbox{Protocol}\\ &\seq{\seq{\outbnd\enc{\enc{m}{b},a}{b}},\seq{\inbnd m}}, &\mbox{Strands}\\ &\emptyset,@@ -511,6 +562,7 @@ $\begin{array}[t]{@{}r@{}l} k=\skel_X( &\seq{\init(a,b),\resp(a,b),\resp(a,b)},\\+&\{\init(a,b),\resp(a,b)\},\\ &\seq{\begin{array}[t]{@{}l} \seq{\outbnd(x,y),\inbnd(y,x)},\\ \seq{\inbnd(x,y),\outbnd(y,x)},\\@@ -555,7 +607,7 @@ \section{Penetrator Derivable Messages}\label{sec:pen deriv mesgs} To simplify notation, we write~$U_k$ to refer to~$U$ when-$k=\skel(\rl,\Theta,\prec,N,U)$, and similarly for the other+$k=\skel(\rl,P,\Theta,\prec,N,U)$, and similarly for the other components of preskeleton~$k$. This section specifies what the penetrator can derive in a skeleton at@@ -567,31 +619,53 @@ are~$\transpred_k(n)=\{t\mid n'\prec_k n, \evt_k(n')=\outbnd t\}$. Therefore, for an algebra generated by~$X$, the \emph{public messages} available to the penetrator at node~$n$ are-$\pubmsg_k(n)=\transpred_k(n)\cup(\base\setminus\excl_k)\cup X_\top$.--Penetrator roles determine what terms are derivable at a node.-Messages are decomposed using three of the penetrator's roles. Let-$\to$ be a reduction relation on sets of messages defined as follows:-$$\begin{array}{r@{{}\to{}}ll}-\{(t_0,t_1)\}\cup T&\{t_0,t_1\}\cup T\\-\{\enc{t_0}{t_1}\}\cup T&\{t_0,\enc{t_0}{t_1}\}\cup T-&\mbox{if $t_1^{-1}\in T$ and $t_0\notin T$}-\end{array}$$-The minimum decryption set~$M(T)$ is the normal form of relation~$\to$,-i.e.\ $T\to^\ast M(T)$ and there is no~$T'$ such that $M(T)\to T'$.+$\pubmsg_k(n)=\transpred_k(n)\cup(\base\setminus\excl_k)\cup X_{\scap{mesg}} \cup \scap{Tags}$. -Three penetrator roles construct messages.+The penetrator roles derive messages. $$\begin{array}{r@{{}={}}l}-D^0&M(T)\\-D^{n+1}&\left\{\begin{array}{r@{{}\mid{}}l}-(t_0,t_1)&t_0,t_1\in D^n\\-\enc{t_0}{t_1}&t_0,t_1\in D^n+D^0(T)&T\\+D^{n+1}(T)&\left\{\begin{array}{r@{{}\mid{}}l}+(t_0,t_1)&t_0,t_1\in D^n(T)\\+\enc{t_0}{t_1}&t_0,t_1\in D^n(T)\\+t_0,t_1 &(t_0,t_1) \in D^n(T)\\+t_0 & \enc{t_0}{t_1}, inv(t_1) \in D^n(T) \end{array}\right\}\\ D(T)&\bigcup_{n\in\nat}D^n \end{array}$$++Here, $inv(t_1)$ is defined to be $t_1^{-1}$ if $t_1 : \scap{akey}$, and+$inv(t_1)$ is otherwise defined to be $t_1$ so long as $t_1 \notin X_{\scap{mesg}}$. A message~$t$ is derivable from~$T$, written $T\vdash t$, if $t\in D(T)$. A message~$t$ is derivable at node~$n$ if $\pubmsg_k(n)\vdash t$. +Sometimes we may be interested in separating the notion of available messages+from the notion of the \emph{context}, which defines the set of derivable keys.+$$\begin{array}{r@{{}={}}l}+D^0(T,S)&T\\+D^{n+1}(T,S)&\left\{\begin{array}{r@{{}\mid{}}l}+(t_0,t_1)&t_0,t_1\in D^n(T,S)\\+\enc{t_0}{t_1}&t_0,t_1\in D^n(T,S)\\+t_0,t_1 &(t_0,t_1) \in D^n(T,S)\\+t_0 & \enc{t_0}{t_1} \in D^n(T,S), S \vdash inv(t_1)+\end{array}\right\}\\+D(T)&\bigcup_{n\in\nat}D^n+\end{array}$$++In what follows, we find it useful to discuss the ``minimum decryptions''+available - that is, the messages we get by applying as much deconstruction as +possible. We also are sometimes interested in this calculation when the set+of messages available for deriving keys is distinct from the set of available+messages. Let $\to$ be a reduction relation on pairs of sets of messages defined +as follows:+$$\begin{array}{r@{{}\to{}}ll}+(\{(t_0,t_1)\}\cup T, S)&(\{t_0,t_1\}\cup T, S)\\+(\{\enc{t_0}{t_1}\}\cup T, S)&(\{t_0,\enc{t_0}{t_1}\}\cup T, S)\\+&\mbox{if $t_1^{-1}\in D(S)$ and $t_0\notin T$}+\end{array}$$+The minimum decryption set~$(M(T,S),S)$ is the normal form of relation~$\to$,+i.e.\ $(T,S)\to^\ast (M(T,S),S)$ and there is no~$(T',S')$ such that $(M(T,S),S)\to(T',S')$.+Define $M(T)$ to be $M(T,T)$, and define $M(t,S)$ to be $M(\{t\},S)$. + \section{Authentication Tests}\label{sec:auth tests} In a realized skeleton, the message at every reception node is@@ -614,7 +688,7 @@ where~$k^{-1}_1$ is a non-originating asymmetric key. Message $\enc{x}{k_0}$ is not derivable at~$n$, because $$\{\enc{x}{k_1}\}\cup(\base\setminus\{x,k^{-1}_1\})\cup-X_\top\not\vdash\enc{x}{k_0}.$$ {\cpsa} might explain this reception+X_{\scap{mesg}}\not\vdash\enc{x}{k_0}.$$ {\cpsa} might explain this reception by identifying messages~$k_0$ and~$k_1$, or it might add a strand that receives $\enc{x}{k_1}$ and transmits~$x$ before node~$n$ if a role permits this new behavior.@@ -635,17 +709,21 @@ keys. The context is called an escape set. \begin{defn}[Escape Set]-Let~$S$ be a set of public messages. The \emph{escape set} for~$t$ in-the context of~$S$ is $E(S,t)=\{\enc{t_0}{t_1}\in M(S) \mid-t\sqsubseteq t_0\wedge S\not\vdash t^{-1}_1\}$ when $t\notin M(S)$.-Otherwise, $E(S,t)$ is undefined.+Let~$S$ and~$S'$ be sets of public messages. +The \emph{escape set} for~$t$ in messages $S$ in context $S'$ is +$E(S,S',t)=\{\enc{t_0}{t_1}\in M(S,S') \mid+t\sqsubseteq t_0\wedge S\not\vdash t^{-1}_1\}$ when $t\notin M(S,S')$.+Otherwise, $E(S,S',t) = \{t \}$. \end{defn} -The intuition is this, a message~$t_c$ that is carried by the message-at~$n$ is critical when the contents of the escape set cannot be used-to derive~$t_c$. To do so, the penetrator would have to decrypt a-member of the escape set, which by definition it is not allowed to do.-A critical message is one that has escaped the protection of+We use the notation $E(S,t)$ as shorthand for $E(S,S,t)$; normally,+the context is the set of messages.++The intuition is that, a message~$t_c$ that is carried by the message+at~$n$ is critical when the contents of the escape set $E(\pubmsg_n(k),t_c)$ +cannot be used to derive~$\fn{mesg}(n)$. To do so, the penetrator would have +to decrypt a member of the escape set, which by definition it is not allowed +to do. A critical message is one that has escaped the protection of previously transmitted encryptions, and {\cpsa} infers more regular behavior in response. @@ -665,44 +743,437 @@ \begin{defn}[Ancestors] For $t'=t\termat p$, the \emph{ancestors} of~$t'$ in~$t$ at~$p$ is the-set $\anc(t,p)=\{t\termat p'\mid \mbox{$p'$ a proper prefix+set $\anc(t,p)=\{t\termat p'\mid \mbox{$p'$ a prefix of~$p$}\}$. \end{defn} \begin{defn}[Carried Only Within]-Term~$t$ is \emph{carried only within} $T$ in~$t'$ iff-$\mcow(t,T,t')=\all{p} p\in\carpos(t,t')$ implies-$\anc(t',p)\cap T\neq\emptyset$. Predicate $\mncow(t,T,t')$ means-$\lnot(\mcow(t,T,t'))$, and therefore $\mncow(t,T,t')=\some{p}-p\in\carpos(t,t')$ and $\anc(t',p)\cap T=\emptyset$.+Term~$t$ is \emph{carried only within} $T$ in~$t'$, written+$\mcow(t,T,t')$, if $p\in\carpos(t,t')$ implies+$\anc(t',p)\cap T\neq\emptyset$. Term~$t$ \emph{escapes} $T$ in $t'$, +written $\mncow(t,T,t')$, if+$\lnot(\mcow(t,T,t'))$, and therefore $\mncow(t,T,t')=\some{p} \in+\carpos(t,t')$ such that $\anc(t',p)\cap T=\emptyset$. \end{defn} +\begin{lem}+\label{lem:cowtrans}+If for every $u \in U$ we have that $\mcow(t_c,T,u)$, and we have that $\mcow(t_c,U,t')$ then $\mcow(t_c,T,t')$+\end{lem}++\begin{proof}+Let $p$ is a carried position of $t_c$ in $t'$. There is some ancestor $u_e \in \anc(t',p)$ equivalent to+a member of $U$. This ancestor $u_e$ occurs at positions $p'$ in $t'$ where $p'$ is a prefix of $p$. Let+$p = p' \append p''$; then since $\mcow(t_c,T,u_e)$ there is an ancestor $t_e \in \anc(u_e, p'')$ equivalent+to a member of $T$. But $t_e \in \anc(t',p)$ so this occurrence of $t_c$ is carried within $T$.+\end{proof}++\begin{lem}+\label{lem:escapesetcow}+For any set of messages $S$, If $T_0 \subset T_1$ then for every $t_c$, for every $t \in E(S,T_0,t_c)$,+$\mcow(t_c,E(S,T_1,t_c),t)$.+\end{lem}++\begin{proof}+Let $t \in E(S,T_0,t_c)$ and let $p \in \fn{carpos}(t_c,t)$. Note that $M(S,T_0) \subset D(S,T_1)$, +since the enlarged context allows for possibly some more decryptions to be done, but all decryptions+that can be done with the smaller context can still be done. ++If $t$ is an atom, it must be $t_c$, and therefore, $D(S,T_0) \vdash t_c$ so $D(S,T_1) \vdash t_c$, +and $t_c$ is a (non-proper) ancestor of itself.++Otherwise, $t = \enc{t_0}{t_1}$. Since $t \in E(S,T_0,t_c)$, $t \in M(S,T_0)$ and thus $t \in M(S,T_1)$.+If $T_1 \not\vdash t_1^{-1}$ then $t \in E(S,T_1,t_c)$ and so $p$ is carried within. Otherwise, +one of two cases must happen: (1) $\exists t' = \enc{t'_0}{t'_1}$ in $\anc(t,p)$ such that $T_1 \not\vdash +{t'_1}^{-1}$ or (2) $t_c \in E(S,T_1,t_c)$. In the latter case, $t_c \in \anc(t,p)$ so $p$ is carried within.+In the former case, assume $t'$ is the largest such ancestor: then $t' \in E(S,T_1,t_c)$ and $t' \in \anc(t,p)$,+so $p$ is carried within.+\end{proof}++In particular, the previous two lemmas imply that if $n' \prec n$ then for any set of messages $S$,+and any $t_c$ and any $t'$, if $\mcow(t_c, E(S,\pubmsg_k(n'),t_c), t')$ then $\mcow(t_c, E(S,\pubmsg_k(n),t_c), t')$.++\begin{lem}+\label{lem:escapeset}+Let $S$ be a set of available messages and let $t_c$ be a term such that either $t_c$ is an atom+or $t_c = \enc{t_0}{t_1}$ with $S \not\vdash t_1$. Then if $S \vdash t$ and $t_c \sqsubseteq t$,+$\mcow(t_c,E(S,t_c),t)$.+\end{lem}++\begin{proof}+If $t$ is an atom, it cannot be derived from terms not carrying it.+If $t$ is an encryption, it can be derived from non-carrying terms+only if its key is derivable.++Suppose $t \in D^n(S)$; we prove the theorem by induction. For $n =+0$, $D^0(S) = M(S)$. Suppose that $t_c \sqsubseteq_p t$. Then+consider $\anc(t,p)$---the+encryptions on the path from $t_c$ to $t$, including $t_c$. The+minimal such encryption such that $t_1^{-1}$ is not derivable from $S$+will be in $E(S,t_c)$. Thus, any carried position of $t_c$ within $t$+is carried within $E(S,t_c)$.++Suppose $t \in D^n(S)$ but $t \notin D^{n-1}(S)$. Then either $t =+(t_0, t_1)$ where $t_0, t_1 \in D^{n-1}(S)$, or $t = \enc{t_0}{t_1}$+where $t_0, t_1 \in D^{n-1}(S)$. In the former case, we must have+that if $t_c \sqsubseteq_p t$ then either $p = 1 \append p'$ and $t_c+\sqsubseteq_{p'} t_0$, or $p = 2 \append p'$ and $t_c \sqsubseteq_{p'}+t_1$. In either case, there is some ancestor of $p$ which is an+ancestor of $p'$ within $t_0$ or $t_1$, in $E(S,t_c)$ by inductive+assumption. The case for $t = \enc{t_0}{t_1}$ is similar but since+only the plaintext of an encryption is carried, all carried positions+are of the form $1 \append p'$ where $t_c \sqsubseteq_{p'} t_0$.+\end{proof}++\begin{defn}[Target terms]+Let $T$ be a set of terms, and let $t_c$ be a term. Then the+set of {\em target terms} containing $t_c$ within $T$, denoted+$\fn{targ}(t_c,T)$ is the set+$\{t | \exists t' \in T: t_c \sqsubseteq t \sqsubseteq t'$ but $t \notin T\} \cup \{t_c\}$. +\end{defn}+ A critical message may be either an atom or an encryption with an underivable encryption key. A critical message cannot be derived from-its subterms.+its subterms. Here we define the notion of a critical position: -\begin{defn}[Critical Message]-Term $t_c$ is a \emph{critical message} of~$t$ in the context of-public messages~$S$, written-$t_c\in\crit(S,t)$, iff+\begin{defn}[Critical Position]+Position $p$ is a \emph{critical position} of~$t$ in the context of+public messages~$S$, written $p\in\critpos(S,t)$, iff \begin{enumerate}-\item $t_c\sqsubseteq t$-\item $t_c$ is an atom or $t_c=\enc{t_0}{t_1}$ and-$S\not\vdash t_1$-\item $t_c\notin M(S)$-\item $\mncow(t_c,E(S,t_c),t)$-\end{enumerate}-\end{defn}+\item $p$ is a carried position in $t$+\item $t \termat p$ is an atom or $t \termat p = \enc{t_0}{t_1}$ and $S \not\vdash t_1$, and+\item $\anc(t,p) \cap E(S,t \termat p) = \emptyset$.+\end{enumerate} \end{defn} +A critical message is $t \termat p$ where $p$ is a critical position.+ A critical message that is an atom is called a \emph{nonce test}, and one that is an encryption is called an \emph{encryption test}, and both types of tests are called an \emph{authentication test}. \begin{defn}[Test Node] Node~$n$ is a \emph{test node} in~$k$ if-$\evt_k(n)=\inbnd t$ and $\crit(\pubmsg_k(n),t)\neq\emptyset.$+$\evt_k(n)=\inbnd t$ and $\critpos(\pubmsg_k(n),t)\neq\emptyset.$ \end{defn} +{\cpsa} makes progress by solving a test. Suppose~$p$ is a critical+position at~$n$ in~$k$, i.e.\ $\evt_k(n)=\inbnd t$ and+$p\in\critpos(\pubmsg_k(n),t)$, and suppose+$k\homomorphism{\phi,\sigma}k'$. Let $T=+E(\pubmsg_k(n),t \termat p)$, $T'=\sigma(T)$, $n'=\phi(n)$, and+$t' = \mesg_{k'}(n')$. Position~$p$ at~$n$ in~$k$ is+\emph{solved} in~$k'$, written $k\solve{n,p}k'$, if there exists a $(\phi,\sigma)$+such that:+\begin{enumerate}+\item\label{enu:contract} $\anc(t',p) \cap T' \neq \emptyset$, or+\item\label{enu:augment} for some $t_p\in\transpred_{k'}(n')$,+$\mncow(t' \termat p,T',t_p)$, or+\item[2a.]\label{enu:augment2} $\fn{targ}(t'_c,T') \setminus+\sigma(\fn{targ}(t_c,T)) \neq \emptyset$, or+\item\label{enu:escape} for some $\enc{t_0}{t_1}\in T'$,+$\pubmsg_{k'}(n')\vdash t_1^{-1}$, or+\item\label{enu:crit} $t' \termat p=\enc{t_0}{t_1}$, and+$\pubmsg_{k'}(n')\vdash t_1$.+\end{enumerate}++In words, {\cpsa} makes progress by a contraction+(Item~\ref{enu:contract}), where messages are identified, an+augmentation (Item~\ref{enu:augment}), where something is added to the+escape set, or a listener augmentation (Item~\ref{enu:escape} and+Item~\ref{enu:crit}), where an assumption about the lack of the+derivability of a key is shown to be invalid.++If solving a test is semantics preserving, and {\cpsa} produces a+finite set of skeletons that preserve the semantics at every step,+{\cpsa} will produce a set of realized skeletons that describe every+possible bundle associated with an initial skeleton whenever {\cpsa}+terminates.++\begin{thm}+For any skeleton $k$ with an unrealized node $n$ and a critical position+$p$ at $n$ in $k$,+$\sembrack{k}=\bigcup_{k'\in\{k'\mid k\solve{n,p}k'\}}\sembrack{k'}$.+\end{thm}++\begin{proof}+Let $k$ be a skeleton in which $n$ is an unrealized node, and $t_c$ is a+critical message at $n$ in $k$. Let $t$ be the message at $n$. Let $k'$ be the+skeleton of a bundle such that $k \homomorphism{\phi,\sigma} k'$.+Let $n' = \phi(n)$, let $t' = \sigma(t)$.+Let $T = E(\pubmsg_k(n),t \termat p)$, and let $T' = \sigma(T)$. Let $S' = \pubmsg_{k'}(n')$.++Let $t_c = t \termat p$ and $t'_c = t' \termat p$.+Because $k'$ is the skeleton of a bundle, there is no critical message at $n'$. Therefore,+$t'_c$ is not a critical message at $n'$ in $k'$. That is, there is no position $p'$ such that+$t' \termat p' = t'_c$ and $p'$ is a critical position at $n'$ in $k'$.++If $t'_c = \enc{t_0}{t_1}$ and $S' \vdash t_1$ then by condition 4 of the solved definition,+$k\solve{n,p}k'$.++Otherwise, $\mcow(t'_c, E(S',t'_c), t')$.++Suppose that $\forall t_e \in E(S',t'_c)$, $\mcow(t'_c, T', t_e)$. Since we know $\mcow(t'_c, E(S', t'_c), t')$,+by Lemma~\ref{lem:cowtrans}, $\mcow(t'_c, T', t')$. Thus, since $t' \termat p = t'_c$, $\anc(t',p) \cap T' \neq \emptyset$+and thus $k\solve{n,t_c}k'$ by condition (1) of the definition of solved.++Otherwise, there is some $t_e \in E(S', t'_c)$ such that $\mncow(t'_c, T', t_e)$. If $t_e$ is not an encryption,+it must be that $E(S', t'_c) = \{ t'_c \}$ and that $t'_c$ is an atom. In this case, note that $t'_c \in \excl_{k'}$+because $t_c \in \excl_k$ and because $(\phi,\sigma)$ is a homomorphism. Thus, regardless of whether $t_e$ is an+encryption or not, $(\base\setminus\excl_k)\cup X_{\scap{mesg}} \not\vdash t_e$, but since $t_e \in E(S', t'_c)$, we know+that $t_e \in M(S')$. Therefore, $t_e$ can be derived from some public message.++To make this precise, define $M_0(t_p,S')$ recursively as follows:++\begin{itemize}+\item $t_p \in M_0(t_p,S')$.+\item If $\enc{t_0}{t_1} \in M_0(t_p,S')$ and $S' \vdash t_1^{-1}$ then $t_0 \in M_0(t_p,S')$.+\item If $(t_0, t_1) \in M_0(t_p,S')$ then $t_0, t_1 \in M_0(t_p,S')$.+\end{itemize}++Then define $M(t_p,S')$ to be the all the non-pairs in $M_0(t_p,S')$.++In other words, $M(t_p,S')$ is the portion of $M(S')$ derivable from $t_p$ using keys derivable from $S'$. It is clear that+$M(S') = M((\base\setminus\excl_k)\cup X_{\scap{mesg}}) \cup_{t_p \in \transpred_{k'}(n')} M(t_p,S')$. So let $t_p$ be such that $t_e+\in M(t_p,S')$.++Define $q$ to be a position such that $t_p @ q = t_e$ and such that for every proper prefix $q''$ of $q$, either $t_p @ q''$+is a pair, or $t_p @ q'' = \enc{t_0}{t_1}$ where $S' \vdash t_1^{-1}$ and where $q'' \frown 1$ is also a prefix of $q$.+In other words, let $q$ be a position at which $t_e$ is carried in $t_p$ {\em and} derivable. We know such a $q$ must exist+because $t_e \in M(t_p,S')$.++Since $\mncow(t'_c, T', t_e)$, let $q'$ be a carried position of $t'_c$ within $t_e$ such that no ancestor is in $T'$. Consider+position $q \append q'$. If there is some position $q \append q''$ for $q''$ a prefix of $q'$ such that $t_p \termat q \append+q''$ is in $T'$ then the same could be said of $t_e \termat q''$, but this would be a contradiction. So either there is+no ancestor in $\anc(t_p, q \append q')$ equivalent to a member of $T'$ (in which case $k\solve{n,p}k'$ by condition (2)+of the definition of solved), or there is some position $q''$ such that $t_p \termat q''$ is equivalent to some $u \in T'$.+By our choice of $q$, and by the fact that any such $u$ must necessarily be an encryption\footnote{The only case in which a+value in $T'$ is not an encryption is when $t_c \in M(S)$ and $t_c$ is an atom, which we know is false here.}, it follows that+$u = \enc{t_0}{t_1}$ where $S' \vdash t_1^{-1}$. In this case, $k\solve{n,p}k'$ by condition (3) of the definition of solved.++Thus allows us to conclude that for every bundle $\Upsilon$ denoted by $k$, there is a skeleton $k'$,+namely, the skeleton of $\Upsilon$, such that $k\solve{n,t_c}k'$. Since $\Upsilon$ is denoted by $k'$,+this proves that $\sembrack{k} \subseteq \bigcup_{k'\in\{k'\mid k\solve{n,t_c}k'\}}\sembrack{k'}$. The other direction+is far simpler: we just note that for each $k'$ such that $k\solve{n,t_c}k'$, there is a homomorphism+from $k$ to $k'$, so the set of bundles denoted by $k'$ is a subset of those denoted by $k$. This completes the proof.++\end{proof}++\section{Test Solving Algorithm}++\emph{Intro text missing.}++\subsection{Primitive Preskeleton Operators}++The are four primitive operators on preskeletons used by {\cpsa} to+solve authentication tests. Each operator is a partial map from+preskeletons to preskeletons.++\begin{defn}[Substitution Operator]+For order-sorted substitution~$\sigma\colon X\to\alg{A}_Y$,+the operator~$\ops{S}_\sigma$ is:+$$\begin{array}{l}+\ops{S}_\sigma(\skel_X(\rl,P,\Theta_X,\prec,N,U)) = {}\\+\quad\skel_Y(\rl,P,+s\mapsto \comp\sigma{\Theta_X(s)},\prec,\sigma(N), \sigma(U))+\end{array}$$+\end{defn}++For $k'=\ops{S}_\sigma(k)$, there is a homomorphism from~$k$ to~$k'$+only if for all $t\in U_k$, $\orig_k(t)\subseteq\orig_{k'}(\sigma(t))$.++\begin{defn}[Compression Operator]+For distinct strands~$s$ and~$s'$, operator~$\ops{C}_{s,s'}$+compresses strand~$s$ into~$s'$.+$$\begin{array}{l}+\ops{C}_{s,s'}(\skel_X(\rl,P,\Theta_X,\prec,N,U)) = {}\\+\quad \skel_X(\comp\rl{\phi'_s},P,+\comp{\Theta_X}{\phi'_s},\prec',N,U)+\end{array}$$+where+$$\begin{array}{r@{}c@{}l}+\phi'_s(j)&{}={}&\left\{+\begin{array}{ll}+j+1&\mbox{if $j\geq s$}\\+j&\mbox{otherwise,}+\end{array}\right.+\end{array}$$+relation $\prec'$ is the transitive closure of $\phi_{s,s'}(\prec)$, and+$$\begin{array}{r@{}c@{}l}+\phi_{s,s'}(j)&{}={}&\left\{+\begin{array}{ll}+\phi_s(s')&\mbox{if $j=s$}\\+\phi_s(j)&\mbox{otherwise}+\end{array}\right.\\+\phi_s(j)&{}={}&\left\{+\begin{array}{ll}+j-1&\mbox{if $j>s$}\\+j&\mbox{otherwise.}+\end{array}\right.+\end{array}$$+\end{defn}++The compression operator is only used when $\Theta_X(s)$ is a prefix+of $\Theta_X(s')$, and when there is a homomorphism from~$k$ to+$\ops{C}_{s,s'}(k)$. Note that the compression operator is defined+only when relation~$\prec'$ is asymmetric, and+that $\comp{\phi_{s,s'}}{\phi'_s}=\idphi$.++\begin{defn}[Ordering Enrichment Operator]+Operator~$\ops{E}(k)$ enriches~$\kprec{k}$ by adding all elements implied+by unique origination.+\end{defn}+The ordering enrichment operator is total and idempotent.++\begin{defn}[Augmentation Operator]+For node~$n$, role~$r$, and trace~$C$, operator~$\ops{A}_{n,r,C}$ is:+$$\begin{array}{l}+\ops{A}_{n,r,C}(\skel_X(\rl,P,\Theta_X,\prec,N,U)) = {}\\+\quad\skel_{X'}(\rl\append r,P,+\Theta_X(s)\append C,\prec',N',U')+\end{array}$$+where $X'$ is $X$ extended to include the variables in~$C$,+$\prec'$ is the minimal extension of $\prec$ such that+$(|\Theta_X|+1,|C|)\prec' n$, $N'$ is $N$ extended with+non-origination assumptions inherited from~$r$ by~$C$, and likewise+for~$U'$.+\end{defn}++\subsection{Hulling Step}++For preskeleton~$k=\skel(\_,\_,\Theta_k,\_,\_,U_k)$, assume $t\in U_k$+originates on distinct strands~$s$ and~$s'$, and the height of~$s$ is+no greater than the height of~$s'$. Operator+$\ops{H}_{s,s'}=\comp{\ops{C}_{s,s'}}{\ops{S}_\sigma}$ is a hulling+step if there is a most general unifier~$\sigma$ such that+$\comp\sigma{\Theta_k(s)} = \comp\sigma{\prefix{\Theta_k(s')}{h}}$+with $h=|\Theta_k(s)|$, and there is a homomorphism from~$k$ to+$\ops{H}_{s's'}(k)$.++\subsection{Pruning Step}++For preskeleton~$k=\skel(\_,\_,\Theta_k,\_,\_,U_k)$, assume+strands~$s$ and~$s'$ are distinct, and the height of~$s$ is+no greater than the height of~$s'$. Operator+$\ops{P}_{s,s'}=\comp{\ops{C}_{s,s'}}{\ops{S}_\sigma}$ is a pruning+step if there is a sort preserving variable renaming~$\sigma$ such+that $\comp\sigma{\Theta_k(s)} = \prefix{\Theta_k(s')}{h}$ with+$h=|\Theta_k(s)|$, and two homomorphisms. Let $k'=\ops{P}_{s,s'}(k)$+and $\phi=\phi_{s,s'}$. The required homomorphisms are+$k\homomorphism{\phi,\sigma}k'$ and $k'\homomorphism{\phi',\sigma'}k$+such that $\phi\circ\phi'=\idphi$ and $\sigma\circ\sigma'=\idsigma$.++\subsection{Augmentation Step}\label{sec:aug step}++An augmentation step is used to add a strand to a skeleton. An+augmentation step has the form+$k\mapsto\ops{H}_k(\ops{A}_{n,r,C}(\ops{S}_\sigma(k)))$ , where+$\ops{H}_k$ is a slight variation on a hulling step. For now, ignore+augmentation parameters $n$, $r$, $C$, and $\sigma$, and focus+on~$\ops{H}_k$. Let+$k'=\ops{H}_k(\ops{A}_{n,r,C}(\ops{S}_\sigma(k)))$. An augmentation+step is defined only if there is a homomorphism from~$k$ to~$k'$.+Operator~$\ops{H}_k$ always focuses on the added strand, and does not+require that nodes at which a uniquely originating atom originates on+the added strand is preserved. In other words, for+$k'=\ops{H}_k(k'')$, $\ops{H}_k$ requires there be a homomorphism+from~$k$ to~$k'$, but not one from~$k''$ to~$k'$. There also must be a+homomorphism from~$k$ to~$\ops{S}_\sigma(k)$.++Suppose skeleton~$k=\skel_X(\_,P,\_,\_,\_,\_)$ has a critical+position~$p$ at node~$n$, and $t_c=\mesg_k(n)\termat p$ is the+critical message. {\cpsa} computes the parameters for a set of+augmentation steps as follows. First, compute the target messages.+Let $T_e=E(\pubmsg_k(n), t_c)$. The target messages are $\fn{targ}(t_c, T_e)$.+Next, for each $\role_Y(C,N,U)\in+P$ and each index~$h$ where $C(h)=\outbnd t$, a transmission, do the+following.+\begin{description}+\item[Create fresh variables:]+Let~$\sigma_r$ be a sort preserving variable renaming,+where the domain is the variables that occur in $\prefix C h$, and every+variable in the range does not occur in~$\svars(X)$ or~$\svars(P)$.++\item[Insert critical message:] For each message~$t'$ carried by~$t$,+ and each~$t_t\in \fn{targ}(t_c, T_e)$, consider most general unifiers~$\sigma'$+ where, $\sigma'(t')=\sigma'(t_t)$ and $\sigma_r\unlhd\sigma'$.++\item[Ensure previous events do not transform:] For each $\sigma'$, find+ most general unifiers~$\sigma$ such that for $1\leq i<h$,+ $\mcow(\sigma(t_c), \sigma(T_e), \sigma(C(i)))$ and+ $\sigma'\unlhd\sigma$. Let $S_{r,h}$ be a set of+ substitutions~$\sigma$ with non-most general unifiers removed.++\item[Ensure last event transforms:] For each $\sigma\in S_{r,h}$,+if $\mncow(\sigma(t_c),\sigma(T_e),\sigma(C(h)))$, try+augmenting with parameters $n$, $r$, $\sigma\circ\prefix{C}{h}$,+and~$\sigma$.+\end{description}++\subsection{Preskeleton Reductions}++Function~$\fn{skel}$ is a partial function that maps preskeletons to+pruned skeletons. If given a preskeleton~$k$ where some uniquely+originating atoms originate more than once, \fn{skel} applies hulling+steps so as to eliminate uniquely originating atoms that originate+more than once or is undefined. Otherwise, it applies the ordering+enrichment operator once to produce a skeleton. Finally, it applies+as many pruning steps as is possible to produce a skeleton that is+pruned subject to restriction that only pairs of strands are+considered.++\subsection{Test Solving Reductions}++Suppose~$k$ is a skeleton with a critical position~$p$ at node~$n$.+Let $\inbnd t=\evt_k(n)$, $t_c=t\termat p$, and $T_e=E(\pubmsg_k(n),+t_c)$. Skeleton~$k$ reduces to~$k'$, written $k\reduction{n,p}k'$, if+position~$p$ at~$n$ in~$k$ is solved in~$k'$ and one of four cases+hold.++\begin{description}+\item[Contraction:] $k'=\fn{skel}(\ops{S}_\sigma(k))$, where~$\sigma$+ is a most general unifier such that for some $t_a\in\anc(t, p)$ and+ $t_e\in T_e$, $\sigma(t_a)=\sigma(t_e)$. There must be a+ homomorphism from~$k$ to~$\ops{S}_\sigma(k)$.++\item[Augmentation:] $k'=\fn{skel}(\ops{H}_k(\ops{A}_{n, r,+ C}(\ops{S}_\sigma(k))))$, where $n$, $r$, $C$, and $\sigma$ are as+ described in Section~\ref{sec:aug step}.++\item[Escape set listeners:] For $t_e\in T_E$, if $t_e=\enc{t_0}{t_1}$+ and $C=\seq{\inbnd t_1^{-1},\outbnd t_1^{-1}}$ then+ $k'=\fn{skel}(\ops{A}_{n, \lsn,C}(k))$.+\item[Critical message listener:] If $t_c=\enc{t_0}{t_1}$ then+ $k'=\fn{skel}(\ops{A}_{n, \lsn,\seq{\inbnd t_1,\outbnd t_1}}(k))$.+\end{description}++\begin{conj}[Authentication Solving Algorithm Complete]+Suppose~$k$ is a skeleton with a critical position~$p$ at node~$n$,+and~$p$ at~$n$ in~$k$ is solved in skeleton~$k'$, i.e.\ $k\solve{n,p}k'$.+Then there exists a skeleton~$k''$, strand map~$\phi$, and+substitution~$\sigma$ such that $k\reduction{n,p}k''$, and+$k''\homomorphism{\phi,\sigma}k'$.+\end{conj}++The proof appears to be too hard. Instead we focus on the following+conjecture.++\begin{defn}[Listener expanded bundle]+Let bundle~$\Upsilon$ be a run of protocol. Its \emph{listener+ expanded bundle} is $\lsn(\Upsilon)$, which is~$\Upsilon$ after+inserting a listener after every message transmitted by a non-listener+strand.+\end{defn}++\begin{conj}+Suppose~$k$ is a skeleton with a critical position~$p$ at node~$n$.+For all $\Upsilon\in\sembrack{k}$ and the~$k'$ that+realizes~$\lsn(\Upsilon)$, there exists a skeleton~$k''$, strand+map~$\phi$, and substitution~$\sigma$ such that $k\reduction{n,p}k''$,+and $k''\homomorphism{\phi,\sigma}k'$.+\end{conj}++\appendix+\section{Old Stuff} \begin{prop} A reception node is a test node iff it is unrealized, alternatively $S\vdash t$ iff $\crit(S,t)=\emptyset$.@@ -725,6 +1196,11 @@ \end{array}\right.$$ \end{defn} +Paul Rowe showed the relation between essential obstructions and+critical messages is+$$\eo(S,t)=\{t_0\in\crit(S,t)\mid+\some{p}t_0=t\termat p\land\anc(t,p)\cap\crit(S,t)=\emptyset\}.$$+ \begin{prop} $S\vdash t$ iff $\eo(S,t)=\emptyset$. \end{prop}@@ -737,42 +1213,6 @@ encryption. \end{proof} -{\cpsa} makes progress by solving a test. Suppose~$t_c$ is a critical-message at~$n$ in~$k$, i.e.\ $\evt_k(n)=\inbnd t$ and-$t_c\in\crit(\pubmsg_k(n),t)$, and suppose-$k\homomorphism{\phi,\sigma}k'$. Let $t'_c=\sigma(t_c)$, $T=-E(\pubmsg_k(n),t_c)$, $T'=\sigma(T)$, $n'=\phi(n)$, and-$\evt_{k'}(n')=\inbnd t'$. Message~$t_c$ at~$n$ in~$k$ is-\emph{solved} in~$k'$, written $k\solve{n,t_c}k'$, if-\begin{enumerate}-\item\label{enu:contract} $\mcow(t_c',T',t')$, or-\item\label{enu:augment} for some $t_p\in\transpred_{k'}(n')$,-$\mncow(t_c',T',t_p)$, or-\item\label{enu:escape} for some $\enc{t_0}{t_1}\in T'$,-$\pubmsg_{k'}(n')\vdash t_1^{-1}$, or-\item\label{enu:crit} $t'_c=\enc{t_0}{t_1}$, and-$\pubmsg_{k'}(n')\vdash t_1$.-\end{enumerate}--In words, {\cpsa} makes progress by a contraction-(Item~\ref{enu:contract}), where messages are identified, an-augmentation (Item~\ref{enu:augment}), where something is added to the-escape set, or a listener augmentation (Item~\ref{enu:escape} and-Item~\ref{enu:crit}), where an assumption about the lack of the-derivability of a key is shown to be invalid.--If solving a test is semantics preserving, and {\cpsa} produces a-finite set of skeletons that preserve the semantics at every step,-{\cpsa} will discover every-possible bundle associated with an initial skeleton whenever {\cpsa}-terminates.-\begin{conj}-$\sembrack{k}=\bigcup_{k'\in\{k'\mid k\solve{n,t_c}k'\}}\sembrack{k'}$.-\end{conj}--Alas, I know of no proof of this conjecture.--\appendix \section{Unification in a Many-Sorted Algebra} Unification in the Simple Crypto Order-Sorted Algebra can be@@ -899,6 +1339,11 @@ \emph{This section will discuss the algebra whose signature is given in Figure~\ref{fig:dh signature} and equations are given in Figure~\ref{fig:dh equations}.}++\section*{Acknowledgments}++The presentation of penetrator derivable messages in+Section~\ref{sec:pen deriv mesgs} is based on ideas by Javier Thayer. \bibliography{cpsa} \bibliographystyle{plain}
doc/cpsauser.html view
@@ -257,16 +257,20 @@ <blockquote> <pre>$ cpsa -h Usage: cpsa [OPTIONS] [FILE]- -o FILE --output=FILE output FILE- -l INT --limit=INT step count limit (default 2000)- -b INT --bound=INT strand count bound (default 8)- -m INT --margin=INT set output margin (default 72)- -e --expand expand macros only; don't analyze- -n --noisochk disable isomorphism checks- -a STRING --algebra=STRING algebra (default basic)- -s --show-algebras show algebras- -h --help show help message- -v --version show version number</pre>+ -o FILE --output=FILE output FILE+ -l INT --limit=INT step count limit (default 2000)+ -b INT --bound=INT strand count bound (default 8)+ -m INT --margin=INT set output margin (default 72)+ -e --expand expand macros only; don't analyze+ -n --noisochk disable isomorphism checks+ -d --displacement enable displacement+ -c --check-nonces check nonces first+ -t --try-old-strands try old strands first+ -r --reverse-nodes try younger nodes first+ -a STRING --algebra=STRING algebra (default basic)+ -s --show-algebras show algebras+ -h --help show help message+ -v --version show version number</pre> </blockquote> <p>This program will abort if too many steps are taken. A skeleton is printed
doc/macros.tex view
@@ -1,5 +1,5 @@ \newcommand{\cpsa}{\textsc{cpsa}}-\newcommand{\version}{2.0.5}+\newcommand{\version}{2.0.6} \newcommand{\cpsacopying}{\begingroup \renewcommand{\thefootnote}{}\footnotetext{{\copyright} 2010 The MITRE Corporation. Permission to copy without fee all or part of@@ -32,8 +32,9 @@ \newcommand{\ith}{\imath^\mathrm{th}} \newcommand{\jth}{\jmath^\mathrm{th}} \newcommand{\append}{\mathbin{{}^\smallfrown}}+\newcommand{\prefix}[2]{#1|_{#2}} \newcommand{\orig}{\mathcal{O}}-\newcommand{\acqu}{\mathcal{A}}+\newcommand{\gain}{\mathcal{G}} %\newcommand{\pow}[1]{\mathcal{P}(#1)} %\newcommand{\pow}[1]{\wp(#1)} \newcommand{\pow}[1]{2^{#1}}
src/CPSA/Annotations/Annotations.hs view
@@ -103,7 +103,7 @@ loadFormulas pos vars len gen (x : xs) = do prin <- loadTerm vars x- case isBaseTerm prin of+ case isAtom prin of True -> return () False -> fail (shows pos "principal not an atom") (g, alist) <- mapAccumLM (loadIndexedFormula vars len) gen xs
src/CPSA/Basic/Algebra.hs view
@@ -228,10 +228,10 @@ termWellFormed xts t1 -- Is the sort of the term a base sort?-isBaseTerm :: Term -> Bool-isBaseTerm (I _) = False-isBaseTerm (C _) = False-isBaseTerm (F s _) =+isAtom :: Term -> Bool+isAtom (I _) = False+isAtom (C _) = False+isAtom (F s _) = s == Text || s == Data || s == Name || s == Skey || s == Akey -- Does a term occur in another term?@@ -296,7 +296,7 @@ ba t0 && ba t1 ba t@(F Enc [t0, t1]) = S.member t knowns || ba t0 && ba t1- ba t = isBaseTerm t && not (S.member t unguessable)+ ba t = isAtom t && not (S.member t unguessable) -- Compute the decomposition given some known terms and some unguessable -- atoms. The code is quite tricky. It iterates until the known@@ -409,7 +409,7 @@ instance C.Term Term where isVar = isVar- isBaseTerm = isBaseTerm+ isAtom = isAtom termsWellFormed = termsWellFormed occursIn = occursIn foldVars = foldVars
src/CPSA/DiffieHellman/Algebra.hs view
@@ -364,12 +364,12 @@ termWellFormed xts t1 -- Is the sort of the term a base sort?-isBaseTerm :: Term -> Bool-isBaseTerm (I _) = False-isBaseTerm (C _) = False-isBaseTerm (F s _) =+isAtom :: Term -> Bool+isAtom (I _) = False+isAtom (C _) = False+isAtom (F s _) = s == Text || s == Data || s == Name || s == Skey || s == Akey || s == Base-isBaseTerm (G _) = True+isAtom (G _) = True -- Does a term occur in another term? occursIn :: Term -> Term -> Bool@@ -456,7 +456,7 @@ ba t0 && ba t1 ba t@(F Enc [t0, t1]) = S.member t knowns || ba t0 && ba t1- ba t = isBaseTerm t && not (S.member t unguessable)+ ba t = isAtom t && not (S.member t unguessable) -- Compute the decomposition given some known terms and some unguessable -- atoms. The code is quite tricky. It iterates until the known@@ -569,7 +569,7 @@ instance C.Term Term where isVar = isVar- isBaseTerm = isBaseTerm+ isAtom = isAtom termsWellFormed = termsWellFormed occursIn = occursIn foldVars = foldVars
src/CPSA/Graph/ExpandedView.hs view
@@ -10,6 +10,7 @@ module CPSA.Graph.ExpandedView (expandedView) where import qualified Data.Set as S+import Data.List (intersperse) import System.IO import CPSA.Lib.CPSA import CPSA.Graph.XMLOutput@@ -19,10 +20,11 @@ import CPSA.Graph.Preskeleton import CPSA.Graph.Tree -expandedView :: Handle -> Config -> Int -> [Preskel] -> IO ()-expandedView h conf margin ps =+expandedView :: Handle -> Config -> Int -> [SExpr Pos] -> [Preskel] -> IO ()+expandedView h conf margin cmts ps = do hPutList h (header ps)+ comments h margin cmts let f = forest ps case f of [t] ->@@ -46,6 +48,13 @@ where title [] = " <title>CPSA</title>" title (k : _) = " <title>CPSA " ++ protocol k ++ "</title>"++comments :: Handle -> Int -> [SExpr Pos] -> IO ()+comments h margin cmts =+ do+ hPutStrLn h ""+ let xs = concat $ intersperse "\n" $ map (pp margin indent) cmts+ hPutStrLn h $ show $ mc "pre" [] xs closer :: [String] closer =
src/CPSA/Graph/LaTeXView.hs view
@@ -9,17 +9,20 @@ module CPSA.Graph.LaTeXView (latexView) where import System.IO-import CPSA.Lib.CPSA (nats)+import CPSA.Lib.CPSA (nats, SExpr, Pos) import CPSA.Lib.Entry (writeSExpr) import CPSA.Graph.Loader import CPSA.Graph.Layout -- Main entry point-latexView :: Handle -> Int -> [Preskel] -> IO ()-latexView h margin ps =+latexView :: Handle -> Int -> [SExpr Pos] -> [Preskel] -> IO ()+latexView h margin cmts ps = do hPutStrLn h "\\usepackage[matrix,arrow,curve]{xy}" hPutStrLn h "\\begin{document}"+ hPutStrLn h "\\begin{verbatim}"+ mapM_ (writeSExpr h margin) cmts+ hPutStrLn h "\\end{verbatim}" mapM_ (writeLnPreskel h margin) ps hPutStrLn h "\n\\end{document}" hClose h
src/CPSA/Graph/Loader.hs view
@@ -115,13 +115,20 @@ type Pair = (Node, Node) -- An ordering of nodes --- Load the top-level defs or return an error message+-- Load the initial comments and top-level defs or return an error+-- message -loadDefs :: Monad m => [SExpr Pos] -> m [Preskel]+loadDefs :: Monad m => [SExpr Pos] -> m ([SExpr Pos], [Preskel]) loadDefs xs = do- (_, ks, _) <- foldM loadSExpr ([], [], 0) xs- return (reverse ks)+ let (cmts, xs') = loadComments [] xs+ (_, ks, _) <- foldM loadSExpr ([], [], 0) xs'+ return (reverse cmts, reverse ks)++loadComments :: [SExpr Pos] -> [SExpr Pos] -> ([SExpr Pos], [SExpr Pos])+loadComments cmts (cmt@(L _ (S _ "comment" : _)): xs) = + loadComments (cmt:cmts) xs+loadComments cmts xs = (cmts, xs) -- The integer is used to add a label to preskeleton without one. type LoadSExpr = ([(String, Protocol)], [Preskel], Int)
src/CPSA/Graph/Main.hs view
@@ -38,9 +38,9 @@ preskels <- try (loadDefs sexprs) case preskels of Left err -> abort (ioeGetErrorString err)- Right [] ->+ Right (_, []) -> abort "Empty input"- Right preskels ->+ Right (cmts, preskels) -> do h <- outputHandle (file params) case format params of@@ -48,14 +48,14 @@ do hPutStrLn h "\\documentclass[12pt]{article}" hPutStrLn h ("% " ++ cpsaVersion)- latexView h (margin params) preskels+ latexView h (margin params) cmts preskels _ -> do hPutStrLn h "<?xml version=\"1.0\"?>" hPutStrLn h ("<!-- " ++ cpsaVersion ++ " -->") case format params of XML -> expandedView h (config False)- (margin params) preskels+ (margin params) cmts preskels SVG -> compactView h (config True) preskels LaTeX -> error "Bad case in main"
src/CPSA/Lib/Algebra.hs view
@@ -27,7 +27,7 @@ class (Ord t, Show t) => Term t where isVar :: t -> Bool -- Is term a variable in the algebra?- isBaseTerm :: t -> Bool -- Is the sort of this term a base sort?+ isAtom :: t -> Bool -- Is the sort of this term a base sort? -- Does a term occur in another term? occursIn :: t -> t -> Bool
src/CPSA/Lib/Cohort.hs view
@@ -6,7 +6,7 @@ -- modify it under the terms of the BSD License as published by the -- University of California. -module CPSA.Lib.Cohort (reduce, unrealized) where+module CPSA.Lib.Cohort (Mode(..), reduce, unrealized) where import Control.Monad import qualified Data.Set as S@@ -59,6 +59,10 @@ -- Compile time switches for expermentation. +-- Include the escape set in the set of target terms+useEcapeSetInTargetTerms :: Bool+useEcapeSetInTargetTerms = False -- True+ -- Filter a cohort for skeletons that solve the test. Turn off only -- to debug the other parts of the test solving algorithm. useSolvedFilter :: Bool@@ -69,14 +73,6 @@ useMguFilter :: Bool useMguFilter = True --- Solve encryption tests first when possible.-useEncryptionFirstOrder :: Bool-useEncryptionFirstOrder = True---- Experiment: try adding orderings while contracting.-useContractionsWithOrdering :: Bool-useContractionsWithOrdering = False- -- Penetrator derivable predicate and checking for unrealized skeletons. derivable :: Algebra t p g s e c => Set t -> Set t -> t -> Bool@@ -124,11 +120,11 @@ where u = uniqOrig k --- Suppose k --v,t-> k', where k |-pi,sigma-> k'. Let t'=sigma(t),--- T=sigma(esc(k, v, t)), and t"=msg(k', pi(v)). Term t is solved in--- k' from k at v if:+-- Suppose k --v,p-> k', where k |-pi,sigma-> k'. Let t=msg(k, v)@p,+-- t'=sigma(t), T=sigma(esc(k, v, t)), and t"=msg(k', pi(v)).+-- Position p is solved in k' from k at v if: ----- 1. t' is carried only within T in t", or+-- 1. some member of anc(t", p) is in T', or -- -- 2. for some t in outpred(k', pi(v)), t' is not carried only within -- T in t, or@@ -136,10 +132,19 @@ -- 3. the decryption key for an element of T is derivable, or -- -- 4. t' is an encryption and the encryption key for t' is derivable.-solved :: Algebra t p g s e c => t -> Maybe t -> Set t ->+--+-- Haskell variables:+-- ct = t+-- pos = p+-- ek = encription key if ct is an encyption else nothing+-- escape = esc(k, v, t)+-- k = k+-- (s, p) = v+-- subst = sigma+solved :: Algebra t p g s e c => t -> p -> Maybe t -> Set t -> Preskel t p g s e c -> Node -> s -> Bool-solved ct ek escape k (s, p) subst =- carriedOnlyWithin ct' escape' t ||+solved ct pos ek escape k (s, p) subst =+ isAncestorInSet escape' t pos || any (not . carriedOnlyWithin ct' escape') (S.toList ts) || any (maybe False (derivable a ts) . decryptionKey) (S.toList escape') || maybe False (derivable a ts) ek@@ -153,24 +158,40 @@ ts = S.map (evtTerm . event) vs -- Outbound predecessors (a, _) = avoid k -maybeSolved :: Algebra t p g s e c => t -> Maybe t -> Set t ->+maybeSolved :: Algebra t p g s e c => t -> p -> Maybe t -> Set t -> Preskel t p g s e c -> Node -> s -> Bool-maybeSolved ct ek escape k n subst =- not useSolvedFilter || solved ct ek escape k n subst+maybeSolved ct pos ek escape k n subst =+ not useSolvedFilter || solved ct pos ek escape k n subst +data Mode = Mode + { noGeneralization :: Bool,+ addDisplacements :: Bool,+ nonceFirstOrder :: Bool,+ visitOldStrandsFirst :: Bool,+ reverseNodeOrder :: Bool }+ deriving Show+ -- Abort if there is an unrealized node without a test, otherwise -- return a list of skeletons that solve one test. If the skeleton is -- realized, try to generalize it, but only when noIsoChk is false.-reduce :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->+reduce :: Algebra t p g s e c => Mode -> Preskel t p g s e c -> [Preskel t p g s e c]-reduce noIsoChk k =- firstJust (map (testStrand k u a) ss)+reduce mode k =+ firstJust (map (testStrand mode k u a) ss) (whenRealized k) -- Skeleton is realized where- ss = reverse (strands k) -- Visit recently added strands first+ ss = strandVisitOrder mode (strands k) (a, u) = avoid k- whenRealized k = if noIsoChk then [] else realizedReductions k+ whenRealized k = + if noGeneralization mode then [] else realizedReductions k +strandVisitOrder :: Mode -> [a] -> [a]+strandVisitOrder mode ss =+ if visitOldStrandsFirst mode then+ ss -- Visit old strands first+ else+ reverse ss -- Visit recently added strands first (default)+ -- These reductions use isomorphism checking. realizedReductions :: Algebra t p g s e c => Preskel t p g s e c -> [Preskel t p g s e c]@@ -189,11 +210,11 @@ firstJust (Nothing : xs) x = firstJust xs x -- Look for a test node in a strand-testStrand :: Algebra t p g s e c => Preskel t p g s e c ->+testStrand :: Algebra t p g s e c => Mode -> Preskel t p g s e c -> [t] -> Set t -> Strand t p g s e c -> Maybe [Preskel t p g s e c]-testStrand k u a s =- loop S.empty (nodes s)+testStrand mode k u a s =+ loop S.empty (nodeVisitOrder mode $ nodes s) where loop _ [] = Nothing loop ns (n : nodes) =@@ -207,13 +228,20 @@ if der t then loop ns' nodes else- Just $ testNode k u ts der (graphNode n) t+ Just $ testNode mode k u ts der (graphNode n) t +nodeVisitOrder :: Mode -> [a] -> [a]+nodeVisitOrder mode nodes =+ if reverseNodeOrder mode then+ reverse nodes -- Visit latest nodes first+ else+ nodes -- Visit earliest nodes first (default)+ -- Look for a critical term that makes this node a test node.-testNode :: Algebra t p g s e c => Preskel t p g s e c ->+testNode :: Algebra t p g s e c => Mode -> Preskel t p g s e c -> [t] -> Set t -> (t -> Bool) -> Node -> t -> [Preskel t p g s e c]-testNode k u ts derivable n t =+testNode mode k u ts derivable n t = loop cts where loop [] = error ("Cohort.testNode missing test at " ++ show n)@@ -221,17 +249,19 @@ case escapeSet ts derivable ct of Nothing -> loop cts Just escape ->- if carriedOnlyWithin ct escape t then- loop cts- else- solveNode k ct ek n t escape- cts =- if useEncryptionFirstOrder then- map g (filter h (encryptions t)) ++- map f (filter (flip carriedBy t) u)- else+ places (carriedPlaces ct t)+ where+ places [] = loop cts -- Find position at which+ places (p : ps) -- ct has escaped+ | isAncestorInSet escape t p = places ps+ | otherwise = solveNode mode k ct p ek n t escape+ cts = -- Potential critical messages+ if nonceFirstOrder mode then map f (filter (flip carriedBy t) u) ++ map g (filter h (encryptions t))+ else+ map g (filter h (encryptions t)) +++ map f (filter (flip carriedBy t) u) f ct = (ct, Nothing) g (ct, ek) = (ct, Just ek) h (_, ek) = not (derivable ek)@@ -249,53 +279,47 @@ carriedOnlyWithin :: Algebra t p g s e c => t -> Set t -> t -> Bool carriedOnlyWithin target escape source =- existsOnAllPathsToTarget (flip S.member escape) target source+ all (isAncestorInSet escape source) (carriedPlaces target source) --- existsOnAllPathsToTarget pred target source is true if the--- predicate is true for some term on a path for every path from the--- source to the target-existsOnAllPathsToTarget :: Algebra t p g s e c =>- (t -> Bool) -> t -> t -> Bool-existsOnAllPathsToTarget pred target source =- all (any pred) (map (ancestors source) (carriedPlaces target source))+-- isAncestorInSet set source position is true if there is one ancestor of+-- source at position that is in the set.+isAncestorInSet :: Algebra t p g s e c => Set t -> t -> p -> Bool+isAncestorInSet set source position =+ any (flip S.member set) (ancestors source position) -solveNode :: Algebra t p g s e c => Preskel t p g s e c ->- t -> Maybe t -> Node -> t -> Set t ->+-- Solve critical message at position pos at node n.+-- ct = t @ pos+-- t = msg(k, n)+solveNode :: Algebra t p g s e c => Mode -> Preskel t p g s e c ->+ t -> p -> Maybe t -> Node -> t -> Set t -> [Preskel t p g s e c]-solveNode k ct ek n t escape =- cons ++ augs ++ cwos ++ lsns+solveNode mode k ct pos ek n t escape =+ cons ++ augs ++ lsns where- cons = contractions k ct ek n t escape cause- augs = augmentations k ct ek n escape cause- cwos =- if useContractionsWithOrdering then- contractionsWithOrdering k ct ek n escape cause- else- []- lsns = addListeners k ct ek n t escape cause+ cons = contractions k ct pos ek n t escape cause+ augs = augmentations (addDisplacements mode) k ct pos ek n escape cause+ lsns = addListeners k ct pos ek n t escape cause cause = Cause (dir ek) n ct escape -- Contractions +-- Contract the critical message at the given position. contractions :: Algebra t p g s e c => Preskel t p g s e c ->- t -> Maybe t -> Node -> t -> Set t ->+ t -> p -> Maybe t -> Node -> t -> Set t -> Cause t p g s e c -> [Preskel t p g s e c]-contractions k ct ek n t escape cause =- [ k | subst <- mgus $ cows ct escape t (gen k, emptySubst),+contractions k ct pos ek n t escape cause =+ [ k | let anc = ancestors t pos,+ subst <- mgus $ solve escape anc (gen k, emptySubst), (k, n, subst') <- maybeToList $ contract k n cause subst,- maybeSolved ct ek escape k n subst' ]+ maybeSolved ct pos ek escape k n subst' ] -cows :: Algebra t p g s e c => t -> Set t -> t -> (g, s) -> [(g, s)]-cows ct escape t subst =- if carriedOnlyWithinAtSubst ct escape t subst then- [subst]- else- concatMap f (fold ct escape t subst)- where- f subst =- cows ct escape t subst+solve :: Algebra t p g s e c => Set t -> [t] -> (g, s) -> [(g, s)]+solve escape ancestors subst =+ [ s | e <- S.toList escape,+ a <- ancestors,+ s <- maybeToList $ unify a e subst ] -carriedOnlyWithinAtSubst :: Algebra t p g s e c => +carriedOnlyWithinAtSubst :: Algebra t p g s e c => t -> Set t -> t -> (g, s) -> Bool carriedOnlyWithinAtSubst ct escape t (_, subst) = carriedOnlyWithin ct' escape' t'@@ -313,11 +337,7 @@ escape' = S.map (substitute subst) escape t' = substitute subst t f substs p =- [ s |- a <- ancestors t' p,- e <- S.toList escape',- subst <- substs,- s <- maybeToList $ unify a e subst ]+ [ s | subst <- substs, s <- solve escape' (ancestors t' p) subst ] -- Filter out non-most general unifiers mgus :: Algebra t p g s e c => [(g, s)] -> [(g, s)]@@ -359,20 +379,21 @@ -- Augmentations -augmentations :: Algebra t p g s e c => Preskel t p g s e c ->- t -> Maybe t -> Node -> Set t ->+augmentations :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->+ t -> p -> Maybe t -> Node -> Set t -> Cause t p g s e c -> [Preskel t p g s e c]-augmentations k ct ek n escape cause =+augmentations displacement k ct pos ek n escape cause = [ k' | r <- roles (protocol k),- k' <- roleAugs k ct ek n escape cause r ]+ k' <- roleAugs displacement k ct pos ek n escape cause r ] -roleAugs :: Algebra t p g s e c => Preskel t p g s e c ->- t -> Maybe t -> Node -> Set t -> Cause t p g s e c ->+roleAugs :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->+ t -> p -> Maybe t -> Node -> Set t -> Cause t p g s e c -> Role t p g s e c -> [Preskel t p g s e c]-roleAugs k ct ek n escape cause role =+roleAugs displacement k ct pos ek n escape cause role = [ k' | (subst', inst) <- transformingNode ct escape role subst,- (k', n', subst'') <- augment k n cause role subst' inst,- maybeSolved ct ek escape k' n' subst'' ]+ (k', n', subst'') <-+ augment displacement k n cause role subst' inst,+ maybeSolved ct pos ek escape k' n' subst'' ] where subst = cloneRoleVars (gen k) role @@ -414,8 +435,12 @@ -- term. targetTerms :: Algebra t p g s e c => t -> Set t -> Set t targetTerms ct escape =- S.difference (S.fold f (S.singleton ct) escape) escape+ if useEcapeSetInTargetTerms then+ targetTermsWithEscapeSet+ else+ S.difference targetTermsWithEscapeSet escape where+ targetTermsWithEscapeSet = S.fold f (S.singleton ct) escape f t ts = foldl (flip S.insert) ts (concatMap (ancestors t) (carriedPlaces ct t))@@ -475,48 +500,15 @@ inst' = bldInstance role itrace gen itrace = map (evtMap $ substitute subst) (take ht (rtrace role)) --- Contractions with an ordering--contractionsWithOrdering :: Algebra t p g s e c => Preskel t p g s e c ->- t -> Maybe t -> Node -> Set t ->- Cause t p g s e c -> [Preskel t p g s e c]-contractionsWithOrdering k ct ek n escape cause =- [ k' | (n', t, past) <- copresent k n,- subst <- carriedBindings targets t (gen k, emptySubst),- subst' <- mgus $ cowp ct escape past [subst],- testNotSolved t subst',- (k', n'', subst'') <-- maybeToList $ contractAndOrder k n cause subst' n',- maybeSolved ct ek escape k' n'' subst'' ]- where- targets = S.toList (targetTerms ct escape)- testNotSolved t (_, subst) =- not $ carriedOnlyWithin- (substitute subst ct)- (S.map (substitute subst) escape)- (substitute subst t)--cowp :: Algebra t p g s e c => t -> Set t ->- [t] -> [(g, s)] -> [(g, s)]-cowp _ _ [] substs = substs-cowp ct escape (t : ts) substs =- cowp ct escape ts (concatMap f substs)- where- f (gen, subst) =- let ct' = substitute subst ct- escape' = S.map (substitute subst) escape- t' = substitute subst t in- cows ct' escape' t' (gen, subst)- -- Listener augmentations addListeners :: Algebra t p g s e c => Preskel t p g s e c ->- t -> Maybe t -> Node -> t -> Set t ->+ t -> p -> Maybe t -> Node -> t -> Set t -> Cause t p g s e c -> [Preskel t p g s e c]-addListeners k ct ek n t escape cause =+addListeners k ct pos ek n t escape cause = [ k' | t' <- filter (/= t) (S.toList (escapeKeys ek escape)), (k', n', subst) <- maybeToList $ addListener k n cause t',- maybeSolved ct ek escape k' n' subst ]+ maybeSolved ct pos ek escape k' n' subst ] escapeKeys :: Algebra t p g s e c => Maybe t -> Set t -> Set t escapeKeys ek escape =
src/CPSA/Lib/Displayer.hs view
@@ -131,8 +131,6 @@ Contracted subst cause -> let substitution = displaySubst ctx subst in displayCause (L () (S () "contracted" : substitution)) cause- AddedOrdering node cause ->- displayCause (L () [S () "added-ordering", displayNode node]) cause Displaced s s' role height cause -> displayCause (L () [S () "displaced", N () s, N () s', S () role, N () height])
src/CPSA/Lib/Loader.hs view
@@ -161,7 +161,7 @@ $ originates t (rtrace role) origVarCheck v = failwith (showString "variable " $ showst v " not acquired")- $ isBaseTerm v || isJust (acquiredPos v (rtrace role))+ $ isAtom v || isJust (acquiredPos v (rtrace role)) failwith :: Monad m => String -> Bool -> m () failwith msg test =@@ -231,7 +231,7 @@ loadBaseTerm vars x = do t <- loadTerm vars x- case isBaseTerm t of+ case isAtom t of True -> return t False -> fail (shows (annotation x) "Expecting an atom") @@ -257,7 +257,7 @@ loadPosBaseTerm vars x = do t <- loadTerm vars x- case isBaseTerm t of+ case isAtom t of True -> return (Nothing, t) False -> fail (shows (annotation x) "Expecting an atom")
src/CPSA/Lib/Main.hs view
@@ -48,6 +48,10 @@ alg :: String, -- Name of the algebra analyze :: Bool, -- False when only expanding macros noIsoChk :: Bool, -- True when not performing isomorphism checks+ displacement :: Bool, -- True when using displacement+ checkNoncesFirst :: Bool, -- True when checking nonces first+ tryOldStrandsFirst :: Bool, -- True when visiting old strands first+ tryYoungNodesFirst :: Bool, -- True when visiting young nodes first limit :: Int, -- Step count limit bound :: Int, -- Strand cound bound margin :: Int } -- Output line length@@ -123,6 +127,18 @@ True -> writeComment h m $ "Strand count bounded at " ++ show (bound params) False -> return ()+ case displacement params of+ True -> writeComment h m "Displacement enabled"+ False -> return ()+ case checkNoncesFirst params of+ True -> writeComment h m "Nonces checked first"+ False -> return ()+ case tryOldStrandsFirst params of+ True -> writeComment h m "Old strands tried first"+ False -> return ()+ case tryYoungNodesFirst params of+ True -> writeComment h m "Younger nodes tried first"+ False -> return () -- Analyze solve params h preskels 0 @@ -146,6 +162,10 @@ | Margin String -- Output line length | Expand -- Expand macros only | NoIsoChk -- Disable isomorphism checks+ | Displacement -- Enable displacement+ | CheckNoncesFirst -- Check nonces first+ | TryOldStrandsFirst -- Try old strands first+ | TryYoungNodesFirst -- Try young nodes first | Algebra String -- Algebra | Algebras -- Show algebras | Help -- Help@@ -165,6 +185,14 @@ "expand macros only; don't analyze", Option ['n'] ["noisochk"] (NoArg NoIsoChk) "disable isomorphism checks",+ Option ['d'] ["displacement"] (NoArg Displacement)+ "enable displacement",+ Option ['c'] ["check-nonces"] (NoArg CheckNoncesFirst)+ "check nonces first",+ Option ['t'] ["try-old-strands"] (NoArg TryOldStrandsFirst)+ "try old strands first",+ Option ['r'] ["reverse-nodes"] (NoArg TryYoungNodesFirst)+ "try younger nodes first", Option ['a'] ["algebra"] (ReqArg Algebra "STRING") ("algebra (default " ++ defaultAlgebra ++ ")"), Option ['s'] ["show-algebras"] (NoArg Algebras) "show algebras",@@ -178,6 +206,10 @@ alg = defaultAlgebra, analyze = True, noIsoChk = False,+ displacement = False,+ checkNoncesFirst = False,+ tryOldStrandsFirst = False,+ tryYoungNodesFirst = False, limit = defaultStepLimit, bound = defaultStrandBound, margin = defaultMargin }@@ -214,6 +246,14 @@ loop flags $ params { analyze = False } loop (NoIsoChk : flags) params = loop flags $ params { noIsoChk = True }+ loop (Displacement : flags) params =+ loop flags $ params { displacement = True }+ loop (CheckNoncesFirst : flags) params =+ loop flags $ params { checkNoncesFirst = True }+ loop (TryOldStrandsFirst : flags) params =+ loop flags $ params { tryOldStrandsFirst = True }+ loop (TryYoungNodesFirst : flags) params =+ loop flags $ params { tryYoungNodesFirst = True } loop (Algebra name : flags) params | elem name algs = loop flags $ params { alg = name } | otherwise =@@ -406,11 +446,19 @@ Reduct lk (length kids) cols (seqList $ reverse unseen) (seqList dups) where- kids = reduce (noIsoChk p) (content lk)+ kids = reduce (params p) (content lk) cols = all collapsed kids (unseen, dups) = foldl (duplicates seen) ([], []) kids +params :: Params -> Mode+params p =+ Mode { noGeneralization = noIsoChk p,+ addDisplacements = displacement p,+ nonceFirstOrder = checkNoncesFirst p,+ visitOldStrandsFirst = tryOldStrandsFirst p,+ reverseNodeOrder = tryYoungNodesFirst p}+ -- Is preskeleton the result of a collapsing operation? collapsed :: Algebra t p g s e c => Preskel t p g s e c -> Bool collapsed k =@@ -470,7 +518,7 @@ fast p h ks m n (lk : todo) = do let ns = unrealized (content lk)- let ks' = reduce (noIsoChk p) (content lk)+ let ks' = reduce (params p) (content lk) let msg = show (length ks') ++ " in cohort" wrt p h (commentPreskel lk [] ns (null ns) msg) let (n', todo') = foldl (children lk) (n, []) ks'
src/CPSA/Lib/Strand.hs view
@@ -12,10 +12,10 @@ pov, knon, kunique, kcomment, nstrands, kvars, kterms, uniqOrig, preskelWellFormed, verbosePreskelWellFormed, Strand, GraphStrand, nodes, Vertex, GraphNode, preds, event, graphNode, strands, Gist,- gist, contract, contractAndOrder, copresent, augment, inheritRnon,- inheritRunique, addListener, Cause (..), Direction (..), Method- (..), Operation (..), operation, prob, homomorphism, toSkeleton,- generalize, collapse) where+ gist, contract, augment, inheritRnon, inheritRunique, addListener,+ Cause (..), Direction (..), Method (..), Operation (..),+ operation, prob, homomorphism, toSkeleton, generalize, collapse)+ where import Control.Monad import qualified Data.List as L@@ -69,10 +69,6 @@ useCheckVars :: Bool useCheckVars = False --- Experiment: try adding displacements to the augmentation procedure.-useDisplacement :: Bool-useDisplacement = False -- True- -- Instances and Strand Identifiers -- An Instance is an instance of a role, in the sense that each@@ -379,7 +375,6 @@ data Algebra t p g s e c => Operation t p g s e c = New | Contracted s (Cause t p g s e c)- | AddedOrdering Node (Cause t p g s e c) | Displaced Int Int String Int (Cause t p g s e c) | AddedStrand String Int (Cause t p g s e c) | AddedListener t (Cause t p g s e c)@@ -830,8 +825,6 @@ substOper _ New = New substOper subst (Contracted s cause) = Contracted (compose subst s) (substCause subst cause)-substOper subst (AddedOrdering node cause) =- AddedOrdering node (substCause subst cause) substOper _ m@(Displaced _ _ _ _ _) = m substOper subst (AddedStrand role height cause) = AddedStrand role height (substCause subst cause)@@ -998,10 +991,24 @@ foldl f orderings (L.delete s (strandids k)) where f orderings s =- case acquiredPos t (trace (strandInst k s)) of+ case gainedPos t (trace (strandInst k s)) of Nothing -> orderings Just pos -> adjoin (n, (s, pos)) orderings +-- At what position is a term gained in a trace?+gainedPos :: Algebra t p g s e c => t ->+ Trace t p g s e c -> Maybe Int+gainedPos t c =+ loop 0 c+ where+ loop _ [] = Nothing -- Term is not carried+ loop pos (Out t' : c)+ | t `carriedBy` t' = Nothing -- Term is not gained+ | otherwise = loop (pos + 1) c+ loop pos (In t' : c)+ | t `carriedBy` t' = Just pos -- Found it+ | otherwise = loop (pos + 1) c+ -- Redundant Strand Elimination (also known as pruning) prune :: Algebra t p g s e c => PRS t p g s e c -> Maybe (PRS t p g s e c)@@ -1032,6 +1039,9 @@ (gen k, emptyEnv) (gen', env') <- idempotentEnvFor env (concatMap (tterms . trace) $ deleteNth s $ insts k)+ case matchRenaming (gen', env') of+ True -> return ()+ False -> Nothing case origCheck k env' of True -> return () False -> Nothing@@ -1113,72 +1123,16 @@ n, emptySubst) subst hull True prs --- Contract and add ordering--contractAndOrder :: Algebra t p g s e c => Preskel t p g s e c ->- Node -> Cause t p g s e c -> (g, s) -> Node ->- Maybe (PRS t p g s e c)-contractAndOrder k n cause subst n' =- do- prs <- ksubst (k { operation = AddedOrdering n' cause },- n, emptySubst) subst- ord prs (n', n)--ord :: Algebra t p g s e c => PRS t p g s e c ->- Pair -> Maybe (PRS t p g s e c)-ord (k, n, hsubst) pair =- do- k' <- wellFormedPreskel k'- hull True (k', n, hsubst)- where- k' = newPreskel (gen k) (protocol k) (insts k)- (pair : orderings k) (knon k) (kunique k)- (operation k) (prob k) (pov k)---- Return a list of triples containg a transmitting node copresent--- with the argument, its message term, and the messages in its past-copresent :: Algebra t p g s e c => Preskel t p g s e c ->- Node -> [(Node, t, [t])]-copresent k n =- map f $ copresentVertices k n- where- f v =- let n = (sid $ strand v, pos v)- t = evtTerm $ event v- past = copresentPast v in- (n, t, past)--copresentVertices :: Algebra t p g s e c => Preskel t p g s e c ->- Node -> [Vertex t p g s e c]-copresentVertices k n =- let v = vertex k n in- [ v' | s <- strands k,- v' <- nodes s,- outbound $ event v',- not $ graphPrecedes v v',- not $ graphPrecedes v' v ]--outbound :: Algebra t p g s e c => Event t p g s e c -> Bool-outbound (In _) = False-outbound (Out _) = True--copresentPast :: Algebra t p g s e c => Vertex t p g s e c -> [t]-copresentPast v =- S.elems $ foldl f S.empty $ preds v- where- f set v =- foldl f (S.insert (evtTerm $ event v) set) $ preds v- -- Regular Augmentation -- Apply a substitution and then augment. Augmentations add an -- instance and one ordered pair. -augment :: Algebra t p g s e c => Preskel t p g s e c -> Node ->- Cause t p g s e c -> Role t p g s e c -> (g, s) ->- Instance t p g s e c -> [PRS t p g s e c]-augment k0 n cause role subst inst =- case substAndAugment k0 n cause role subst inst of+augment :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->+ Node -> Cause t p g s e c -> Role t p g s e c ->+ (g, s) -> Instance t p g s e c -> [PRS t p g s e c]+augment useDisplacement k0 n cause role subst inst =+ case substAndAugment useDisplacement k0 n cause role subst inst of Nothing -> [] Just prs@(k, n, hsubst) -> case useDisplacement of@@ -1188,18 +1142,18 @@ Nothing -> augDisplace k0 k n hsubst Just prs -> prs : augDisplace k0 k n hsubst -substAndAugment :: Algebra t p g s e c => Preskel t p g s e c -> Node ->- Cause t p g s e c -> Role t p g s e c -> (g, s) ->- Instance t p g s e c -> Maybe (PRS t p g s e c)-substAndAugment k n cause role subst inst =+substAndAugment :: Algebra t p g s e c => Bool -> Preskel t p g s e c ->+ Node -> Cause t p g s e c -> Role t p g s e c ->+ (g, s) -> Instance t p g s e c -> Maybe (PRS t p g s e c)+substAndAugment useDisplacement k n cause role subst inst = do let operation' = AddedStrand (rname role) (height inst) cause prs <- ksubst (k { operation = operation' }, n, emptySubst) subst- aug prs inst+ aug useDisplacement prs inst -aug :: Algebra t p g s e c => PRS t p g s e c ->+aug :: Algebra t p g s e c => Bool -> PRS t p g s e c -> Instance t p g s e c -> Maybe (PRS t p g s e c)-aug (k, n, hsubst) inst =+aug useDisplacement (k, n, hsubst) inst = do let insts' = (insts k) ++ [inst] let pair = ((length (insts k), height inst - 1), n)@@ -1235,12 +1189,12 @@ augCollapses :: Algebra t p g s e c => Preskel t p g s e c -> PRS t p g s e c -> Sid -> Maybe (PRS t p g s e c ) augCollapses k0 prs@(k, _, _) s =- foldM f prs (findCollapses k s)- where- f prs s' =+ case findCollapses k s of+ s':_ -> do (_, _, subst) <- unifyStrands k s s' augSubst k0 prs subst+ _ -> return prs -- Find the strands that share an origination point with s findCollapses :: Algebra t p g s e c => Preskel t p g s e c -> Sid -> [Sid]
tst/Make.hs view
@@ -186,7 +186,7 @@ make cpsaparametersRule root cpsaparametersRule :: Rule-cpsaparametersRule = +cpsaparametersRule = Rule { prog = "cpsaparameters", inputExt = sourceBasicExt, outputExt = paramsExt }
tst/blanchet.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol blanchet basic
tst/completeness-test.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol completeness-test basic
tst/dass_simple.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol dass basic
tst/denning-sacco.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol denning-sacco basic
tst/dh.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol dhke diffie-hellman
+ tst/dh_unifywithconst.sch view
@@ -0,0 +1,25 @@+(defprotocol dh_unifywith1 diffie-hellman+ (defrole resp (vars (n text) (x base) (a b name))+ (trace+ (recv (enc n (pubk b)))+ (send (enc x n (pubk a)))+ )+ (uniq-orig x)+ (non-orig (privk a))+ )+ (defrole init (vars (n text) (a b name))+ (trace+ (send (enc n (pubk b)))+ (recv (enc (gen) n (pubk a)))+ )+ (non-orig (privk b))+ (uniq-orig n)+ )+ (comment "A test: will CPSA unify x with g?")+)++(defskeleton dh_unifywith1+ (vars (n text) (a b name))+ (defstrand init 2 (n n) (a a) (b b))+ (comment "Initiator full point of view")+)
+ tst/dh_unifywithconst.tst view
@@ -0,0 +1,59 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol dh_unifywith1 diffie-hellman+ (defrole resp+ (vars (n text) (x base) (a b name))+ (trace (recv (enc n (pubk b))) (send (enc x n (pubk a))))+ (non-orig (privk a))+ (uniq-orig x))+ (defrole init+ (vars (n text) (a b name))+ (trace (send (enc n (pubk b))) (recv (enc (gen) n (pubk a))))+ (non-orig (privk b))+ (uniq-orig n))+ (comment "A test: will CPSA unify x with g?"))++(defskeleton dh_unifywith1+ (vars (n text) (a b name))+ (defstrand init 2 (n n) (a a) (b b))+ (non-orig (privk b))+ (uniq-orig n)+ (comment "Initiator full point of view")+ (traces ((send (enc n (pubk b))) (recv (enc (gen) n (pubk a)))))+ (label 0)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton dh_unifywith1+ (vars (n text) (a b a-0 name) (x base))+ (defstrand init 2 (n n) (a a) (b b))+ (defstrand resp 2 (n n) (a a-0) (b b) (x x))+ (precedes ((0 0) (1 0)) ((1 1) (0 1)))+ (non-orig (privk b) (privk a-0))+ (uniq-orig n x)+ (operation nonce-test (added-strand resp 2) n (0 1) (enc n (pubk b)))+ (traces ((send (enc n (pubk b))) (recv (enc (gen) n (pubk a))))+ ((recv (enc n (pubk b))) (send (enc x n (pubk a-0)))))+ (label 1)+ (parent 0)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton dh_unifywith1+ (vars (n text) (b a name))+ (defstrand init 2 (n n) (a a) (b b))+ (defstrand resp 2 (n n) (a a) (b b) (x (gen)))+ (precedes ((0 0) (1 0)) ((1 1) (0 1)))+ (non-orig (privk b) (privk a))+ (uniq-orig n (gen))+ (operation nonce-test (contracted (a-0 a) (x (gen))) n (0 1)+ (enc n (pubk b)) (enc (gen) n (pubk a)))+ (traces ((send (enc n (pubk b))) (recv (enc (gen) n (pubk a))))+ ((recv (enc n (pubk b))) (send (enc (gen) n (pubk a)))))+ (label 2)+ (parent 1)+ (unrealized)+ (shape))++(comment "Nothing left to do")
tst/dy.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol dy basic
tst/encsig.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol mult-keys-enc-sig basic
tst/epmo.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol epmo basic
tst/epmo_acctnum.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol epmo_acctnum basic
tst/ffgg.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol ffgg basic
tst/isoreject.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol isoreject basic
tst/kelly1.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol kelly1 basic
tst/kerberos.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol kerberos basic@@ -297,37 +297,6 @@ (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k)) (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))- (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a a) (b b-0)- (ks ks-0) (k k))- (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (0 1)) ((1 1) (3 1)) ((2 1) (0 3)) ((3 2) (2 0)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig k)- (operation nonce-test- (contracted (a-0 a) (t-0 t) (b-1 b) (ks-1 ks) (l-1 l)) k (3 1)- (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))- (traces- ((send (cat a b))- (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))- (send (cat (enc a t k) (enc t l k a (ltk b ks))))- (recv (enc t-prime k)))- ((recv (cat b a))- (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))- ((recv (cat (enc a t k) (enc t l-0 k a (ltk b-0 ks-0))))- (send (enc t-prime k)))- ((send (cat a b))- (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))- (send (cat (enc a t k) (enc t l k a (ltk b ks))))))- (label 11)- (parent 7)- (unrealized (2 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton kerberos- (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey))- (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)- (k k))- (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k)) (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a b) (b b-0) (ks ks-0) (k k)) (defstrand init 3 (t t) (l l) (a b) (b a) (ks ks) (k k))@@ -349,7 +318,7 @@ ((send (cat b a)) (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))) (send (cat (enc b t k) (enc t l k b (ltk a ks))))))- (label 12)+ (label 11) (parent 7) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen"))@@ -358,7 +327,7 @@ (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey)) (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k)) (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a a) (b b-0) (ks ks-0) (k k)) (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))@@ -373,15 +342,15 @@ (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks)))) (recv (enc t-prime k)))- ((recv (cat a b))- (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))+ ((recv (cat b a))+ (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))) ((recv (cat (enc a t k) (enc t l-0 k a (ltk b-0 ks-0)))) (send (enc t-prime k))) ((send (cat a b)) (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks))))))- (label 13)- (parent 9)+ (label 12)+ (parent 7) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) @@ -411,40 +380,40 @@ ((send (cat b a)) (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))) (send (cat (enc b t k) (enc t l k b (ltk a ks))))))- (label 14)+ (label 13) (parent 9) (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton kerberos- (vars (t t-prime l text) (a b ks name) (k skey))+ (vars (t t-prime l l-0 text) (a b ks b-0 ks-0 name) (k skey)) (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))- (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)- (k k))+ (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))+ (defstrand resp 2 (t t) (t-prime t-prime) (l l-0) (a a) (b b-0)+ (ks ks-0) (k k)) (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k)) (precedes ((1 1) (0 1)) ((1 1) (3 1)) ((2 1) (0 3)) ((3 2) (2 0))) (non-orig (ltk a ks) (ltk b ks)) (uniq-orig k)- (operation nonce-test (contracted (b-0 b) (ks-0 ks) (l-0 l)) k (2 0)+ (operation nonce-test+ (contracted (a-0 a) (t-0 t) (b-1 b) (ks-1 ks) (l-1 l)) k (3 1) (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))) (traces ((send (cat a b)) (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks)))) (recv (enc t-prime k)))- ((recv (cat b a))- (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))- ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))+ ((recv (cat a b))+ (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))+ ((recv (cat (enc a t k) (enc t l-0 k a (ltk b-0 ks-0)))) (send (enc t-prime k))) ((send (cat a b)) (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks))))))- (label 15)- (parent 11)- (unrealized)- (shape)+ (label 14)+ (parent 9)+ (unrealized (2 0)) (comment "1 in cohort - 1 not yet seen")) (defskeleton kerberos@@ -472,8 +441,8 @@ ((send (cat b a)) (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))) (send (cat (enc b t k) (enc t l k b (ltk a ks))))))- (label 16)- (parent 12)+ (label 15)+ (parent 11) (unrealized) (shape) (comment "1 in cohort - 1 not yet seen"))@@ -482,7 +451,7 @@ (vars (t t-prime l text) (a b ks name) (k skey)) (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k)) (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k)) (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))@@ -496,15 +465,15 @@ (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks)))) (recv (enc t-prime k)))- ((recv (cat a b))- (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))))+ ((recv (cat b a))+ (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))))) ((recv (cat (enc a t k) (enc t l k a (ltk b ks)))) (send (enc t-prime k))) ((send (cat a b)) (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks))))))- (label 17)- (parent 13)+ (label 16)+ (parent 12) (unrealized) (shape) (comment "1 in cohort - 1 not yet seen"))@@ -534,9 +503,9 @@ ((send (cat b a)) (recv (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))) (send (cat (enc b t k) (enc t l k b (ltk a ks))))))- (label 18)- (parent 14)- (seen 20)+ (label 17)+ (parent 13)+ (seen 19) (unrealized) (shape) (comment "1 in cohort - 0 not yet seen"))@@ -545,26 +514,32 @@ (vars (t t-prime l text) (a b ks name) (k skey)) (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))+ (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k)) (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))- (precedes ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))+ (defstrand init 3 (t t) (l l) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (0 1)) ((1 1) (3 1)) ((2 1) (0 3)) ((3 2) (2 0))) (non-orig (ltk a ks) (ltk b ks)) (uniq-orig k)- (operation collapsed 3 0)+ (operation nonce-test (contracted (b-0 b) (ks-0 ks) (l-0 l)) k (2 0)+ (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks))) (traces ((send (cat a b)) (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks)))) (send (cat (enc a t k) (enc t l k a (ltk b ks)))) (recv (enc t-prime k)))- ((recv (cat b a))- (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))+ ((recv (cat a b))+ (send (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))) ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))- (send (enc t-prime k))))- (label 19)- (parent 15)+ (send (enc t-prime k)))+ ((send (cat a b))+ (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))+ (send (cat (enc a t k) (enc t l k a (ltk b ks))))))+ (label 18)+ (parent 14) (unrealized)- (shape))+ (shape)+ (comment "1 in cohort - 1 not yet seen")) (defskeleton kerberos (vars (t t-prime l text) (a ks name) (k skey))@@ -586,8 +561,8 @@ (send (cat (enc t l k a (ltk a ks)) (enc t l k a (ltk a ks))))) ((recv (cat (enc a t k) (enc t l k a (ltk a ks)))) (send (enc t-prime k))))- (label 20)- (parent 16)+ (label 19)+ (parent 15) (seen 21) (unrealized) (comment "1 in cohort - 0 not yet seen"))@@ -596,6 +571,31 @@ (vars (t t-prime l text) (a b ks name) (k skey)) (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (t t) (l l) (a b) (b a) (ks ks) (k k))+ (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)+ (k k))+ (precedes ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig k)+ (operation collapsed 3 0)+ (traces+ ((send (cat a b))+ (recv (cat (enc t l k b (ltk a ks)) (enc t l k a (ltk b ks))))+ (send (cat (enc a t k) (enc t l k a (ltk b ks))))+ (recv (enc t-prime k)))+ ((recv (cat b a))+ (send (cat (enc t l k a (ltk b ks)) (enc t l k b (ltk a ks)))))+ ((recv (cat (enc a t k) (enc t l k a (ltk b ks))))+ (send (enc t-prime k))))+ (label 20)+ (parent 16)+ (unrealized)+ (shape))++(defskeleton kerberos+ (vars (t t-prime l text) (a b ks name) (k skey))+ (defstrand init 4 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks)+ (k k)) (defstrand keyserver 2 (t t) (l l) (a a) (b b) (ks ks) (k k)) (defstrand resp 2 (t t) (t-prime t-prime) (l l) (a a) (b b) (ks ks) (k k))@@ -613,7 +613,7 @@ ((recv (cat (enc a t k) (enc t l k a (ltk b ks)))) (send (enc t-prime k)))) (label 21)- (parent 17)+ (parent 18) (unrealized) (shape))
tst/missing_contraction.scm view
@@ -1,12 +1,12 @@ (defprotocol missing-contraction basic (defrole sender (vars (m n text) (a b name))- (trace + (trace (send (enc a m (pubk a))) (send (enc a n (pubk b))))) (defrole receiver (vars (m text) (a b name))- (trace + (trace (recv (enc a m (pubk b)))))) (defskeleton missing-contraction@@ -23,3 +23,12 @@ (deflistener (enc a m (pubk c))) (uniq-orig m) (non-orig (privk a)))+ ++(defskeleton missing-contraction+ (vars (m text) (a b c name))+ (defstrand sender 2 (m m) (a a) (b b))+ (defstrand receiver 1 (m m) (a a) (b c))+ (precedes ((0 1) (1 0)))+ (uniq-orig m)+ (non-orig (privk a) (privk b)))
tst/missing_contraction.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol missing-contraction basic@@ -118,5 +118,92 @@ (parent 4) (unrealized) (shape))++(comment "Nothing left to do")++(defprotocol missing-contraction basic+ (defrole sender+ (vars (m n text) (a b name))+ (trace (send (enc a m (pubk a))) (send (enc a n (pubk b)))))+ (defrole receiver+ (vars (m text) (a b name))+ (trace (recv (enc a m (pubk b))))))++(defskeleton missing-contraction+ (vars (m n text) (a b c name))+ (defstrand sender 2 (m m) (n n) (a a) (b b))+ (defstrand receiver 1 (m m) (a a) (b c))+ (precedes ((0 1) (1 0)))+ (non-orig (privk a) (privk b))+ (uniq-orig m)+ (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))+ ((recv (enc a m (pubk c)))))+ (label 7)+ (unrealized (1 0))+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton missing-contraction+ (vars (m n text) (a b name))+ (defstrand sender 2 (m m) (n n) (a a) (b b))+ (defstrand receiver 1 (m m) (a a) (b a))+ (precedes ((0 1) (1 0)))+ (non-orig (privk a) (privk b))+ (uniq-orig m)+ (operation nonce-test (contracted (c a)) m (1 0) (enc a m (pubk a)))+ (traces ((send (enc a m (pubk a))) (send (enc a n (pubk b))))+ ((recv (enc a m (pubk a)))))+ (label 8)+ (parent 7)+ (unrealized)+ (shape))++(defskeleton missing-contraction+ (vars (n text) (a b c name))+ (defstrand sender 2 (m n) (n n) (a a) (b b))+ (defstrand receiver 1 (m n) (a a) (b c))+ (precedes ((0 1) (1 0)))+ (non-orig (privk a) (privk b))+ (uniq-orig n)+ (operation nonce-test (added-strand sender 2) n (1 0)+ (enc a n (pubk a)))+ (traces ((send (enc a n (pubk a))) (send (enc a n (pubk b))))+ ((recv (enc a n (pubk c)))))+ (label 9)+ (parent 7)+ (unrealized (1 0))+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton missing-contraction+ (vars (n text) (a b name))+ (defstrand sender 2 (m n) (n n) (a a) (b b))+ (defstrand receiver 1 (m n) (a a) (b b))+ (precedes ((0 1) (1 0)))+ (non-orig (privk a) (privk b))+ (uniq-orig n)+ (operation nonce-test (contracted (c b)) n (1 0) (enc a n (pubk a))+ (enc a n (pubk b)))+ (traces ((send (enc a n (pubk a))) (send (enc a n (pubk b))))+ ((recv (enc a n (pubk b)))))+ (label 10)+ (parent 9)+ (unrealized)+ (shape))++(defskeleton missing-contraction+ (vars (n text) (a b name))+ (defstrand sender 2 (m n) (n n) (a a) (b b))+ (defstrand receiver 1 (m n) (a a) (b a))+ (precedes ((0 1) (1 0)))+ (non-orig (privk a) (privk b))+ (uniq-orig n)+ (operation nonce-test (contracted (c a)) n (1 0) (enc a n (pubk a))+ (enc a n (pubk b)))+ (traces ((send (enc a n (pubk a))) (send (enc a n (pubk b))))+ ((recv (enc a n (pubk a)))))+ (label 11)+ (parent 9)+ (seen 8)+ (unrealized)+ (comment "1 in cohort - 0 not yet seen")) (comment "Nothing left to do")
tst/neuman-stubblebine-reauth.tst view
@@ -1,4424 +1,3812 @@-(comment "CPSA 2.0.5")-(comment "All input read")--(defprotocol neuman-stubblebine basic- (defrole init- (vars (a b ks name) (ra rb text) (k skey) (tb text))- (trace (send (cat a ra))- (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))- (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (defrole resp- (vars (a b ks name) (ra rb text) (k skey) (tb text))- (trace (recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (defrole init-reauth- (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))- (trace (recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime))- (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))- (defrole resp-reauth- (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))- (trace (recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))- (defrole keyserver- (vars (a b ks name) (ra rb text) (k skey) (tb text))- (trace (recv (cat b rb (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))- (uniq-orig k)))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))- (label 0)- (unrealized (0 2) (1 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (precedes ((2 1) (0 2)) ((2 1) (1 0)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb-0 (ltk b ks)) (1 0))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0))))- (label 1)- (parent 0)- (unrealized (0 2) (1 2) (2 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp 2)- (enc a ra-0 tb-0 (ltk b ks)) (2 0))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks))))))- (label 2)- (parent 1)- (unrealized (0 2) (1 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 tb-1 text)- (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-1) (rb rb-prime) (tb tb-1) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))- ((4 2) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc rb-prime k)- (1 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))- (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc rb-prime k)))))- (label 3)- (parent 2)- (unrealized (0 2) (4 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 tb-1- text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((3 1) (2 0)) ((4 3) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc rb-prime k) (1 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))- (label 4)- (parent 2)- (unrealized (0 2) (4 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 tb-1- text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))- ((4 1) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc rb-prime k) (1 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k)))))- (label 5)- (parent 2)- (unrealized (0 2) (4 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (deflistener k)- (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((3 1) (2 0))- ((4 1) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv k) (send k)))- (label 6)- (parent 2)- (unrealized (0 2) (4 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))- ((4 2) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-1 tb-0)) k- (4 1) (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-prime))- (send (cat (enc a k tb-0 (ltk b ks)) (enc rb-prime k)))))- (label 7)- (parent 3)- (unrealized (0 2))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((3 1) (2 0)) ((4 3) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)- (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))- (label 8)- (parent 4)- (unrealized (0 2) (4 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))- ((4 1) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)- (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (cat (enc a k tb-0 (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k)))))- (label 9)- (parent 5)- (unrealized (0 2))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))- ((4 2) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb (ltk b ks)) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))- (label 10)- (parent 7)- (unrealized (0 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-1- text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-1) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)- (4 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))- (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))- (label 11)- (parent 8)- (unrealized (0 2) (5 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-0 k) (4 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))))- (label 12)- (parent 8)- (unrealized (0 2) (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-0 k) (4 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))))- (label 13)- (parent 8)- (unrealized (0 2) (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-0 k)- (4 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv k) (send k)))- (label 14)- (parent 8)- (unrealized (0 2) (5 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))- ((4 1) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb (ltk b ks)) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k)))))- (label 15)- (parent 9)- (unrealized (0 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 tb-0 text)- (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))- (label 16)- (parent 10)- (unrealized (5 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 tb-0 text)- (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))- (label 17)- (parent 10)- (unrealized (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 tb-0 text)- (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 18)- (parent 10)- (unrealized (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (deflistener k)- (precedes ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))- ((4 2) (1 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv k) (send k)))- (label 19)- (parent 10)- (unrealized (5 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-1 tb-0)) k- (5 1) (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-0 k)))))- (label 20)- (parent 11)- (unrealized (0 2))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)- (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))))- (label 21)- (parent 12)- (unrealized (0 2) (5 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- rb-prime-0 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)- (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))))- (label 22)- (parent 13)- (unrealized (0 2))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 tb-0- text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))- ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))- (label 23)- (parent 15)- (unrealized (5 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))- (label 24)- (parent 15)- (unrealized (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1- tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat rb-prime-1 (enc rb k)))))- (label 25)- (parent 15)- (unrealized (5 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))- ((4 1) (1 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k)))) ((recv k) (send k)))- (label 26)- (parent 15)- (unrealized (5 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (5 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))- (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 27)- (parent 16)- (unrealized)- (shape))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))- (label 28)- (parent 17)- (unrealized (5 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 29)- (parent 18)- (unrealized)- (shape)- (comment "2 in cohort - 2 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb (ltk b ks)) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))- (label 30)- (parent 20)- (unrealized (0 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-1) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)- (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))- (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))- (label 31)- (parent 21)- (unrealized (0 2) (6 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-prime-2 tb-1 text) (a b ks a-0 b-0 ks-0 name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 3) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-1 k) (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k))))- (label 32)- (parent 21)- (unrealized (0 2) (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-1 k) (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))- (send (cat rb-prime-0 (enc ra-prime-1 k)))))- (label 33)- (parent 21)- (unrealized (0 2) (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-1 k)- (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))) ((recv k) (send k)))- (label 34)- (parent 21)- (unrealized (0 2) (6 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb (ltk b ks)) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))))- (label 35)- (parent 22)- (unrealized (0 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))- ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (5 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))- (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 36)- (parent 23)- (unrealized)- (shape)- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))- (label 37)- (parent 24)- (unrealized (5 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-1 (enc rb k)))))- (label 38)- (parent 25)- (unrealized)- (shape)- (comment "2 in cohort - 2 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0- text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)- (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))- (label 39)- (parent 28)- (unrealized (6 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 3) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-0 k) (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))))- (label 40)- (parent 28)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-0 k) (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))))- (label 41)- (parent 28)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-0 k)- (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv k) (send k)))- (label 42)- (parent 28)- (unrealized (6 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))- ((3 0) (0 0)) ((3 2) (1 2)) ((4 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation collapsed 3 0)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))- ((send (cat a ra))- (recv- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 43)- (parent 29)- (unrealized)- (shape)- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 1)) ((2 1) (1 0))- ((3 1) (2 0)) ((4 2) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra ra-prime rb-prime k)- (operation collapsed 5 1)- (traces- ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))- ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))- (label 44)- (parent 29)- (seen 66)- (unrealized)- (shape)- (comment "1 in cohort - 0 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0- text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)) ((6 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))- (label 45)- (parent 30)- (unrealized (6 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)) ((6 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))- (label 46)- (parent 30)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)) ((6 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 47)- (parent 30)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 1))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2))- ((6 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv k) (send k)))- (label 48)- (parent 30)- (unrealized (6 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-1 tb-0)) k- (6 1) (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- ra-prime-1))- (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-1 k)))))- (label 49)- (parent 31)- (unrealized (0 2))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 3) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)- (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k))))- (label 50)- (parent 32)- (unrealized (0 2) (6 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 rb-prime-0 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)- (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (send (cat rb-prime-0 (enc ra-prime-1 k)))))- (label 51)- (parent 33)- (unrealized (0 2))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 1) (4 2)) ((6 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k))))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))- (label 52)- (parent 35)- (unrealized (6 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 1) (4 2)) ((6 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k))))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))- (label 53)- (parent 35)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 1) (4 2)) ((6 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k))))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat rb-prime-1 (enc rb k)))))- (label 54)- (parent 35)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2))- ((6 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))) ((recv k) (send k)))- (label 55)- (parent 35)- (unrealized (6 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))- ((3 1) (1 2)) ((4 0) (0 0)) ((4 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation collapsed 3 0)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((send (cat a ra))- (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))- (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 56)- (parent 36)- (unrealized)- (shape))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)- (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))- (label 57)- (parent 37)- (unrealized (6 1))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 3) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-0 k) (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))))- (label 58)- (parent 37)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-0 k) (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))- (send (cat rb-prime-1 (enc ra-prime-0 k)))))- (label 59)- (parent 37)- (unrealized (6 0))- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-0 k)- (5 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv k) (send k)))- (label 60)- (parent 37)- (unrealized (6 0))- (comment "empty cohort"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 rb-prime-1 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))- ((3 1) (1 2)) ((4 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation collapsed 3 0)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-1 (enc rb k)))))- (label 61)- (parent 38)- (unrealized)- (shape)- (comment "1 in cohort - 1 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 0)) ((2 1) (1 0))- ((3 1) (2 0)) ((4 1) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra ra-prime rb-prime k)- (operation collapsed 5 1)- (traces- ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))- ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k)))))- (label 62)- (parent 38)- (seen 82)- (unrealized)- (shape)- (comment "1 in cohort - 0 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))- (label 63)- (parent 39)- (unrealized)- (shape))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 3) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))))- (label 64)- (parent 40)- (unrealized (6 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))- ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))))- (label 65)- (parent 41)- (unrealized)- (shape)- (comment "2 in cohort - 2 not yet seen"))--(defskeleton neuman-stubblebine- (vars (ra ra-prime rb-prime tb rb text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 1)) ((2 1) (1 0))- ((3 0) (0 0)) ((3 2) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra ra-prime rb-prime k)- (operation collapsed 4 1)- (traces- ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))- ((send (cat a ra))- (recv- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))- (label 66)- (parent 43)- (unrealized)- (shape))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)) ((6 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))- (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 67)- (parent 45)- (unrealized)- (shape))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)) ((6 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))- (label 68)- (parent 46)- (unrealized (6 2))- (comment "4 in cohort - 4 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)) ((6 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 69)- (parent 47)- (unrealized)- (shape)- (comment "2 in cohort - 2 not yet seen"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)- (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb (ltk b ks)) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-1))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k)))))- (label 70)- (parent 49)- (unrealized (0 2))- (comment "4 in cohort - 4 not yet seen"))--(comment "Strand bound exceeded--aborting run")--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-prime-2 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-2) (tb tb-1) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 2) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)- (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))- (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))- (label 71)- (parent 50)- (unrealized (0 2) (7 1))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-prime-2 ra-prime-3 tb-1 text)- (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-3) (rb-prime ra-prime-2)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 3) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-2 k) (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k)))- ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-3))- (recv (cat ra-prime-2 (enc ra-prime-3 k)))- (send (enc ra-prime-2 k))))- (label 72)- (parent 50)- (unrealized (0 2) (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-prime-2 rb-prime-0 tb-1 text)- (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-2) (rb-prime rb-prime-0)- (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-2 k) (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k)))- ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))- (send (cat rb-prime-0 (enc ra-prime-2 k)))))- (label 73)- (parent 50)- (unrealized (0 2) (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0- ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)- (ks ks) (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-2 k)- (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))- (send- (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))- rb-0)))- ((recv (cat a ra-0))- (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a k tb-0 (ltk b ks)))- (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k))) ((recv k) (send k)))- (label 74)- (parent 50)- (unrealized (0 2) (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- rb-prime-0 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand keyserver 2)- (enc a k tb (ltk b ks)) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-1))- (send (cat rb-prime-0 (enc ra-prime-1 k)))))- (label 75)- (parent 51)- (unrealized (0 2))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 1) (4 2)) ((6 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))- (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 76)- (parent 52)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- ra-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 1) (4 2)) ((6 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))- (label 77)- (parent 53)- (unrealized (6 2))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0- rb-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 1) (4 2)) ((6 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-1 (enc rb k)))))- (label 78)- (parent 54)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 2) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (6 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))- (label 79)- (parent 57)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- ra-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 3) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))))- (label 80)- (parent 58)- (unrealized (6 2))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0- rb-prime-1 text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))- ((6 1) (5 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))- k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-1 (enc ra-prime-0 k)))))- (label 81)- (parent 59)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars (ra ra-prime rb-prime tb rb rb-prime-0 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 0)) ((2 1) (1 0))- ((3 1) (1 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra ra-prime rb-prime k)- (operation collapsed 4 1)- (traces- ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))- ((recv (cat (enc a k tb (ltk b ks)) rb-prime))- (send (cat rb-prime-0 (enc rb-prime k)))))- (label 82)- (parent 61)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0)) ((4 2) (1 2))- ((5 3) (0 2)) ((6 3) (5 2)) ((7 2) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)- (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))- (label 83)- (parent 64)- (unrealized (7 1))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 2) (1 2))- ((5 3) (0 2)) ((6 3) (5 2)) ((7 3) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-1 k) (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k))))- (label 84)- (parent 64)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 2) (1 2))- ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-1 k) (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (send (cat rb-prime-0 (enc ra-prime-1 k)))))- (label 85)- (parent 64)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))- ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 2) (1 2))- ((5 3) (0 2)) ((6 3) (5 2)) ((7 1) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-1 k)- (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k))) ((recv k) (send k)))- (label 86)- (parent 64)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb rb-0 ra-prime-0 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((3 0) (0 0)) ((3 2) (1 2)) ((4 3) (0 2))- ((5 1) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation collapsed 3 0)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))- ((send (cat a ra))- (recv- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))- (send (cat rb-prime-0 (enc ra-prime-0 k)))))- (label 87)- (parent 65)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)- (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((1 1) (5 2)) ((2 1) (5 0))- ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (1 0)) ((5 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation collapsed 6 1)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-prime))- (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime))- (recv (cat rb (enc ra-prime k))) (send (enc rb k))))- (label 88)- (parent 65)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 2) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)- (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))- (label 89)- (parent 68)- (unrealized (7 1))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 3) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4)- (enc ra-prime-1 k) (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))- (recv (cat ra-prime-1 (enc ra-prime-2 k)))- (send (enc ra-prime-1 k))))- (label 90)- (parent 68)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)- (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2)- (enc ra-prime-1 k) (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))- (send (cat rb-prime-0 (enc ra-prime-1 k)))))- (label 91)- (parent 68)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)- (a a) (b b) (ks ks) (k k))- (deflistener k)- (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 1)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 2) (4 2)) ((6 3) (0 2)) ((7 1) (6 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc ra-prime-1 k)- (6 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k)))- ((recv k) (send k)))- (label 92)- (parent 68)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars (ra rb ra-prime rb-prime tb rb-0 ra-prime-0 rb-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra) (rb ra-prime-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)- (a a) (b b) (ks ks) (k k))- (precedes ((0 1) (2 0)) ((1 1) (3 2)) ((2 1) (1 0)) ((2 1) (3 0))- ((2 1) (4 1)) ((2 1) (5 0)) ((3 3) (1 2)) ((4 0) (0 0))- ((4 2) (3 2)) ((5 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation collapsed 3 0)- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))- (send- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra))- (recv- (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))- ((recv (cat (enc a k tb (ltk b ks)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 93)- (parent 69)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 ra-prime-0 text)- (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)- (ks ks) (k k))- (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 2)) ((2 1) (1 0))- ((2 1) (4 0)) ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 2) (4 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra ra-prime rb-prime k)- (operation collapsed 6 1)- (traces- ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))- ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-0))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))- (label 94)- (parent 69)- (unrealized)- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)- (ks ks-0) (k k))- (precedes ((0 1) (7 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 1)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 2) (5 2)) ((7 2) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init 3) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-1))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))- ((send (cat a-0 ra-1))- (recv- (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))- (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))- (label 95)- (parent 70)- (unrealized (7 1))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- ra-prime-2 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime rb) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (7 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 2) (5 2)) ((7 3) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand init-reauth 4) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-1))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))- ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))- (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-2))- (recv (cat rb (enc ra-prime-2 k))) (send (enc rb k))))- (label 96)- (parent 70)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- rb-prime-0 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)- (ks ks) (k k))- (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)- (a a-0) (b b-0) (ks ks-0) (k k))- (precedes ((0 1) (7 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))- ((2 1) (5 0)) ((2 1) (6 1)) ((2 1) (7 0)) ((3 1) (2 0))- ((4 3) (1 2)) ((5 3) (4 2)) ((6 2) (5 2)) ((7 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-strand resp-reauth 2) (enc rb k)- (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-1))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))- ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))- (send (cat rb-prime-0 (enc rb k)))))- (label 97)- (parent 70)- (unrealized (7 0))- (comment "aborted"))--(defskeleton neuman-stubblebine- (vars- (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1- text) (a b ks name) (k skey))- (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)- (k k))- (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))- (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)- (tb tb) (a a) (b b) (ks ks) (k k))- (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)- (ks ks) (k k))- (deflistener k)- (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 0))- ((2 1) (6 1)) ((2 1) (7 0)) ((3 1) (2 0)) ((4 3) (1 2))- ((5 3) (4 2)) ((6 2) (5 2)) ((7 1) (0 2)))- (non-orig (ltk a ks) (ltk b ks))- (uniq-orig ra rb ra-prime rb-prime k)- (operation encryption-test (added-listener k) (enc rb k) (0 2))- (traces- ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))- (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))- ((recv (cat (enc a k tb (ltk b ks)) ra-prime))- (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))- ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))- (send- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- rb-0)))- ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-0))- (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))- ((recv (enc a k tb (ltk b ks)))- (send (cat (enc a k tb (ltk b ks)) ra-prime-1))- (recv (cat ra-prime-0 (enc ra-prime-1 k)))- (send (enc ra-prime-0 k)))- ((send (cat a ra-0))- (recv- (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))- ra-prime-1))- (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k))))- ((recv k) (send k)))- (label 98)- (parent 70)- (unrealized (7 0))+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol neuman-stubblebine basic+ (defrole init+ (vars (a b ks name) (ra rb text) (k skey) (tb text))+ (trace (send (cat a ra))+ (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (defrole resp+ (vars (a b ks name) (ra rb text) (k skey) (tb text))+ (trace (recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (defrole init-reauth+ (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))+ (trace (recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime))+ (recv (cat rb-prime (enc ra-prime k))) (send (enc rb-prime k))))+ (defrole resp-reauth+ (vars (a b ks name) (ra-prime rb-prime text) (k skey) (tb text))+ (trace (recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))+ (defrole keyserver+ (vars (a b ks name) (ra rb text) (k skey) (tb text))+ (trace (recv (cat b rb (enc a ra tb (ltk b ks))))+ (send+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))+ (uniq-orig k)))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k))))+ (label 0)+ (unrealized (0 2) (1 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((2 1) (0 2)) ((2 1) (1 0)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb-0 (ltk b ks)) (1 0))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0))))+ (label 1)+ (parent 0)+ (unrealized (0 2) (1 2) (2 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp 2)+ (enc a ra-0 tb-0 (ltk b ks)) (2 0))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks))))))+ (label 2)+ (parent 1)+ (unrealized (0 2) (1 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 tb-1 text)+ (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-1) (rb rb-prime) (tb tb-1) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 2) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc rb-prime k)+ (1 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))+ (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc rb-prime k)))))+ (label 3)+ (parent 2)+ (unrealized (0 2) (4 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 tb-1+ text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((3 1) (2 0)) ((4 3) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4)+ (enc rb-prime k) (1 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))+ (label 4)+ (parent 2)+ (unrealized (0 2) (4 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 tb-1+ text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 1) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2)+ (enc rb-prime k) (1 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k)))))+ (label 5)+ (parent 2)+ (unrealized (0 2) (4 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (deflistener k)+ (precedes ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((3 1) (2 0))+ ((4 1) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc rb-prime k) (1 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv k) (send k)))+ (label 6)+ (parent 2)+ (unrealized (0 2) (4 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-1) (rb rb-prime) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 2) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 1)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb-0 (ltk b ks)) (enc rb-prime k)))))+ (label 7)+ (parent 3)+ (unrealized (0 2) (4 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((3 1) (2 0)) ((4 3) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k))))+ (label 8)+ (parent 4)+ (unrealized (0 2) (4 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 rb-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 1) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (4 0)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k)))))+ (label 9)+ (parent 5)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 2) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc b ra-0 k tb-0 (ltk a ks)) (4 1))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb-0 (ltk b ks)) (enc rb-prime k)))))+ (label 10)+ (parent 7)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-1+ text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-1) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)+ (4 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))+ (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))+ (label 11)+ (parent 8)+ (unrealized (0 2) (5 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4)+ (enc ra-prime-0 k) (4 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))))+ (label 12)+ (parent 8)+ (unrealized (0 2) (5 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2)+ (enc ra-prime-0 k) (4 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k)))))+ (label 13)+ (parent 8)+ (unrealized (0 2) (5 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc ra-prime-0 k)+ (4 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv k) (send k)))+ (label 14)+ (parent 8)+ (unrealized (0 2) (5 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 0)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 1) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb (ltk b ks)) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k)))))+ (label 15)+ (parent 9)+ (unrealized (0 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (precedes ((1 1) (4 1)) ((2 1) (0 2)) ((2 1) (1 0)) ((3 1) (2 0))+ ((4 2) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb (ltk b ks)) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))+ (label 16)+ (parent 10)+ (unrealized (0 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 ra-1+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 1)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-0 k)))))+ (label 17)+ (parent 11)+ (unrealized (0 2) (5 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 3) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))))+ (label 18)+ (parent 12)+ (unrealized (0 2) (5 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ rb-prime-0 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (5 0)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k)))))+ (label 19)+ (parent 13)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 tb-0+ text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))+ (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))+ (label 20)+ (parent 15)+ (unrealized (5 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))+ (label 21)+ (parent 15)+ (unrealized (5 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1+ tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat rb-prime-1 (enc rb k)))))+ (label 22)+ (parent 15)+ (unrealized (5 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))+ ((4 1) (1 2)) ((5 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k)))) ((recv k) (send k)))+ (label 23)+ (parent 15)+ (unrealized (5 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 tb-0 text)+ (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))+ (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))+ (label 24)+ (parent 16)+ (unrealized (5 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 tb-0 text)+ (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))+ (label 25)+ (parent 16)+ (unrealized (5 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 tb-0 text)+ (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat rb-prime-0 (enc rb k)))))+ (label 26)+ (parent 16)+ (unrealized (5 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (deflistener k)+ (precedes ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (2 0))+ ((4 2) (1 2)) ((5 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv k) (send k)))+ (label 27)+ (parent 16)+ (unrealized (5 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc b ra-0 k tb-0 (ltk a ks)) (5 1))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-0 k)))))+ (label 28)+ (parent 17)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-1) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc ra-prime-1 k)+ (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))+ (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-1 k)))))+ (label 29)+ (parent 18)+ (unrealized (0 2) (6 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-prime-2 tb-1 text) (a b ks a-0 b-0 ks-0 name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 3) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4)+ (enc ra-prime-1 k) (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))+ (recv (cat ra-prime-1 (enc ra-prime-2 k)))+ (send (enc ra-prime-1 k))))+ (label 30)+ (parent 18)+ (unrealized (0 2) (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 rb-prime-0 tb-1 text) (a b ks a-0 b-0 ks-0 name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2)+ (enc ra-prime-1 k) (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-1))+ (send (cat rb-prime-0 (enc ra-prime-1 k)))))+ (label 31)+ (parent 18)+ (unrealized (0 2) (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc ra-prime-1 k)+ (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))) ((recv k) (send k)))+ (label 32)+ (parent 18)+ (unrealized (0 2) (6 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb (ltk b ks)) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k)))))+ (label 33)+ (parent 19)+ (unrealized (0 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (5 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 34)+ (parent 20)+ (unrealized (5 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))+ (label 35)+ (parent 21)+ (unrealized (5 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 rb-prime-1+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 0)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) rb))+ (send (cat rb-prime-1 (enc rb k)))))+ (label 36)+ (parent 22)+ (unrealized)+ (shape)+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (5 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 37)+ (parent 24)+ (unrealized (5 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k))))+ (label 38)+ (parent 25)+ (unrealized (5 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 0)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (5 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) rb))+ (send (cat rb-prime-0 (enc rb k)))))+ (label 39)+ (parent 26)+ (unrealized)+ (shape)+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb (ltk b ks)) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))+ (label 40)+ (parent 28)+ (unrealized (0 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-1) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 1)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ ra-prime-1))+ (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-1 k)))))+ (label 41)+ (parent 29)+ (unrealized (0 2) (6 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 3) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))+ (recv (cat ra-prime-1 (enc ra-prime-2 k)))+ (send (enc ra-prime-1 k))))+ (label 42)+ (parent 30)+ (unrealized (0 2) (6 2))+ (comment "4 in cohort - 4 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 rb-prime-0 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test+ (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-1 tb-0)) k (6 0)+ (enc a k tb-0 (ltk b ks)) (enc b ra-0 k tb-0 (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (send (cat rb-prime-0 (enc ra-prime-1 k)))))+ (label 43)+ (parent 31)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 1) (4 2)) ((6 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k))))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))+ (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))+ (label 44)+ (parent 33)+ (unrealized (6 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 1) (4 2)) ((6 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k))))+ ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))+ (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))+ (label 45)+ (parent 33)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 1) (4 2)) ((6 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k))))+ ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat rb-prime-1 (enc rb k)))))+ (label 46)+ (parent 33)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 1) (4 2))+ ((6 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k)))) ((recv k) (send k)))+ (label 47)+ (parent 33)+ (unrealized (6 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 1)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 1))+ ((3 1) (2 0)) ((4 1) (1 2)) ((5 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc b ra-0 k tb (ltk a ks)) (5 1))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 48)+ (parent 34)+ (unrealized)+ (shape)+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ ra-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)+ (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))+ (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))+ (label 49)+ (parent 35)+ (unrealized (6 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ ra-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 3) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4)+ (enc ra-prime-0 k) (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))))+ (label 50)+ (parent 35)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ rb-prime-1 tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)+ (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2)+ (enc ra-prime-0 k) (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))+ (send (cat rb-prime-1 (enc ra-prime-0 k)))))+ (label 51)+ (parent 35)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc ra-prime-0 k)+ (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv k) (send k)))+ (label 52)+ (parent 35)+ (unrealized (6 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 rb-prime-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 0))+ ((3 1) (1 2)) ((4 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation collapsed 3 0)+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))+ (send+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) rb))+ (send (cat rb-prime-1 (enc rb k)))))+ (label 53)+ (parent 36)+ (unrealized)+ (shape)+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 rb-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 0)) ((2 1) (1 0))+ ((3 1) (2 0)) ((4 1) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra ra-prime rb-prime k)+ (operation collapsed 5 1)+ (traces+ ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))+ ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k)))))+ (label 54)+ (parent 36)+ (seen 79)+ (unrealized)+ (shape)+ (comment "1 in cohort - 0 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init 3 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 1)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 1))+ ((3 1) (2 0)) ((4 2) (1 2)) ((5 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc b ra-0 k tb (ltk a ks)) (5 1))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 55)+ (parent 37)+ (unrealized)+ (shape))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0+ text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb-0) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc ra-prime-0 k)+ (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))+ (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc ra-prime-0 k)))))+ (label 56)+ (parent 38)+ (unrealized (6 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1+ tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 3) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4)+ (enc ra-prime-0 k) (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))))+ (label 57)+ (parent 38)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb-0) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2)+ (enc ra-prime-0 k) (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k)))))+ (label 58)+ (parent 38)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc ra-prime-0 k)+ (5 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv k) (send k)))+ (label 59)+ (parent 38)+ (unrealized (6 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (2 0)) ((1 1) (3 1)) ((2 1) (1 0)) ((2 1) (4 0))+ ((3 0) (0 0)) ((3 2) (1 2)) ((4 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation collapsed 3 0)+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))+ (send+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))+ ((send (cat a ra))+ (recv+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) rb))+ (send (cat rb-prime-0 (enc rb k)))))+ (label 60)+ (parent 39)+ (unrealized)+ (shape)+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra ra-prime rb-prime tb ra-0 rb rb-0 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (precedes ((0 1) (1 0)) ((1 1) (0 2)) ((1 1) (4 1)) ((2 1) (1 0))+ ((3 1) (2 0)) ((4 2) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra ra-prime rb-prime k)+ (operation collapsed 5 1)+ (traces+ ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))+ ((recv (cat a ra-0)) (send (cat b rb-0 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))+ (label 61)+ (parent 39)+ (seen 83)+ (unrealized)+ (shape)+ (comment "1 in cohort - 0 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 tb-0+ text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb-0) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 2) (4 2)) ((6 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-0 (ltk a-0 ks-0))+ (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) (enc rb k)))))+ (label 62)+ (parent 40)+ (unrealized (6 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1+ tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 2) (4 2)) ((6 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((recv (enc a-0 k tb-0 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) ra-prime-1))+ (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))+ (label 63)+ (parent 40)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ tb-0 text) (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb-0)+ (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 2) (4 2)) ((6 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2) (enc rb k)+ (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((recv (cat (enc a-0 k tb-0 (ltk b-0 ks-0)) rb))+ (send (cat rb-prime-0 (enc rb k)))))+ (label 64)+ (parent 40)+ (unrealized (6 0))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (deflistener k)+ (precedes ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0)) ((2 1) (5 1))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2)) ((5 2) (4 2))+ ((6 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc rb k) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((recv k) (send k)))+ (label 65)+ (parent 40)+ (unrealized (6 0))+ (comment "empty cohort"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc b ra-0 k tb-0 (ltk a ks)) (6 1))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ ra-prime-1))+ (send (cat (enc a k tb-0 (ltk b ks)) (enc ra-prime-1 k)))))+ (label 66)+ (parent 41)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(comment "Strand bound exceeded--aborting run")++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-prime-2 ra-1 tb-1 text) (a b ks a-0 b-0 ks-0 name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-2) (tb tb-1) (a a-0) (b b-0)+ (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 1)) ((3 1) (2 0))+ ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 2) (6 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init 3) (enc ra-prime-2 k)+ (6 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))+ (recv (cat ra-prime-1 (enc ra-prime-2 k)))+ (send (enc ra-prime-1 k)))+ ((send (cat a-0 ra-1))+ (recv+ (cat (enc b-0 ra-1 k tb-1 (ltk a-0 ks-0))+ (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) (enc ra-prime-2 k)))))+ (label 67)+ (parent 42)+ (unrealized (0 2) (7 1))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-prime-2 ra-prime-3 tb-1 text)+ (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-3) (rb-prime ra-prime-2)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))+ ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 3) (6 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand init-reauth 4)+ (enc ra-prime-2 k) (6 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))+ (recv (cat ra-prime-1 (enc ra-prime-2 k)))+ (send (enc ra-prime-1 k)))+ ((recv (enc a-0 k tb-1 (ltk b-0 ks-0)))+ (send (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-3))+ (recv (cat ra-prime-2 (enc ra-prime-3 k)))+ (send (enc ra-prime-2 k))))+ (label 68)+ (parent 42)+ (unrealized (0 2) (7 0))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-prime-2 rb-prime-0 tb-1 text)+ (a b ks a-0 b-0 ks-0 name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-2) (rb-prime rb-prime-0)+ (tb tb-1) (a a-0) (b b-0) (ks ks-0) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))+ ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand resp-reauth 2)+ (enc ra-prime-2 k) (6 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))+ (recv (cat ra-prime-1 (enc ra-prime-2 k)))+ (send (enc ra-prime-1 k)))+ ((recv (cat (enc a-0 k tb-1 (ltk b-0 ks-0)) ra-prime-2))+ (send (cat rb-prime-0 (enc ra-prime-2 k)))))+ (label 69)+ (parent 42)+ (unrealized (0 2) (7 0))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra tb rb ra-prime rb-prime tb-0 ra-0 rb-0 rb-1 ra-prime-0+ ra-prime-1 ra-prime-2 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb-0) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb-0) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-2) (rb-prime ra-prime-1)+ (tb tb-0) (a a) (b b) (ks ks) (k k))+ (deflistener k)+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((2 1) (7 0)) ((3 1) (2 0))+ ((4 3) (1 2)) ((5 3) (4 2)) ((6 3) (5 2)) ((7 1) (6 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-listener k) (enc ra-prime-2 k)+ (6 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb-0 (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb-0 (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb-0 (ltk a ks)) (enc a k tb-0 (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0))+ (send (cat b rb-1 (enc a ra-0 tb-0 (ltk b ks)))))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (enc a k tb-0 (ltk b ks)))+ (send (cat (enc a k tb-0 (ltk b ks)) ra-prime-2))+ (recv (cat ra-prime-1 (enc ra-prime-2 k)))+ (send (enc ra-prime-1 k))) ((recv k) (send k)))+ (label 70)+ (parent 42)+ (unrealized (0 2) (7 0))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1+ rb-prime-0 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-1) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb (ltk b ks)) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (send (cat rb-prime-0 (enc ra-prime-1 k)))))+ (label 71)+ (parent 43)+ (unrealized (0 2))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ ra-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 1) (4 2)) ((6 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k))))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 72)+ (parent 44)+ (unrealized (6 1))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ ra-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 1) (4 2)) ((6 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))+ (label 73)+ (parent 45)+ (unrealized (6 2))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ rb-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-1) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 1) (4 2)) ((6 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k))))+ ((recv (cat (enc a k tb (ltk b ks)) rb))+ (send (cat rb-prime-1 (enc rb k)))))+ (label 74)+ (parent 46)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb rb-0 rb-prime-0 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (2 0)) ((1 1) (3 0)) ((2 1) (1 0)) ((2 1) (4 1))+ ((3 1) (1 2)) ((4 0) (0 0)) ((4 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation collapsed 3 0)+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra tb (ltk b ks))))+ (send+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb-0)))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((send (cat a ra))+ (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 75)+ (parent 48)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ ra-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 1)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))+ (label 76)+ (parent 49)+ (unrealized (6 1))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ ra-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 3) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))))+ (label 77)+ (parent 50)+ (unrealized (6 2))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 rb-prime-0 ra-prime-0+ rb-prime-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-1)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 0)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 1) (1 2)) ((5 3) (0 2))+ ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-1 (enc ra-prime-0 k)))))+ (label 78)+ (parent 51)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars (ra ra-prime rb-prime tb rb rb-prime-0 text) (a b ks name)+ (k skey))+ (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 2 (ra-prime rb-prime) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 0)) ((2 1) (1 0))+ ((3 1) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra ra-prime rb-prime k)+ (operation collapsed 4 1)+ (traces+ ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb (enc a ra tb (ltk b ks))))+ (send+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))+ ((recv (cat (enc a k tb (ltk b ks)) rb-prime))+ (send (cat rb-prime-0 (enc rb-prime k)))))+ (label 79)+ (parent 53)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 1)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k)))))+ (label 80)+ (parent 56)+ (unrealized (6 1))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 3) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k))))+ (label 81)+ (parent 57)+ (unrealized (6 2))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-0) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime ra-prime-0) (rb-prime rb-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (5 2)) ((1 1) (4 1)) ((2 1) (1 0)) ((2 1) (5 0))+ ((2 1) (6 0)) ((3 1) (2 0)) ((4 2) (1 2)) ((5 3) (0 2))+ ((6 1) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb (enc ra-prime-0 k))) (send (enc rb k)))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (send (cat rb-prime-0 (enc ra-prime-0 k)))))+ (label 82)+ (parent 58)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars (ra ra-prime rb-prime tb rb text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb ra-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand init 3 (ra ra) (rb rb-prime) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (precedes ((0 1) (2 0)) ((1 1) (0 2)) ((1 1) (3 1)) ((2 1) (1 0))+ ((3 0) (0 0)) ((3 2) (1 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra ra-prime rb-prime k)+ (operation collapsed 4 1)+ (traces+ ((recv (cat a ra)) (send (cat b ra-prime (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc ra-prime k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb (enc a ra tb (ltk b ks))))+ (send+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)))+ ((send (cat a ra))+ (recv+ (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-prime))+ (send (cat (enc a k tb (ltk b ks)) (enc rb-prime k)))))+ (label 83)+ (parent 60)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-1 text)+ (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (6 1)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 2) (4 2)) ((6 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 84)+ (parent 62)+ (unrealized (6 1))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime rb) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (6 2)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 2) (4 2)) ((6 3) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (recv (cat rb (enc ra-prime-1 k))) (send (enc rb k))))+ (label 85)+ (parent 63)+ (unrealized (6 2))+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 rb-prime-0+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-0) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (defstrand resp-reauth 2 (ra-prime rb) (rb-prime rb-prime-0) (tb tb)+ (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (6 0)) ((1 1) (4 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 1)) ((2 1) (6 0)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 2) (4 2)) ((6 1) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (6 0) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-0))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-0 k))))+ ((recv (cat (enc a k tb (ltk b ks)) rb))+ (send (cat rb-prime-0 (enc rb k)))))+ (label 86)+ (parent 64)+ (unrealized)+ (comment "aborted"))++(defskeleton neuman-stubblebine+ (vars+ (ra rb ra-prime rb-prime tb ra-0 rb-0 rb-1 ra-prime-0 ra-prime-1+ text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand resp-reauth 3 (ra-prime ra-prime) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init-reauth 4 (ra-prime ra-prime-0) (rb-prime rb-prime)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init-reauth 4 (ra-prime ra-prime-1) (rb-prime ra-prime-0)+ (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand init 3 (ra ra-0) (rb ra-prime-1) (tb tb) (a a) (b b)+ (ks ks) (k k))+ (precedes ((1 1) (4 2)) ((2 1) (0 2)) ((2 1) (1 0)) ((2 1) (4 0))+ ((2 1) (5 0)) ((2 1) (6 1)) ((3 1) (2 0)) ((4 3) (1 2))+ ((5 3) (4 2)) ((6 2) (5 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb ra-prime rb-prime k)+ (operation encryption-test (added-strand keyserver 2)+ (enc a k tb (ltk b ks)) (0 2))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat (enc a k tb (ltk b ks)) ra-prime))+ (send (cat rb-prime (enc ra-prime k))) (recv (enc rb-prime k)))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-0))+ (recv (cat rb-prime (enc ra-prime-0 k))) (send (enc rb-prime k)))+ ((recv (enc a k tb (ltk b ks)))+ (send (cat (enc a k tb (ltk b ks)) ra-prime-1))+ (recv (cat ra-prime-0 (enc ra-prime-1 k)))+ (send (enc ra-prime-0 k)))+ ((send (cat a ra-0))+ (recv+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ ra-prime-1))+ (send (cat (enc a k tb (ltk b ks)) (enc ra-prime-1 k)))))+ (label 87)+ (parent 66)+ (unrealized (0 2)) (comment "aborted"))
tst/neuman-stubblebine.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol neuman-stubblebine basic@@ -212,6 +212,35 @@ (comment "empty cohort")) (defskeleton neuman-stubblebine+ (vars (ra rb tb ra-0 rb-0 rb-1 ra-1 text) (a b ks name) (k skey))+ (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)+ (k k))+ (defstrand resp 2 (ra ra-0) (rb rb-1) (tb tb) (a a) (b b) (ks ks))+ (defstrand init 3 (ra ra-1) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k))+ (precedes ((0 1) (3 1)) ((1 1) (3 1)) ((2 1) (1 0)) ((3 2) (0 2)))+ (non-orig (ltk a ks) (ltk b ks))+ (uniq-orig ra rb k)+ (operation nonce-test (contracted (a-0 a) (b-0 b) (ks-0 ks) (tb-0 tb))+ k (3 1) (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (traces+ ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks))))+ (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))+ ((recv (cat b rb-0 (enc a ra-0 tb (ltk b ks))))+ (send+ (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks))+ rb-0)))+ ((recv (cat a ra-0)) (send (cat b rb-1 (enc a ra-0 tb (ltk b ks)))))+ ((send (cat a ra-1))+ (recv+ (cat (enc b ra-1 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))+ (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))+ (label 8)+ (parent 6)+ (unrealized (3 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton neuman-stubblebine (vars (ra rb tb ra-0 rb-0 rb-1 text) (a b ks name) (k skey)) (defstrand resp 3 (ra ra) (rb rb) (tb tb) (a a) (b b) (ks ks) (k k)) (defstrand keyserver 2 (ra ra-0) (rb rb-0) (tb tb) (a a) (b b) (ks ks)@@ -221,9 +250,8 @@ (precedes ((0 1) (3 1)) ((1 1) (3 1)) ((2 1) (1 0)) ((3 2) (0 2))) (non-orig (ltk a ks) (ltk b ks)) (uniq-orig ra rb k)- (operation nonce-test- (contracted (a-0 a) (b-0 b) (ks-0 ks) (ra-1 ra-0) (tb-0 tb)) k (3 1)- (enc a k tb (ltk b ks)) (enc b ra-0 k tb (ltk a ks)))+ (operation encryption-test (added-strand keyserver 2)+ (enc b ra-0 k tb (ltk a ks)) (3 1)) (traces ((recv (cat a ra)) (send (cat b rb (enc a ra tb (ltk b ks)))) (recv (cat (enc a k tb (ltk b ks)) (enc rb k))))@@ -236,8 +264,8 @@ (recv (cat (enc b ra-0 k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)) (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 8)- (parent 6)+ (label 9)+ (parent 8) (unrealized) (shape) (comment "1 in cohort - 1 not yet seen"))@@ -261,8 +289,8 @@ ((send (cat a ra)) (recv (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb)) (send (cat (enc a k tb (ltk b ks)) (enc rb k)))))- (label 9)- (parent 8)+ (label 10)+ (parent 9) (unrealized) (shape)) @@ -295,7 +323,7 @@ ((recv (cat b rb (enc a ra tb (ltk b ks)))) (send (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))))- (label 10)+ (label 11) (unrealized (0 0)) (comment "1 in cohort - 1 not yet seen")) @@ -314,8 +342,8 @@ (send (cat (enc b ra k tb (ltk a ks)) (enc a k tb (ltk b ks)) rb))) ((recv (cat a ra)) (send (cat b rb-0 (enc a ra tb (ltk b ks))))))- (label 11)- (parent 10)+ (label 12)+ (parent 11) (unrealized) (shape))
tst/no_contraction.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol no-contraction basic
+ tst/non_transforming.scm view
@@ -0,0 +1,33 @@+(defprotocol non_transforming basic+ (defrole sender+ (vars (a b text) (B name))+ (trace+ (send (enc a b (pubk B)))+ )+ (uniq-orig a b)+ (non-orig (privk B))+ )+ (defrole recv+ (vars (a b text) (B name))+ (trace+ (recv (enc a (pubk B)))+ (recv (enc b (pubk B)))+ )+ )+ (defrole breaker+ (vars (a b text) (B name))+ (trace+ (recv (enc a b (pubk B)))+ (send (enc a (pubk B)))+ (send (enc b (pubk B)))+ )+ )+)++(defskeleton non_transforming+ (vars (a b c d text) (B B0 B1 name))+ (defstrand recv 2 (a a) (b b) (B B))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b b) (B B1))+ (uniq-orig a b)+)
+ tst/non_transforming.tst view
@@ -0,0 +1,229 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol non_transforming basic+ (defrole sender+ (vars (a b text) (B name))+ (trace (send (enc a b (pubk B))))+ (non-orig (privk B))+ (uniq-orig a b))+ (defrole recv+ (vars (a b text) (B name))+ (trace (recv (enc a (pubk B))) (recv (enc b (pubk B)))))+ (defrole breaker+ (vars (a b text) (B name))+ (trace (recv (enc a b (pubk B))) (send (enc a (pubk B)))+ (send (enc b (pubk B))))))++(defskeleton non_transforming+ (vars (a b c d text) (B B0 B1 name))+ (defstrand recv 2 (a a) (b b) (B B))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b b) (B B1))+ (non-orig (privk B0) (privk B1))+ (uniq-orig a b c d)+ (traces ((recv (enc a (pubk B))) (recv (enc b (pubk B))))+ ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1)))))+ (label 0)+ (unrealized (0 0) (0 1)))++(defskeleton non_transforming+ (vars (a b c d text) (B B0 B1 name))+ (defstrand recv 2 (a a) (b b) (B B))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b b) (B B1))+ (precedes ((1 0) (0 0)) ((2 0) (0 1)))+ (non-orig (privk B0) (privk B1))+ (uniq-orig a b c d)+ (traces ((recv (enc a (pubk B))) (recv (enc b (pubk B))))+ ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1)))))+ (label 1)+ (parent 0)+ (unrealized (0 0) (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton non_transforming+ (vars (a b c d text) (B B0 B1 name))+ (defstrand recv 2 (a a) (b b) (B B))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b b) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B0))+ (precedes ((1 0) (3 0)) ((2 0) (0 1)) ((3 1) (0 0)))+ (non-orig (privk B0) (privk B1))+ (uniq-orig a b c d)+ (operation nonce-test (added-strand breaker 2) a (0 0)+ (enc a d (pubk B0)))+ (traces ((recv (enc a (pubk B))) (recv (enc b (pubk B))))+ ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1))))+ ((recv (enc a d (pubk B0))) (send (enc a (pubk B0)))))+ (label 2)+ (parent 1)+ (unrealized (0 0) (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton non_transforming+ (vars (a b c d text) (B0 B1 name))+ (defstrand recv 2 (a a) (b b) (B B0))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b b) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B0))+ (precedes ((1 0) (3 0)) ((2 0) (0 1)) ((3 1) (0 0)))+ (non-orig (privk B0) (privk B1))+ (uniq-orig a b c d)+ (operation nonce-test (contracted (B B0)) a (0 0) (enc a (pubk B0))+ (enc a d (pubk B0)))+ (traces ((recv (enc a (pubk B0))) (recv (enc b (pubk B0))))+ ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1))))+ ((recv (enc a d (pubk B0))) (send (enc a (pubk B0)))))+ (label 3)+ (parent 2)+ (unrealized (0 1))+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton non_transforming+ (vars (a b c d text) (B0 B1 name))+ (defstrand recv 2 (a a) (b b) (B B0))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b b) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B0))+ (defstrand breaker 3 (a c) (b b) (B B1))+ (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 2) (0 1)))+ (non-orig (privk B0) (privk B1))+ (uniq-orig a b c d)+ (operation nonce-test (added-strand breaker 3) b (0 1)+ (enc c b (pubk B1)))+ (traces ((recv (enc a (pubk B0))) (recv (enc b (pubk B0))))+ ((send (enc a d (pubk B0)))) ((send (enc c b (pubk B1))))+ ((recv (enc a d (pubk B0))) (send (enc a (pubk B0))))+ ((recv (enc c b (pubk B1))) (send (enc c (pubk B1)))+ (send (enc b (pubk B1)))))+ (label 4)+ (parent 3)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton non_transforming+ (vars (a c d text) (B0 B1 name))+ (defstrand recv 2 (a a) (b c) (B B0))+ (defstrand sender 1 (a a) (b d) (B B0))+ (defstrand sender 1 (a c) (b c) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B0))+ (defstrand breaker 2 (a c) (b c) (B B1))+ (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 1) (0 1)))+ (non-orig (privk B0) (privk B1))+ (uniq-orig a c d)+ (operation nonce-test (added-strand breaker 2) c (0 1)+ (enc c c (pubk B1)))+ (traces ((recv (enc a (pubk B0))) (recv (enc c (pubk B0))))+ ((send (enc a d (pubk B0)))) ((send (enc c c (pubk B1))))+ ((recv (enc a d (pubk B0))) (send (enc a (pubk B0))))+ ((recv (enc c c (pubk B1))) (send (enc c (pubk B1)))))+ (label 5)+ (parent 3)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton non_transforming+ (vars (a b c d text) (B1 name))+ (defstrand recv 2 (a a) (b b) (B B1))+ (defstrand sender 1 (a a) (b d) (B B1))+ (defstrand sender 1 (a c) (b b) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B1))+ (defstrand breaker 3 (a c) (b b) (B B1))+ (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 2) (0 1)))+ (non-orig (privk B1))+ (uniq-orig a b c d)+ (operation nonce-test (contracted (B0 B1)) b (0 1) (enc b (pubk B1))+ (enc c b (pubk B1)))+ (traces ((recv (enc a (pubk B1))) (recv (enc b (pubk B1))))+ ((send (enc a d (pubk B1)))) ((send (enc c b (pubk B1))))+ ((recv (enc a d (pubk B1))) (send (enc a (pubk B1))))+ ((recv (enc c b (pubk B1))) (send (enc c (pubk B1)))+ (send (enc b (pubk B1)))))+ (label 6)+ (parent 4)+ (unrealized)+ (shape)+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton non_transforming+ (vars (a c d text) (B1 name))+ (defstrand recv 2 (a a) (b c) (B B1))+ (defstrand sender 1 (a a) (b d) (B B1))+ (defstrand sender 1 (a c) (b c) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B1))+ (defstrand breaker 2 (a c) (b c) (B B1))+ (precedes ((1 0) (3 0)) ((2 0) (4 0)) ((3 1) (0 0)) ((4 1) (0 1)))+ (non-orig (privk B1))+ (uniq-orig a c d)+ (operation nonce-test (contracted (B0 B1)) c (0 1) (enc c (pubk B1))+ (enc c c (pubk B1)))+ (traces ((recv (enc a (pubk B1))) (recv (enc c (pubk B1))))+ ((send (enc a d (pubk B1)))) ((send (enc c c (pubk B1))))+ ((recv (enc a d (pubk B1))) (send (enc a (pubk B1))))+ ((recv (enc c c (pubk B1))) (send (enc c (pubk B1)))))+ (label 7)+ (parent 5)+ (seen 10)+ (unrealized)+ (shape)+ (comment "2 in cohort - 1 not yet seen"))++(defskeleton non_transforming+ (vars (a d text) (B1 name))+ (defstrand recv 2 (a a) (b d) (B B1))+ (defstrand sender 1 (a a) (b d) (B B1))+ (defstrand breaker 2 (a a) (b d) (B B1))+ (defstrand breaker 3 (a a) (b d) (B B1))+ (precedes ((1 0) (2 0)) ((1 0) (3 0)) ((2 1) (0 0)) ((3 2) (0 1)))+ (non-orig (privk B1))+ (uniq-orig a d)+ (operation collapsed 2 1)+ (traces ((recv (enc a (pubk B1))) (recv (enc d (pubk B1))))+ ((send (enc a d (pubk B1))))+ ((recv (enc a d (pubk B1))) (send (enc a (pubk B1))))+ ((recv (enc a d (pubk B1))) (send (enc a (pubk B1)))+ (send (enc d (pubk B1)))))+ (label 8)+ (parent 6)+ (seen 9)+ (unrealized)+ (shape)+ (comment "1 in cohort - 0 not yet seen"))++(defskeleton non_transforming+ (vars (b c text) (B1 name))+ (defstrand recv 2 (a c) (b b) (B B1))+ (defstrand sender 1 (a c) (b b) (B B1))+ (defstrand breaker 3 (a c) (b b) (B B1))+ (precedes ((1 0) (2 0)) ((2 1) (0 0)) ((2 2) (0 1)))+ (non-orig (privk B1))+ (uniq-orig b c)+ (operation collapsed 3 4)+ (traces ((recv (enc c (pubk B1))) (recv (enc b (pubk B1))))+ ((send (enc c b (pubk B1))))+ ((recv (enc c b (pubk B1))) (send (enc c (pubk B1)))+ (send (enc b (pubk B1)))))+ (label 9)+ (parent 6)+ (unrealized)+ (shape))++(defskeleton non_transforming+ (vars (d text) (B1 name))+ (defstrand recv 2 (a d) (b d) (B B1))+ (defstrand sender 1 (a d) (b d) (B B1))+ (defstrand breaker 2 (a d) (b d) (B B1))+ (precedes ((1 0) (2 0)) ((2 1) (0 0)))+ (non-orig (privk B1))+ (uniq-orig d)+ (operation collapsed 2 1)+ (traces ((recv (enc d (pubk B1))) (recv (enc d (pubk B1))))+ ((send (enc d d (pubk B1))))+ ((recv (enc d d (pubk B1))) (send (enc d (pubk B1)))))+ (label 10)+ (parent 7)+ (unrealized)+ (shape))++(comment "Nothing left to do")
tst/ns.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol ns basic
tst/nsl3.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol nsl3 basic
tst/nsl4cm1.lsp view
tst/nsl4cm1.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol nsl4cm basic
tst/nslsk.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol nslsk basic
tst/or.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol or basic
tst/pca.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol aic basic
+ tst/pruning1.scm view
@@ -0,0 +1,32 @@+(defprotocol prune basic + (defrole init (vars (a b name) (n text)) + (trace + (send (enc n (pubk a))) + (recv (enc n (pubk b) (pubk a))) + (recv (enc n (privk b) (pubk a))) + ) + (uniq-orig n) + (non-orig (privk a)) + ) + (defrole trans (vars (a name) (n text) (k akey)) + (trace + (recv (enc n (pubk a))) + (recv k ) + (send (enc n k (pubk a))) + ) + ) + (comment "Shows a failure with generalization" + "Run this with a step count of 4")) + +(defskeleton prune + (vars (a name) (n text) (k akey)) + (defstrand init 3)) + +(defskeleton prune + (vars (n text) (a b name)) + (defstrand init 3 (n n) (a a) (b b)) + (defstrand trans 3 (n n) (a a) (k (pubk b))) + (defstrand trans 3 (n n) (a a) (k (privk b))) + (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2))) +) +
+ tst/pruning1.tst view
@@ -0,0 +1,143 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol prune basic+ (defrole init+ (vars (a b name) (n text))+ (trace (send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ (non-orig (privk a))+ (uniq-orig n))+ (defrole trans+ (vars (a name) (n text) (k akey))+ (trace (recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))+ (comment "Shows a failure with generalization"+ "Run this with a step count of 4"))++(defskeleton prune+ (vars (n text) (a b name))+ (defstrand init 3 (n n) (a a) (b b))+ (non-orig (privk a))+ (uniq-orig n)+ (traces+ ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a)))))+ (label 0)+ (unrealized (0 1) (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton prune+ (vars (n text) (a b name) (k akey))+ (defstrand init 3 (n n) (a a) (b b))+ (defstrand trans 3 (n n) (a a) (k k))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a)))+ (traces+ ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))+ (label 1)+ (parent 0)+ (unrealized (0 1) (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton prune+ (vars (n text) (a b name))+ (defstrand init 3 (n n) (a a) (b b))+ (defstrand trans 3 (n n) (a a) (k (pubk b)))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (contracted (k (pubk b))) n (0 1)+ (enc n (pubk a)) (enc n (pubk b) (pubk a)))+ (traces+ ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv (pubk b))+ (send (enc n (pubk b) (pubk a)))))+ (label 2)+ (parent 1)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton prune+ (vars (n text) (a b name) (k akey))+ (defstrand init 3 (n n) (a a) (b b))+ (defstrand trans 3 (n n) (a a) (k (pubk b)))+ (defstrand trans 3 (n n) (a a) (k k))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (0 2) (enc n (pubk a))+ (enc n (pubk b) (pubk a)))+ (traces+ ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv (pubk b))+ (send (enc n (pubk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))+ (label 3)+ (parent 2)+ (unrealized (0 2))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton prune+ (vars (n text) (a b name))+ (defstrand init 3 (n n) (a a) (b b))+ (defstrand trans 3 (n n) (a a) (k (pubk b)))+ (defstrand trans 3 (n n) (a a) (k (privk b)))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (contracted (k (privk b))) n (0 2)+ (enc n (pubk a)) (enc n (privk b) (pubk a))+ (enc n (pubk b) (pubk a)))+ (traces+ ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv (pubk b))+ (send (enc n (pubk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv (privk b))+ (send (enc n (privk b) (pubk a)))))+ (label 4)+ (parent 3)+ (unrealized)+ (shape))++(comment "Nothing left to do")++(defprotocol prune basic+ (defrole init+ (vars (a b name) (n text))+ (trace (send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ (non-orig (privk a))+ (uniq-orig n))+ (defrole trans+ (vars (a name) (n text) (k akey))+ (trace (recv (enc n (pubk a))) (recv k) (send (enc n k (pubk a)))))+ (comment "Shows a failure with generalization"+ "Run this with a step count of 4"))++(defskeleton prune+ (vars (n text) (a b name))+ (defstrand init 3 (n n) (a a) (b b))+ (defstrand trans 3 (n n) (a a) (k (pubk b)))+ (defstrand trans 3 (n n) (a a) (k (privk b)))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 2)))+ (non-orig (privk a))+ (uniq-orig n)+ (traces+ ((send (enc n (pubk a))) (recv (enc n (pubk b) (pubk a)))+ (recv (enc n (privk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv (pubk b))+ (send (enc n (pubk b) (pubk a))))+ ((recv (enc n (pubk a))) (recv (privk b))+ (send (enc n (privk b) (pubk a)))))+ (label 5)+ (unrealized)+ (shape))++(comment "Nothing left to do")
tst/sigenc.scm view
tst/sigenc.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol mult-keys-sig-enc basic
tst/sorted_epmo_acctnum.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol epmo_acctnum basic
+ tst/targetterms2.scm view
@@ -0,0 +1,23 @@+;;; Target terms experiment++(defprotocol tt2 basic+ (defrole init (vars (a name) (n text))+ (trace+ (send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))+ )+ (uniq-orig n)+ (non-orig (privk a))+)+ (defrole trans (vars (a name) (n text) (m mesg))+ (trace+ (recv (enc n (pubk a)))+ (recv m)+ (send (enc n m (pubk a)))+ ))+)++(defskeleton tt2+ (vars (a name) (n text))+ (defstrand init 2 (a a) (n n))+)
+ tst/targetterms2.tst view
@@ -0,0 +1,195 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol tt2 basic+ (defrole init+ (vars (a name) (n text))+ (trace (send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ (non-orig (privk a))+ (uniq-orig n))+ (defrole trans+ (vars (a name) (n text) (m mesg))+ (trace (recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a))))))++(defskeleton tt2+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (non-orig (privk a))+ (uniq-orig n)+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))+ (label 0)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt2+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 1)+ (parent 0)+ (unrealized (0 1))+ (comment "2 in cohort - 2 not yet seen"))++(defskeleton tt2+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test+ (contracted (m (enc n (enc n (pubk a)) (pubk a)))) n (0 1)+ (enc n (pubk a)) (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))+ (label 2)+ (parent 1)+ (unrealized (1 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt2+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (contracted (m (enc n (pubk a)))) n (0 1)+ (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a)))))+ (label 3)+ (parent 1)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt2+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (1 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (1 1) (enc n (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 4)+ (parent 2)+ (unrealized (1 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt2+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 5)+ (parent 3)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt2+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (1 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (contracted (m (enc n (pubk a)))) n (1 1)+ (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a)))))+ (label 6)+ (parent 4)+ (unrealized)+ (shape))++(defskeleton tt2+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test+ (contracted (m (enc n (enc n (pubk a)) (pubk a)))) n (0 1)+ (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a))+ (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))+ (label 7)+ (parent 5)+ (unrealized (2 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt2+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 2) (0 1))+ ((2 2) (0 1)) ((3 2) (2 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (2 1) (enc n (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 8)+ (parent 7)+ (seen 6)+ (unrealized (2 1))+ (comment "1 in cohort - 0 not yet seen"))++(comment "Nothing left to do")
+ tst/targetterms6.scm view
@@ -0,0 +1,32 @@+;;; Target terms experiment++(defprotocol tt6 basic+ (defrole init (vars (a name) (n text) (m mesg))+ (trace+ (send (enc n (pubk a)))+ (recv (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)) ))+ )+ (uniq-orig n)+ (non-orig (privk a))+)+ (defrole trans (vars (a name) (n text) (m mesg))+ (trace+ (recv (enc n (pubk a)))+ (recv m)+ (send (enc n m (pubk a)))+ ))+)++(defskeleton tt6+ (vars (a name) (n text))+ (defstrand init 2 (a a) (n n))+)++(defskeleton tt6+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (2 1)) ((2 2) (0 1)))+)
+ tst/targetterms6.tst view
@@ -0,0 +1,206 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol tt6 basic+ (defrole init+ (vars (a name) (n text))+ (trace (send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ (non-orig (privk a))+ (uniq-orig n))+ (defrole trans+ (vars (a name) (n text) (m mesg))+ (trace (recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a))))))++(defskeleton tt6+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (non-orig (privk a))+ (uniq-orig n)+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a))))))+ (label 0)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt6+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 1)+ (parent 0)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt6+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((1 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (contracted (m (enc n (pubk a)))) n (0 1)+ (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a)))))+ (label 2)+ (parent 1)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt6+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (0 1) (enc n (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 3)+ (parent 2)+ (unrealized (0 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt6+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test+ (contracted (m (enc n (enc n (pubk a)) (pubk a)))) n (0 1)+ (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a))+ (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))+ (label 4)+ (parent 3)+ (unrealized (2 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt6+ (vars (m mesg) (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (defstrand trans 3 (m m) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 0) (3 0)) ((1 2) (0 1))+ ((2 2) (0 1)) ((3 2) (2 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (added-strand trans 3) n (2 1) (enc n (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a)))))+ (label 5)+ (parent 4)+ (unrealized (2 1))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton tt6+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (0 1)) ((2 2) (1 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (operation nonce-test (contracted (m (enc n (pubk a)))) n (2 1)+ (enc n (pubk a)) (enc n (enc n (pubk a)) (pubk a)))+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a)))))+ (label 6)+ (parent 5)+ (unrealized)+ (shape))++(comment "Nothing left to do")++(defprotocol tt6 basic+ (defrole init+ (vars (a name) (n text))+ (trace (send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ (non-orig (privk a))+ (uniq-orig n))+ (defrole trans+ (vars (a name) (n text) (m mesg))+ (trace (recv (enc n (pubk a))) (recv m) (send (enc n m (pubk a))))))++(defskeleton tt6+ (vars (n text) (a name))+ (defstrand init 2 (n n) (a a))+ (defstrand trans 3 (m (enc n (pubk a))) (n n) (a a))+ (defstrand trans 3 (m (enc n (enc n (pubk a)) (pubk a))) (n n) (a a))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((1 2) (2 1)) ((2 2) (0 1)))+ (non-orig (privk a))+ (uniq-orig n)+ (traces+ ((send (enc n (pubk a)))+ (recv+ (cat (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a))+ (enc n (enc n (pubk a)) (pubk a)))))+ ((recv (enc n (pubk a))) (recv (enc n (pubk a)))+ (send (enc n (enc n (pubk a)) (pubk a))))+ ((recv (enc n (pubk a))) (recv (enc n (enc n (pubk a)) (pubk a)))+ (send (enc n (enc n (enc n (pubk a)) (pubk a)) (pubk a)))))+ (label 7)+ (unrealized)+ (shape))++(comment "Nothing left to do")
+ tst/uncarried_keys.scm view
@@ -0,0 +1,19 @@+(defprotocol uncarried-keys basic+ (defrole init+ (vars (a text) (A B name) (K akey))+ (trace+ (send (enc "start" a A B (pubk B)))+ (recv (enc a A B (pubk A))) (send (enc a K (pubk B)))+ (recv (enc a A B K)))+ (non-orig (privk B) (invk K))+ (uniq-orig a K))+ (defrole resp+ (vars (a text) (A B name) (K akey))+ (trace+ (recv (enc "start" a A B (pubk B)))+ (send (enc a A B (pubk A))) (recv (enc a K (pubk B)))+ (send (enc a A B K)))))++(defskeleton uncarried-keys+ (vars (a text) (A B name) (K akey))+ (defstrand init 4 (a a) (A A) (B B) (K K)))
+ tst/uncarried_keys.tst view
@@ -0,0 +1,125 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol uncarried-keys basic+ (defrole init+ (vars (a text) (A B name) (K akey))+ (trace (send (enc "start" a A B (pubk B)))+ (recv (enc a A B (pubk A))) (send (enc a K (pubk B)))+ (recv (enc a A B K)))+ (non-orig (invk K) (privk B))+ (uniq-orig a K))+ (defrole resp+ (vars (a text) (A B name) (K akey))+ (trace (recv (enc "start" a A B (pubk B)))+ (send (enc a A B (pubk A))) (recv (enc a K (pubk B)))+ (send (enc a A B K)))))++(defskeleton uncarried-keys+ (vars (a text) (A B name) (K akey))+ (defstrand init 4 (a a) (A A) (B B) (K K))+ (non-orig (invk K) (privk B))+ (uniq-orig a K)+ (traces+ ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))+ (send (enc a K (pubk B))) (recv (enc a A B K))))+ (label 0)+ (unrealized (0 1) (0 3))+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton uncarried-keys+ (vars (a text) (A B name) (K akey))+ (defstrand init 4 (a a) (A A) (B B) (K K))+ (defstrand resp 2 (a a) (A A) (B B))+ (precedes ((0 0) (1 0)) ((1 1) (0 1)))+ (non-orig (invk K) (privk B))+ (uniq-orig a K)+ (operation nonce-test (added-strand resp 2) a (0 1)+ (enc "start" a A B (pubk B)))+ (traces+ ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))+ (send (enc a K (pubk B))) (recv (enc a A B K)))+ ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))))+ (label 1)+ (parent 0)+ (unrealized (0 3))+ (comment "3 in cohort - 3 not yet seen"))++(defskeleton uncarried-keys+ (vars (a text) (A B name) (K akey))+ (defstrand init 4 (a a) (A A) (B B) (K K))+ (defstrand resp 2 (a a) (A A) (B B))+ (defstrand resp 4 (a a) (A A) (B B) (K K))+ (precedes ((0 0) (1 0)) ((0 0) (2 0)) ((0 2) (2 2)) ((1 1) (0 1))+ ((2 3) (0 3)))+ (non-orig (invk K) (privk B))+ (uniq-orig a K)+ (operation encryption-test (added-strand resp 4) (enc a A B K) (0 3))+ (traces+ ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))+ (send (enc a K (pubk B))) (recv (enc a A B K)))+ ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))))+ ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))+ (recv (enc a K (pubk B))) (send (enc a A B K))))+ (label 2)+ (parent 1)+ (unrealized)+ (shape)+ (comment "1 in cohort - 1 not yet seen"))++(defskeleton uncarried-keys+ (vars (a text) (A B name))+ (defstrand init 4 (a a) (A A) (B B) (K (pubk A)))+ (defstrand resp 2 (a a) (A A) (B B))+ (precedes ((0 0) (1 0)) ((1 1) (0 1)))+ (non-orig (privk A) (privk B))+ (uniq-orig a (pubk A))+ (operation encryption-test (added-strand resp 2) (enc a A B (pubk A))+ (0 3))+ (traces+ ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))+ (send (enc a (pubk A) (pubk B))) (recv (enc a A B (pubk A))))+ ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))))+ (label 3)+ (parent 1)+ (unrealized)+ (shape))++(defskeleton uncarried-keys+ (vars (a text) (A B name) (K akey))+ (defstrand init 4 (a a) (A A) (B B) (K K))+ (defstrand resp 2 (a a) (A A) (B B))+ (deflistener K)+ (precedes ((0 0) (1 0)) ((0 2) (2 0)) ((1 1) (0 1)) ((2 1) (0 3)))+ (non-orig (invk K) (privk B))+ (uniq-orig a K)+ (operation encryption-test (added-listener K) (enc a A B K) (0 3))+ (traces+ ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))+ (send (enc a K (pubk B))) (recv (enc a A B K)))+ ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A))))+ ((recv K) (send K)))+ (label 4)+ (parent 1)+ (unrealized (2 0))+ (comment "empty cohort"))++(defskeleton uncarried-keys+ (vars (a text) (A B name) (K akey))+ (defstrand init 4 (a a) (A A) (B B) (K K))+ (defstrand resp 4 (a a) (A A) (B B) (K K))+ (precedes ((0 0) (1 0)) ((0 2) (1 2)) ((1 1) (0 1)) ((1 3) (0 3)))+ (non-orig (invk K) (privk B))+ (uniq-orig a K)+ (operation collapsed 1 2)+ (traces+ ((send (enc "start" a A B (pubk B))) (recv (enc a A B (pubk A)))+ (send (enc a K (pubk B))) (recv (enc a A B K)))+ ((recv (enc "start" a A B (pubk B))) (send (enc a A B (pubk A)))+ (recv (enc a K (pubk B))) (send (enc a A B K))))+ (label 5)+ (parent 2)+ (unrealized)+ (shape))++(comment "Nothing left to do")
+ tst/uo.scm view
@@ -0,0 +1,15 @@+(defprotocol uniq-orig basic+ (defrole init+ (vars (n text))+ (trace (send n))+ (uniq-orig n))+ (defrole resp+ (vars (m n text))+ (trace+ (send (enc m n))+ (recv n))))++(defskeleton uniq-orig+ (vars (n text))+ (defstrand init 1 (n n))+ (defstrand resp 2 (n n)))
+ tst/uo.tst view
@@ -0,0 +1,29 @@+(comment "CPSA 2.1.0")+(comment "All input read")++(defprotocol uniq-orig basic+ (defrole init (vars (n text)) (trace (send n)) (uniq-orig n))+ (defrole resp (vars (m n text)) (trace (send (enc m n)) (recv n))))++(defskeleton uniq-orig+ (vars (n m text))+ (defstrand init 1 (n n))+ (defstrand resp 2 (m m) (n n))+ (uniq-orig n)+ (traces ((send n)) ((send (enc m n)) (recv n)))+ (label 0)+ (unrealized (1 1)))++(defskeleton uniq-orig+ (vars (n m text))+ (defstrand init 1 (n n))+ (defstrand resp 2 (m m) (n n))+ (precedes ((0 0) (1 1)))+ (uniq-orig n)+ (traces ((send n)) ((send (enc m n)) (recv n)))+ (label 1)+ (parent 0)+ (unrealized)+ (shape))++(comment "Nothing left to do")
tst/weird.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol wierd basic
tst/wmf.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol wide-mouth-frog basic
tst/woolam.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol woolam basic
tst/yahalom.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 2.0.5")+(comment "CPSA 2.1.0") (comment "All input read") (defprotocol yahalom basic