cpsa-3.4.0: doc/examples/bltk_or.xhtml
<?xml version="1.0"?>
<!-- CPSA 3.4.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Otway-Rees Protocol</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<style>
svg.diagram { border-width: 1px; border-style: solid }
</style>
</head>
<body>
<pre>(herald "Otway-Rees Protocol"
(comment "Standard version using variables of sort mesg")
(algebra diffie-hellman))
(comment "CPSA 3.4.0")
(comment "All input read from bltk_or.scm")</pre>
<p id="t0">Tree 0.</p>
<div>
<svg
class='diagram' width='279.600pt' height='829.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.600 829.920' font-size='12.000'>
<text
x='189.720' y='776.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k16", "_self")'>16</text>
<line
x1='139.800' y1='714.960' x2='189.720' y2='789.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='701.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k15", "_self")'>15</text>
<line
x1='139.800' y1='714.960' x2='189.720' y2='714.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='626.040'
style='font-style: italic; text-anchor: middle; fill: green;'
onclick='window.open("#k13", "_self")'>13</text>
<line
x1='139.800' y1='714.960' x2='189.720' y2='639.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='139.800' y='701.040' style='text-anchor: middle; fill: black;'
onclick='window.open("#k8", "_self")'>8</text>
<line
x1='89.880' y1='714.960' x2='139.800' y2='714.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='89.880' y='701.040' style='text-anchor: middle; fill: black;'
onclick='window.open("#k4", "_self")'>4</text>
<line
x1='39.960' y1='414.960' x2='89.880' y2='714.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='139.800' y='551.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k7", "_self")'>7</text>
<line
x1='89.880' y1='564.960' x2='139.800' y2='564.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='89.880' y='551.040' style='text-anchor: middle; fill: black;'
onclick='window.open("#k3", "_self")'>3</text>
<line
x1='39.960' y1='414.960' x2='89.880' y2='564.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='476.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k14", "_self")'>14</text>
<line
x1='139.800' y1='377.460' x2='189.720' y2='489.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='401.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k13", "_self")'>13</text>
<line
x1='139.800' y1='377.460' x2='189.720' y2='414.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='326.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k12", "_self")'>12</text>
<line
x1='139.800' y1='377.460' x2='189.720' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='251.040'
style='font-style: italic; text-anchor: middle; fill: green;'
onclick='window.open("#k10", "_self")'>10</text>
<line
x1='139.800' y1='377.460' x2='189.720' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='139.800' y='363.540' style='text-anchor: middle; fill: black;'
onclick='window.open("#k6", "_self")'>6</text>
<line
x1='89.880' y1='377.460' x2='139.800' y2='377.460'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='89.880' y='363.540' style='text-anchor: middle; fill: black;'
onclick='window.open("#k2", "_self")'>2</text>
<line
x1='39.960' y1='414.960' x2='89.880' y2='377.460'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='239.640' y='176.040'
style='font-style: italic; text-anchor: middle; fill: green;'
onclick='window.open("#k13", "_self")'>13</text>
<line
x1='189.720' y1='189.960' x2='239.640' y2='189.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='176.040' style='text-anchor: middle; fill: blue;'
onclick='window.open("#k11", "_self")'>11</text>
<line
x1='139.800' y1='114.960' x2='189.720' y2='189.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='101.040'
style='font-weight: bold; text-anchor: middle; fill: blue;'
onclick='window.open("#k10", "_self")'>10</text>
<line
x1='139.800' y1='114.960' x2='189.720' y2='114.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='239.640' y='26.040'
style='font-style: italic; text-anchor: middle; fill: green;'
onclick='window.open("#k12", "_self")'>12</text>
<line
x1='189.720' y1='39.960' x2='239.640' y2='39.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='189.720' y='26.040' style='text-anchor: middle; fill: blue;'
onclick='window.open("#k9", "_self")'>9</text>
<line
x1='139.800' y1='114.960' x2='189.720' y2='39.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='139.800' y='101.040' style='text-anchor: middle; fill: black;'
onclick='window.open("#k5", "_self")'>5</text>
<line
x1='89.880' y1='114.960' x2='139.800' y2='114.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='89.880' y='101.040' style='text-anchor: middle; fill: black;'
onclick='window.open("#k1", "_self")'>1</text>
<line
x1='39.960' y1='414.960' x2='89.880' y2='114.960'
style='stroke-width: 0.960; stroke: gray;'/>
<text
x='39.960' y='401.040' style='text-anchor: middle; fill: black;'
onclick='window.open("#k0", "_self")'>0</text>
</svg></div>
<pre>(defprotocol or diffie-hellman
(defrole init
(vars (a b s name) (na text) (k skey) (m text))
(trace (send (cat m a b (enc na m a b (bltk a s))))
(recv (cat m (enc na k (bltk a s))))))
(defrole resp
(vars (a b s name) (nb text) (k skey) (m text) (x y mesg))
(trace (recv (cat m a b x))
(send (cat m a b x (enc nb m a b (bltk b s))))
(recv (cat m y (enc nb k (bltk b s)))) (send y)))
(defrole serv
(vars (a b s name) (na nb text) (k skey) (m text))
(trace
(recv
(cat m a b (enc na m a b (bltk a s)) (enc nb m a b (bltk b s))))
(send (cat m (enc na k (bltk a s)) (enc nb k (bltk b s)))))
(uniq-orig k)))</pre>
<p id="k0">Item <a href="#t0">0</a>, Children: <a href="#k1">1</a> <a href="#k2">2</a> <a href="#k3">3</a> <a href="#k4">4</a>.</p>
<div>
<svg
class='diagram' width='79.920pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 79.920 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: red;' cx='39.960' cy='264.960' r='6.000'/></g>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='39.960' y='39.960' style='text-anchor: middle;'>or 0</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m text) (s a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb)
(label 0)
(unrealized (0 2))
(origs (nb (0 1)))
(comment "4 in cohort - 4 not yet seen"))</pre>
<p id="k1">Item <a href="#t0">1</a>, Parent: <a href="#k0">0</a>, Child: <a href="#k5">5</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m-0 (enc na k (bltk b a-0)) (enc nb k (bltk s b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m-0 a-0 s (enc na m-0 a-0 s (bltk b a-0)) (enc nb m-0 a-0 s (bltk s b)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na na) (nb nb) (m m-0) (a a-0) (b s) (s b) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 1</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m na m-0 text) (s a b a-0 name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand serv 2 (na na) (nb nb) (m m-0) (a a-0) (b s) (s b) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb k)
(operation encryption-test (added-strand serv 2) (enc nb k (bltk s b))
(0 2))
(label 1)
(parent 0)
(unrealized (1 0))
(comment "1 in cohort - 1 not yet seen"))</pre>
<p id="k2">Item <a href="#t0">2</a>, Parent: <a href="#k0">0</a>, Child: <a href="#k6">6</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m-0 (enc na k (bltk s a-0)) (enc nb k (bltk s b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m-0 a-0 b (enc na m-0 a-0 b (bltk s a-0)) (enc nb m-0 a-0 b (bltk s b)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na na) (nb nb) (m m-0) (a a-0) (b b) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 2</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m na m-0 text) (s a b a-0 name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand serv 2 (na na) (nb nb) (m m-0) (a a-0) (b b) (s s) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb k)
(operation encryption-test (added-strand serv 2) (enc nb k (bltk s b))
(0 2))
(label 2)
(parent 0)
(unrealized (1 0))
(comment "1 in cohort - 1 not yet seen"))</pre>
<p id="k3">Item <a href="#t0">3</a>, Parent: <a href="#k0">0</a>, Child: <a href="#k7">7</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m-0 (enc nb k (bltk s b)) (enc nb-0 k (bltk b b-0)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m-0 s b-0 (enc nb m-0 s b-0 (bltk s b)) (enc nb-0 m-0 s b-0 (bltk b b-0)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g>
<title>((na nb) (nb nb-0) (m m-0) (a s) (b b-0) (s b) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 3</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m nb-0 m-0 text) (s a b b-0 name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand serv 2 (na nb) (nb nb-0) (m m-0) (a s) (b b-0) (s b) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb k)
(operation encryption-test (added-strand serv 2) (enc nb k (bltk s b))
(0 2))
(label 3)
(parent 0)
(unrealized (1 0))
(comment "1 in cohort - 1 not yet seen"))</pre>
<p id="k4">Item <a href="#t0">4</a>, Parent: <a href="#k0">0</a>, Child: <a href="#k8">8</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m-0 (enc nb k (bltk s b)) (enc nb-0 k (bltk s b-0)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m-0 b b-0 (enc nb m-0 b b-0 (bltk s b)) (enc nb-0 m-0 b b-0 (bltk s b-0)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g>
<title>((na nb) (nb nb-0) (m m-0) (a b) (b b-0) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 4</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m nb-0 m-0 text) (s a b b-0 name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand serv 2 (na nb) (nb nb-0) (m m-0) (a b) (b b-0) (s s) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb k)
(operation encryption-test (added-strand serv 2) (enc nb k (bltk s b))
(0 2))
(label 4)
(parent 0)
(unrealized (1 0))
(comment "1 in cohort - 1 not yet seen"))</pre>
<p id="k5">Item <a href="#t0">5</a>, Parent: <a href="#k1">1</a>, Children: <a href="#k9">9</a> <a href="#k10">10</a> <a href="#k11">11</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc na k (bltk a b)) (enc nb k (bltk b b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a b (enc na m a b (bltk a b)) (enc nb m a b (bltk b b)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk b b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk b b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na na) (nb nb) (m m) (a a) (b b) (s b) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s b) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 5</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m na text) (a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s b) (k k))
(defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s b) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk a b) (bltk b b))
(uniq-orig nb k)
(operation encryption-test (displaced 2 0 resp 2)
(enc nb m-0 a-0 s (bltk s b)) (1 0))
(label 5)
(parent 1)
(unrealized (1 0))
(comment "3 in cohort - 3 not yet seen"))</pre>
<p id="k6">Item <a href="#t0">6</a>, Parent: <a href="#k2">2</a>, Children: <a href="#k12">12</a> <a href="#k13">13</a> <a href="#k14">14</a>, Seen Child: <a href="#k10">10</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc na k (bltk s a)) (enc nb k (bltk s b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a b (enc na m a b (bltk s a)) (enc nb m a b (bltk s b)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na na) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 6</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m na text) (s a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb k)
(operation encryption-test (displaced 2 0 resp 2)
(enc nb m-0 a-0 b (bltk s b)) (1 0))
(label 6)
(parent 2)
(seen 10)
(unrealized (1 0))
(comment "4 in cohort - 3 not yet seen"))</pre>
<p id="k7">Item <a href="#t0">7</a>, Parent: <a href="#k3">3</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m (enc nb k (bltk a b)) (enc nb-0 k (bltk b b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a b (enc nb m a b (bltk a b)) (enc nb-0 m a b (bltk b b)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk a b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk a b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na nb) (nb nb-0) (m m) (a a) (b b) (s b) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s a) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='89.940' y='39.960'
style='text-anchor: middle;'>or 7 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m nb-0 text) (a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s a) (k k))
(defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b b) (s b) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk a a) (bltk a b))
(uniq-orig nb k)
(operation encryption-test (displaced 2 0 resp 2)
(enc nb m-0 s b (bltk s b)) (1 0))
(label 7)
(parent 3)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s a) (a a) (b b) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
<p id="k8">Item <a href="#t0">8</a>, Parent: <a href="#k4">4</a>, Children: <a href="#k15">15</a> <a href="#k16">16</a>, Seen Child: <a href="#k13">13</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m (enc nb k (bltk s a)) (enc nb-0 k (bltk s a)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a a (enc nb m a a (bltk s a)) (enc nb-0 m a a (bltk s a)))</title>
<circle style='fill: red;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s a)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x (enc nb m a a (bltk s a)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text x='89.940' y='39.960' style='text-anchor: middle;'>or 8</text>
</svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m nb-0 text) (s a name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
(defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a))
(uniq-orig nb k)
(operation encryption-test (displaced 2 0 resp 2)
(enc nb m-0 b b (bltk s b)) (1 0))
(label 8)
(parent 4)
(seen 13)
(unrealized (1 0))
(comment "3 in cohort - 2 not yet seen"))</pre>
<p id="k9">Item <a href="#t0">9</a>, Parent: <a href="#k5">5</a>, Seen Child: <a href="#k12">12</a>.</p>
<div>
<svg
class='diagram' width='279.840pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.840 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='239.880' y1='114.960' x2='239.880' y2='114.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 239.880 114.960 Q 192.300 150.660 144.719 186.359'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b (enc na m a b (bltk a b)))</title>
<circle cx='239.880' cy='114.960' r='6.000'/></g>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc na k (bltk a b)) (enc nb k (bltk b b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a b (enc na m a b (bltk a b)) (enc nb m a b (bltk b b)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk b b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk b b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na na) (m m) (a a) (b b) (s b))</title>
<text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
</g>
<g><title>((na na) (nb nb) (m m) (a a) (b b) (s b) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s b) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='139.920' y='39.960'
style='text-anchor: middle;'>or 9 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m na text) (a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s b) (k k))
(defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s b) (k k))
(defstrand init 1 (na na) (m m) (a a) (b b) (s b))
(precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
(non-orig (bltk a b) (bltk b b))
(uniq-orig nb k)
(operation encryption-test (added-strand init 1)
(enc na m a b (bltk a b)) (1 0))
(label 9)
(parent 5)
(seen 12)
(unrealized)
(comment "1 in cohort - 0 not yet seen"))</pre>
<p id="k10">Item <a href="#t0">10</a>, Parent: <a href="#k5">5</a>.</p>
<div>
<svg
class='diagram' width='279.840pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.840 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='239.880' y1='114.960' x2='239.880' y2='189.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x-0 (enc na m a b (bltk a b)))</title>
<circle cx='239.880' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x-0)</title>
<circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc na k (bltk a b)) (enc nb k (bltk b b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a b (enc na m a b (bltk a b)) (enc nb m a b (bltk b b)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk b b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk b b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((x x-0) (nb na) (m m) (a a) (b b) (s a))</title>
<text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<g><title>((na na) (nb nb) (m m) (a a) (b b) (s b) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s b) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='139.920' y='39.960'
style='text-anchor: middle;'>or 10 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y x-0 mesg) (nb m na text) (a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s b) (k k))
(defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s b) (k k))
(defstrand resp 2 (x x-0) (nb na) (m m) (a a) (b b) (s a))
(precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
(non-orig (bltk a b) (bltk b b))
(uniq-orig nb k)
(operation encryption-test (added-strand resp 2)
(enc na m a b (bltk a b)) (1 0))
(label 10)
(parent 5)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s b) (a a) (b b) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
<p id="k11">Item <a href="#t0">11</a>, Parent: <a href="#k5">5</a>, Seen Child: <a href="#k13">13</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc nb k (bltk a a)) (enc nb k (bltk a a)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a a (enc nb m a a (bltk a a)) (enc nb m a a (bltk a a)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk a a)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x (enc nb m a a (bltk a a)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na nb) (nb nb) (m m) (a a) (b a) (s a) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b a) (s a) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='89.940' y='39.960'
style='text-anchor: middle;'>or 11 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m text) (a name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s a) (k k))
(defstrand serv 2 (na nb) (nb nb) (m m) (a a) (b a) (s a) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk a a))
(uniq-orig nb k)
(operation encryption-test (displaced 2 0 resp 2)
(enc na m a a (bltk a a)) (1 0))
(label 11)
(parent 5)
(seen 13)
(unrealized)
(comment "1 in cohort - 0 not yet seen"))</pre>
<p id="k12">Item <a href="#t0">12</a>, Parent: <a href="#k6">6</a>.</p>
<div>
<svg
class='diagram' width='279.840pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.840 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='239.880' y1='114.960' x2='239.880' y2='114.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 239.880 114.960 Q 192.300 150.660 144.719 186.359'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b (enc na m a b (bltk s a)))</title>
<circle cx='239.880' cy='114.960' r='6.000'/></g>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc na k (bltk s a)) (enc nb k (bltk s b)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a b (enc na m a b (bltk s a)) (enc nb m a b (bltk s b)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s b)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a b x (enc nb m a b (bltk s b)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a b x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na na) (m m) (a a) (b b) (s s))</title>
<text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
</g>
<g><title>((na na) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='139.920' y='39.960'
style='text-anchor: middle;'>or 12 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m na text) (s a b name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand serv 2 (na na) (nb nb) (m m) (a a) (b b) (s s) (k k))
(defstrand init 1 (na na) (m m) (a a) (b b) (s s))
(precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
(non-orig (bltk s a) (bltk s b))
(uniq-orig nb k)
(operation encryption-test (added-strand init 1)
(enc na m a b (bltk s a)) (1 0))
(label 12)
(parent 6)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s s) (a a) (b b) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
<p id="k13">Item <a href="#t0">13</a>, Parent: <a href="#k6">6</a>.</p>
<div>
<svg
class='diagram' width='179.880pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 179.880 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc nb k (bltk s a)) (enc nb k (bltk s a)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a a (enc nb m a a (bltk s a)) (enc nb m a a (bltk s a)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s a)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x (enc nb m a a (bltk s a)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na nb) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='89.940' y='39.960'
style='text-anchor: middle;'>or 13 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m text) (s a name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
(defstrand serv 2 (na nb) (nb nb) (m m) (a a) (b a) (s s) (k k))
(precedes ((0 1) (1 0)) ((1 1) (0 2)))
(non-orig (bltk s a))
(uniq-orig nb k)
(operation encryption-test (displaced 2 0 resp 2)
(enc na m a a (bltk s a)) (1 0))
(label 13)
(parent 6)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
<p id="k14">Item <a href="#t0">14</a>, Parent: <a href="#k6">6</a>.</p>
<div>
<svg
class='diagram' width='279.840pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.840 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='239.880' y1='114.960' x2='239.880' y2='189.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x-0 (enc na m a a (bltk s a)))</title>
<circle cx='239.880' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x-0)</title>
<circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m (enc na k (bltk s a)) (enc nb k (bltk s a)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a a (enc na m a a (bltk s a)) (enc nb m a a (bltk s a)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s a)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x (enc nb m a a (bltk s a)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((x x-0) (nb na) (m m) (a a) (b a) (s s))</title>
<text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<g><title>((na na) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='139.920' y='39.960'
style='text-anchor: middle;'>or 14 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y x-0 mesg) (nb m na text) (s a name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
(defstrand serv 2 (na na) (nb nb) (m m) (a a) (b a) (s s) (k k))
(defstrand resp 2 (x x-0) (nb na) (m m) (a a) (b a) (s s))
(precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
(non-orig (bltk s a))
(uniq-orig nb k)
(operation encryption-test (added-strand resp 2)
(enc na m a a (bltk s a)) (1 0))
(label 14)
(parent 6)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
<p id="k15">Item <a href="#t0">15</a>, Parent: <a href="#k8">8</a>.</p>
<div>
<svg
class='diagram' width='279.840pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.840 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='239.880' y1='114.960' x2='239.880' y2='114.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 239.880 114.960 Q 192.300 150.660 144.719 186.359'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a (enc nb-0 m a a (bltk s a)))</title>
<circle cx='239.880' cy='114.960' r='6.000'/></g>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m (enc nb k (bltk s a)) (enc nb-0 k (bltk s a)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a a (enc nb m a a (bltk s a)) (enc nb-0 m a a (bltk s a)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s a)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x (enc nb m a a (bltk s a)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((na nb-0) (m m) (a a) (b a) (s s))</title>
<text x='239.880' y='77.460' style='text-anchor: middle;'>init</text>
</g>
<g><title>((na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='139.920' y='39.960'
style='text-anchor: middle;'>or 15 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y mesg) (nb m nb-0 text) (s a name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
(defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
(defstrand init 1 (na nb-0) (m m) (a a) (b a) (s s))
(precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 0) (1 0)))
(non-orig (bltk s a))
(uniq-orig nb k)
(operation encryption-test (added-strand init 1)
(enc nb-0 m a a (bltk s a)) (1 0))
(label 15)
(parent 8)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
<p id="k16">Item <a href="#t0">16</a>, Parent: <a href="#k8">8</a>.</p>
<div>
<svg
class='diagram' width='279.840pt' height='379.920pt'
xmlns='http://www.w3.org/2000/svg' version='1.1'
viewBox='0 0 279.840 379.920' font-size='12.000'>
<defs>
<marker
id='arrow' orient='auto' markerWidth='5' markerHeight='10' refX='5'
refY='5'>
<path
d='M 0 0 5 5 0 10'
style='stroke-width: 2; fill: none; stroke: black;'/></marker>
</defs>
<line
x1='239.880' y1='114.960' x2='239.880' y2='189.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='139.920' y1='189.960' x2='139.920' y2='264.960'
style='stroke-width: 0.960; stroke: gray;'/>
<line
x1='39.960' y1='114.960' x2='39.960' y2='339.960'
style='stroke-width: 0.960; stroke: gray;'/>
<path
d='M 239.880 189.960 Q 192.900 189.960 145.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x-0 (enc nb-0 m a a (bltk s a)))</title>
<circle cx='239.880' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x-0)</title>
<circle style='fill: blue;' cx='239.880' cy='114.960' r='6.000'/></g>
<path
d='M 139.920 264.960 Q 92.940 264.960 45.960 264.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g>
<title>(cat m (enc nb k (bltk s a)) (enc nb-0 k (bltk s a)))</title>
<circle cx='139.920' cy='264.960' r='6.000'/></g>
<g>
<title>(cat m a a (enc nb m a a (bltk s a)) (enc nb-0 m a a (bltk s a)))</title>
<circle style='fill: blue;' cx='139.920' cy='189.960' r='6.000'/></g>
<g><title>y</title><circle cx='39.960' cy='339.960' r='6.000'/></g>
<g><title>(cat m y (enc nb k (bltk s a)))</title>
<circle style='fill: blue;' cx='39.960' cy='264.960' r='6.000'/></g>
<path
d='M 39.960 189.960 Q 86.940 189.960 133.920 189.960'
style='stroke-dasharray: 6.000,2.400; stroke-width: 0.960; stroke: black; marker-end: url(#arrow); fill: none;'/>
<g><title>(cat m a a x (enc nb m a a (bltk s a)))</title>
<circle cx='39.960' cy='189.960' r='6.000'/></g>
<g><title>(cat m a a x)</title>
<circle style='fill: blue;' cx='39.960' cy='114.960' r='6.000'/></g>
<g><title>((x x-0) (nb nb-0) (m m) (a a) (b a) (s s))</title>
<text x='239.880' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<g><title>((na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))</title>
<text x='139.920' y='77.460' style='text-anchor: middle;'>serv</text>
</g>
<g><title>((x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))</title>
<text x='39.960' y='77.460' style='text-anchor: middle;'>resp</text>
</g>
<text
x='139.920' y='39.960'
style='text-anchor: middle;'>or 16 (realized)</text></svg></div>
<pre>(defskeleton or
(vars (x y x-0 mesg) (nb m nb-0 text) (s a name) (k skey))
(defstrand resp 4 (x x) (y y) (nb nb) (m m) (a a) (b a) (s s) (k k))
(defstrand serv 2 (na nb) (nb nb-0) (m m) (a a) (b a) (s s) (k k))
(defstrand resp 2 (x x-0) (nb nb-0) (m m) (a a) (b a) (s s))
(precedes ((0 1) (1 0)) ((1 1) (0 2)) ((2 1) (1 0)))
(non-orig (bltk s a))
(uniq-orig nb k)
(operation encryption-test (added-strand resp 2)
(enc nb-0 m a a (bltk s a)) (1 0))
(label 16)
(parent 8)
(unrealized)
(shape)
(maps ((0) ((nb nb) (s s) (a a) (b a) (k k) (m m) (x x) (y y))))
(origs (k (1 1)) (nb (0 1))))</pre>
</body>
</html>