Added bare old copy of manual source files.

This commit is contained in:
Cas Cremers 2023-02-12 21:46:35 +01:00
parent 2411493d45
commit 05b1e4bce7
28 changed files with 28527 additions and 0 deletions

51
manual/Makefile Normal file
View File

@ -0,0 +1,51 @@
IMG= flow.epsi flow-simple.epsi
DEPS= preamble.tex macros.tex
MSC= msc-ns.pdf
all: scyther-manual.pdf scyther-manual-draft.pdf
%.epsi: %.dot
dot -Tps $< >$(addsuffix '.ps',$(basename $@))
ps2epsi $(addsuffix '.ps',$(basename $@))
msc-%.pdf: msc-%.tex $(DEPS)
latex -jobname msc-file "\input{mscstart.tex}\input{$<}\input{mscend.tex}"
dvips -t a3 msc-file.dvi -o
ps2eps -f msc-file.ps
\rm -f msc-file.ps
epstopdf msc-file.eps
mv msc-file.pdf `basename $< tex`pdf
mv msc-file.eps `basename $< tex`eps
scyther-manual.pdf: scyther-manual.tex biblio.bib $(IMG) $(DEPS) $(MSC)
pdflatex scyther-manual.tex
makeindex scyther-manual
bibtex scyther-manual
pdflatex scyther-manual.tex
pdflatex scyther-manual.tex
SDRAFT= --jobname=scyther-manual-draft "\def\draftversion{yes}\input{scyther-manual}"
scyther-manual-draft.pdf: scyther-manual.tex biblio.bib $(IMG) $(DEPS) $(MSC)
pdflatex $(SDRAFT)
makeindex scyther-manual
bibtex scyther-manual
pdflatex $(SDRAFT)
pdflatex $(SDRAFT)
clean:
\rm -f *.aux
\rm -f *.log
\rm -f *.bbl
\rm -f *.blg
\rm -f *.ind
\rm -f $(addsuffix '.ps',$(basename $(IMG)))
realclean: clean
\rm -f $(IMG)
\rm -f $(MSC)
\rm -f scyther-manual.pdf

3692
manual/attackwindow.eps Normal file

File diff suppressed because it is too large Load Diff

BIN
manual/attackwindow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

48
manual/background.sty Normal file
View File

@ -0,0 +1,48 @@
%% background.sty 04 Nov 99
%%-----------------------------------------------------------
%%
%%
%% Take care: because we have to insert a pdf comment starting with
%% the letter '%' the catcode of '%' will be changed temporarily.
%% leave, if not creating pdf, but provide the undefined commands
\ifx\pdfoutput\undefined
\ifx\pagecolor\undefined
% a dummy definition
\newcommand\pagecolor[1]{}%
\message{Warning, pagecolor definitions ignored for non pdf processing}%
\fi
\def\bg@hpagecolorTwo[#1]#2{}%
\def\bg@vpagecolorTwo[#1]#2{}%
\def\bg@hpagecolor#1{}%
\def\bg@vpagecolor#1{}%
\def\hpagecolor{\@ifnextchar [{\bg@hpagecolorTwo}{\bg@hpagecolor}}%
\def\vpagecolor{\@ifnextchar [{\bg@vpagecolorTwo}{\bg@vpagecolor}}%
\expandafter\endinput
\fi
{\catcode`\%=11\catcode`\!=14 !make '!' the comment character for now
\gdef\pagecolor#1{\@ifundefined{\string\color @#1}!
{\message{pagecolor: color #1 is undefined}}!
{\pdfliteral{%mbackground \csname\string\color@#1\endcsname}}!
}!
\gdef\bg@vpagecolorTwo[#1]#2{\@ifundefined{\string\color @#1}!
{\message{vpagestripes: color #1 is undefined}}!
{\@ifundefined{\string\color @#2}!
{\message{vpagestripes: color #2 is undefined}}!
{\pdfliteral{%gradbackground vt \csname\string\color@#1\endcsname/\csname\string\color@#2\endcsname}}}!
}!
\gdef\bg@hpagecolorTwo[#1]#2{\@ifundefined{\string\color @#1}!
{\message{pagestripes: color #1 is undefined}}!
{\@ifundefined{\string\color @#2}!
{\message{pagestripes: color #2 is undefined}}!
{\pdfliteral{%gradbackground ht \csname\string\color@#1\endcsname/\csname\string\color@#2\endcsname}}}!
}!
\gdef\bg@hpagecolor#1{\@ifundefined{\string\color @#1}!
{\message{hpagecolor: color #1 is undefined}}!
{\pdfliteral{%gradbackground ho \csname\string\color@#1\endcsname}}}!
\gdef\bg@vpagecolor#1{\@ifundefined{\string\color @#1}!
{\message{vpagecolor: color #1 is undefined}}!
{\pdfliteral{%gradbackground vo \csname\string\color@#1\endcsname}}}!
\gdef\hpagecolor{\@ifnextchar [{\bg@hpagecolorTwo}{\bg@hpagecolor}}!
\gdef\vpagecolor{\@ifnextchar [{\bg@vpagecolorTwo}{\bg@vpagecolor}}!
}%

144
manual/biblio.bib Normal file
View File

@ -0,0 +1,144 @@
@string{csfw97 = "Proc.\ 10th IEEE Computer Security Foundations Workshop (CSFW)" }
@string{csfw01 = "Proc.\ 14th IEEE Computer Security Foundations Workshop (CSFW)" }
@string{csfw03 = "Proc.\ 16th IEEE Computer Security Foundations Workshop (CSFW)" }
@string{csfw04 = "Proc.\ 17th IEEE Computer Security Foundations Workshop (CSFW)" }
@string{csfw06 = "Proc.\ 19th IEEE Computer Security Foundations Workshop (CSFW)" }
@string{ieeecoso = "IEEE Comp. Soc." }
@string{tocs = "ACM Transactions on Computer Systems" }
@string{sv = "Springer" }
@string{lncs = "LNCS" }
@string{entcs = "ENTCS" }
@string{els = "Elsevier" }
@string{jcs = "Journal of Computer Security" }
@string{tacas96 = "TACAS'96"}
@article{cmv2003blackbox,
author = {C.J.F. Cremers and S. Mauw and E.P. de Vink},
title = {Formal Methods for Security Protocols: Three
Examples of the Black-Box Approach},
journal = {NVTI newsletter},
year = 2003,
volume = {7},
pages = {21--32},
note = {Newsletter of the Dutch Association for Theoretical
Computing Scientists},
}
@InProceedings{CrMaVi03,
publisher = {IITT-CNR technical report},
title = {Defining authentication in a trace model},
booktitle = {Proc.\ FAST 2003},
author = {Cremers, C.J.F. and Mauw, S. and Vink, E.P. de},
editor = {T. Dimitrakos and F. Martinelli},
address = {Pisa},
year = {2003},
pages = {131--145}
}
@inproceedings{lowe96breaking,
author = "G. Lowe",
title = "Breaking and fixing the {N}eedham-{S}chroeder
public-key protocol using {FDR}",
booktitle = "Proc.\ TACAS '96",
editor = "T. Margaria and B. Steffen",
publisher = "LNCS~1055",
pages = "147--166",
year = "1996"
}
@inproceedings{athena,
author = {D. Song},
title = {Athena: a New Efficient Automatic Checker for Security
Protocol Analysis},
booktitle = {Proc.\ CSFW '99, Mordano},
year = {1999},
pages = {192},
publisher = {IEEE},
}
@inproceedings{CrMa04b,
author = {C.J.F. Cremers and S. Mauw},
title = {Operational Semantics of Security Protocols},
booktitle = "Scenarios: Models, Transformations and Tools, International Workshop, Dagstuhl Castle, Germany, September 7-12, 2003, Revised Selected Papers",
year = 2005,
series = "LNCS",
editor = "S. Leue and T. Syst{\"a}",
volume = "3466",
publisher = "Springer",
url =
"http://www.win.tue.nl/~ecss/downloads/CrMa04b.pdf"
}
@inproceedings{cm04sam,
author = "C.J.F. Cremers and S. Mauw",
title = "Checking secrecy by means of partial order reduction",
booktitle = "Proc.\ SAM 2004",
volume = {LNCS 3319},
publisher = {Springer},
year = 2004,
editor = "D. Amyot and A.W. Williams",
pages = {177--194}
}
@Misc{wwwscyther,
Author = "C.J.F. Cremers",
Title = "The Scyther tool: Automated verification of security protocols",
Note = {\url{http://people.inf.ethz.ch/cremersc/scyther/index.html}}
}
@phdthesis{scytherthesis,
Author = {C.J.F. Cremers},
Title = {Scyther - Semantics and Verification of Security Protocols},
School = {Eindhoven University of Technology},
Publisher = {University Press Eindhoven},
Year = {2006},
type = {{Ph.D.} dissertation}
}
@InProceedings{lowe97hierarchy,
Author = "G. Lowe",
Title = "A Hierarchy of Authentication Specifications",
BookTitle = csfw97,
Pages = "31--44",
Publisher = {IEEE},
year = 1997
}
@book{opsembook,
Author = {Cas Cremers and Sjouke Mauw},
Title = {Operational Semantics and Verification of Security
Protocols},
Year = {2012},
Publisher = {Springer},
Series = {Information Security and Cryptography},
}
@InProceedings{Cr2006multiprotocol,
Author = {C.J.F. Cremers},
Title = {Feasibility of Multi-Protocol Attacks},
BookTitle = {Proc.\ of The First International Conference on
Availability, Reliability and Security ({ARES})},
Address = "Vienna, Austria",
Publisher = "IEEE Computer Society",
month = "April",
pages = "287--294",
year = 2006
}
@InProceedings{kelsey97protocol,
author = {J. Kelsey and
B. Schneier and
D. Wagner},
title = {Protocol Interactions and the Chosen Protocol Attack},
booktitle = {Fifth International Workshop on Security Protocols},
year = {1997},
pages = {91--104},
editor = {B. Christianson and
B. Crispo and
T.M.A. Lomas and
M. Roe},
publisher = sv,
series = lncs,
volume = {1361},
}

5
manual/copy-to-dest.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
cp scyther-manual.pdf ../gui/

13
manual/flow-simple.dot Normal file
View File

@ -0,0 +1,13 @@
digraph scytherflow {
subgraph normal {
spdl [label="protocol description",shape=box,];
scyther [shape=box,label="Scyther",style=bold,fontsize=18];
summary [label="text summary\nof the results",shape=box];
spdl -> scyther [style=bold,weight=10.0];
scyther -> summary [style=bold,weight=10.0];
}
}

1040
manual/flow-simple.epsi Normal file

File diff suppressed because it is too large Load Diff

24
manual/flow.dot Normal file
View File

@ -0,0 +1,24 @@
digraph scytherflow {
subgraph normal {
spdl [label="protocol description",shape=box,];
scyther [shape=box,label="Scyther",style=bold,fontsize=18];
summary [label="text summary\nof the results",shape=box];
spdl -> scyther [style=bold,weight=10.0];
scyther -> summary [style=bold,weight=10.0];
}
environment [label="environment\nvariables"];
commandline [label="command-line\nswitches"];
switches [label="switches"];
graphical [label="graphical representation of\nattacks for human inspection\n(dot format)"];
xml [label="state representation\nfor further processing\n(xml format)"];
commandline -> switches [style=dotted];
environment -> switches [style=dotted];
switches -> scyther;
scyther -> xml [style=dotted,label="--xml-output"];
scyther -> graphical [style=dotted,label="--dot-output"];
}

5438
manual/flow.epsi Normal file

File diff suppressed because it is too large Load Diff

29
manual/macros.tex Normal file
View File

@ -0,0 +1,29 @@
% Assist
\newcommand{\z}[1]{\mathit{#1}} %text in math mode, keep size using amstext
% For the MSC
\newcommand{\synch}{\z{ni\text{-}synch}} %synchronization claim
\newcommand{\isynch}{\z{i\text{-}synch}} %synchronization claim
\newcommand{\agree}{\z{ni\text{-}agree}} %full agreement claim
\newcommand{\iagree}{\z{i\text{-}agree}} %injective full agreement claim
\newcommand{\secret}{\z{secret}} %secrecy claim
\newcommand{\enc}[2]{\{{#1}\}_{#2}} %Encryption
\newcommand{\nI}{ni}
\newcommand{\nR}{nr}
\newcommand{\nS}{ns}
\newcommand{\nb}{nb}
\newcommand{\pkIinv}{sk(I)}
\newcommand{\pkRinv}{sk(R)}
\newcommand{\pkSinv}{sk(S)}
\newcommand{\pkbinv}{sk(b)}
\newcommand{\pkI}{pk(I)}
\newcommand{\pkR}{pk(R)}
\newcommand{\pkS}{pk(S)}
%%% Abbreviation macros
\newcommand{\ie}{i.\@\,e.\@\xspace}
\newcommand{\eg}{e.\@\,g.\@\xspace}
\newcommand{\wrt}{w.\@\,r.\@\,t.\@\xspace}
\newcommand{\st}{s.\@\,t.\@\xspace}
\newcommand{\etc}{etc.\@\xspace}
\newcommand{\etal}{et~al.\@\xspace}

BIN
manual/msc-file.dvi Normal file

Binary file not shown.

6432
manual/msc-ns.eps Normal file

File diff suppressed because it is too large Load Diff

BIN
manual/msc-ns.pdf Normal file

Binary file not shown.

47
manual/msc-ns.tex Normal file
View File

@ -0,0 +1,47 @@
% Resizing and relocating MSC diagrams
\newcommand{\msccenter}[1]{\centering{\scalebox{1.0}{#1}}}
\setmscvalues{normal}
\normalsize %the MSC command 'setmscvalues normal' is broken.
\setlength{\instwidth}{1.8cm}
\setlength{\instdist}{4cm}
\setlength{\markdist}{0.4cm}
\setlength{\actionwidth}{\instwidth}
\setlength{\labeldist}{0.2cm}
\setlength{\conditionoverlap}{0.8cm}
%
\msccenter{
\begin{msc}{Needham-Schroeder Public Key}
\declinst{I}{$\pkR,\pkIinv$}{$I$}
\declinst{R}{$\pkI,\pkRinv$}{$R$}
\action{$\z{nonce~} \nI$}{I}
\nextlevel[2.7]
\mscmark[tl]{1}{I}
\mess{$\{ I , \nI \}_{\pkR}$}{I}{R}
\nextlevel[0.5]
\action{$\z{nonce~} \nR$}{R}
\nextlevel[2.7]
\mess{$\{ R , \nI , \nR \}_{\pkI}$}{R}{I}
\mscmark[tr]{2}{R}
\nextlevel[1.25]
\mscmark[tl]{3}{I}
\mess{$\{ \nR \}_{\pkR}$}{I}{R}
\nextlevel[1.5]
\mscmark[tl]{i1}{I}
\condition{$\secret(\nI)$}{I}
\mscmark[tr]{r1}{R}
\condition{$\secret(\nI)$}{R}
\nextlevel[1.0]
\end{msc}
}

3121
manual/msc.sty Normal file

File diff suppressed because it is too large Load Diff

2
manual/mscend.tex Normal file
View File

@ -0,0 +1,2 @@
\end{document}

8
manual/mscstart.tex Normal file
View File

@ -0,0 +1,8 @@
\documentclass{article}
\usepackage{a4wide}
\usepackage{msc}
\input{preamble}
\begin{document}
\input{macros}

767
manual/ns3attack1.eps Normal file
View File

@ -0,0 +1,767 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 35 40 525 943
%%HiResBoundingBox: 35.500000 40.500000 525.000000 942.500000
%%Creator: dot version 2.2.1 (Tue Oct 11 01:38:21 UTC 2005)
%%For: (cas) Cas Cremers,,,
%%Title: semiState1
%%EndComments
% EPSF created by ps2eps 1.58
%%BeginProlog
save
countdictstack
mark
newpath
/showpage {} def
/setpagedevice {pop} def
%%EndProlog
%%Page 1 1
save
/DotDict 200 dict def
DotDict begin
/setupLatin1 {
mark
/EncodingVector 256 array def
EncodingVector 0
ISOLatin1Encoding 0 255 getinterval putinterval
EncodingVector
dup 306 /AE
dup 301 /Aacute
dup 302 /Acircumflex
dup 304 /Adieresis
dup 300 /Agrave
dup 305 /Aring
dup 303 /Atilde
dup 307 /Ccedilla
dup 311 /Eacute
dup 312 /Ecircumflex
dup 313 /Edieresis
dup 310 /Egrave
dup 315 /Iacute
dup 316 /Icircumflex
dup 317 /Idieresis
dup 314 /Igrave
dup 334 /Udieresis
dup 335 /Yacute
dup 376 /thorn
dup 337 /germandbls
dup 341 /aacute
dup 342 /acircumflex
dup 344 /adieresis
dup 346 /ae
dup 340 /agrave
dup 345 /aring
dup 347 /ccedilla
dup 351 /eacute
dup 352 /ecircumflex
dup 353 /edieresis
dup 350 /egrave
dup 355 /iacute
dup 356 /icircumflex
dup 357 /idieresis
dup 354 /igrave
dup 360 /dcroat
dup 361 /ntilde
dup 363 /oacute
dup 364 /ocircumflex
dup 366 /odieresis
dup 362 /ograve
dup 365 /otilde
dup 370 /oslash
dup 372 /uacute
dup 373 /ucircumflex
dup 374 /udieresis
dup 371 /ugrave
dup 375 /yacute
dup 377 /ydieresis
% Set up ISO Latin 1 character encoding
/starnetISO {
dup dup findfont dup length dict begin
{ 1 index /FID ne { def }{ pop pop } ifelse
} forall
/Encoding EncodingVector def
currentdict end definefont
} def
/Times-Roman starnetISO def
/Times-Italic starnetISO def
/Times-Bold starnetISO def
/Times-BoldItalic starnetISO def
/Helvetica starnetISO def
/Helvetica-Oblique starnetISO def
/Helvetica-Bold starnetISO def
/Helvetica-BoldOblique starnetISO def
/Courier starnetISO def
/Courier-Oblique starnetISO def
/Courier-Bold starnetISO def
/Courier-BoldOblique starnetISO def
cleartomark
} bind def
/coord-font-family /Times-Roman def
/default-font-family /Times-Roman def
/coordfont coord-font-family findfont 8 scalefont def
/InvScaleFactor 1.0 def
/set_scale {
dup 1 exch div /InvScaleFactor exch def
dup scale
} bind def
% styles
/solid { [] 0 setdash } bind def
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
/bold { 2 setlinewidth } bind def
/filled { } bind def
/unfilled { } bind def
/rounded { } bind def
/diagonals { } bind def
% hooks for setting color
/nodecolor { sethsbcolor } bind def
/edgecolor { sethsbcolor } bind def
/graphcolor { sethsbcolor } bind def
/nopcolor {pop pop pop} bind def
/beginpage { % i j npages
/npages exch def
/j exch def
/i exch def
/str 10 string def
npages 1 gt {
gsave
coordfont setfont
0 0 moveto
(\() show i str cvs show (,) show j str cvs show (\)) show
grestore
} if
} bind def
/set_font {
findfont exch
scalefont setfont
} def
% draw aligned label in bounding box aligned to current point
/alignedtext { % width adj text
/text exch def
/adj exch def
/width exch def
gsave
width 0 gt {
text stringwidth pop adj mul 0 rmoveto
} if
[] 0 setdash
text show
grestore
} def
/boxprim { % xcorner ycorner xsize ysize
4 2 roll
moveto
2 copy
exch 0 rlineto
0 exch rlineto
pop neg 0 rlineto
closepath
} bind def
/ellipse_path {
/ry exch def
/rx exch def
/y exch def
/x exch def
matrix currentmatrix
newpath
x y translate
rx ry scale
0 0 1 0 360 arc
setmatrix
} bind def
/endpage { showpage } bind def
/showpage { } def
/layercolorseq
[ % layer color sequence - darkest to lightest
[0 0 0]
[.2 .8 .8]
[.4 .8 .8]
[.6 .8 .8]
[.8 .8 .8]
]
def
/layerlen layercolorseq length def
/setlayer {/maxlayer exch def /curlayer exch def
layercolorseq curlayer 1 sub layerlen mod get
aload pop sethsbcolor
/nodecolor {nopcolor} def
/edgecolor {nopcolor} def
/graphcolor {nopcolor} def
} bind def
/onlayer { curlayer ne {invis} if } def
/onlayers {
/myupper exch def
/mylower exch def
curlayer mylower lt
curlayer myupper gt
or
{invis} if
} def
/curlayer 0 def
14 default-font-family set_font
1 setmiterlimit
% /arrowlength 10 def
% /arrowwidth 5 def
% make sure pdfmark is harmless for PS-interpreters other than Distiller
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
% make '<<' and '>>' safe on PS Level 1 devices
/languagelevel where {pop languagelevel}{1} ifelse
2 lt {
userdict (<<) cvn ([) cvn load put
userdict (>>) cvn ([) cvn load put
} if
gsave
35 35 525 942 boxprim clip newpath
36 36 translate
0 0 1 beginpage
0 0 translate 0 rotate
0.000 0.000 0.000 graphcolor
14.00 /Times-Roman set_font
gsave 10 dict begin
129 7 moveto
([Id 1] Protocol ns3, role R, claim type Nisynch)
[4.56 4.56 6.96 3.6 6.96 4.56 3.6 7.68 4.56 6.96 3.84 6.96 6.24 6.96 3.84 3.6 6.96 5.52 6.96 3.6 3.6 4.56 6.96 3.84 6.24 3.6 9.36 3.6 3.6 6.24 3.84 6.24 3.84 10.8 3.6 3.84 6.96 6.96 6.24 3.6 10.08 3.84 5.52 6.96 6.96 6.24 6.96]
xshow
end grestore
% r0i0
gsave 10 dict begin
newpath 523 690 moveto
229 690 lineto
229 654 lineto
523 654 lineto
closepath
stroke
gsave 10 dict begin
237 667 moveto
(READ_1\(Agent#0,{Agent#0,ni#2}pk\(Agent#1\) \))
[9.36 8.4 10.08 10.08 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 6.72 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 6.96 3.84 6.96 6.96 6.72 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 4.56 3.6 4.56]
xshow
end grestore
end grestore
% r0i1
gsave 10 dict begin
newpath 512 616 moveto
240 616 lineto
240 580 lineto
512 580 lineto
closepath
stroke
gsave 10 dict begin
247 593 moveto
(SEND_2\(Agent#0, {ni#2,nr#0}pk\(Agent#0\) \))
[7.68 8.4 10.08 10.08 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 3.6 6.72 6.96 3.84 6.96 6.96 3.6 6.96 4.56 6.96 6.96 6.72 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 4.56 3.6 4.56]
xshow
end grestore
end grestore
% r0i0 -> r0i1
gsave 10 dict begin
bold
newpath 376 654 moveto
376 645 376 636 376 626 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 626 moveto
376 616 lineto
373 626 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 626 moveto
376 616 lineto
373 626 lineto
closepath
stroke
end grestore
end grestore
% s0
gsave 10 dict begin
newpath 376 822 moveto
261 782 lineto
376 742 lineto
491 782 lineto
closepath
stroke
gsave 10 dict begin
337 785 moveto
(Run 0: ns3, R)
[9.36 6.96 6.96 3.6 6.96 3.84 3.6 6.96 5.52 6.96 3.6 3.6 9.36]
xshow
310 769 moveto
(R:Agent#1 \(I:Agent#0\))
[9.36 3.84 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 4.56 4.56 3.84 10.08 6.96 6.24 6.96 3.84 6.96 6.96 4.56]
xshow
end grestore
end grestore
% s0 -> r0i0
newpath 376 742 moveto
376 728 376 713 376 700 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 700 moveto
376 690 lineto
373 700 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 700 moveto
376 690 lineto
373 700 lineto
closepath
stroke
end grestore
% r0i2
gsave 10 dict begin
newpath 497 366 moveto
255 366 lineto
255 330 lineto
497 330 lineto
closepath
stroke
gsave 10 dict begin
262 343 moveto
(READ_3\(Agent#0,{nr#0}pk\(Agent#1\) \))
[9.36 8.4 10.08 10.08 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 6.72 6.96 4.56 6.96 6.96 6.72 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 4.56 3.6 4.56]
xshow
end grestore
end grestore
% r0i1 -> r0i2
gsave 10 dict begin
bold
newpath 376 580 moveto
376 536 376 428 376 376 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 376 moveto
376 366 lineto
373 376 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 376 moveto
376 366 lineto
373 376 lineto
closepath
stroke
end grestore
end grestore
% r2i1
gsave 10 dict begin
newpath 244 528 moveto
0 528 lineto
0 492 lineto
244 492 lineto
closepath
stroke
gsave 10 dict begin
7 505 moveto
(READ_2\(Eve,{ni#2,nr#0}pk\(Agent#0\) \))
[9.36 8.4 10.08 10.08 6.96 6.96 4.56 8.4 6.96 6.24 3.6 6.72 6.96 3.84 6.96 6.96 3.6 6.96 4.56 6.96 6.96 6.72 6.96 6.96 4.56 10.08 6.96 6.24 6.96 3.84 6.96 6.96 4.56 3.6 4.56]
xshow
end grestore
end grestore
% r0i1 -> r2i1
gsave 10 dict begin
0.082 1.000 0.933 edgecolor
newpath 324 580 moveto
283 566 227 546 184 531 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.082 1.000 0.933 edgecolor
newpath 185 528 moveto
174 528 lineto
183 534 lineto
closepath
fill
0.082 1.000 0.933 edgecolor
newpath 185 528 moveto
174 528 lineto
183 534 lineto
closepath
stroke
end grestore
gsave 10 dict begin
0.000 0.000 0.000 edgecolor
273 549 moveto
(redirect)
[4.56 6.24 6.96 3.84 4.56 6.24 6.24 3.84]
xshow
end grestore
end grestore
% r0i3
gsave 10 dict begin
newpath 457 292 moveto
295 292 lineto
295 256 lineto
457 256 lineto
closepath
stroke
gsave 10 dict begin
302 269 moveto
(CLAIM_r1\( Secret, ni#2 \))
[9.36 8.4 10.08 4.56 12.48 6.96 4.56 6.96 4.56 3.6 7.68 6.24 6.24 4.56 6.24 3.84 3.6 3.6 6.96 3.84 6.96 6.96 3.6 4.56]
xshow
end grestore
end grestore
% r0i2 -> r0i3
gsave 10 dict begin
bold
newpath 376 330 moveto
376 321 376 312 376 302 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 302 moveto
376 292 lineto
373 302 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 302 moveto
376 292 lineto
373 302 lineto
closepath
stroke
end grestore
end grestore
% r0i4
gsave 10 dict begin
newpath 458 218 moveto
294 218 lineto
294 182 lineto
458 182 lineto
closepath
stroke
gsave 10 dict begin
302 195 moveto
(CLAIM_r2\( Secret, nr#0 \))
[9.36 8.4 10.08 4.56 12.48 6.96 4.56 6.96 4.56 3.6 7.68 6.24 6.24 4.56 6.24 3.84 3.6 3.6 6.96 4.56 6.96 6.96 3.6 4.56]
xshow
end grestore
end grestore
% r0i3 -> r0i4
gsave 10 dict begin
bold
newpath 376 256 moveto
376 247 376 238 376 228 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 228 moveto
376 218 lineto
373 228 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 228 moveto
376 218 lineto
373 228 lineto
closepath
stroke
end grestore
end grestore
% r0i5
gsave 10 dict begin
newpath 453 144 moveto
299 144 lineto
299 108 lineto
453 108 lineto
closepath
stroke
gsave 10 dict begin
306 121 moveto
(CLAIM_r3\( Niagree, * \))
[9.36 8.4 10.08 4.56 12.48 6.96 4.56 6.96 4.56 3.6 10.08 3.84 6.24 6.96 4.56 6.24 6.24 3.6 3.6 6.96 3.6 4.56]
xshow
end grestore
end grestore
% r0i4 -> r0i5
gsave 10 dict begin
bold
newpath 376 182 moveto
376 173 376 164 376 154 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 154 moveto
376 144 lineto
373 154 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 154 moveto
376 144 lineto
373 154 lineto
closepath
stroke
end grestore
end grestore
% r0i6
gsave 10 dict begin
filled
0.016 0.541 0.980 nodecolor
0.016 0.118 1.000 nodecolor
newpath 465 40 moveto
465 54 lineto
413 65 lineto
339 65 lineto
287 54 lineto
287 40 lineto
339 29 lineto
413 29 lineto
closepath
fill
0.016 0.541 0.980 nodecolor
newpath 465 40 moveto
465 54 lineto
413 65 lineto
339 65 lineto
287 54 lineto
287 40 lineto
339 29 lineto
413 29 lineto
closepath
stroke
newpath 469 37 moveto
469 57 lineto
413 69 lineto
339 69 lineto
283 57 lineto
283 37 lineto
339 25 lineto
413 25 lineto
closepath
stroke
gsave 10 dict begin
0.000 0.000 0.000 nodecolor
305 42 moveto
(CLAIM_r4\( Nisynch, * \))
[9.36 8.4 10.08 4.56 12.48 6.96 4.56 6.96 4.56 3.6 10.08 3.84 5.52 6.96 6.96 6.24 6.96 3.6 3.6 6.96 3.6 4.56]
xshow
end grestore
end grestore
% r0i5 -> r0i6
gsave 10 dict begin
bold
newpath 376 108 moveto
376 99 376 90 376 80 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 380 80 moveto
376 70 lineto
373 80 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 380 80 moveto
376 70 lineto
373 80 lineto
closepath
stroke
end grestore
end grestore
% r2i0
gsave 10 dict begin
newpath 243 800 moveto
1 800 lineto
1 764 lineto
243 764 lineto
closepath
stroke
gsave 10 dict begin
8 777 moveto
(SEND_1\(Eve, {Agent#0,ni#2}pk\(Eve\) \))
[7.68 8.4 10.08 10.08 6.96 6.96 4.56 8.4 6.96 6.24 3.6 3.6 6.72 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 6.96 3.84 6.96 6.96 6.72 6.96 6.96 4.56 8.4 6.96 6.24 4.56 3.6 4.56]
xshow
end grestore
end grestore
% r2i0 -> r0i0
gsave 10 dict begin
0.000 1.000 1.000 edgecolor
newpath 164 764 moveto
208 745 278 715 325 694 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 1.000 1.000 edgecolor
newpath 326 697 moveto
334 690 lineto
323 691 lineto
closepath
fill
0.000 1.000 1.000 edgecolor
newpath 326 697 moveto
334 690 lineto
323 691 lineto
closepath
stroke
end grestore
gsave 10 dict begin
0.000 0.000 0.000 edgecolor
291 711 moveto
(construct)
[6.24 6.96 6.96 5.52 3.84 4.56 6.96 6.24 3.84]
xshow
end grestore
end grestore
% r2i0 -> r2i1
gsave 10 dict begin
bold
newpath 122 764 moveto
122 717 122 595 122 538 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 126 538 moveto
122 528 lineto
119 538 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 126 538 moveto
122 528 lineto
119 538 lineto
closepath
stroke
end grestore
end grestore
% s2
gsave 10 dict begin
newpath 122 940 moveto
26 900 lineto
122 860 lineto
218 900 lineto
closepath
stroke
gsave 10 dict begin
85 903 moveto
(Run 2: ns3, I)
[9.36 6.96 6.96 3.6 6.96 3.84 3.6 6.96 5.52 6.96 3.6 3.6 4.56]
xshow
69 887 moveto
(I:Agent#0 \(R:Eve\))
[4.56 3.84 10.08 6.96 6.24 6.96 3.84 6.96 6.96 3.6 4.56 9.36 3.84 8.4 6.96 6.24 4.56]
xshow
end grestore
end grestore
% s2 -> r2i0
newpath 122 860 moveto
122 844 122 825 122 810 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 126 810 moveto
122 800 lineto
119 810 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 126 810 moveto
122 800 lineto
119 810 lineto
closepath
stroke
end grestore
% r2i2
gsave 10 dict begin
newpath 218 454 moveto
26 454 lineto
26 418 lineto
218 418 lineto
closepath
stroke
gsave 10 dict begin
34 431 moveto
(SEND_3\(Eve, {nr#0}pk\(Eve\) \))
[7.68 8.4 10.08 10.08 6.96 6.96 4.56 8.4 6.96 6.24 3.6 3.6 6.72 6.96 4.56 6.96 6.96 6.72 6.96 6.96 4.56 8.4 6.96 6.24 4.56 3.6 4.56]
xshow
end grestore
end grestore
% r2i1 -> r2i2
gsave 10 dict begin
bold
newpath 122 492 moveto
122 483 122 474 122 464 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 126 464 moveto
122 454 lineto
119 464 lineto
closepath
fill
0.000 0.000 0.000 edgecolor
newpath 126 464 moveto
122 454 lineto
119 464 lineto
closepath
stroke
end grestore
end grestore
% r2i2 -> r0i2
gsave 10 dict begin
0.000 1.000 1.000 edgecolor
newpath 174 418 moveto
215 404 271 384 314 369 curveto
stroke
gsave 10 dict begin
solid
1 setlinewidth
0.000 1.000 1.000 edgecolor
newpath 315 372 moveto
324 366 lineto
313 366 lineto
closepath
fill
0.000 1.000 1.000 edgecolor
newpath 315 372 moveto
324 366 lineto
313 366 lineto
closepath
stroke
end grestore
gsave 10 dict begin
0.000 0.000 0.000 edgecolor
265 387 moveto
(construct)
[6.24 6.96 6.96 5.52 3.84 4.56 6.96 6.24 3.84]
xshow
end grestore
end grestore
endpage
showpage
grestore
end
restore
%%Trailer
cleartomark
countdictstack
exch sub { end } repeat
restore
%%EOF

7
manual/preamble.tex Normal file
View File

@ -0,0 +1,7 @@
\usepackage{fancybox}
\usepackage{fancyvrb}
\usepackage{syntax}
\usepackage{url}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{xspace}

3630
manual/protocolwindow.eps Normal file

File diff suppressed because it is too large Load Diff

BIN
manual/protocolwindow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

1905
manual/resultwindow.eps Normal file

File diff suppressed because it is too large Load Diff

BIN
manual/resultwindow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

BIN
manual/scyther-manual.pdf Normal file

Binary file not shown.

2119
manual/scyther-manual.tex Normal file

File diff suppressed because it is too large Load Diff

5
manual/todo.txt Normal file
View File

@ -0,0 +1,5 @@
- Add running/commit/agreement explanation with where to put the
signals.
- Relevant environment variables
- Switches