From 8ff8e87c3e22df9738df4271236598b7ad52829c Mon Sep 17 00:00:00 2001
From: Matthew Hutchings <mwh1g17@soton.ac.uk>
Date: Mon, 11 May 2020 23:44:06 +0100
Subject: [PATCH] Updated VagrantFiles to include install instructions

---
 Vagrant Files/.gitkeep                        |   0
 Vagrant Files/InstallationInstructions.txt    |  17 +
 Vagrant Files/files/guide.txt                 |  10 +
 .../scyther => files}/scyther-manual.pdf      | Bin
 Vagrant Files/files/test folder/guide.txt     |   1 -
 .../shared/GitLink/sessionkey.sdpl.txt        |  42 +
 Vagrant Files/shared/scyther/.gitignore       |   4 -
 Vagrant Files/shared/scyther/Changelog.txt    | 159 ----
 .../scyther/GNU-General-Public-License.txt    | 339 -------
 Vagrant Files/shared/scyther/Gui/About.py     | 137 ---
 .../shared/scyther/Gui/Attackwindow.py        | 330 -------
 Vagrant Files/shared/scyther/Gui/Editor.py    | 195 ----
 Vagrant Files/shared/scyther/Gui/Error.py     |  51 -
 Vagrant Files/shared/scyther/Gui/Icon.py      |  52 -
 .../shared/scyther/Gui/Mainwindow.py          | 322 -------
 Vagrant Files/shared/scyther/Gui/Makeimage.py | 180 ----
 Vagrant Files/shared/scyther/Gui/Misc.py      |  90 --
 .../shared/scyther/Gui/Preference.py          | 240 -----
 .../shared/scyther/Gui/Scytherthread.py       | 543 -----------
 .../shared/scyther/Gui/Settingswindow.py      | 196 ----
 Vagrant Files/shared/scyther/Gui/Temporary.py |  64 --
 Vagrant Files/shared/scyther/Gui/Version.py   |   1 -
 Vagrant Files/shared/scyther/Gui/__init__.py  |  19 -
 Vagrant Files/shared/scyther/INSTALL.md       |  96 --
 Vagrant Files/shared/scyther/INSTALL.txt      |  85 --
 .../shared/scyther/Images/scyther-gui-16.ico  | Bin 1150 -> 0 bytes
 .../shared/scyther/Images/scyther-gui-32.ico  | Bin 4286 -> 0 bytes
 .../shared/scyther/Images/scyther-gui-64.ico  | Bin 16958 -> 0 bytes
 .../shared/scyther/Images/scyther-icon.svg    | 222 -----
 .../shared/scyther/Images/scyther-splash.png  | Bin 119951 -> 0 bytes
 .../shared/scyther/Protocols/Demo/ns3.spdl    |  41 -
 .../scyther/Protocols/Demo/nsl3-broken.spdl   |  40 -
 .../Protocols/Demo/nsl3-updated-both.spdl     |  78 --
 .../shared/scyther/Protocols/Demo/nsl3.spdl   |  38 -
 .../Protocols/IEEE-WIMAX/pkmv2rsa.spdl        |  46 -
 .../IEEE-WIMAX/pkmv2rsacorrected.spdl         |  46 -
 .../Protocols/IEEE-WIMAX/pkmv2satek.spdl      |  63 --
 .../scyther/Protocols/IEEE-WIMAX/pqr.spdl     |  84 --
 .../Protocols/IEEE-WIMAX/rsaplussatek.spdl    |  74 --
 .../IEEE-WIMAX/rsaplussatekcorrected.spdl     |  73 --
 .../shared/scyther/Protocols/IKE/Makefile     |  11 -
 .../shared/scyther/Protocols/IKE/common.h     | 157 ---
 .../scyther/Protocols/IKE/ikev1-pk-a1.cpp     |  96 --
 .../scyther/Protocols/IKE/ikev1-pk-a1.spdl    | 129 ---
 .../scyther/Protocols/IKE/ikev1-pk-a12.cpp    |  95 --
 .../scyther/Protocols/IKE/ikev1-pk-a12.spdl   | 128 ---
 .../scyther/Protocols/IKE/ikev1-pk-a2.cpp     |  97 --
 .../scyther/Protocols/IKE/ikev1-pk-a2.spdl    | 129 ---
 .../scyther/Protocols/IKE/ikev1-pk-a22.cpp    |  95 --
 .../scyther/Protocols/IKE/ikev1-pk-a22.spdl   | 128 ---
 .../scyther/Protocols/IKE/ikev1-pk-m.cpp      | 103 --
 .../scyther/Protocols/IKE/ikev1-pk-m.spdl     | 136 ---
 .../scyther/Protocols/IKE/ikev1-pk-m2.cpp     | 102 --
 .../scyther/Protocols/IKE/ikev1-pk-m2.spdl    | 135 ---
 .../scyther/Protocols/IKE/ikev1-pk2-a.cpp     |  97 --
 .../scyther/Protocols/IKE/ikev1-pk2-a.spdl    | 129 ---
 .../scyther/Protocols/IKE/ikev1-pk2-a2.cpp    |  97 --
 .../scyther/Protocols/IKE/ikev1-pk2-a2.spdl   | 128 ---
 .../scyther/Protocols/IKE/ikev1-pk2-m.cpp     | 104 --
 .../scyther/Protocols/IKE/ikev1-pk2-m.spdl    | 136 ---
 .../scyther/Protocols/IKE/ikev1-pk2-m2.cpp    | 106 ---
 .../scyther/Protocols/IKE/ikev1-pk2-m2.spdl   | 136 ---
 .../scyther/Protocols/IKE/ikev1-psk-a.cpp     |  94 --
 .../scyther/Protocols/IKE/ikev1-psk-a.spdl    | 125 ---
 .../Protocols/IKE/ikev1-psk-m-perlman.cpp     | 101 --
 .../Protocols/IKE/ikev1-psk-m-perlman.spdl    | 131 ---
 .../scyther/Protocols/IKE/ikev1-psk-m.cpp     | 100 --
 .../scyther/Protocols/IKE/ikev1-psk-m.spdl    | 130 ---
 .../Protocols/IKE/ikev1-quick-noid.cpp        | 102 --
 .../Protocols/IKE/ikev1-quick-noid.spdl       | 124 ---
 .../Protocols/IKE/ikev1-quick-nopfs.cpp       |  96 --
 .../Protocols/IKE/ikev1-quick-nopfs.spdl      | 118 ---
 .../scyther/Protocols/IKE/ikev1-quick.cpp     |  70 --
 .../scyther/Protocols/IKE/ikev1-quick.spdl    |  91 --
 .../Protocols/IKE/ikev1-sig-a-perlman1.cpp    |  99 --
 .../Protocols/IKE/ikev1-sig-a-perlman1.spdl   | 130 ---
 .../Protocols/IKE/ikev1-sig-a-perlman2.cpp    |  99 --
 .../Protocols/IKE/ikev1-sig-a-perlman2.spdl   | 130 ---
 .../scyther/Protocols/IKE/ikev1-sig-a1.cpp    |  98 --
 .../scyther/Protocols/IKE/ikev1-sig-a1.spdl   | 130 ---
 .../scyther/Protocols/IKE/ikev1-sig-a2.cpp    |  99 --
 .../scyther/Protocols/IKE/ikev1-sig-a2.spdl   | 130 ---
 .../Protocols/IKE/ikev1-sig-m-perlman.cpp     | 100 --
 .../Protocols/IKE/ikev1-sig-m-perlman.spdl    | 133 ---
 .../scyther/Protocols/IKE/ikev1-sig-m.cpp     | 102 --
 .../scyther/Protocols/IKE/ikev1-sig-m.spdl    | 134 ---
 .../Protocols/IKE/ikev2-child-nopfs.cpp       |  78 --
 .../Protocols/IKE/ikev2-child-nopfs.spdl      | 112 ---
 .../scyther/Protocols/IKE/ikev2-child.cpp     |  87 --
 .../scyther/Protocols/IKE/ikev2-child.spdl    | 121 ---
 .../scyther/Protocols/IKE/ikev2-eap.cpp       | 131 ---
 .../scyther/Protocols/IKE/ikev2-eap.spdl      | 160 ----
 .../scyther/Protocols/IKE/ikev2-eap2.cpp      | 138 ---
 .../scyther/Protocols/IKE/ikev2-eap2.spdl     | 160 ----
 .../scyther/Protocols/IKE/ikev2-mac.cpp       | 104 --
 .../scyther/Protocols/IKE/ikev2-mac.spdl      | 133 ---
 .../scyther/Protocols/IKE/ikev2-mac2.cpp      | 104 --
 .../scyther/Protocols/IKE/ikev2-mac2.spdl     | 133 ---
 .../scyther/Protocols/IKE/ikev2-mactosig.cpp  | 104 --
 .../scyther/Protocols/IKE/ikev2-mactosig.spdl | 132 ---
 .../scyther/Protocols/IKE/ikev2-mactosig2.cpp | 103 --
 .../Protocols/IKE/ikev2-mactosig2.spdl        | 131 ---
 .../IKE/ikev2-sig-child-composed.cpp          | 138 ---
 .../IKE/ikev2-sig-child-composed.spdl         | 165 ----
 .../scyther/Protocols/IKE/ikev2-sig-child.cpp | 138 ---
 .../Protocols/IKE/ikev2-sig-child.spdl        | 165 ----
 .../IKE/ikev2-sig-child2-composed.cpp         | 138 ---
 .../IKE/ikev2-sig-child2-composed.spdl        | 165 ----
 .../Protocols/IKE/ikev2-sig-child2.cpp        | 138 ---
 .../Protocols/IKE/ikev2-sig-child2.spdl       | 165 ----
 .../scyther/Protocols/IKE/ikev2-sig.cpp       | 103 --
 .../scyther/Protocols/IKE/ikev2-sig.spdl      | 132 ---
 .../scyther/Protocols/IKE/ikev2-sig2.cpp      | 103 --
 .../scyther/Protocols/IKE/ikev2-sig2.spdl     | 132 ---
 .../scyther/Protocols/IKE/ikev2-sigtomac.cpp  | 104 --
 .../scyther/Protocols/IKE/ikev2-sigtomac.spdl | 132 ---
 .../scyther/Protocols/IKE/ikev2-sigtomac2.cpp | 104 --
 .../Protocols/IKE/ikev2-sigtomac2.spdl        | 132 ---
 .../scyther/Protocols/IKE/jfki-core.cpp       |  54 --
 .../scyther/Protocols/IKE/jfki-core.spdl      |  88 --
 .../shared/scyther/Protocols/IKE/jfki.cpp     |  84 --
 .../shared/scyther/Protocols/IKE/jfki.spdl    | 118 ---
 .../scyther/Protocols/IKE/jfkr-core.cpp       |  78 --
 .../scyther/Protocols/IKE/jfkr-core.spdl      | 112 ---
 .../shared/scyther/Protocols/IKE/jfkr.cpp     |  83 --
 .../shared/scyther/Protocols/IKE/jfkr.spdl    | 117 ---
 .../shared/scyther/Protocols/IKE/make-mpa.py  |  63 --
 .../scyther/Protocols/IKE/mpa/README.txt      |   6 -
 .../shared/scyther/Protocols/IKE/oakley-a.cpp |  60 --
 .../scyther/Protocols/IKE/oakley-a.spdl       |  91 --
 .../scyther/Protocols/IKE/oakley-alt.cpp      |  63 --
 .../scyther/Protocols/IKE/oakley-alt.spdl     |  94 --
 .../shared/scyther/Protocols/IKE/oakley-c.cpp | 105 --
 .../scyther/Protocols/IKE/oakley-c.spdl       | 140 ---
 .../shared/scyther/Protocols/IKE/pp.sh        |  21 -
 .../shared/scyther/Protocols/IKE/scanner.py   | 800 ----------------
 .../scyther/Protocols/IKE/skeme-basic.cpp     |  61 --
 .../scyther/Protocols/IKE/skeme-basic.spdl    |  87 --
 .../scyther/Protocols/IKE/skeme-psk.cpp       |  82 --
 .../scyther/Protocols/IKE/skeme-psk.spdl      | 109 ---
 .../scyther/Protocols/IKE/skeme-rekey.cpp     |  80 --
 .../scyther/Protocols/IKE/skeme-rekey.spdl    | 111 ---
 .../shared/scyther/Protocols/IKE/sts-mac.cpp  |  78 --
 .../shared/scyther/Protocols/IKE/sts-mac.spdl | 112 ---
 .../shared/scyther/Protocols/IKE/sts-main.cpp |  79 --
 .../scyther/Protocols/IKE/sts-main.spdl       | 114 ---
 .../scyther/Protocols/IKE/sts-modified.cpp    |  55 --
 .../scyther/Protocols/IKE/sts-modified.spdl   |  88 --
 .../shared/scyther/Protocols/IKE/verify.sh    | 149 ---
 .../scyther/Protocols/IKE/verify_all.sh       |  20 -
 .../scyther/Protocols/ISO-9798/Makefile       |  16 -
 .../scyther/Protocols/ISO-9798/iso25-tag.spdl |  78 --
 .../scyther/Protocols/ISO-9798/iso26-tag.spdl |  95 --
 .../ISO-9798/isoiec-9798-2-1-udkey.spdl       |  35 -
 .../Protocols/ISO-9798/isoiec-9798-2-1.spdl   |  55 --
 .../ISO-9798/isoiec-9798-2-2-udkey.spdl       |  40 -
 .../Protocols/ISO-9798/isoiec-9798-2-2.spdl   |  59 --
 .../ISO-9798/isoiec-9798-2-3-udkey.spdl       |  49 -
 .../Protocols/ISO-9798/isoiec-9798-2-3.spdl   |  67 --
 .../ISO-9798/isoiec-9798-2-4-udkey.spdl       |  50 -
 .../Protocols/ISO-9798/isoiec-9798-2-4.spdl   |  88 --
 .../Protocols/ISO-9798/isoiec-9798-2-5.spdl   |  93 --
 .../Protocols/ISO-9798/isoiec-9798-2-6.spdl   |  90 --
 .../Protocols/ISO-9798/isoiec-9798-3-1.spdl   |  33 -
 .../Protocols/ISO-9798/isoiec-9798-3-2.spdl   |  39 -
 .../Protocols/ISO-9798/isoiec-9798-3-3.spdl   |  44 -
 .../Protocols/ISO-9798/isoiec-9798-3-4.spdl   |  46 -
 .../Protocols/ISO-9798/isoiec-9798-3-5.spdl   |  49 -
 .../Protocols/ISO-9798/isoiec-9798-3-6-1.cpp  |  12 -
 .../Protocols/ISO-9798/isoiec-9798-3-6-1.spdl |  69 --
 .../Protocols/ISO-9798/isoiec-9798-3-6-2.cpp  |  12 -
 .../Protocols/ISO-9798/isoiec-9798-3-6-2.spdl |  69 --
 .../ISO-9798/isoiec-9798-3-6.template         |  68 --
 .../Protocols/ISO-9798/isoiec-9798-3-7-1.cpp  |  12 -
 .../Protocols/ISO-9798/isoiec-9798-3-7-1.spdl |  66 --
 .../Protocols/ISO-9798/isoiec-9798-3-7-2.cpp  |  12 -
 .../Protocols/ISO-9798/isoiec-9798-3-7-2.spdl |  68 --
 .../ISO-9798/isoiec-9798-3-7.template         |  67 --
 .../ISO-9798/isoiec-9798-4-1-udkey.spdl       |  39 -
 .../Protocols/ISO-9798/isoiec-9798-4-1.spdl   |  58 --
 .../ISO-9798/isoiec-9798-4-2-udkey.spdl       |  43 -
 .../Protocols/ISO-9798/isoiec-9798-4-2.spdl   |  62 --
 .../ISO-9798/isoiec-9798-4-3-udkey.spdl       |  50 -
 .../Protocols/ISO-9798/isoiec-9798-4-3.spdl   |  69 --
 .../ISO-9798/isoiec-9798-4-4-udkey.spdl       |  52 -
 .../Protocols/ISO-9798/isoiec-9798-4-4.spdl   |  75 --
 .../Protocols/MultiProtocolAttacks/BKE.spdl   |  40 -
 .../andrew-ban-concrete.spdl                  |  67 --
 .../MultiProtocolAttacks/andrew-ban.spdl      |  52 -
 .../MultiProtocolAttacks/andrew-lowe-ban.spdl |  57 --
 .../Protocols/MultiProtocolAttacks/boyd.spdl  |  56 --
 .../MultiProtocolAttacks/ccitt509-ban3.spdl   |  39 -
 .../denning-sacco-lowe.spdl                   |  66 --
 .../MultiProtocolAttacks/denning-sacco.spdl   |  55 --
 .../MultiProtocolAttacks/gong-nonce-b.spdl    |  60 --
 .../MultiProtocolAttacks/gong-nonce.spdl      |  57 --
 .../isoiec11770-2-13.spdl                     |  42 -
 .../MultiProtocolAttacks/kaochow-v2.spdl      |  55 --
 .../MultiProtocolAttacks/kaochow-v3.spdl      |  59 --
 .../MultiProtocolAttacks/kaochow.spdl         |  55 --
 .../Protocols/MultiProtocolAttacks/ksl.spdl   |  75 --
 .../needham-schroeder-sk-amend.spdl           |  66 --
 .../needham-schroeder-sk.spdl                 |  56 --
 .../Protocols/MultiProtocolAttacks/new.txt    |   5 -
 .../Protocols/MultiProtocolAttacks/ns3.spdl   |  41 -
 .../Protocols/MultiProtocolAttacks/nsl3.spdl  |  39 -
 .../MultiProtocolAttacks/otwayrees.spdl       |  56 --
 .../Protocols/MultiProtocolAttacks/soph.spdl  |  21 -
 .../MultiProtocolAttacks/splice-as-cj.spdl    |  66 --
 .../MultiProtocolAttacks/splice-as-hc.spdl    |  61 --
 .../MultiProtocolAttacks/splice-as.spdl       |  66 --
 .../Protocols/MultiProtocolAttacks/tmn.spdl   |  51 -
 .../MultiProtocolAttacks/wmf-brutus.spdl      |  32 -
 .../MultiProtocolAttacks/wmf-lowe.spdl        |  63 --
 .../Protocols/MultiProtocolAttacks/wmf.spdl   |  54 --
 .../MultiProtocolAttacks/woo-lam-pi-1.spdl    |  41 -
 .../MultiProtocolAttacks/woo-lam-pi-2.spdl    |  41 -
 .../MultiProtocolAttacks/woo-lam-pi-3.spdl    |  41 -
 .../MultiProtocolAttacks/woo-lam-pi-f.spdl    |  41 -
 .../MultiProtocolAttacks/woo-lam.spdl         |  64 --
 .../yahalom-ban-paulson-modified.spdl         |  49 -
 .../yahalom-ban-paulson.spdl                  |  47 -
 .../MultiProtocolAttacks/yahalom-ban.spdl     |  55 --
 .../MultiProtocolAttacks/yahalom-lowe.spdl    |  53 --
 .../MultiProtocolAttacks/yahalom.spdl         |  52 -
 .../shared/scyther/Protocols/NotModelled.txt  |  23 -
 .../Protocols/andrew-ban-concrete.spdl        |  67 --
 .../shared/scyther/Protocols/andrew-ban.spdl  |  54 --
 .../scyther/Protocols/andrew-lowe-ban.spdl    |  57 --
 .../shared/scyther/Protocols/andrew.spdl      |  50 -
 .../shared/scyther/Protocols/ccitt509-1.spdl  |  35 -
 .../shared/scyther/Protocols/ccitt509-1c.spdl |  34 -
 .../shared/scyther/Protocols/ccitt509-3.spdl  |  45 -
 .../scyther/Protocols/ccitt509-ban3.spdl      |  39 -
 .../scyther/Protocols/denning-sacco-lowe.spdl |  67 --
 .../scyther/Protocols/denning-sacco.spdl      |  53 --
 .../shared/scyther/Protocols/kaochow-v2.spdl  |  55 --
 .../shared/scyther/Protocols/kaochow-v3.spdl  |  59 --
 .../shared/scyther/Protocols/kaochow.spdl     |  55 --
 .../shared/scyther/Protocols/ksl-lowe.spdl    |  73 --
 .../shared/scyther/Protocols/ksl.spdl         |  72 --
 .../multi-NSL/heuristics-results.txt          | 776 ---------------
 .../Protocols/multi-NSL/mnsl-results.txt      |  33 -
 .../Protocols/multi-NSL/multinsl-generator.py | 345 -------
 .../Protocols/multi-NSL/test-heuristics.py    |  69 --
 .../Protocols/multi-NSL/test-variants.py      |  79 --
 .../Protocols/needham-schroeder-lowe.spdl     |  53 --
 .../Protocols/needham-schroeder-sk-amend.spdl |  66 --
 .../Protocols/needham-schroeder-sk.spdl       |  56 --
 .../scyther/Protocols/needham-schroeder.spdl  |  53 --
 .../Protocols/neumannstub-guttman-hwang.spdl  | 105 --
 .../Protocols/neumannstub-guttman.spdl        | 105 --
 .../scyther/Protocols/neumannstub-hwang.spdl  |  71 --
 .../Protocols/neumannstub-keycompromise.spdl  | 105 --
 .../shared/scyther/Protocols/neumannstub.spdl |  98 --
 .../shared/scyther/Protocols/otwayrees.spdl   |  56 --
 .../shared/scyther/Protocols/smartright.spdl  |  46 -
 .../scyther/Protocols/splice-as-cj.spdl       |  66 --
 .../scyther/Protocols/splice-as-hc.spdl       |  61 --
 .../shared/scyther/Protocols/splice-as.spdl   |  66 --
 .../shared/scyther/Protocols/tmn.spdl         |  51 -
 .../shared/scyther/Protocols/wmf-lowe.spdl    |  63 --
 .../shared/scyther/Protocols/wmf.spdl         |  54 --
 .../scyther/Protocols/woo-lam-pi-1.spdl       |  41 -
 .../scyther/Protocols/woo-lam-pi-2.spdl       |  41 -
 .../scyther/Protocols/woo-lam-pi-3.spdl       |  41 -
 .../scyther/Protocols/woo-lam-pi-f.spdl       |  41 -
 .../shared/scyther/Protocols/woo-lam-pi.spdl  |  45 -
 .../shared/scyther/Protocols/woo-lam.spdl     |  64 --
 .../shared/scyther/Protocols/yahalom-ban.spdl |  54 --
 .../scyther/Protocols/yahalom-lowe.spdl       |  52 -
 .../scyther/Protocols/yahalom-paulson.spdl    |  56 --
 .../shared/scyther/Protocols/yahalom.spdl     |  52 -
 Vagrant Files/shared/scyther/README.md        |  66 --
 .../shared/scyther/Scripts/regression-test.py |  91 --
 .../scyther/Scripts/regression-test.txt       |  64 --
 .../shared/scyther/Scripts/scytherview.py     | 113 ---
 .../shared/scyther/Scyther/.gitignore         |   3 -
 .../shared/scyther/Scyther/Attack.py          |  71 --
 Vagrant Files/shared/scyther/Scyther/Claim.py | 197 ----
 Vagrant Files/shared/scyther/Scyther/Error.py | 121 ---
 .../shared/scyther/Scyther/FindDot.py         | 129 ---
 Vagrant Files/shared/scyther/Scyther/Misc.py  | 158 ---
 .../shared/scyther/Scyther/Scyther.py         | 648 -------------
 Vagrant Files/shared/scyther/Scyther/Term.py  | 223 -----
 Vagrant Files/shared/scyther/Scyther/Trace.py | 358 -------
 .../shared/scyther/Scyther/XMLReader.py       | 357 -------
 .../shared/scyther/Scyther/__init__.py        |  29 -
 Vagrant Files/shared/scyther/Time/test.py     |  63 --
 Vagrant Files/shared/scyther/batcher.sh       |  46 -
 Vagrant Files/shared/scyther/combos-book.sh   |  11 -
 Vagrant Files/shared/scyther/combos-ike.sh    |   8 -
 Vagrant Files/shared/scyther/combos-ikev0.sh  |  12 -
 Vagrant Files/shared/scyther/combos-ikev1.sh  |  12 -
 Vagrant Files/shared/scyther/combos-ikev2.sh  |  13 -
 Vagrant Files/shared/scyther/combos-iso.sh    |  11 -
 .../shared/scyther/generate-attack-graphs.py  | 131 ---
 Vagrant Files/shared/scyther/json-scyther.py  |  66 --
 Vagrant Files/shared/scyther/make-bsub.py     |  69 --
 Vagrant Files/shared/scyther/mpa.spdl         |  79 --
 .../shared/scyther/notes-brutus-mpa.txt       | 181 ----
 Vagrant Files/shared/scyther/ns3.spdl         |  47 -
 Vagrant Files/shared/scyther/nsl3-broken.spdl |  40 -
 Vagrant Files/shared/scyther/nsl3.spdl        |  47 -
 .../shared/scyther/precompute-ike.sh          |   5 -
 .../shared/scyther/progressbarDummy.py        |  60 --
 Vagrant Files/shared/scyther/scyther-gui.py   | 245 -----
 Vagrant Files/shared/scyther/scyther-gui.rc   |   4 -
 Vagrant Files/shared/scyther/scyther.py       |  57 --
 Vagrant Files/shared/scyther/test-delta.py    | 181 ----
 Vagrant Files/shared/scyther/test-mpa.py      | 896 ------------------
 Vagrant Files/shared/scyther/todo.txt         |  29 -
 Vagrant Files/shared/scyther/wiper.sh         |   9 -
 .../shared/{ => test folder}/example.txt.txt  |   0
 314 files changed, 69 insertions(+), 29213 deletions(-)
 delete mode 100644 Vagrant Files/.gitkeep
 create mode 100644 Vagrant Files/InstallationInstructions.txt
 create mode 100644 Vagrant Files/files/guide.txt
 rename Vagrant Files/{shared/scyther => files}/scyther-manual.pdf (100%)
 delete mode 100644 Vagrant Files/files/test folder/guide.txt
 create mode 100644 Vagrant Files/shared/GitLink/sessionkey.sdpl.txt
 delete mode 100644 Vagrant Files/shared/scyther/.gitignore
 delete mode 100644 Vagrant Files/shared/scyther/Changelog.txt
 delete mode 100644 Vagrant Files/shared/scyther/GNU-General-Public-License.txt
 delete mode 100644 Vagrant Files/shared/scyther/Gui/About.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Attackwindow.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Editor.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Error.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Icon.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Mainwindow.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Makeimage.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Misc.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Preference.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Scytherthread.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Settingswindow.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Temporary.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/Version.py
 delete mode 100644 Vagrant Files/shared/scyther/Gui/__init__.py
 delete mode 100644 Vagrant Files/shared/scyther/INSTALL.md
 delete mode 100644 Vagrant Files/shared/scyther/INSTALL.txt
 delete mode 100644 Vagrant Files/shared/scyther/Images/scyther-gui-16.ico
 delete mode 100644 Vagrant Files/shared/scyther/Images/scyther-gui-32.ico
 delete mode 100644 Vagrant Files/shared/scyther/Images/scyther-gui-64.ico
 delete mode 100644 Vagrant Files/shared/scyther/Images/scyther-icon.svg
 delete mode 100644 Vagrant Files/shared/scyther/Images/scyther-splash.png
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/Demo/ns3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/Demo/nsl3-broken.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/Demo/nsl3-updated-both.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/Demo/nsl3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsa.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsacorrected.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2satek.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pqr.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatek.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatekcorrected.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/Makefile
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/common.h
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfki.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfki.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfkr.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/jfkr.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/make-mpa.py
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/mpa/README.txt
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/pp.sh
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/scanner.py
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/sts-main.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/sts-main.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/verify.sh
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/IKE/verify_all.sh
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/Makefile
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/iso25-tag.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/iso26-tag.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-5.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-6.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-4.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-5.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6.template
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.cpp
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7.template
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4-udkey.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/BKE.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban-concrete.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-lowe-ban.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/boyd.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ccitt509-ban3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce-b.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/isoiec11770-2-13.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ksl.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk-amend.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/new.txt
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ns3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/nsl3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/otwayrees.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/soph.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-cj.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-hc.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/tmn.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-brutus.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-f.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson-modified.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/NotModelled.txt
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/andrew-ban-concrete.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/andrew-ban.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/andrew-lowe-ban.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/andrew.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ccitt509-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ccitt509-1c.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ccitt509-3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ccitt509-ban3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/denning-sacco-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/denning-sacco.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/kaochow-v2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/kaochow-v3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/kaochow.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ksl-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/ksl.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/multi-NSL/heuristics-results.txt
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/multi-NSL/mnsl-results.txt
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/multi-NSL/multinsl-generator.py
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/multi-NSL/test-heuristics.py
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/multi-NSL/test-variants.py
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/needham-schroeder-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk-amend.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/needham-schroeder.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/neumannstub-guttman-hwang.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/neumannstub-guttman.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/neumannstub-hwang.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/neumannstub-keycompromise.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/neumannstub.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/otwayrees.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/smartright.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/splice-as-cj.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/splice-as-hc.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/splice-as.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/tmn.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/wmf-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/wmf.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/woo-lam-pi-1.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/woo-lam-pi-2.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/woo-lam-pi-3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/woo-lam-pi-f.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/woo-lam-pi.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/woo-lam.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/yahalom-ban.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/yahalom-lowe.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/yahalom-paulson.spdl
 delete mode 100644 Vagrant Files/shared/scyther/Protocols/yahalom.spdl
 delete mode 100644 Vagrant Files/shared/scyther/README.md
 delete mode 100644 Vagrant Files/shared/scyther/Scripts/regression-test.py
 delete mode 100644 Vagrant Files/shared/scyther/Scripts/regression-test.txt
 delete mode 100644 Vagrant Files/shared/scyther/Scripts/scytherview.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/.gitignore
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Attack.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Claim.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Error.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/FindDot.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Misc.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Scyther.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Term.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/Trace.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/XMLReader.py
 delete mode 100644 Vagrant Files/shared/scyther/Scyther/__init__.py
 delete mode 100644 Vagrant Files/shared/scyther/Time/test.py
 delete mode 100644 Vagrant Files/shared/scyther/batcher.sh
 delete mode 100644 Vagrant Files/shared/scyther/combos-book.sh
 delete mode 100644 Vagrant Files/shared/scyther/combos-ike.sh
 delete mode 100644 Vagrant Files/shared/scyther/combos-ikev0.sh
 delete mode 100644 Vagrant Files/shared/scyther/combos-ikev1.sh
 delete mode 100644 Vagrant Files/shared/scyther/combos-ikev2.sh
 delete mode 100644 Vagrant Files/shared/scyther/combos-iso.sh
 delete mode 100644 Vagrant Files/shared/scyther/generate-attack-graphs.py
 delete mode 100644 Vagrant Files/shared/scyther/json-scyther.py
 delete mode 100644 Vagrant Files/shared/scyther/make-bsub.py
 delete mode 100644 Vagrant Files/shared/scyther/mpa.spdl
 delete mode 100644 Vagrant Files/shared/scyther/notes-brutus-mpa.txt
 delete mode 100644 Vagrant Files/shared/scyther/ns3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/nsl3-broken.spdl
 delete mode 100644 Vagrant Files/shared/scyther/nsl3.spdl
 delete mode 100644 Vagrant Files/shared/scyther/precompute-ike.sh
 delete mode 100644 Vagrant Files/shared/scyther/progressbarDummy.py
 delete mode 100644 Vagrant Files/shared/scyther/scyther-gui.py
 delete mode 100644 Vagrant Files/shared/scyther/scyther-gui.rc
 delete mode 100644 Vagrant Files/shared/scyther/scyther.py
 delete mode 100644 Vagrant Files/shared/scyther/test-delta.py
 delete mode 100644 Vagrant Files/shared/scyther/test-mpa.py
 delete mode 100644 Vagrant Files/shared/scyther/todo.txt
 delete mode 100644 Vagrant Files/shared/scyther/wiper.sh
 rename Vagrant Files/shared/{ => test folder}/example.txt.txt (100%)

diff --git a/Vagrant Files/.gitkeep b/Vagrant Files/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/Vagrant Files/InstallationInstructions.txt b/Vagrant Files/InstallationInstructions.txt
new file mode 100644
index 0000000..0e203ff
--- /dev/null
+++ b/Vagrant Files/InstallationInstructions.txt	
@@ -0,0 +1,17 @@
+
+Please ensure that you have installed Vagrant and have a virtual machine hypervisor installed on your host machine.
+Virtualbox is the reccomended hypervisor for this software
+
+
+Scytherbox Installation instructions:
+
+1. Create a new folder on your host machine
+
+2. Copy and paste or extract the contents of this folder into the newly created folder
+
+3. Open Powershell or your text terminal of choice and navigate to the newly created folder.
+
+4. type 'vagrant up' inside the folder.
+
+5. Allow time for Vagrant to download the base box and apply the provisioners to the box, this may take several minutes.
+
diff --git a/Vagrant Files/files/guide.txt b/Vagrant Files/files/guide.txt
new file mode 100644
index 0000000..390795e
--- /dev/null
+++ b/Vagrant Files/files/guide.txt	
@@ -0,0 +1,10 @@
+
+To run Scyther, the scyther-gui.py file is recomeded, this can be launched through terminal by typing:
+
+./scyther/scyther-gui.py
+
+From here, protocols can be loaded using the file -> open menu or crtl+o. By going Desktop->SyncedFiles->GitLink
+Any protocols in your configured git repo can be opened.
+
+More information on how to use Scyther is availible in the Scyther manual which can be accessed from the desktop
+
diff --git a/Vagrant Files/shared/scyther/scyther-manual.pdf b/Vagrant Files/files/scyther-manual.pdf
similarity index 100%
rename from Vagrant Files/shared/scyther/scyther-manual.pdf
rename to Vagrant Files/files/scyther-manual.pdf
diff --git a/Vagrant Files/files/test folder/guide.txt b/Vagrant Files/files/test folder/guide.txt
deleted file mode 100644
index e740c7a..0000000
--- a/Vagrant Files/files/test folder/guide.txt	
+++ /dev/null
@@ -1 +0,0 @@
-These are where the scyther install instructions and user guide parts are going to go
\ No newline at end of file
diff --git a/Vagrant Files/shared/GitLink/sessionkey.sdpl.txt b/Vagrant Files/shared/GitLink/sessionkey.sdpl.txt
new file mode 100644
index 0000000..0df74a2
--- /dev/null
+++ b/Vagrant Files/shared/GitLink/sessionkey.sdpl.txt	
@@ -0,0 +1,42 @@
+usertype SessionKey;
+usertype Message;
+
+protocol EncrpytedExchange(Meter,Monitor)
+
+	{
+
+	role Meter {
+
+    fresh M: Message;
+	fresh TokenA: SessionKey;
+	var TokenB;
+
+	send_1(Meter,Monitor,{TokenA}k(k));
+	recv_2(Monitor,Meter,{TokenB}k(k));
+	claim(Meter,Running,Monitor,M);
+	send_3(Meter,Monitor,{M}k(k));
+
+	claim_Meter1(Meter, Secret, (k));
+	claim_Meter2(Meter, Secret, M);
+	claim_Meter3(Meter,Niagree);
+	claim_Meter4(Meter,Nisynch);
+
+	}
+
+	role Monitor {
+
+	var M;
+	var TokenA;
+	fresh TokenB: SessionKey;
+
+	recv_1(Meter,Monitor,{TokenA}k(k));
+	send_2(Monitor,Meter,{TokenB}k(k));
+	recv_3(Meter,Monitor,{M}k(k));
+
+	claim_Monitor1(Monitor, Secret, (k));
+	claim_Monitor2(Monitor, Secret, M);
+	claim_Meter3(Monitor,Niagree);
+	claim_Meter4(Monitor,Nisynch);
+
+	   }
+}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/.gitignore b/Vagrant Files/shared/scyther/.gitignore
deleted file mode 100644
index e62e34e..0000000
--- a/Vagrant Files/shared/scyther/.gitignore	
+++ /dev/null
@@ -1,4 +0,0 @@
-*.pyc
-progressbar.py
-Cache
-Cache-OLD
diff --git a/Vagrant Files/shared/scyther/Changelog.txt b/Vagrant Files/shared/scyther/Changelog.txt
deleted file mode 100644
index b2af59b..0000000
--- a/Vagrant Files/shared/scyther/Changelog.txt	
+++ /dev/null
@@ -1,159 +0,0 @@
-Scyther changelog
-===============================
-
-Scyther 1.1.2
--------------------------------
-
-Minor:
-
- * Updated installation instructions.
- * Updated 'ffgg' protocol generator for new conventions.
- * Windows users recently had to manually set the Graphviz path. Added a
- hack to avoid this inconvenience in most (but not all) cases.
- * Minor manual update.
-
-Bug fixes:
-
- * [Bugfix] Reverted use of shlex. This breaks the "abort backend
- thread" functionality again, but it was causing too much trouble on
- Windows.
-
-Scyther 1.1.1
--------------------------------
-
-This is mostly a bugfix release.
-
-New features:
-
- * [Language] Weakagree and Alive claims now also allow for an optional role
- parameter, which can be useful for protocols with more than two roles.
- * [Misc] Added Python script to dump attack outputs for large sets of files.
- * [Gui] Canceling verification now also kills back-end thread.
-
-Regression fixes:
-
- * [Regression-fix] Reintroduced option for specifying alternative PKI.
-
-Bug fixes:
-
- * [Bugfix] Fixed rare bug in some cases where hashes were used as symmetric keys.
- * [Bugfix] Invoking Scyther scripts from non-standard directories or using symlinks should work consistently now.
- * [Bugfix] Improving compatibility with recent versions of Graphviz (>2.26)
-
-Scyther 1.1
--------------------------------
-
-Major new features:
-
- * [Language] Added support for `macro Term1 = Term2;` definitions, which greatly
- simplifies many specifications.
- * [Language] Added support for `match(T1,T2);` events in roles, which
- can be used for e.g. a straightforward modeling of delayed decryption.
- * [Language] Added support for `not match(T1,T2);` events in roles.
- This can be useful for, e.g., modeling protocol restrictions (such as
- `A != B`).
- * [Language] Added support for `option "COMMANDLINE_OPTIONS";` in
- specifications. This provides full access to the command-line options
- of the Scyther backend to the protocol specifications. An example of
- its use is `option "--one-role-per-agent";`.
- * [Mac OS X] Dropped support for PPC in Scyther distributions, only
- supporting Intel for now. Note that installing from source may still
- work fine with a minor tweak to the build script.
-
-Additional protocol models:
-
-See <http://www.cs.ox.ac.uk/people/cas.cremers/tools/protocols.html> for a
-more high-level overview of selected protocol models.
-
- * IEEE 802.16e/WIMAX: PKMv2rsa and variants
- * IKEv1 and IKEv2 protocol suites
-
-Other new features:
-
- * `SCYTHERCACHEDIR` environment variable can be set to override the
- internal cache path.
- * [Backend] The command-line tool now supports the option
- `--one-role-per-agent`. This disallows agents from performing more than
- one role in a single trace. This effectively partitions the agents into
- role sets, i.e., each role can only be performed by agents from one of
- these sets.
- * [Documentation] Added the first incomplete version of the new manual.
- 
-There are also various minor bugfixes and installation improvements.
-
-Scyther 1.0
--------------------------------
-
-Major new features:
-
- * [Language] Support for weak agreement
- * [Language] Support for non-injective data agreement through `Commit`
- and `Running` signals.
-
-Bugfixes:
-
- * Python 2.5 has integrated (c)elementtree into the core.
-   Unfortunaly, this broke our previous import attempts. This has now
-   been fixed.
-
-Scyther 1.0-beta7.1
--------------------------------
-
-Bugfixes:
-
- * Windows Vista fix broke Windows XP support.
-
-Scyther 1.0-beta7
--------------------------------
-
-Bugfixes:
-
- * Windows Vista causes a number of problems. The biggest problem
-   is now fixed, which is the bad implementation of the tmpfile() C
-   function, causing no attack output, for which there is a
-   workaround now.
-
-Scyther 1.0-beta6 
--------------------------------
-   
-Major new features:
-
- * [Gui] Added Mac support (added universal binary)
- * [Gui] Switched to Scintilla editor component, providing undo
-   and line numbering, and highlighting of error lines.
-
-Other new features:
-
- * [Backend] Scyther now detects when a recv event cannot match
-   with a send event. This significantly helps in reducing errors
-   in the protocol descriptions.
- * [Language] Added claim parameter for Reachable claim;
-   Reachable,R means that role R should be trusted (as well as the
-   actor), but not any other role. This can be useful for showing
-   stronger authentication properties of protocols with more than
-   two parties.
- * [Backend] Added '--max-of-role=N' switch (to narrow scenarios)
- * [Backend] Added '--scan-claims' switch (allows for retrieving
-   a list of claims)
- * [Scripting] Added 'verifyOne' and 'scanClaims' methods to
-   Scyther object, to help with singular claim testing.
-
-   Bugfixes:
-
- * [Scripting] Fixed bug in python interface backend (e.g. with mpa.py)
-
-Scyther 1.0-beta5 
--------------------------------
-
- * Change of switch semantics.  '--max-attacks=N' now defines the
-     maximum number of attacks per claim.  Previously this was a
-     global maximum for all claims combined.
- * Improved attack graph output.
- * added switch '--errors=FILE' to redirect standard error output
-     to a file.
- * Rewrote parts of the gui code for improved stability.
-
-Scyther 1.0-beta4 
--------------------------------
-
- * (Changelog starts after the release of Scyther 1.0-beta4)
diff --git a/Vagrant Files/shared/scyther/GNU-General-Public-License.txt b/Vagrant Files/shared/scyther/GNU-General-Public-License.txt
deleted file mode 100644
index d511905..0000000
--- a/Vagrant Files/shared/scyther/GNU-General-Public-License.txt	
+++ /dev/null
@@ -1,339 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/Vagrant Files/shared/scyther/Gui/About.py b/Vagrant Files/shared/scyther/Gui/About.py
deleted file mode 100644
index b415c55..0000000
--- a/Vagrant Files/shared/scyther/Gui/About.py	
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import wx.html
-import os.path
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-
-import Scyther
-
-#---------------------------------------------------------------------------
-
-""" Globals """
-
-basedir = ""
-
-#---------------------------------------------------------------------------
-
-def setBaseDir(mybasedir):
-        global basedir
-
-        basedir = mybasedir
-
-#---------------------------------------------------------------------------
-
-class AboutScyther(wx.Dialog):
-    def __init__(self,parent,mybasedir=None):
-
-        from Version import SCYTHER_GUI_VERSION
-        global basedir
-
-        self.text = '''
-<html>
-<body bgcolor="#ffffff">
-<img src="$SPLASH">
-<h5 align="right">Scyther : $VERSION</h5>
-<small>
-    <p>
-        <b>Scyther</b> is an automatic tool for the verification and
-        falsification of security protocols.
-    </p>
-    <p>
-        For news and updates visit the Scyther pages at 
-        <a target="_blank" href="http://www.cs.ox.ac.uk/people/cas.cremers/scyther/index.html">
-        http://www.cs.ox.ac.uk/people/cas.cremers/scyther/index.html</a>
-    </p>
-    <h5>License</h5>
-    <p>
-        Scyther : An automatic verifier for security protocols.<br>
-        Copyright (C) 2007-2013 Cas Cremers
-    </p>
-    <p>
-        This program is free software; you can redistribute it and/or
-        modify it under the terms of the GNU General Public License
-        as published by the Free Software Foundation; either version 2
-        of the License, or (at your option) any later version.
-    </p>
-    <p>
-        This program is distributed in the hope that it will be useful,
-        but WITHOUT ANY WARRANTY; without even the implied warranty of
-        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-        GNU General Public License for more details.
-    </p>
-    <p>
-        You should have received a copy of the GNU General Public License
-        along with this program; if not, write to the Free Software
-        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-    </p>
-    <h5>Backend version</h5>
-    <p>
-        $DETAILS
-    </p>
-    <h5>Credits</h5>
-    <p>
-        Cas Cremers (Scyther theory, backend, and main GUI
-        code), Gijs Hollestelle (Python parser for Scyther XML output).
-    </p>
-</small>
-        '''
-
-        if mybasedir:
-            basedir = mybasedir
-
-        # Debugging output of some parameters
-
-        splashdir = os.path.join(basedir,"Images")
-        splashimage = os.path.join(splashdir,"scyther-splash.png")
-        details_html = "Base directory: %s<br>\n" % (basedir)
-        details_html += Scyther.Scyther.GetInfo(html=True)
-
-        self.text = self.text.replace("$SPLASH",splashimage)
-        self.text = self.text.replace("$DETAILS",details_html)
-
-        # version information
-        self.text = self.text.replace("$VERSION", SCYTHER_GUI_VERSION)
-
-        wx.Dialog.__init__(self, parent, -1, 'About Scyther',
-                size=(660,620))
-        html = wx.html.HtmlWindow(self)
-        #if "gtk2" in wx.PlatformInfo:
-        #    html.SetStandardFonts()
-        html.SetBorders(10)
-        html.SetPage(self.text)
-        button = wx.Button(self, wx.ID_OK, "Close window")
-
-        sizer = wx.BoxSizer(wx.VERTICAL)
-        sizer.Add(html, 1, wx.EXPAND|wx.ALL,0)
-        sizer.Add(button,0,wx.ALIGN_CENTER|wx.ALL,5)
-
-        self.SetSizer(sizer)
-        self.Layout()
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Attackwindow.py b/Vagrant Files/shared/scyther/Gui/Attackwindow.py
deleted file mode 100644
index 39b9f06..0000000
--- a/Vagrant Files/shared/scyther/Gui/Attackwindow.py	
+++ /dev/null
@@ -1,330 +0,0 @@
-#!/usr/bin/python
-from __future__ import division # 2.2+-only
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import os
-from Misc import *
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-import Icon
-import Preference
-import Error
-
-#---------------------------------------------------------------------------
-try:
-    import Image
-except ImportError:
-    pass
-
-#---------------------------------------------------------------------------
-
-class AttackDisplay(wx.ScrolledWindow):
-    """
-    Display an attack (inside a tab or not)
-    """
-    def __init__(self, daddy, parent, attack):
-
-        self.win = daddy
-        self.attack = attack
-
-        wx.ScrolledWindow.__init__(self,parent,id=-1)
-
-        self.Bind(wx.EVT_SIZE, self.OnSize)
-        self.Image = wx.StaticBitmap(self, -1, wx.EmptyBitmap(1,1))
-        self.box = wx.BoxSizer(wx.VERTICAL)
-        self.box.Add(self.Image,1,wx.ALIGN_CENTER)
-        self.hbox = wx.BoxSizer(wx.HORIZONTAL)
-        self.hbox.Add(self.box,1,wx.ALIGN_CENTER)
-        self.SetSizer(self.hbox)
-
-        self.original = None
-
-        filename = attack.file
-        if attack.filetype == "png":
-            self.original = wx.Image(filename,wx.BITMAP_TYPE_PNG)
-        elif attack.filetype == "ps":
-            # depends on PIL lib
-            try:
-                self.original = Image.open(filename)
-            except:
-                Preference.doNotUsePIL()
-                raise Error.PILError
-        else:
-            print "Unknown file type %s." % (self.filetype)
-
-        # TODO self.Bind(wxSizeEvent
-        self.update(True)
-        self.Fit()
-
-    def OnSize(self,event):
-        self.update(False)
-        event.Skip()
-
-    def update(self,force=True):
-
-        if not force:
-            if not self.win.fit:
-                return
-
-        # This is needed, don't ask me why.
-        self.SetScrollbars(0,0,0,0,0,0)
-
-        (framewidth,frameheight) = self.GetClientSizeTuple()
-        (virtualwidth,virtualheight) = (framewidth,frameheight)
-
-        def makefit(width,height):
-            if self.win.fit:
-                # determine scaling factors for fitting
-                wfactor = float(framewidth) / width
-                hfactor = float(frameheight) / height
-
-                # select smallest factor (so it will fit)
-                if hfactor < wfactor:
-                    factor = hfactor
-                else:
-                    factor = wfactor
-    
-                # apply scaling factor
-                width = width * factor
-                height = height * factor
-            else:
-                factor = 1.0
-
-            return (factor, int(width), int(height))
-
-        if self.attack.filetype == "png":
-            bmp = self.original
-            if not bmp.Ok():
-                bmp = wx.EmptyImage(1,1)
-            else:
-                (originalwidth,originalheight) = (bmp.GetWidth(), bmp.GetHeight())
-                if self.win.fit:
-                    (factor, virtualwidth, virtualheight) = makefit(originalwidth,originalheight)
-                    bmp = self.original.Scale(virtualwidth,virtualheight)
-            self.Image.SetBitmap(wx.BitmapFromImage(bmp))
-
-        elif self.attack.filetype == "ps":
-            pil = self.original.copy()
-            (originalwidth,originalheight) = pil.size
-            (factor, virtualwidth, virtualheight) = makefit(originalwidth,originalheight)
-            # we really only want antialias when it's smaller
-            if factor < 1.0:
-                pil.thumbnail((virtualwidth,virtualheight),Image.ANTIALIAS)
-            else:
-                pil.thumbnail((virtualwidth,virtualheight))
-
-            image = wx.EmptyImage(pil.size[0],pil.size[1])
-            image.SetData(pil.convert('RGB').tostring())
-            self.Image.SetBitmap(image.ConvertToBitmap())
-
-        else:
-            print "Unknown file type %s." % (self.attack.filetype)
-
-        self.SetVirtualSize((virtualwidth,virtualheight))
-
-        #self.box.SetItemMinSize(self.Image.GetContainingSizer())
-        self.box.Layout()
-
-        step = 20
-        xn = int(virtualwidth // step) + 1
-        yn = int(virtualheight // step) + 1
-        self.SetScrollbars(step,step,xn,yn,0,0)
-
-        """
-        Pop up menu
-        """
-        self.popupmenu = wx.Menu()
-        item = self.popupmenu.Append(-1,"Export image (.png)")
-        self.Bind(wx.EVT_MENU, self.OnExportPng, item)
-        item = self.popupmenu.Append(-1,"Export image (.ps)")
-        self.Bind(wx.EVT_MENU, self.OnExportPs, item)
-        item = self.popupmenu.Append(-1,"Export image (.pdf)")
-        self.Bind(wx.EVT_MENU, self.OnExportPdf, item)
-        item = self.popupmenu.Append(-1,"Export image (.svg)")
-        self.Bind(wx.EVT_MENU, self.OnExportSvg, item)
-        item = self.popupmenu.Append(-1,"Export image (.fig)")
-        self.Bind(wx.EVT_MENU, self.OnExportFig, item)
-        item = self.popupmenu.Append(-1,"Export graphviz data (.dot)")
-        self.Bind(wx.EVT_MENU, self.OnExportDot, item)
-
-        self.Bind(wx.EVT_CONTEXT_MENU, self.OnShowPopup)
-
-        self.Refresh()
-
-    def OnShowPopup(self, event):
-        pos = event.GetPosition()
-        pos = self.Image.ScreenToClient(pos)
-        self.PopupMenu(self.popupmenu, pos)
-
-    def OnPopupItemSelected(self, event):
-        item = self.popupmenu.FindItemById(event.GetId())
-        text = item.GetText()
-        wx.MessageBox("You selected item %s" % text)
-
-    def askUserForFilename(self, **dialogOptions):
-        dialog = wx.FileDialog(self, **dialogOptions)
-        if dialog.ShowModal() == wx.ID_OK:
-            res = "%s/%s" % (dialog.GetDirectory(), dialog.GetFilename())
-        else:
-            res = None
-        dialog.Destroy()
-        return res
-
-    def saveFileName(self, ext):
-        (p,r,l) = self.win.claim.triplet()
-        prefix = "pattern-%s_%s_%s-%s" % (p,r,l,self.attack.id)
-        suggested = "%s.%s" % (prefix,ext)
-        res = self.askUserForFilename(style=wx.SAVE, wildcard="*.%s" % (ext), defaultFile = "%s" % (suggested))
-        return res
-
-    def exportImage(self, type,ext=None):
-        if ext == None:
-            ext = type
-        res = self.saveFileName(ext)
-        if res != None:
-            cmd = "dot -T%s" % (type)
-            cmdpushwrite(cmd,self.attack.scytherDot,res)
-
-    def OnExportPng(self, event):
-        self.exportImage("png")
-
-    def OnExportPs(self, event):
-        self.exportImage("ps")
-
-    def OnExportPdf(self, event):
-        self.exportImage("pdf")
-
-    def OnExportSvg(self, event):
-        self.exportImage("svg")
-
-    def OnExportFig(self, event):
-        self.exportImage("fig")
-
-    def OnExportDot(self, event):
-        res = self.saveFileName("dot")
-        if res != None:
-            fp = open(res,'w')
-            fp.write(self.attack.scytherDot)
-            fp.close()
-
-
-
-
-
-#---------------------------------------------------------------------------
-
-class AttackWindow(wx.Frame):
-    def __init__(self,cl):
-        super(AttackWindow, self).__init__(None, size=(800,800))
-
-        self.claim = cl
-
-        # TODO maybe fitting defaults should come from Preferences.
-        # Now, it is default no even if we have PIL, for performance
-        # reasons.
-        self.fit = False
-
-        self.CreateInteriorWindowComponents()
-
-        Icon.ScytherIcon(self)
-        self.SetTitle()
-
-    def SetTitle(self):
-
-        tstr = self.claim.stateName(len(self.claim.attacks),True)
-        tstr += " for claim %s" % self.claim.id
-        super(AttackWindow, self).SetTitle(tstr)
-
-    def CreateInteriorWindowComponents(self):
-        ''' Create "interior" window components. In this case it is the
-        attack picture. '''
-
-        sizer = wx.BoxSizer(wx.VERTICAL)
-
-        # Make zoom buttons
-        if Preference.usePIL():
-            buttons = wx.BoxSizer(wx.HORIZONTAL)
-            bt = wx.ToggleButton(self,-1,"Fit to window")
-            bt.SetValue(self.fit)
-            buttons.Add(bt,0)
-            self.Bind(wx.EVT_TOGGLEBUTTON, self.OnFit, bt)
-            sizer.Add(buttons, 0, wx.ALIGN_LEFT)
-        
-        # Add attacks (possible with tabs)
-        self.displays=[]
-        attacks = self.claim.attacks
-
-        n = len(attacks)
-        if n <= 1:
-            # Just a single window
-            dp = AttackDisplay(self, self, attacks[0])
-            self.displays.append(dp)
-        else:
-            # Multiple tabs
-            dp = wx.Notebook(self,-1)
-            for i in range(0,n):
-                disp = AttackDisplay(self,dp,attacks[i])
-                classname = "%s %i" % (self.claim.stateName(1,True),(i+1))
-                dp.AddPage(disp, classname)
-                self.displays.append(disp)
-
-        sizer.Add(dp, 1, wx.EXPAND,1)
-
-        self.SetSizer(sizer)
-
-    def update(self,force=False):
-        for t in self.displays:
-            t.update(force)
-
-    def OnFit(self,event):
-
-        if self.fit:
-            self.fit = False
-        else:
-            self.fit = True
-        self.update(True)
-
-    def OnRealSize(self):
-
-        self.fit = False
-        self.update(True)
-
-    def OnSize(self):
-        self.Refresh()
-
-    def OnZoom100(self,evt):
-        self.fit = False
-        self.update(True)
-        self.Refresh()
-
-    def OnZoomFit(self,evt):
-        self.fit = True
-        self.update(True)
-        self.Refresh()
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Editor.py b/Vagrant Files/shared/scyther/Gui/Editor.py
deleted file mode 100644
index b3e093f..0000000
--- a/Vagrant Files/shared/scyther/Gui/Editor.py	
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import string
-
-# Use Scintilla editor?
-useStc = True       # It looks nicer!
-#useStc = False      # It is sometimes buggy, claims the internet
-
-# Test Scintilla and if it fails, get rid of it
-if useStc:
-    try:
-        from wx.stc import *
-    except:
-        useStc = False
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-
-#---------------------------------------------------------------------------
-
-""" Some constants """
-
-#---------------------------------------------------------------------------
-
-def justNumbers(txt):
-    for x in txt:
-        if not x in string.digits:
-            return False
-    return True
-
-def lineInError(txt):
-    # First option: square braces
-    x1 = txt.find("[")
-    if x1 >= 0:
-        x2 = txt.find("]")
-        if x2 > x1:
-            nrstring = txt[(x1+1):x2]
-            if justNumbers(nrstring):
-                return int(nrstring)
-    # Alternative: ...line x
-    pref = " line "
-    i = txt.find(pref)
-    if i >= 0:
-        i = i + len(pref)
-        j = i
-        while txt[j] in string.digits:
-            j = j+1
-        if j > i:
-            return int(txt[i:j])
-
-    return None
-
-def selectEditor(parent):
-    """
-    Pick an editor (Scintilla or default) and return the object.
-    """
-    if useStc:
-        return EditorStc(parent)
-    else:
-        return EditorNormal(parent)
-
-#---------------------------------------------------------------------------
-
-class Editor(object):
-
-    def __init__(self, parent):
-        # Empty start
-        self.SetText("")
-        self.SetChanged(False)
-
-    def SetText(self):
-        pass
-
-    def SetErrors(self,errors):
-        pass
-
-    def GetChanged(self):
-        """
-        Return true if file was changed
-        """
-        return self.savedtext != self.GetText()
-
-    def SetChanged(self,nowchanged=False):
-        """
-        Set changed status
-        """
-        if nowchanged:
-            self.savedtext = ""
-        else:
-            self.SetSaved()
-
-    def SetSaved(self):
-        self.savedtext = self.GetText()
-
-    def SetOpened(self):
-        self.SetSaved()
-
-#---------------------------------------------------------------------------
-
-class EditorNormal(Editor):
-
-    def __init__(self, parent):
-        self.control = wx.TextCtrl(parent, style=wx.TE_MULTILINE)
-
-        # Call parent
-        Editor.__init__(self,parent)
-
-    def GetText(self):
-        return self.control.GetValue()
-
-    def SetText(self, txt):
-        self.control.SetValue(txt)
-
-#---------------------------------------------------------------------------
-
-class EditorStc(Editor):
-
-    def __init__(self, parent):
-        # Scintilla layout with line numbers
-        self.control = StyledTextCtrl(parent)
-        self.control.SetMarginType(1, STC_MARGIN_NUMBER)
-        self.control.SetMarginWidth(1, 30)
-
-        # Call parent
-        Editor.__init__(self,parent)
-
-        # Set variable for error style
-        self.errorstyle = 5
-        self.control.StyleSetSpec(self.errorstyle, "fore:#FFFF0000,back:#FF0000")
-
-    def GetText(self):
-        return self.control.GetText()
-
-    def SetText(self, txt):
-        self.control.SetText(txt)
-
-    def GetLineCount(self):
-        """ Currently rather stupid, can probably be done more
-        efficiently through some Scintilla function. """
-        txt = self.GetText().splitlines()
-        return len(txt)
-
-    def SetErrorLine(self,line):
-        """
-        Currently this is BROKEN for include commands, as no file names
-        are propagated. To minize the damage, we at least don't try to
-        highlight non-existing names. In the long run of course
-        propagation is the only way to handle this.
-        """
-        if line <= self.GetLineCount():
-            if line > 0:
-                line = line - 1     # Start at 0 in stc, but on screen count is 1
-                pos = self.control.GetLineIndentPosition(line)
-                last = self.control.GetLineEndPosition(line)
-                self.control.StartStyling(pos,31)
-                self.control.SetStyling(last-pos,self.errorstyle)
-
-    def ClearErrors(self):
-        self.control.ClearDocumentStyle()
-
-    def SetErrors(self,errors):
-        if errors:
-            for el in errors:
-                nr = lineInError(el)
-                if nr:
-                    self.SetErrorLine(nr)
-        else:
-            self.ClearErrors()
-
-#---------------------------------------------------------------------------
-
diff --git a/Vagrant Files/shared/scyther/Gui/Error.py b/Vagrant Files/shared/scyther/Gui/Error.py
deleted file mode 100644
index 6433cf2..0000000
--- a/Vagrant Files/shared/scyther/Gui/Error.py	
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import sys
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-
-#---------------------------------------------------------------------------
-
-class PILError (Exception):
-    pass
-
-class NoAttackError(Exception):
-    pass
-
-#---------------------------------------------------------------------------
-
-def ShowAndReturn(text):
-    title = "Error"
-    dlg = wx.MessageDialog(None, text, title, wx.ID_OK | wx.ICON_ERROR)
-    result = dlg.ShowModal()
-    dlg.Destroy()
-
-def ShowAndExit(text):
-    ShowAndReturn(text)
-    sys.exit()
-
diff --git a/Vagrant Files/shared/scyther/Gui/Icon.py b/Vagrant Files/shared/scyther/Gui/Icon.py
deleted file mode 100644
index 2f4f26f..0000000
--- a/Vagrant Files/shared/scyther/Gui/Icon.py	
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import os.path
-import sys
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-import Misc
-
-#---------------------------------------------------------------------------
-
-def ScytherIcon(window):
-        """ Set a nice Scyther icon """
-        import os,inspect
-
-        # Determine base directory (taking symbolic links into account)
-        cmd_file = os.path.realpath(os.path.abspath(inspect.getfile( inspect.currentframe() )))
-        basedir = os.path.split(cmd_file)[0]
-
-        path = os.path.join(basedir,"Images")
-        iconfile = Misc.mypath(os.path.join(path,"scyther-gui-32.ico"))
-        if os.path.isfile(iconfile):
-            icon = wx.Icon(iconfile,wx.BITMAP_TYPE_ICO)
-            window.SetIcon(icon)
-
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Mainwindow.py b/Vagrant Files/shared/scyther/Gui/Mainwindow.py
deleted file mode 100644
index 70ce112..0000000
--- a/Vagrant Files/shared/scyther/Gui/Mainwindow.py	
+++ /dev/null
@@ -1,322 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import os.path
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-import Settingswindow
-import Scytherthread
-import Icon
-import About
-import Editor
-import Preference
-
-#---------------------------------------------------------------------------
-
-""" Some constants """
-ID_VERIFY = 100
-ID_AUTOVERIFY = 101
-ID_CHARACTERIZE = 102
-ID_CHECK = 103
-
-#---------------------------------------------------------------------------
-
-def MainInitOnce():
-    result = Preference.usePIL()    # Makes sure PIL is tested.
-
-class MainWindow(wx.Frame):
-
-    def __init__(self, opts, args):
-        super(MainWindow, self).__init__(None, size=(600,800))
-
-        self.opts = opts
-        self.args = args
-
-        self.dirname = os.path.abspath('.')
-
-        MainInitOnce()
-
-        self.filename = 'noname.spdl'
-        self.filepath = ""
-
-        self.load = False
-
-        # test
-        if opts.test:
-            self.filename = 'scythergui-default.spdl'
-            self.load = True
-
-        # if there is an argument (file), we load it
-        if len(args) > 0:
-            filename = args[0]
-            if filename != '' and os.path.isfile(filename):
-                (self.dirname,self.filename) = os.path.split(filename)
-                self.load = True
-
-        Icon.ScytherIcon(self)
-
-        self.CreateInteriorWindowComponents()
-        self.CreateExteriorWindowComponents()
-
-        aTable = wx.AcceleratorTable([
-                                      (wx.ACCEL_CTRL, ord('Q'), wx.ID_EXIT),
-                                      (wx.ACCEL_NORMAL, wx.WXK_F1,
-                                          ID_VERIFY),
-                                      (wx.ACCEL_NORMAL, wx.WXK_F2,
-                                          ID_CHARACTERIZE),
-                                      (wx.ACCEL_NORMAL, wx.WXK_F5, 
-                                          ID_CHECK),
-                                      (wx.ACCEL_NORMAL, wx.WXK_F6,
-                                          ID_AUTOVERIFY),
-                                      ])
-        self.SetAcceleratorTable(aTable)
-
-        self.claimlist = []
-        self.pnglist = []
-
-        #self.SetTitle(self.title) 
-
-        self.firstCommand()
-
-    def CreateInteriorWindowComponents(self):
-        ''' Create "interior" window components. In this case it is just a
-            simple multiline text control. '''
-
-        ## Make zoom buttons
-        #sizer = wx.BoxSizer(wx.VERTICAL)
-        #buttons = wx.BoxSizer(wx.HORIZONTAL)
-        #bt = wx.Button(self,ID_VERIFY)
-        #buttons.Add(bt,0)
-        #self.Bind(wx.EVT_BUTTON, self.OnVerify, bt)
-        #bt = wx.Button(self,ID_CHARACTERIZE)
-        #buttons.Add(bt,0)
-        #self.Bind(wx.EVT_BUTTON, self.OnCharacterize, bt)
-        #sizer.Add(buttons, 0, wx.ALIGN_LEFT)
-
-        # Top: input
-        self.top = wx.Notebook(self,-1)
-        # Editor there
-        self.editor = Editor.selectEditor(self.top)
-
-        if self.load:
-            textfile = open(os.path.join(self.dirname, self.filename), 'r')
-            self.editor.SetText(textfile.read())
-            if self.dirname != "":
-                os.chdir(self.dirname)
-            textfile.close()
-            self.editor.SetOpened()
-
-        self.top.AddPage(self.editor.control,"Protocol description")
-        self.settings = Settingswindow.SettingsWindow(self.top,self)
-        self.top.AddPage(self.settings,"Settings")
-
-        #sizer.Add(self.top,1,wx.EXPAND,1)
-        #self.SetSizer(sizer)
-
-    def CreateExteriorWindowComponents(self):
-        ''' Create "exterior" window components, such as menu and status
-            bar. '''
-        self.CreateMenus()
-        self.SetTitle()
-
-    def CreateMenu(self, bar, name, list):
-
-        fileMenu = wx.Menu()
-        for id, label, helpText, handler in list:
-            if id == None:
-                fileMenu.AppendSeparator()
-            else:
-                item = fileMenu.Append(id, label, helpText)
-                self.Bind(wx.EVT_MENU, handler, item)
-        bar.Append(fileMenu, name) # Add the fileMenu to the MenuBar
-
-
-    def CreateMenus(self):
-        menuBar = wx.MenuBar()
-        self.CreateMenu(menuBar, '&File', [
-             (wx.ID_OPEN, '&Open', 'Open a new file', self.OnOpen),
-             (wx.ID_SAVE, '&Save', 'Save the current file', self.OnSave),
-             (wx.ID_SAVEAS, 'Save &As', 'Save the file under a different name',
-                self.OnSaveAs),
-             (None, None, None, None),
-             (wx.ID_EXIT, 'E&xit\tCTRL-Q', 'Terminate the program',
-                 self.OnExit)])
-        self.CreateMenu(menuBar, '&Verify',
-             [(ID_VERIFY, '&Verify protocol\tF1','Verify the protocol in the buffer using Scyther',
-                 self.OnVerify) ,
-             (ID_CHARACTERIZE, '&Characterize roles\tF2','TODO' ,
-                 self.OnCharacterize) ,
-             (None, None, None, None),
-             ### Disabled for now (given that it is not reliable enough yet)
-             #(ID_CHECK, '&Check protocol\tF5','TODO',
-             #    self.OnCheck) ,
-             (ID_AUTOVERIFY, 'Verify &automatic claims\tF6','TODO',
-                 self.OnAutoVerify) 
-             ])
-        self.CreateMenu(menuBar, '&Help',
-            [(wx.ID_ABOUT, '&About', 'Information about this program',
-                self.OnAbout) ])
-        self.SetMenuBar(menuBar)  # Add the menuBar to the Frame
-
-
-    def SetTitle(self):
-        # MainWindow.SetTitle overrides wx.Frame.SetTitle, so we have to
-        # call it using super:
-        super(MainWindow, self).SetTitle('Scyther: %s'%self.filename)
-
-    # Helper methods:
-
-    def defaultFileDialogOptions(self):
-        ''' Return a dictionary with file dialog options that can be
-            used in both the save file dialog as well as in the open
-            file dialog. '''
-        return dict(message='Choose a file', defaultDir=self.dirname,
-                    wildcard='*.spdl')
-
-    def askUserForFilename(self, **dialogOptions):
-        dialog = wx.FileDialog(self, **dialogOptions)
-        if dialog.ShowModal() == wx.ID_OK:
-            userProvidedFilename = True
-            self.filepath = dialog.GetPath()
-            (p1,p2) = os.path.split(self.filepath)
-            self.dirname = p1
-            self.filename = p2
-            self.SetTitle() # Update the window title with the new filename
-        else:
-            userProvidedFilename = False
-        dialog.Destroy()
-        return userProvidedFilename
-
-    # Are we dropping a changed file?
-    
-    def ConfirmLoss(self,text=None):
-        """
-        Try to drop the current file. If it was changed, try to save
-        (as)
-
-        Returns true after the user seems to be happy either way, false
-        if we need to cancel this.
-        """
-        if self.editor.GetChanged():
-            # File changed, we need to confirm this
-            title = "Unsaved changes"
-            if text:
-                title = "%s - " + title
-            txt = "The protocol file '%s' has been modified.\n\n" % (self.filename)
-            txt = txt + "Do you want to"
-            txt = txt + " save your changes (Yes)"
-            txt = txt + " or"
-            txt = txt + " discard them (No)"
-            txt = txt + "?"
-            dialog = wx.MessageDialog(self,txt,title,wx.YES_NO | wx.CANCEL | wx.ICON_EXCLAMATION)
-            result = dialog.ShowModal()            
-            dialog.Destroy()
-            if result == wx.ID_NO:
-                # Drop changes
-                return True
-            elif result == wx.ID_YES:
-                # First save(as)!
-                if self.OnSaveAs(None):
-                    # Succeeded, we can continue with the operation
-                    return True
-                else:
-                    # Save did not succeed
-                    return False
-            else:
-                # Assume cancel (wx.ID_CANCEL) otherwise
-                return False
-        else:
-            # File was not changed, so we can just proceed
-            return True
-
-    # Event handlers
-
-    def OnAbout(self, event):
-        dlg = About.AboutScyther(self)
-        dlg.ShowModal()
-        dlg.Destroy()
-
-    def OnExit(self, event):
-        if self.ConfirmLoss("Exit"):
-            self.Close()  # Close the main window.
-            return True
-        return False
-
-    def OnSave(self, event):
-        textfile = open(os.path.join(self.dirname, self.filename), 'w')
-        textfile.write(self.editor.GetText())
-        textfile.close()
-        self.editor.SetSaved()
-        return True
-
-    def OnOpen(self, event):
-        if self.ConfirmLoss("Open"):
-            if self.askUserForFilename(style=wx.OPEN,
-                                       **self.defaultFileDialogOptions()):
-                textfile = open(os.path.join(self.dirname, self.filename), 'r')
-                self.editor.SetText(textfile.read())
-                textfile.close()
-                self.editor.SetOpened()
-                return True
-        return False
-
-    def OnSaveAs(self, event):
-        if self.askUserForFilename(defaultFile=self.filename, style=wx.SAVE,
-                                   **self.defaultFileDialogOptions()):
-            self.OnSave(event)
-            os.chdir(self.dirname)
-            return True
-        return False
-
-    def RunScyther(self, mode):
-        # Clear errors before verification
-        self.editor.SetErrors(None)
-        # Verify spdl
-        spdl = self.editor.GetText()
-        s = Scytherthread.ScytherRun(self,mode,spdl,self.editor.SetErrors)
-
-    def OnVerify(self, event):
-        self.RunScyther("verify")
-
-    def OnAutoVerify(self, event):
-        self.RunScyther("autoverify")
-
-    def OnCharacterize(self, event):
-        self.RunScyther("characterize")
-
-    def OnCheck(self, event):
-        self.RunScyther("check")
-
-    def firstCommand(self):
-        if self.opts.command:
-            # Trigger a command automatically
-            self.Show(True)
-            self.RunScyther(self.opts.command)
-                
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Makeimage.py b/Vagrant Files/shared/scyther/Gui/Makeimage.py
deleted file mode 100644
index 220996f..0000000
--- a/Vagrant Files/shared/scyther/Gui/Makeimage.py	
+++ /dev/null
@@ -1,180 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import os
-import sys
-from subprocess import Popen, PIPE
-
-#---------------------------------------------------------------------------
-
-""" Import scyther components """
-from Scyther import Misc as MiscScyther
-from Scyther import FindDot
-
-""" Import scyther-gui components """
-import Temporary
-import Preference
-
-#---------------------------------------------------------------------------
-try:
-    import Image
-except ImportError:
-    pass
-#---------------------------------------------------------------------------
-
-
-def writeGraph(attackthread,txt,fp):
-
-    EDGE = 0
-    NODE = 1
-    DEFAULT = 2
-    ALL = 3
-
-    def graphLine(txt):
-        fp.write("\t%s;\n" % (txt))
-
-    def setAttr(atxt,EdgeNodeDefAll=ALL):
-        if EdgeNodeDefAll == ALL:
-            setAttr(atxt,EDGE)
-            setAttr(atxt,NODE)
-            setAttr(atxt,DEFAULT)
-        else:
-            if EdgeNodeDefAll == EDGE:
-                edge = "edge"
-            elif EdgeNodeDefAll == NODE:
-                edge = "node"
-            else:
-                graphLine("%s" % atxt)
-                return
-            graphLine("%s [%s]" % (edge,atxt))
-
-    if sys.platform.startswith("darwin"):
-        attackthread.fontname = "Helvetica"
-    elif sys.platform.startswith("win"):
-        attackthread.fontname = "Courier"
-    else:
-        #font = wx.Font(9,wx.SWISS,wx.NORMAL,wx.NORMAL)
-        #attackthread.fontname = font.GetFaceName()
-        attackthread.fontname = "\"Helvetica\""
-
-    # write all graph lines but add layout modifiers
-    for l in txt.splitlines():
-        fp.write(l)
-        if l.startswith("digraph"):
-            # Write additional stuff for this graph
-            #
-            # [CC][x] This dpi setting messed up quite a bit
-            #graphLine("dpi=96")
-            graphLine("rankdir=TB")
-            #graphLine("nodesep=0.1")
-            #graphLine("ranksep=0.001")
-            #graphLine("mindist=0.1")
-
-            # Set fontname
-            if attackthread.fontname:
-                fontstring = "fontname=%s" % (attackthread.fontname)
-                setAttr(fontstring)
-
-            # Stupid Mac <> Graphviz bug fix
-            if (sys.platform.startswith("mac")) or (sys.platform.startswith("darwin")):
-                # Note that dot on Mac cannot find the fonts by default,
-                # and we have to set them accordingly.
-                os.environ["DOTFONTPATH"]="~/Library/Fonts:/Library/Fonts:/System/Library/Fonts"
-
-            # Select font size
-            if attackthread.parent and attackthread.parent.mainwin:
-                fontsize = attackthread.parent.mainwin.settings.fontsize
-                setAttr("fontsize=%s" % fontsize)
-            #setAttr("height=\"0.1\"",NODE)
-            #setAttr("width=\"1.0\"",NODE)
-            #setAttr("margin=\"0.3,0.03\"",NODE)
-
-
-def makeImageDot(dotdata,attackthread=None):
-    """ create image for this particular dot data """
-
-    if Preference.usePIL():
-        # If we have the PIL library, we can do postscript! great
-        # stuff.
-        type = "ps"
-        ext = ".ps"
-    else:
-        # Ye olde pnge file
-        type = "png"
-        ext = ".png"
-
-    # Retrieve dot command path
-    dotcommand = FindDot.findDot()
-
-    # command to write to temporary file
-    (fd2,fpname2) = Temporary.tempcleaned(ext)
-    f = os.fdopen(fd2,'w')
-
-    # Set up command
-    cmd = "%s -T%s" % (dotcommand,type)
-
-    # execute command
-    p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE)
-
-
-    if attackthread:
-        writeGraph(attackthread,dotdata,p.stdin)
-    else:
-        p.stdin.write(dotdata)
-
-    p.stdin.close()
-
-    for l in p.stdout.read():
-        f.write(l)
-
-    p.stdout.close()
-    f.flush()
-    f.close()
-
-    return (fpname2, type)
-
-
-def makeImage(attack,attackthread=None):
-    """ create image for this particular attack """
-
-    """ This should clearly be a method of 'attack' """
-
-    (name,type) = makeImageDot(attack.scytherDot,attackthread)
-    # if this is done, store and report
-    attack.file = name
-    attack.filetype = type
-
-
-def testImage():
-    """
-    We generate a postscript file from a dot file, and see what happens.
-    """
-
-    dotdata = "digraph X {\nA->B;\n}\n"
-    (filename,filetype) = makeImageDot(dotdata)
-    testimage = Image.open(filename)
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Misc.py b/Vagrant Files/shared/scyther/Gui/Misc.py
deleted file mode 100644
index f255124..0000000
--- a/Vagrant Files/shared/scyther/Gui/Misc.py	
+++ /dev/null
@@ -1,90 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Misc.py
-# Various helper functions
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import os.path
-from subprocess import Popen,PIPE
-
-#---------------------------------------------------------------------------
-
-def confirm(question):
-    answer = ''
-    while answer not in ('y','n'):
-        print question,
-        answer = raw_input().lower()
-    return answer == 'y'
-
-def exists(func,list):
-    return len(filter(func,list)) > 0    
-
-def forall(func,list):
-    return len(filter(func,list)) == len(list)    
-
-def uniq(li):
-    result = []
-    for elem in li:
-        if (not elem in result):
-            result.append(elem)
-    return result
-
-# Return a sorted copy of a list
-def sorted(li):
-    result = li[:]
-    result.sort()
-    return result
-
-
-# path
-def mypath(file):
-    """ Construct a file path relative to the scyther-gui main directory
-    """
-    import os, inspect
-
-    # Determine base directory (taking symbolic links into account)
-    cmd_file = os.path.realpath(os.path.abspath(inspect.getfile( inspect.currentframe() )))
-    basedir = os.path.split(cmd_file)[0]
-    return os.path.join(basedir,file)
-
-# commands: push data in, get fp.write out
-def cmdpushwrite(cmd,data,fname):
-    """
-    Feed stdin data to cmd, write the output to a freshly created file
-    'fname'. The file is flushed and closed at the end.
-    """
-    fp = open(fname,'w')
-    # execute command
-    p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE)
-    (cin,cout) = (p.stdin, p.stdout)
-
-    cin.write(data)
-    cin.close()
-    for l in cout.read():
-        fp.write(l)
-    cout.close()
-    fp.flush()
-    fp.close()
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Preference.py b/Vagrant Files/shared/scyther/Gui/Preference.py
deleted file mode 100644
index 90db531..0000000
--- a/Vagrant Files/shared/scyther/Gui/Preference.py	
+++ /dev/null
@@ -1,240 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-"""
-    Preferences window and logic for saving and loading such things.
-    Thus, some default things can be set here.
-
-    init    loads stuff
-    save    save the settings after some changes
-    set(k,v)
-    get(k)
-
-    Currently used:
-
-    match
-    maxruns
-    scytheroptions
-    bindir          where the scyther executables reside
-    splashscreen    0/1
-"""
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-
-import wx
-import os.path
-import sys
-from time import localtime,strftime
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-import Makeimage
-
-#---------------------------------------------------------------------------
-
-""" Globals """
-# Do we have the Python Imaging library?
-havePIL = True
-testPILOkay = None
-try:
-    import Image
-except ImportError:
-    havePIL = False 
-
-""" Locations of preferences. The last one is supposedly writable. """
-prefname = "scythergui-config"
-preflocs = []
-
-#---------------------------------------------------------------------------
-
-def usePIL():
-    """
-    Determine whether or not we should use the PIL library
-    """
-    global havePIL, testPILOkay
-
-    if not havePIL:
-        return False
-
-    # Only if we have it, and it is windows.
-    if not sys.platform.startswith("lin"):
-        return False
-
-    # Seems fine. But did we already test it?
-    if testPILOkay != None:
-        return testPILOkay
-
-    # Test the usage
-    testPILOkay = True
-    testPILOkay = testPIL()
-    return testPILOkay
-
-def doNotUsePIL():
-    """
-    Disable
-    """
-    global havePIL
-
-    havePIL = False
-
-
-def testPIL():
-    """
-    Test whether PIL works as we want it.
-
-    We generate a postscript file from a dot file, and see what happens.
-    """
-
-    # depends on PIL lib
-    okay = True
-    try:
-        Makeimage.testImage()
-        # PIL seems fine
-    except:
-        # PIL broke
-        doNotUsePIL()
-        okay = False
-
-    return okay
-
-
-#---------------------------------------------------------------------------
-
-class Preferences(dict):
-
-    def setDict(self,d):
-        """
-        Copy dict into self.
-        """
-        for x in d.keys():
-            self[x] = d[x]
-
-    def parse(self,line):
-        line = line.strip()
-
-        """ Skip comments """
-        if not line.startswith("#"):
-            split = line.find("=")
-            if split != -1:
-                key = line[:split].strip()
-                data = line[(split+1):]
-                self[key] = data.decode("string_escape")
-                #print "Read %s=%s" % (key,self[key])
-
-    def load(self,file=""):
-        if file == None:
-            self["test1"] = "Dit is met een ' en een \", en dan\nde eerste dinges"
-            self["test2"] = "En dit de tweede"
-        elif file == "":
-            """
-            Test default locations
-            """
-            for f in preflocs:
-                self.load(os.path.join(f,prefname))
-
-        else:
-            """
-            Read this file
-            """
-            if os.path.isfile(file):
-                fp = open(file,"r")
-                for l in fp.readlines():
-                    self.parse(l)
-                fp.close()
-
-    def show(self):
-        print "Preferences:"
-        for k in self.keys():
-            print "%s=%s" % (k, self[k])
-
-    def save(self):
-
-        print "Saving preferences"
-        prefpath = preflocs[-1]
-        if not os.access(prefpath,os.W_OK):
-            os.makedirs(prefpath)
-        savename = os.path.join(prefpath,prefname)
-        fp = open(savename,"w")
-
-        fp.write("# Scyther-gui configuration file.\n#\n")
-        date = strftime("%c",localtime())
-        fp.write("# Last written on %s\n" % (date))
-        fp.write("# Do not edit - any changes will be overwritten by Scyther-gui\n\n")
-
-        l = list(self.keys())
-        l.sort()
-        for k in l:
-            fp.write("%s=%s\n" % (k, self[k].encode("string_escape")))
-
-        fp.close()
-
-def init():
-    """
-        Load the preferences from a file, if possible
-    """
-    global prefs,preflocs
-
-    sp = wx.StandardPaths.Get()
-    confdir = sp.GetConfigDir()
-    confdir += "/scyther"
-    #print confdir
-    userconfdir = sp.GetUserConfigDir()
-    userconfdir += "/"
-    if sys.platform.startswith("lin"):
-        userconfdir += "."
-    userconfdir += "scyther"
-    #print userconfdir
-
-    preflocs = [confdir,userconfdir]
-
-    prefs = Preferences()
-    prefs.load("")
-
-
-def get(key,alt=None):
-    global prefs
-
-    if key in prefs.keys():
-        return prefs[key]
-    else:
-        return alt
-
-def getkeys():
-    global prefs
-
-    return prefs.keys()
-
-def set(key,value):
-    global prefs
-
-    prefs[key]=value
-    return
-
-def save():
-    global prefs
-
-    prefs.save()
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Scytherthread.py b/Vagrant Files/shared/scyther/Gui/Scytherthread.py
deleted file mode 100644
index 2cd5d1a..0000000
--- a/Vagrant Files/shared/scyther/Gui/Scytherthread.py	
+++ /dev/null
@@ -1,543 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import threading
-
-#---------------------------------------------------------------------------
-
-""" Import scyther components """
-import Scyther.Scyther
-import Scyther.Error
-from Scyther.Misc import *
-
-""" Import scyther-gui components """
-import Preference
-import Attackwindow
-import Icon
-import Error
-import Makeimage
-
-#---------------------------------------------------------------------------
-if Preference.havePIL:
-    import Image
-#---------------------------------------------------------------------------
-
-class ScytherThread(threading.Thread):
-    """
-    Apply Scyther algorithm to input and retrieve results
-    """
-
-    # Override Thread's __init__ method to accept the parameters needed:
-    def __init__ ( self, spdl, options="", callback=None, mode=None ):
-
-        self.spdl = spdl
-        self.options = options
-        self.callback = callback
-        self.mode = mode
-        self.popenList = []
-        threading.Thread.__init__ ( self )
-
-    def storePopen(self,p):
-        self.popenList.append(p)
-
-    def cleanExit(self):
-        # Cleanup of spawned processes
-        for index,p in enumerate(self.popenList):
-            try:
-                p.kill()
-            except:
-                pass
-        self.popenList = []
-
-    def run(self):
-
-        (scyther, claims, summary) = self.claimResults()
-
-        # Results are done (claimstatus can be reported)
-        if self.callback:
-            wx.CallAfter(self.callback, scyther, claims, summary)
-
-    def claimFixViewOne(self,claims):
-        """
-        This is a stupid hack as long as switches.useAttackBuffer in
-        Scyther C code is false. It is currently false because Windows
-        VISTA screwed up the standard C function tmpfile() (It's in a
-        directory to which normal users cannot write...)
-        """
-        # TODO Notice the stupid default setting too ('2') which is
-        # needed here. This really needs cleanup.
-        if int(Preference.get('prune','2')) != 0:
-            if claims:
-                for cl in claims:
-                    if len(cl.attacks) > 1:
-                        # Fix it such that by default, only the best attack is
-                        # shown, unless we are in characterize or check mode
-                        # TODO [X] [CC] make switch-dependant.
-                        if not self.mode in ["characterize","check"]:
-                            cl.attacks = [cl.attacks[-1]]
-                            """ Cutting invalidates exactness of attack/behaviour counts """
-                            cl.complete = False
-
-        return claims
-
-    def claimResults(self):
-        """ Convert spdl to result (using Scyther)
-        """
-
-        scyther = Scyther.Scyther.Scyther()
-
-        scyther.options = self.options
-        scyther.setInput(self.spdl)
-
-        # verification start
-        try:
-            claims = scyther.verify(storePopen=self.storePopen)
-        except Scyther.Error.ScytherError, el:
-            claims = None
-            pass
-
-        summary = str(scyther)
-
-        claims = self.claimFixViewOne(claims)
-
-        return (scyther, claims, summary)
-
-#---------------------------------------------------------------------------
-
-class AttackThread(threading.Thread):
-
-    """ This is a thread because it computes images from stuff in the
-    background """
-
-    # Override Thread's __init__ method to accept the parameters needed:
-    def __init__ ( self, parent, resultwin, callbackclaim=None,callbackattack=None,callbackdone=None ):
-
-        self.parent = parent
-        self.resultwin = resultwin
-        self.callbackclaim = callbackclaim
-        self.callbackattack = callbackattack
-        self.callbackdone = callbackdone
-        self.totalattacks = 0
-        for cl in self.parent.claims:
-            for attack in cl.attacks:
-                self.totalattacks += 1
-
-        threading.Thread.__init__ ( self )
-
-    def run(self):
-
-        # create the images in the background
-        # when the images of a claim are done, callback is called with
-        # the claim
-        self.makeImages()
-
-    def makeImages(self):
-        """ create images """
-
-        done = 0
-        for cl in self.parent.claims:
-            for attack in cl.attacks:
-                Makeimage.makeImage(attack,self)
-                done += 1
-                if self.callbackattack:
-                    wx.CallAfter(self.callbackattack,attack,self.totalattacks,done)
-            if self.callbackclaim:
-                wx.CallAfter(self.callbackclaim,cl)
-        if self.callbackdone:
-            wx.CallAfter(self.callbackdone)
-
-
-#---------------------------------------------------------------------------
-
-class VerificationWindow(wx.Dialog):
-    def __init__(
-            self, parent, title, pos=wx.DefaultPosition, size=wx.DefaultSize, 
-            style=wx.DEFAULT_DIALOG_STYLE
-            ):
-
-        wx.Dialog.__init__(self,parent,-1,title,pos,size,style)
-
-        sizer = wx.BoxSizer(wx.VERTICAL)
-
-        label = wx.StaticText(self, -1, "Verifying protocol description")
-        sizer.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
-
-        line = wx.StaticLine(self, -1, size=(20,-1), style=wx.LI_HORIZONTAL)
-        sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)
-
-        btnsizer = wx.StdDialogButtonSizer()
-        
-        btn = wx.Button(self, wx.ID_CANCEL)
-        btnsizer.AddButton(btn)
-        btnsizer.Realize()
-
-        sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.ALIGN_CENTER, 5)
-
-        self.SetSizer(sizer)
-        sizer.Fit(self)
-
-        self.Center()
-        self.Show(True)
-
-#---------------------------------------------------------------------------
-
-class ErrorWindow(wx.Dialog):
-    def __init__(
-            self, parent, title, pos=wx.DefaultPosition, size=wx.DefaultSize, 
-            style=wx.DEFAULT_DIALOG_STYLE,errors=[]
-            ):
-
-        wx.Dialog.__init__(self,parent,-1,title,pos,size,style)
-
-        sizer = wx.BoxSizer(wx.VERTICAL)
-
-        label = wx.StaticText(self, -1, "Errors")
-        sizer.Add(label, 0, wx.ALIGN_LEFT|wx.ALL, 5)
-
-        line = wx.StaticLine(self, -1, size=(20,-1), style=wx.LI_HORIZONTAL)
-        sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)
-
-        etxt = ""
-        prefix = "error: "
-        for er in errors:
-            if er.startswith(prefix):
-                er = er[len(prefix):]
-            etxt = etxt + "%s\n" % (er)
-
-        label = wx.StaticText(self, -1, etxt)
-        sizer.Add(label, 0, wx.ALIGN_LEFT|wx.ALL, 5)
-
-        line = wx.StaticLine(self, -1, size=(20,-1), style=wx.LI_HORIZONTAL)
-        sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)
-
-        btnsizer = wx.StdDialogButtonSizer()
-        
-        btn = wx.Button(self, wx.ID_OK)
-        btnsizer.AddButton(btn)
-        btnsizer.Realize()
-
-        sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.ALIGN_CENTER, 5)
-
-        self.SetSizer(sizer)
-        sizer.Fit(self)
-
-#---------------------------------------------------------------------------
-
-class ResultWindow(wx.Frame):
-
-    """
-    Displays the claims status and contains buttons to show the actual
-    attack graphs
-    """
-
-    def __init__(
-            self, parent, parentwindow, title, pos=wx.DefaultPosition, size=wx.DefaultSize, 
-            style=wx.DEFAULT_DIALOG_STYLE
-            ):
-
-        wx.Frame.__init__(self,parentwindow,-1,title,pos,size,style)
-
-        Icon.ScytherIcon(self)
-
-        self.parent = parent
-        self.thread = None
-        self.Bind(wx.EVT_CLOSE, self.onCloseWindow)
-
-        self.CreateStatusBar()
-        self.BuildTable()
-
-    def onViewButton(self,evt):
-        btn = evt.GetEventObject()
-        try:
-            w = Attackwindow.AttackWindow(btn.claim)
-            w.Show(True)
-        except Error.PILError:
-            Error.ShowAndReturn("Problem with PIL imaging library: disabled zooming. Please retry to verify the protocol again.")
-            self.onCloseWindow(None)
-
-    def onCloseWindow(self,evt):
-        """ TODO we should kill self.thread """
-
-        # Clean up
-        self.parent.claims = None
-
-        self.Destroy()
-
-    def BuildTable(self):
-        # Now continue with the normal construction of the dialog
-        # contents
-
-        # For these claims...
-        claims = self.parent.claims
-
-        # set up grid
-        self.grid = grid = wx.GridBagSizer(0,0)
-        #self.grid = grid = wx.GridBagSizer(7,1+len(claims))
-
-        def titlebar(x,title,width=1):
-            txt = wx.StaticText(self,-1,title)
-            font = wx.Font(14,wx.FONTFAMILY_DEFAULT,wx.FONTSTYLE_NORMAL,wx.FONTWEIGHT_BOLD)
-            txt.SetFont(font)
-            grid.Add(txt,(0,x),(1,width),wx.ALL,10)
-
-        titlebar(0,"Claim",4)
-        titlebar(4,"Status",2)
-        titlebar(6,"Comments",1)
-
-        self.lastprot = None
-        self.lastrole = None
-        views = 0
-        for index in range(0,len(claims)):
-            views += self.BuildClaim(grid,claims[index],index+1)
-
-        if views > 0:
-            titlebar(7,"Patterns",1)
-
-        self.SetSizer(grid)
-        self.Fit()
-
-    def BuildClaim(self,grid,cl,ypos):
-        # a support function
-        def addtxt(txt,column):
-            txt = txt.replace("-","_")  # Strange fix for wx.StaticText as it cuts off the display.
-            grid.Add(wx.StaticText(self,-1,txt),(ypos,column),(1,1),wx.ALIGN_CENTER_VERTICAL|wx.ALL,10)
-
-        n = len(cl.attacks)
-        xpos = 0
-
-        # protocol, role, label
-        prot = str(cl.protocol)
-        showP = False
-        showR = False
-        if prot != self.lastprot:
-            self.lastprot = prot
-            showP = True
-            showR = True
-        role = str(cl.role)
-        if role != self.lastrole:
-            self.lastrole = role
-            showR = True
-        if showP:
-            addtxt(prot,xpos)
-        if showR:
-            addtxt(role,xpos+1)
-        xpos += 2
-        
-        # claim id
-        addtxt(str(cl.id),xpos)
-        xpos += 1
-
-        # claim parameters
-        claimdetails = str(cl.claimtype)
-        if cl.parameter:
-            claimdetails += " %s" % (cl.parameter)
-        # Cut off if very very long
-        if len(claimdetails) > 50:
-            claimdetails = claimdetails[:50] + "..."
-        addtxt(claimdetails + "  ",xpos)
-        xpos += 1
-
-        # button for ok/fail
-        if None:
-            # old style buttons (but they looked ugly on windows)
-            tsize = (16,16)
-            if cl.okay:
-                bmp = wx.ArtProvider_GetBitmap(wx.ART_TICK_MARK,wx.ART_CMN_DIALOG,tsize)
-            else:
-                bmp = wx.ArtProvider_GetBitmap(wx.ART_CROSS_MARK,wx.ART_CMN_DIALOG,tsize)
-            if not bmp.Ok():
-                bmp = wx.EmptyBitmap(tsize)
-            bmpfield = wx.StaticBitmap(self,-1,bmp)
-            grid.Add(bmpfield,(ypos,xpos),(1,1),wx.ALIGN_CENTER_VERTICAL|wx.ALL,10)
-        else:
-            # new style text control Ok/Fail
-            rankc = cl.getColour()
-            rankt = cl.getOkay()
-            txt = wx.StaticText(self,-1,rankt)
-            font = wx.Font(11,wx.FONTFAMILY_DEFAULT,wx.FONTSTYLE_NORMAL,wx.FONTWEIGHT_BOLD)
-            txt.SetFont(font)
-            txt.SetForegroundColour(rankc)
-            grid.Add(txt,(ypos,xpos),(1,1),wx.ALL,10)
-        xpos += 1
-
-        # verified?
-        vt = cl.getVerified()
-        if vt:
-            addtxt(vt,xpos)
-        xpos += 1
-
-        # remark something 
-        addtxt(cl.getComment(),xpos)
-        xpos += 1
-                
-        # add view button (enabled later if needed)
-        if n > 0:
-            cl.button = wx.Button(self,-1,"%i %s" % (n,cl.stateName(n)))
-            cl.button.claim = cl
-            grid.Add(cl.button,(ypos,xpos),(1,1),wx.ALIGN_CENTER_VERTICAL|wx.ALL,5)
-            cl.button.Disable()
-            if n > 0:
-                # Aha, something to show
-                self.Bind(wx.EVT_BUTTON, self.onViewButton,cl.button)
-        else:
-            cl.button = None
-        xpos += 1
-
-        # Return 1 if there is a view possible
-        if n > 0:
-            return 1
-        else:
-            return 0
-
-
-#---------------------------------------------------------------------------
-
-class ScytherRun(object):
-
-    def __init__(self,mainwin,mode,spdl,errorcallback=None):
-
-        self.mainwin = mainwin
-        self.mode = mode
-        self.spdl = spdl
-        self.verified = False
-        self.options = mainwin.settings.ScytherArguments(mode)
-        self.errorcallback=errorcallback
-        self.SThread = None
-
-        self.main()
-
-    def closer(self,ev):
-        # Triggered when the window is closed/verification cancelled
-        t = self.SThread
-        if t != None:
-            self.SThread = None
-            t.cleanExit()
-        try:
-            self.verifywin.Destroy()
-        except:
-            pass
-        self.verifywin = None
-        ev.Skip()
-
-    def main(self):
-        """
-        Start process
-        """
-
-        title = "Running Scyther %s process" % self.mode
-        # start the window and show until something happens
-        # if it terminates, this is a cancel, and should also kill the thread. (what happens to a spawned Scyther in that case?)
-        # if the thread terminames, it should close the window normally, and we end up here as well.
-        #val = self.verifywin.ShowModal()
-        self.verifywin = VerificationWindow(self.mainwin,title)
-
-        # Check sanity of Scyther thing here (as opposed to the thread)
-        # which makes error reporting somewhat easier
-        try:
-            Scyther.Scyther.Check()
-        except Scyther.Error.BinaryError, e:
-            # e.file is the supposed location of the binary
-            text = "Could not find Scyther binary at\n%s" % (e.file)
-            Error.ShowAndExit(text)
-        
-        # start the thread
-        self.verifywin.SetCursor(wx.StockCursor(wx.CURSOR_WAIT))
-        self.verifywin.Bind(wx.EVT_CLOSE, self.closer)
-        self.verifywin.Bind(wx.EVT_WINDOW_DESTROY, self.closer)
-        self.verifywin.Bind(wx.EVT_BUTTON, self.closer, id=wx.ID_CANCEL)
-
-        self.SThread = ScytherThread(self.spdl, self.options, self.verificationDone, self.mode)
-        self.SThread.start()
-
-        # after verification, we proceed to the callback below...
-
-    def verificationDone(self, scyther, claims, summary):
-        """
-        This is where we end up after a callback from the thread, stating that verification succeeded.
-        """
-
-        if self.verifywin == None:
-            return
-
-        self.scyther = scyther
-        self.claims = claims
-        self.summary = summary
-
-        self.verified = True
-        self.verifywin.Close()
-
-        # Process the claims
-        if self.scyther.errorcount == 0:
-            self.verificationOkay()
-        else:
-            self.verificationErrors()
-
-    def verificationOkay(self):
-
-        # Great, we verified stuff, progress to the claim report
-        title = "Scyther results : %s" % self.mode
-        self.resultwin = resultwin = ResultWindow(self,self.mainwin,title)
-
-        def attackDone(attack,total,done):
-            if resultwin:
-                txt = "Generating attack graphs (%i of %i done)." % (done,total)
-                resultwin.SetStatusText(txt)
-                #resultwin.Refresh()
-
-        def claimDone(claim):
-            if resultwin:
-                if claim.button and len(claim.attacks) > 0:
-                    claim.button.Enable()
-
-        def allDone():
-            if resultwin:
-                resultwin.SetCursor(wx.StockCursor(wx.CURSOR_ARROW))
-                resultwin.SetStatusText("Done.")
-
-        resultwin.Center()
-        resultwin.Show(True)
-        resultwin.SetCursor(wx.StockCursor(wx.CURSOR_ARROWWAIT))
-
-        wx.Yield()
-
-        t = AttackThread(self,resultwin,claimDone,attackDone,allDone)
-        t.start()
-
-        resultwin.thread = t
-
-    def verificationErrors(self):
-        """
-        Verification process generated errors. Show them.
-        """
-
-        if self.errorcallback:
-            self.errorcallback(self.scyther.errors)
-        title = "Scyther errors : %s" % self.mode
-        errorwin = ErrorWindow(self.mainwin,title,errors=self.scyther.errors)
-        errorwin.Center()
-        val = errorwin.ShowModal()
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Settingswindow.py b/Vagrant Files/shared/scyther/Gui/Settingswindow.py
deleted file mode 100644
index 5bc5fa9..0000000
--- a/Vagrant Files/shared/scyther/Gui/Settingswindow.py	
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import wx
-import sys
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-import Preference
-import Scyther.Claim as Claim
-
-#---------------------------------------------------------------------------
-
-class MyGrid(wx.GridBagSizer):
-
-    def __init__(self,parent):
-        wx.GridBagSizer.__init__(self,hgap=5, vgap=5)
-        self.ypos = 0
-        self.parent = parent
-
-    def stepAdd(self,ctrl,txt):
-        self.Add(txt,(self.ypos,0),flag=wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL)
-        self.Add(ctrl,(self.ypos,1),flag=wx.ALIGN_LEFT)
-        self.ypos += 1
-
-    def lineAdd(self):
-        return
-        line = wx.StaticLine(self.parent,-1)
-        # Currently it is not expanded, and thus invisible.
-        self.Add(line,pos=(self.ypos,0),span=(1,2),flag=wx.TOP|wx.BOTTOM)
-        self.ypos += 1
-
-    def titleAdd(self,title,firstLine=True):
-        if firstLine:
-            self.lineAdd()
-        self.ypos += 1
-        txt = wx.StaticText(self.parent,-1,title)
-        font = wx.Font(12,wx.FONTFAMILY_DEFAULT,wx.FONTSTYLE_NORMAL,wx.FONTWEIGHT_BOLD)
-        txt.SetFont(font)
-        self.Add(txt,pos=(self.ypos,0),span=(1,2),flag=wx.ALIGN_LEFT)
-        self.ypos += 1
-        self.lineAdd()
-
-#---------------------------------------------------------------------------
-
-class SettingsWindow(wx.Panel):
-
-    def __init__(self,parent,daddy):
-        wx.Panel.__init__(self,parent,-1)
-        self.win = daddy
-
-        # layout the stuff
-        grid = MyGrid(self)
-
-        ### Parameters
-        grid.titleAdd("Verification parameters",False)
-
-        # Bound on the number of runs
-        self.maxruns = int(Preference.get('maxruns','5'))
-        txt = wx.StaticText(self,-1,"Maximum number of runs\n(0 disables bound)")
-        ctrl = wx.SpinCtrl(self, -1, "",style=wx.RIGHT)
-        ctrl.SetRange(0,100)
-        ctrl.SetValue(self.maxruns)
-        self.Bind(wx.EVT_SPINCTRL,self.EvtRuns,ctrl)
-        grid.stepAdd(ctrl,txt)
-
-        # Matchin options
-        self.match = int(Preference.get('match','0'))
-        claimoptions = ['typed matching','find basic type flaws','find all type flaws']
-        r2 = wx.StaticText(self,-1,"Matching type")
-        l2 = self.ch = wx.Choice(self,-1,choices=claimoptions)
-        l2.SetSelection(self.match)
-        self.Bind(wx.EVT_CHOICE,self.EvtMatch,l2)
-        grid.stepAdd(l2,r2)
-
-        ### MISC expert stuff
-        grid.titleAdd("Advanced parameters")
-
-        # Continue after finding the first attack
-        self.prune = int(Preference.get('prune','2'))
-        claimoptions = ['Find all attacks','Find first attack','Find best attack']
-        r8 = wx.StaticText(self,-1,"Search pruning")
-        l8 = self.ch = wx.Choice(self,-1,choices=claimoptions)
-        l8.SetSelection(self.prune)
-        self.Bind(wx.EVT_CHOICE,self.EvtPrune,l8)
-        grid.stepAdd(l8,r8)
-
-        # Bound on the number of patterns
-        self.maxattacks = int(Preference.get('maxattacks','10'))
-        r9 = wx.StaticText(self,-1,"Maximum number of patterns\nper claim")
-        l9 = wx.SpinCtrl(self, -1, "",style=wx.RIGHT)
-        l9.SetRange(0,100)
-        l9.SetValue(self.maxattacks)
-        self.Bind(wx.EVT_SPINCTRL,self.EvtMaxAttacks,l9)
-        grid.stepAdd(l9,r9)
-
-        self.misc = Preference.get('scytheroptions','')
-        r10 = wx.StaticText(self,-1,"Additional backend parameters")
-        l10 = wx.TextCtrl(self,-1,self.misc,size=(200,-1))
-        self.Bind(wx.EVT_TEXT,self.EvtMisc,l10)
-        grid.stepAdd(l10,r10)
-
-        ### Graph output stuff
-        grid.titleAdd("Graph output parameters")
-
-        # Bound on the number of classes/attacks
-        if sys.platform.startswith("lin"):
-            defsize = 14
-        else:
-            defsize = 11
-        self.fontsize = int(Preference.get('fontsize',defsize))
-        txt = wx.StaticText(self,-1,"Attack graph font size\n(in points)")
-        ctrl = wx.SpinCtrl(self, -1, "",style=wx.RIGHT)
-        ctrl.SetRange(6,32)
-        ctrl.SetValue(self.fontsize)
-        self.Bind(wx.EVT_SPINCTRL,self.EvtFontsize,ctrl)
-        grid.stepAdd(ctrl,txt)
-
-        ### Combine
-        grid.lineAdd()
-        self.SetSizer(grid)
-        self.SetAutoLayout(True)
-
-    def EvtMatch(self,evt):
-        self.match = evt.GetInt()
-
-    def EvtRuns(self,evt):
-        self.maxruns = evt.GetInt()
-
-    def EvtFontsize(self,evt):
-        self.fontsize = evt.GetInt()
-
-    def EvtPrune(self,evt):
-        self.prune = evt.GetInt()
-        Preference.set('prune',self.prune)
-
-    def EvtMaxAttacks(self,evt):
-        self.maxattacks = evt.GetInt()
-
-    def EvtMisc(self,evt):
-        self.misc = evt.GetString()
-
-    def ScytherArguments(self,mode):
-        """ Note: constructed strings should have a space at the end to
-            correctly separate the options.
-        """
-
-        tstr = ""
-
-        # Number of runs
-        tstr += "--max-runs=%s " % (str(self.maxruns))
-        # Matching type
-        tstr += "--match=%s " % (str(self.match))
-        # Prune (has to go BEFORE max attacks)
-        tstr += "--prune=%s" % (str(self.prune))
-        # Max attacks/classes
-        if self.maxattacks != 0:
-            tstr += "--max-attacks=%s " % (str(self.maxattacks))
-
-        # Verification type
-        if mode == "check":
-            tstr += "--check "
-        elif mode == "autoverify":
-            tstr += "--auto-claims "
-        elif mode == "characterize":
-            tstr += "--state-space "
-
-        # Anything else?
-        if self.misc != "":
-            tstr += " " + self.misc + " "
-
-        return str(tstr)    # turn it into a str (might have been unicode weirdness)
-
-#---------------------------------------------------------------------------
diff --git a/Vagrant Files/shared/scyther/Gui/Temporary.py b/Vagrant Files/shared/scyther/Gui/Temporary.py
deleted file mode 100644
index 61c2466..0000000
--- a/Vagrant Files/shared/scyther/Gui/Temporary.py	
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import os
-import tempfile
-import atexit
-
-#---------------------------------------------------------------------------
-
-""" Local thing (can be done in numerous nicer ways) """
-tempfiles = []
-
-#---------------------------------------------------------------------------
-
-def tempremove(tuple):
-    (fd,fpname) = tuple
-    #os.close(fd)
-    os.remove(fpname)
-
-def cleanupshop():
-    global tempfiles
-
-    for tuple in tempfiles:
-        tempremove(tuple)
-
-def tempcleaned(post=""):
-    global tempfiles
-
-    tuple = tempfile.mkstemp(post,"scyther_")
-    tempfiles.append(tuple)
-    return tuple
-
-def tempcleanearly(tuple):
-    global tempfiles
-
-    tempfiles.remove(tuple)
-    tempremove(tuple)
-
-atexit.register(cleanupshop)
-
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Gui/Version.py b/Vagrant Files/shared/scyther/Gui/Version.py
deleted file mode 100644
index d941e4b..0000000
--- a/Vagrant Files/shared/scyther/Gui/Version.py	
+++ /dev/null
@@ -1 +0,0 @@
-SCYTHER_GUI_VERSION = "v1.1.3"
diff --git a/Vagrant Files/shared/scyther/Gui/__init__.py b/Vagrant Files/shared/scyther/Gui/__init__.py
deleted file mode 100644
index 6995b43..0000000
--- a/Vagrant Files/shared/scyther/Gui/__init__.py	
+++ /dev/null
@@ -1,19 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
diff --git a/Vagrant Files/shared/scyther/INSTALL.md b/Vagrant Files/shared/scyther/INSTALL.md
deleted file mode 100644
index 67f772c..0000000
--- a/Vagrant Files/shared/scyther/INSTALL.md	
+++ /dev/null
@@ -1,96 +0,0 @@
-Installation and usage of the Scyther tool
-==========================================
-
-Download
---------
-
-Downloads of binary archives of Scyther for all main platforms can be
-found at http://users.ox.ac.uk/~coml0529/scyther/index.html
-
-Requirements
-------------
-
-To be able to use all of Scyther's features, the following three
-dependencies are needed. If you only require the back-end tool (used
-from the command line) then you need only the first.
-
-1. ### The GraphViz library ###
-
-  This library is used by the Scyther tool to draw graphs. It can be
-  freely downloaded from:
-
-	http://www.graphviz.org/
-
-  Download the latest stable release and install it.
-
-
-2. ### Python ###
-
-  Stable releases of the Python interpreter are available from:
-
-  	http://www.python.org/download/
-
-  Scyther does not support Python 3. You are therefore recommended to
-  choose the latest production release of Python 2, e.g., Python 2.7.
-
-  *	**Mac OS X**
-  
-  	If the package yields an error when you try to install it,
-  	please use the following, in the directory where you downloaded
-  	it:
-  	
-  	```
-  	 $ sudo installer -pkg graphviz-2.34.0.pkg -target /
-  	```
-
-
-3. ### wxPython libraries ###
-
-  The GUI user interface uses the wxPython libraries.
-
-	http://www.wxpython.org/download.php
-
-  There are many different wxPython packages. You should choose a 32-bit
-  package that matches your Python version (e.g., 2.7). It is
-  recommended to select the unicode version from the stable releases.
-
-  As of writing (May 2013) the following links lead to the appropriate
-  wxPython packages for Python 2.7:
-
-  *	**Windows**
-  
-   	http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.1-py27.exe
-
-  *	**Mac OS X**
-  
-   	http://downloads.sourceforge.net/wxpython/wxPython2.8-osx-unicode-2.8.12.1-universal-py2.7.dmg
-
-   	Note that this package is in an old format and you will probably
-   	get a warning "Package is damaged". This can be resolved by:
-   	
-   	```
-   	 $ sudo installer -pkg /Volume/.../wxPython2.8-osx-unicode-universal-py2.7.pkg/ -target /
-   	```
-
-  *	**Ubuntu/Debian Linux**
-  
-   	http://wiki.wxpython.org/InstallingOnUbuntuOrDebian
-
-
-Running Scyther
----------------
-
-Extract the Scyther archive and navigate to the extracted directory.
-
-Start Scyther by executing the file
-
-  	scyther-gui.py
-
-in the main directory of the extracted archive.
-
-  *	**Mac OS X**
-  
-  	Right-click the file 'scyther-gui.py' and select "Open with" and
-  	then "Python Launcher".
-
-
diff --git a/Vagrant Files/shared/scyther/INSTALL.txt b/Vagrant Files/shared/scyther/INSTALL.txt
deleted file mode 100644
index 3662306..0000000
--- a/Vagrant Files/shared/scyther/INSTALL.txt	
+++ /dev/null
@@ -1,85 +0,0 @@
-Installation and usage of the Scyther tool
-==========================================
-
-Requirements
-------------
-
-To be able to use Scyther, you need the following three things:
-
-
-1. The GraphViz library.
-
-  This library is used by the Scyther tool to draw graphs. It can be
-  freely downloaded from:
-
-	http://www.graphviz.org/
-
-  Download the latest stable release and install it.
-
-
-
-The graphical user interface of Scyther is written in the Python
-language. Therefore, the GUI requires the following two items:
-
-
-2. Python 
-
-  Stable releases of the Python interpreter are available from:
-
-  	<a href="http://www.python.org/download/">
-
-  Scyther does not support Python 3. You are therefore recommended to
-  choose the latest production release of Python 2, e.g., Python 2.7.
-
-  Mac OS X:
-  	If the package yields an error when you try to install it,
-  	please use the following, in the directory where you downloaded
-  	it:
-  	
-  	 $ sudo installer -pkg graphviz-2.34.0.pkg -target /
-
-
-3. wxPython libraries.
-
-  The GUI user interface uses the wxPython libraries.
-
-	<a href="http://www.wxpython.org/download.php">
-
-  There are many different wxPython packages. You should choose a 32-bit
-  package that matches your Python version (e.g., 2.7). It is
-  recommended to select the unicode version from the stable releases.
-
-  As of writing (May 2013) the following links lead to the appropriate
-  wxPython packages for Python 2.7:
-
-  Windows:
-  	<a href="http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.1-py27.exe">
-
-  Mac OS X:
-  	<a href="http://downloads.sourceforge.net/wxpython/wxPython2.8-osx-unicode-2.8.12.1-universal-py2.7.dmg">
-
-	Note that this package is in an old format and you will probably
-	get a warning "Package is damaged". This can be resolved by:
-  	
-  	 $ sudo installer -pkg /Volume/.../wxPython2.8-osx-unicode-universal-py2.7.pkg/ -target /
-
-  Ubuntu/Debian Linux:
-  	<a href="http://wiki.wxpython.org/InstallingOnUbuntuOrDebian">
-
-
-Running Scyther
----------------
-
-
-Start Scyther by executing the file
-
-  	scyther-gui.py
-
-in the directory where you found this file.
-
-  Mac OS X:
-  
-    Right-click the file 'scyther-gui.py' and select "Open with" and
-    then "Python Launcher".
-
-
diff --git a/Vagrant Files/shared/scyther/Images/scyther-gui-16.ico b/Vagrant Files/shared/scyther/Images/scyther-gui-16.ico
deleted file mode 100644
index a92d8228d89417af4cfb8dfc4081c8df0e3a8e73..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1150
zcmZQzU}Ruq5D);-3Je)63=Con3=A3!3=9Gc3=9ek5OD_F;2#46!+#j&kl^{xqb~Yi
z$W->fguU{ADKGW^vcWq46=MwltEQO!S4~4;S${2%zJEeOLjNr-E&rREn*KMoF#WG%
zY4BgjQ0l*gtLlIG5WWA(@y7qvvn>B>mfHW<sdR#4#aLso{;;sH|LEZB*RTJN9zFU$
zF(>)ItdHh@#VCXS%E_kx)iW&rt7k&6Y@iNUe|UH}x^_7K@87@wr_Y)Wc8hF))_?gh
zz5nvz24F1VtV&Qn$e@4!{{7F$&-yQFqxfIKNf~Sw$ZtZ%vP9_znX!BK?*BZhLjU<S
zMgQ~bNPsbqq7c#gj~_q&pNF5}Kfe$H^YDP<?H@k>gX{+33BBF_4W$_VTgWo}w^3yH
zZ>Pxc-#~(}evsc+uUzrpPM+hxk1E6e5KV^vF**$Y6ZIJWdnrToM@B}1tiZspUcLHX
zUYPgaNuJ?<usXy4I30%nS%wV%OU)Sm*H|+AkJrJjA7tmLQ>Xr$X{r9VlVbSquL@C{
zXUOos+JfPKryaxpDb5W4i;YqBfBW|Be_>(ae@#tIP`LhA<Y)MA4bra+(VuV3@W0NI
z;eWS1!~Yqs4F4<4Q1yd60J3}6u3i5@X<CSb;lGv;!+#qohW~Ez4FCO&)&HmJG5jwy
zWcXiY!SFvBhx<Y1T)%$(e?>*be<vI3|M^)N|BoCw3{KA=a{^Tv{zqyu{P$9X*ze@z
w1kyqj2Kh-xh~dAXD8qkEA&7nk1_n?bCK_`vF#H2ykiG^61_pBR|NjgO0F|{~0RR91

diff --git a/Vagrant Files/shared/scyther/Images/scyther-gui-32.ico b/Vagrant Files/shared/scyther/Images/scyther-gui-32.ico
deleted file mode 100644
index b87d7f95499453981808d80573fadbe935c143f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4286
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

diff --git a/Vagrant Files/shared/scyther/Images/scyther-gui-64.ico b/Vagrant Files/shared/scyther/Images/scyther-gui-64.ico
deleted file mode 100644
index 2fb682f62d1421d03c3963a78039c7c9519fb730..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16958
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%0A?LP@>52AA~{e1gJYH@;@jY
zT)A@Pe|&uWe*pmj3_nBdfQy65KTv-bmIef%<)Anl!+%gdz!nCeIuMi>O!*o9BbNoB
zx*t^kf&Ahl%J3hQrh~;9{=?D(C{KXO!W5*kFh`EzKL~@$P^jA|_CF{LK={j-FaJT~
z6@r3-aQ{N>fb*Fc82*FWxv(_A$HMR*ln+GMAZ=ez7=X$`SY4pb&F~*o9>B^&SXuzJ
z|6pYzJRCsjL6qUYzZk=RP`L;y8zLkb{)6j7XxRv=7eE-4m!NK=n*Tvz0Kz9uocOP$
zr3Lph)E+P&mIq*IfQOmkKd3GQ<pWSz0BZk(!T^*GK;;3rJpio}L2V*XSpjM*f!OBI
zdJ!HDpnQSUE`Ya*plJeBKZ3#ngh6=;>MpAL9~1_levO%#8Q9NId*EzP9)P6*P#X}`
z7Qz+=puRt-O$18|pmYH<3lxr^dJ<GV!rBL*G7{AP1C<Y;dJ>d3JVY4&gUU)+Sb)+6
zsH_0#gPKJX|AWHd_3PLFt*x!${)XE3ACw0`<sdi>K+8hpFaYNTXuA*;*B}haCm=s7
zC@B12ym;|{Ha52ZpfUqgHh|iQu<`*pO@Qi5P<sg!7OqI?0u&ygwiVPpH1j_w3_xW<
zN=gd2e+#t_-1dj10Z@AYR2G8j1C%geW%v&Y2T=Y1wVOcx1+^jHzkd%h_P>RN#eYsF
zNIwBoK7i^=ke|SPL_UW9pt2Gc7NB$isy9G+9+oyhdZ6y1ssF)_{r~^}_U+sMgVsJn
z?SzK`C=GzhLRc7p{0qtxpmqW%zFAmUz<tGQ*RH{g0@H16ZD2D%`2*Bn0+o}XG6Cc-
zP*{M|1+?!3Dl<{SLxABwNDtI4bn!pP(V%_+XdW9>R|*LU!Se;kpD+w{6L>7BxVZTL
z&6_ttS~2j&ix<IZ3e<N7g#oCH0JR@M{RcHJhX0`O(1g|<u<!t<4``nPRJKCxqMQGb
zJpt+)Y}~l<e?>*b|LExG|KZ``|Fg2P{!f}T>HnECXa0l23Ryim8`PgvQBnC1N;{zX
z0#rtT>I_gB2@enGSOPdqK;x#MaWrU{NV8Mc{zrGuK=4830Vv&wK>N|4@=yX=Zi2%E
z)URe|_zw#g1rCP);B>+X>30ug{8J;mK;!cuKY+?kP&*RTjsmqKKzRZbCLj!IQ-J!|
z$YBF&Lx9wS^x~WU2K8HedV2oDFlY|CzrX)KHaua%g#VK#PsWL-O`G-~8wRcGnK^Uj
ze{6WxtXco(&Yg=D&zm>zKS(dA?*XbyL16$YJ3$y!kAN_!&IGk9Kp5m-5C(-22!qrU
z@;_7_UQP{GJ}3{cF*5uI)uqT7R5rjcsICNKW`_Tu`UO<)K>dTW{DaC58vld*i4TL?
xRit33|AvhJq3)%2e2jGe|6yQY_&ZWD=zIXs(Ey_~C=?*)C4gANJv?CT4*(jc@O=OP

diff --git a/Vagrant Files/shared/scyther/Images/scyther-icon.svg b/Vagrant Files/shared/scyther/Images/scyther-icon.svg
deleted file mode 100644
index 7586c82..0000000
--- a/Vagrant Files/shared/scyther/Images/scyther-icon.svg	
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="841.88977pt"
-   height="595.27557pt"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   sodipodi:docbase="/home/cas/bzr/scyther-gui/images"
-   sodipodi:docname="scyther-icon.svg"
-   inkscape:export-filename="/home/cas/svn/scyther/Design download page Scyther/scyther-icon16.png"
-   inkscape:export-xdpi="1.6494846"
-   inkscape:export-ydpi="1.6494846">
-  <defs
-     id="defs4">
-    <linearGradient
-       id="linearGradient11078">
-      <stop
-         id="stop11080"
-         offset="0"
-         style="stop-color:#000000;stop-opacity:0.57731956;" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="0.209216"
-         id="stop11084" />
-      <stop
-         id="stop11086"
-         offset="0.65205503"
-         style="stop-color:#000000;stop-opacity:0.2371134;" />
-      <stop
-         id="stop11082"
-         offset="1"
-         style="stop-color:#000000;stop-opacity:0.67010307;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient11052">
-      <stop
-         id="stop11054"
-         offset="0"
-         style="stop-color:#000000;stop-opacity:1;" />
-      <stop
-         style="stop-color:#276816;stop-opacity:1;"
-         offset="0.25145975"
-         id="stop11060" />
-      <stop
-         id="stop11066"
-         offset="0.57149941"
-         style="stop-color:#000000;stop-opacity:1;" />
-      <stop
-         id="stop11062"
-         offset="0.57149941"
-         style="stop-color:#010400;stop-opacity:1;" />
-      <stop
-         style="stop-color:#002583;stop-opacity:1;"
-         offset="0.8028897"
-         id="stop11064" />
-      <stop
-         id="stop11056"
-         offset="1"
-         style="stop-color:#000000;stop-opacity:1;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient11044">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop11046" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop11048" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient7532">
-      <stop
-         id="stop7534"
-         offset="0"
-         style="stop-color:#9e9e9e;stop-opacity:1;" />
-      <stop
-         id="stop7536"
-         offset="1"
-         style="stop-color:#9e9e9e;stop-opacity:0;" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient11052"
-       id="linearGradient5737"
-       x1="521.7384"
-       y1="589.8822"
-       x2="521.7384"
-       y2="174.88217"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient11044"
-       id="linearGradient8364"
-       gradientUnits="userSpaceOnUse"
-       x1="323.7384"
-       y1="278.88214"
-       x2="477.7384"
-       y2="322.88214" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="1"
-     inkscape:cx="526.18109"
-     inkscape:cy="372.04724"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1280"
-     inkscape:window-height="953"
-     inkscape:window-x="0"
-     inkscape:window-y="0">
-    <sodipodi:guide
-       orientation="horizontal"
-       position="296.88141"
-       id="guide1366" />
-    <sodipodi:guide
-       orientation="horizontal"
-       position="571.88122"
-       id="guide8421" />
-    <sodipodi:guide
-       orientation="vertical"
-       position="206.87725"
-       id="guide8423" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Black base"
-     inkscape:groupmode="layer"
-     id="layer1"
-     style="display:inline"
-     sodipodi:insensitive="true">
-    <rect
-       style="opacity:1;fill:url(#linearGradient5737);fill-opacity:1;stroke:#000000;stroke-width:6.73799992;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect7546"
-       width="323.44028"
-       height="320.51846"
-       x="194.92915"
-       y="162.62292" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer9"
-     inkscape:label="inner fade"
-     sodipodi:insensitive="true"
-     style="display:inline">
-    <rect
-       style="opacity:1;fill:url(#linearGradient8364);fill-opacity:1;stroke:#000000;stroke-width:6.73799992;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
-       id="rect7489"
-       width="323.44028"
-       height="320.51846"
-       x="194.92915"
-       y="162.62292" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer7"
-     inkscape:label="blacker fades"
-     style="display:inline"
-     sodipodi:insensitive="true" />
-  <g
-     inkscape:groupmode="layer"
-     id="layer4"
-     inkscape:label="white inner"
-     style="display:inline">
-    <path
-       style="font-size:48px;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:15.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.60000038;stroke-dasharray:none;stroke-opacity:1;display:inline;font-family:Luxi Serif"
-       d="M 439.625,186.5625 L 228.875,186.96875 L 229,447.625 L 298.46875,447.0625 C 330.87282,446.92031 358.52897,437.28122 380.09375,420.40625 C 401.65809,403.53126 412.43728,382.80494 412.4375,358.21875 C 412.43728,345.47874 408.75517,334.539 401.375,325.375 C 394.57101,316.65817 381.16868,305.92772 361.21875,293.1875 L 346,283.46875 C 335.8349,277.00229 328.44922,270.61422 323.78125,264.34375 C 307.04223,258.53812 294.42062,259.0563 268.875,259.90625 C 278.05518,239.8488 296.11407,242.38722 300.21875,237.3125 C 304.95019,231.46292 305.43096,234.13065 309.84375,229.25 C 321.81701,216.0073 334.34348,209.33336 346.96875,206.0625 C 353.47544,203.07236 360.58299,201.56871 368.3125,201.65625 C 397.62337,201.98826 427.75001,225.34375 427.75,225.34375 L 439.625,186.5625 z "
-       id="path7544"
-       sodipodi:nodetypes="ccccsscccccsscscc" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer8"
-     inkscape:label="upper white"
-     style="display:inline">
-    <path
-       style="font-size:48px;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8.89999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8.60000038;stroke-dasharray:none;stroke-opacity:1;display:inline;font-family:Luxi Serif"
-       d="M 439.625,186.5625 L 228.875,186.96875 L 229,447.625 L 298.46875,447.0625 C 330.87282,446.92031 358.52897,437.28122 380.09375,420.40625 C 401.65809,403.53126 412.43728,382.80494 412.4375,358.21875 C 412.43728,345.47874 408.75517,334.539 401.375,325.375 C 394.57101,316.65817 381.16868,305.92772 361.21875,293.1875 L 346,283.46875 C 335.8349,277.00229 328.44922,270.61422 323.78125,264.34375 C 307.04223,258.53812 294.42062,259.0563 268.875,259.90625 C 278.05518,239.8488 296.11407,242.38722 300.21875,237.3125 C 304.95019,231.46292 305.43096,234.13065 309.84375,229.25 C 321.81701,216.0073 334.34348,209.33336 346.96875,206.0625 C 353.47544,203.07236 360.58299,201.56871 368.3125,201.65625 C 397.62337,201.98826 427.75001,225.34375 427.75,225.34375 L 439.625,186.5625 z "
-       id="path6613"
-       sodipodi:nodetypes="ccccsscccccsscscc" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer5"
-     inkscape:label="beak"
-     style="display:inline"
-     sodipodi:insensitive="true" />
-  <g
-     inkscape:groupmode="layer"
-     id="layer3"
-     inkscape:label="cyther"
-     style="display:inline"
-     sodipodi:insensitive="true" />
-</svg>
diff --git a/Vagrant Files/shared/scyther/Images/scyther-splash.png b/Vagrant Files/shared/scyther/Images/scyther-splash.png
deleted file mode 100644
index 818997cab57b178f6dd05bd9cf694486ab5f7ada..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 119951
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
Sq!<_&7(8A5T-G@yGywpksKk5#

diff --git a/Vagrant Files/shared/scyther/Protocols/Demo/ns3.spdl b/Vagrant Files/shared/scyther/Protocols/Demo/ns3.spdl
deleted file mode 100644
index c9235c5..0000000
--- a/Vagrant Files/shared/scyther/Protocols/Demo/ns3.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 
- * Needham-Schroeder protocol
- */
-
-// The protocol description
-
-protocol ns3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {I,ni}pk(R) );
-		recv_2(R,I, {ni,nr}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {I,ni}pk(R) );
-		send_2(R,I, {ni,nr}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/Demo/nsl3-broken.spdl b/Vagrant Files/shared/scyther/Protocols/Demo/nsl3-broken.spdl
deleted file mode 100644
index c635f91..0000000
--- a/Vagrant Files/shared/scyther/Protocols/Demo/nsl3-broken.spdl	
+++ /dev/null
@@ -1,40 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol,
- * broken version (wrong role name in first message)
- */
-
-// The protocol description
-
-protocol nsl3-broken(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {R,ni}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {R,ni}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/Demo/nsl3-updated-both.spdl b/Vagrant Files/shared/scyther/Protocols/Demo/nsl3-updated-both.spdl
deleted file mode 100644
index 076166e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/Demo/nsl3-updated-both.spdl	
+++ /dev/null
@@ -1,78 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol,
- * broken version (wrong role name in first message)
- */
-
-// The protocol description
-
-protocol nsl3-broken(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {R,ni}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {R,ni}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
-/* 
- * Needham-Schroeder-Lowe protocol
- */
-
-// The protocol description
-
-protocol nsl3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {I,ni}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {I,ni}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/Demo/nsl3.spdl b/Vagrant Files/shared/scyther/Protocols/Demo/nsl3.spdl
deleted file mode 100644
index ebf9031..0000000
--- a/Vagrant Files/shared/scyther/Protocols/Demo/nsl3.spdl	
+++ /dev/null
@@ -1,38 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol
- */
-
-// The protocol description
-
-protocol nsl3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {I,ni}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {I,ni}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsa.spdl b/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsa.spdl
deleted file mode 100644
index 73133a7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsa.spdl	
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 
- * PKMv2-RSA
- *
- * Initial model by:	Sjouke Mauw, Sasa Radomirovic (2007)
- * Model changes:	Cas Cremers (Nov 2012)
- *
- * Analysed in:		"A framework for compositional verification of security protocols"
- * 			With S. Andova, K. Gjosteen, S. Mauw, S. Mjolsnes, and S. Radomirovic.
- * 			Information and Computation, Special issue on Computer Security: 
- * 			Foundations and Automated Reasoning, Volume 206, Issues 2-4, pp. 425-459,
- * 			Elsevier, 2008. 
- */
-
-// The protocol description
-
-protocol pkmv2rsa(MS,BS)
-{
-	role MS
-	{
-		fresh msrand, said: Nonce;
-		var prepak, bsrand: Nonce;
-
-		send_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-		recv_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-		send_rsa3(MS,BS, {bsrand}sk(MS) );
-
-		claim_rsai3(MS,Niagree);
-		claim_rsai4(MS,Nisynch);
-		claim_rsai5(MS,SKR,prepak);
-	}	
-	
-	role BS
-	{
-		var msrand, said: Nonce;
-		fresh prepak, bsrand: Nonce;
-
-		recv_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-		send_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-		recv_rsa3(MS,BS, {bsrand}sk(MS) );
-
-		claim_rsar3(BS,Niagree);
-		claim_rsar4(BS,Nisynch);
-		claim_rsar5(BS,SKR,prepak);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsacorrected.spdl b/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsacorrected.spdl
deleted file mode 100644
index 4bd5205..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2rsacorrected.spdl	
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 
- * PKMv2-RSA
- *
- * Initial model by:	Sjouke Mauw, Sasa Radomirovic (2007)
- * Model changes:	Cas Cremers (Nov 2012)
- *
- * Analysed in:		"A framework for compositional verification of security protocols"
- * 			With S. Andova, K. Gjosteen, S. Mauw, S. Mjolsnes, and S. Radomirovic.
- * 			Information and Computation, Special issue on Computer Security: 
- * 			Foundations and Automated Reasoning, Volume 206, Issues 2-4, pp. 425-459,
- * 			Elsevier, 2008. 
- */
-
-// The protocol description
-
-protocol pkmv2rsa(MS,BS)
-{
-	role MS
-	{
-		fresh msrand, said: Nonce;
-		var prepak, bsrand: Nonce;
-
-		send_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-		recv_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-		send_rsa3(MS,BS, {bsrand,BS}sk(MS) );
-
-		claim_rsai3(MS,Niagree);
-		claim_rsai4(MS,Nisynch);
-		claim_rsai5(MS,SKR,prepak);
-	}	
-	
-	role BS
-	{
-		var msrand, said: Nonce;
-		fresh prepak, bsrand: Nonce;
-
-		recv_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-		send_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-		recv_rsa3(MS,BS, {bsrand,BS}sk(MS) );
-
-		claim_rsar3(BS,Niagree);
-		claim_rsar4(BS,Nisynch);
-		claim_rsar5(BS,SKR,prepak);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2satek.spdl b/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2satek.spdl
deleted file mode 100644
index b166a1b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pkmv2satek.spdl	
+++ /dev/null
@@ -1,63 +0,0 @@
-/* 
- * PKMv2-SA-TEK
- *
- * Initial model by:	Sjouke Mauw, Sasa Radomirovic (2007)
- * Model changes:	Cas Cremers (Nov 2012)
- *
- * Analysed in:		"A framework for compositional verification of security protocols"
- * 			With S. Andova, K. Gjosteen, S. Mauw, S. Mjolsnes, and S. Radomirovic.
- * 			Information and Computation, Special issue on Computer Security: 
- * 			Foundations and Automated Reasoning, Volume 206, Issues 2-4, pp. 425-459,
- * 			Elsevier, 2008. 
- */
-
-// Setup
-
-hashfunction hash;
-hashfunction prepak;
-const akid;
-const u,d;
-
-// The protocol description
-
-protocol pkmv2satek(MS,BS)
-{
-  role MS
-  {
-    fresh msrand': Nonce;
-    var bsrand', tek0, tek1: Nonce;
-
-    recv_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak(MS,BS),BS,MS,bsrand',akid) );
-    send_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak(MS,BS),BS,MS,msrand',bsrand',akid) );
-    recv_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak(MS,BS)),
-      hash(d,prepak(MS,BS),msrand',bsrand',akid,{tek0,tek1}hash(prepak(MS,BS))));
-
-    claim_rsai3(MS,Niagree);
-    claim_rsai4(MS,Nisynch);
-    claim_rsai6(MS,SKR,tek0);
-    claim_rsai7(MS,SKR,tek1);
-  } 
-  
-  role BS
-  {
-    var msrand': Nonce;
-    fresh bsrand', tek0, tek1: Nonce;
-
-    send_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak(MS,BS),BS,MS,bsrand',akid) );
-    recv_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak(MS,BS),BS,MS,msrand',bsrand',akid) );
-    send_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak(MS,BS)),
-      hash(d,prepak(MS,BS),msrand',bsrand',akid,{tek0,tek1}hash(prepak(MS,BS))));
-
-    claim_rsar3(BS,Niagree);
-    claim_rsar4(BS,Nisynch);
-    claim_rsar6(BS,SKR,tek0);
-    claim_rsar7(BS,SKR,tek1);
-  }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pqr.spdl b/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pqr.spdl
deleted file mode 100644
index 731d369..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/pqr.spdl	
+++ /dev/null
@@ -1,84 +0,0 @@
-/* 
- * PKMv2-RSA
- *
- * Initial model by:	Sjouke Mauw, Sasa Radomirovic (2007)
- * Model changes:	Cas Cremers (Nov 2012)
- *
- * Analysed in:		"A framework for compositional verification of security protocols"
- * 			With S. Andova, K. Gjosteen, S. Mauw, S. Mjolsnes, and S. Radomirovic.
- * 			Information and Computation, Special issue on Computer Security: 
- * 			Foundations and Automated Reasoning, Volume 206, Issues 2-4, pp. 425-459,
- * 			Elsevier, 2008. 
- */
-
-// Setup
-
-hashfunction hash;
-hashfunction prepak;
-const akid;
-const u,d;
-
-// The protocol description
-
-protocol rsaplussatek(MS,BS)
-
-{
-  role MS
-  {
-    fresh msrand, msrand', said, c: Nonce;
-    var prepak, bsrand, bsrand', tek0, tek1, tek2, tek3: Nonce;
-
-    send_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-    recv_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-    send_rsa3(MS,BS, {bsrand, BS}sk(MS) );
-
-    recv_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak,BS,MS,bsrand',akid) );
-    send_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak,BS,MS,msrand',bsrand',akid) );
-    recv_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak),
-      hash(d,prepak,msrand',bsrand',akid,{tek0,tek1}hash(prepak)));
-
-    send_tekup1(MS,BS,{c}hash(prepak));
-    recv_tekup2(BS,MS,{c,tek2,tek3}hash(prepak));
-
-    claim_rsai3(MS,Niagree);
-    claim_rsai4(MS,Nisynch);
-    claim_rsai5(MS,SKR,prepak);
-    claim_rsai6(MS,SKR,tek0);
-    claim_rsai7(MS,SKR,tek1);
-    claim_rsar8(MS,SKR,tek2);
-    claim_rsar9(MS,SKR,tek3);
-  } 
-  
-  role BS
-  {
-    var msrand, msrand', said, c: Nonce;
-    fresh prepak, bsrand, bsrand', tek0, tek1, tek2, tek3: Nonce;
-
-    recv_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-    send_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-    recv_rsa3(MS,BS, {bsrand, BS}sk(MS) );
-
-    send_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak,BS,MS,bsrand',akid) );
-    recv_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak,BS,MS,msrand',bsrand',akid) );
-    send_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak),
-      hash(d,prepak,msrand',bsrand',akid,{tek0,tek1}hash(prepak)));
-
-    recv_tekup1(MS,BS,{c}hash(prepak));
-    send_tekup2(BS,MS,{c,tek2,tek3}hash(prepak));
-
-    claim_rsar3(BS,Niagree);
-    claim_rsar4(BS,Nisynch);
-    claim_rsar5(BS,SKR,prepak);
-    claim_rsar6(BS,SKR,tek0);
-    claim_rsar7(BS,SKR,tek1);
-    claim_rsar8(BS,SKR,tek2);
-    claim_rsar9(BS,SKR,tek3);
-  }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatek.spdl b/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatek.spdl
deleted file mode 100644
index eb15dde..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatek.spdl	
+++ /dev/null
@@ -1,74 +0,0 @@
-/* 
- * PKMv2-RSA
- *
- * Initial model by:	Sjouke Mauw, Sasa Radomirovic (2007)
- * Model changes:	Cas Cremers (Nov 2012)
- *
- * Analysed in:		"A framework for compositional verification of security protocols"
- * 			With S. Andova, K. Gjosteen, S. Mauw, S. Mjolsnes, and S. Radomirovic.
- * 			Information and Computation, Special issue on Computer Security: 
- * 			Foundations and Automated Reasoning, Volume 206, Issues 2-4, pp. 425-459,
- * 			Elsevier, 2008. 
- */
-
-// Setup
-
-hashfunction hash;
-hashfunction prepak;
-const akid;
-const u,d;
-
-// The protocol description
-
-protocol rsaplussatek(MS,BS)
-
-{
-  role MS
-  {
-    fresh msrand, msrand', said: Nonce;
-    var prepak, bsrand, bsrand', tek0, tek1: Nonce;
-
-    send_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-    recv_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-    send_rsa3(MS,BS, {bsrand}sk(MS) );
-
-    recv_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak,BS,MS,bsrand',akid) );
-    send_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak,BS,MS,msrand',bsrand',akid) );
-    recv_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak),
-      hash(d,prepak,msrand',bsrand',akid,{tek0,tek1}hash(prepak)));
-
-    claim_rsai3(MS,Niagree);
-    claim_rsai4(MS,Nisynch);
-//    claim_rsai5(MS,SKR,prepak);
-//    claim_rsai6(MS,SKR,tek0);
-//    claim_rsai7(MS,SKR,tek1);
-  } 
-  
-  role BS
-  {
-    var msrand, msrand', said: Nonce;
-    fresh prepak, bsrand, bsrand', tek0, tek1: Nonce;
-
-    recv_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-    send_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-    recv_rsa3(MS,BS, {bsrand}sk(MS) );
-
-    send_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak,BS,MS,bsrand',akid) );
-    recv_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak,BS,MS,msrand',bsrand',akid) );
-    send_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak),
-      hash(d,prepak,msrand',bsrand',akid,{tek0,tek1}hash(prepak)));
-
-    claim_rsar3(BS,Niagree);
-    claim_rsar4(BS,Nisynch);
-//    claim_rsar5(BS,SKR,prepak);
-//    claim_rsar6(BS,SKR,tek0);
-//    claim_rsar7(BS,SKR,tek1);
-  }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatekcorrected.spdl b/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatekcorrected.spdl
deleted file mode 100644
index b8051d8..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IEEE-WIMAX/rsaplussatekcorrected.spdl	
+++ /dev/null
@@ -1,73 +0,0 @@
-/* 
- * PKMv2-RSA
- *
- * Initial model by:	Sjouke Mauw, Sasa Radomirovic (2007)
- * Model changes:	Cas Cremers (Nov 2012)
- *
- * Analysed in:		"A framework for compositional verification of security protocols"
- * 			With S. Andova, K. Gjosteen, S. Mauw, S. Mjolsnes, and S. Radomirovic.
- * 			Information and Computation, Special issue on Computer Security: 
- * 			Foundations and Automated Reasoning, Volume 206, Issues 2-4, pp. 425-459,
- * 			Elsevier, 2008. 
- */
-
-// Setup
-
-hashfunction hash;
-hashfunction prepak;
-const akid;
-const u,d;
-
-// The protocol description
-
-protocol rsaplussatek(MS,BS)
-
-{
-  role MS
-  {
-    fresh msrand, msrand', said: Nonce;
-    var prepak, bsrand, bsrand', tek0, tek1: Nonce;
-
-    send_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-    recv_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-    send_rsa3(MS,BS, {bsrand, BS}sk(MS) );
-
-    recv_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak,BS,MS,bsrand',akid) );
-    send_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak,BS,MS,msrand',bsrand',akid) );
-    recv_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak),
-      hash(d,prepak,msrand',bsrand',akid,{tek0,tek1}hash(prepak)));
-
-    claim_rsai3(MS,Niagree);
-    claim_rsai4(MS,Nisynch);
-    claim_rsai5(MS,SKR,prepak);
-    claim_rsai6(MS,SKR,tek0);
-    claim_rsai7(MS,SKR,tek1);
-  } 
-  
-  role BS
-  {
-    var msrand, msrand', said: Nonce;
-    fresh prepak, bsrand, bsrand', tek0, tek1: Nonce;
-
-    recv_rsa1(MS,BS, {msrand, said, MS}sk(MS) );
-    send_rsa2(BS,MS, {msrand, bsrand,{prepak,MS}pk(MS),BS}sk(BS) );
-    recv_rsa3(MS,BS, {bsrand, BS}sk(MS) );
-
-    send_satek1(BS,MS, bsrand',akid,
-      hash(d,prepak,BS,MS,bsrand',akid) );
-    recv_satek2(MS,BS, msrand',bsrand',akid,
-      hash(u,prepak,BS,MS,msrand',bsrand',akid) );
-    send_satek3(BS,MS,
-    msrand',bsrand',akid,{tek0,tek1}hash(prepak),
-      hash(d,prepak,msrand',bsrand',akid,{tek0,tek1}hash(prepak)));
-
-    claim_rsar3(BS,Niagree);
-    claim_rsar4(BS,Nisynch);
-    claim_rsar5(BS,SKR,prepak);
-    claim_rsar6(BS,SKR,tek0);
-    claim_rsar7(BS,SKR,tek1);
-  }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/Makefile b/Vagrant Files/shared/scyther/Protocols/IKE/Makefile
deleted file mode 100644
index 7234a64..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/Makefile	
+++ /dev/null
@@ -1,11 +0,0 @@
-CPPSRC= $(wildcard *.cpp)
-DEST= $(CPPSRC:.cpp=.spdl)
-
-default:	$(DEST)
-
-%.spdl:	%.cpp
-	cpp $< >$@
-
-mpa:	$(DEST) make-mpa.py
-	./make-mpa.py
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/common.h b/Vagrant Files/shared/scyther/Protocols/IKE/common.h
deleted file mode 100644
index 6dcb5d2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/common.h	
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
- * THIS FILE CONTAINS DEFINITIONS OF COMMON MACROS AND TYPES                *
- ****************************************************************************/
-
- hashfunction prf, KDF;
-
-/**********************************
- * DIFFIE-HELLMAN ABSTRACTIONS    *
- * Zi = Gr^i = g^(ri)
- * Zr = Gi^r = g^(ir)
- **********************************/
-const g, h: Function;
-#define Zi h(Gr,i)
-#define Zr h(Gi,r)
-
-/**********************************
- * PROTOCOL DEPENDENT DEFINITIONS *
- **********************************/
-#ifdef __IKEV1__
-hashfunction H;
-#define SKi KDF(Ni, Nr, Zi, Ci, Cr)
-#define SKr KDF(Ni, Nr, Zr, Ci, Cr)
-#endif
-
-#ifdef __IKEV1_PSK__
-#define SKi prf(k(I,R), Ni, Nr, Zi, Ci, Cr)
-#define SKr prf(k(R,I), Ni, Nr, Zr, Ci, Cr)
-#endif
-
-#ifdef __IKEV1_QUICK__
-/* k(.,.) equals Kd from the spec */
-#define SKi KDF(k(I,R),Zi,Ni,Nr)
-#define SKr KDF(k(R,I),Zr,Ni,Nr)
-#endif
-
-#ifdef __IKEV1_QUICK_NOPFS__
-/* k(.,.) equals Kd from the spec */
-#define SKi KDF(k(I,R),Ni,Nr)
-#define SKr KDF(k(R,I),Ni,Nr)
-#endif
-
-#ifdef __IKEV2__
-hashfunction MAC;
-#define HDR (SPIi,SPIr)
-#define SKi KDF(Ni,Nr,Zi,SPIi,SPIr)
-#define SKr KDF(Ni,Nr,Zr,SPIi,SPIr)
-#endif
-
-#ifdef __IKEV2_CHILD__
-#define SKi KDF(k(I,R),Zi,Ni,Nr)
-#define SKr KDF(k(R,I),Zr,Ni,Nr)
-#endif
-
-#ifdef __IKEV2_CHILD_NOPFS__
-#define SKi KDF(k(I,R),Ni,Nr)
-#define SKr KDF(k(R,I),Ni,Nr)
-#endif
-
-#ifdef __JFK_CORE__
-hashfunction H;
-#define SKi KDF(Zi, Ni, Nr)
-#define SKr KDF(Zr, Ni, Nr)
-#endif
-
-#ifdef __JFK__
-hashfunction H;
-#define SKi KDF(Zi, H(Ni), Nr)
-#define SKr KDF(Zr, H(Ni), Nr)
-#endif
-
-#ifdef __OAKLEY__
-#define SKi KDF(Ni, Nr, Zi, Ci, Cr)
-#define SKr KDF(Ni, Nr, Zr, Ci, Cr)
-#endif
-
-#ifdef __OAKLEY_CONSERVATIVE__
-#define SKi KDF(Ni, Nr, Zi, Ci, Cr)
-#define SKr KDF(Ni, Nr, Zr, Ci, Cr)
-#endif
-
-#ifdef __SKEME__
-#define SKi KDF(Zi)
-#define SKr KDF(Zr)
-#endif
-
-#ifdef __SKEME_REKEY__
-#define SKi KDF(k(I,R),prf(k(I,R), Ni, Nr, R, I))
-#define SKr KDF(k(R,I),prf(k(R,I), Ni, Nr, R, I))
-#endif
-
-#ifdef __STS__
-#define SKi KDF(Zi)
-#define SKr KDF(Zr)
-hashfunction MAC;
-#endif
-
-protocol @oracle (DH, SWAP) {
-#define Gi g(i)
-#define Gr g(r)
-
-	/* Diffie-Hellman oracle: If the adversary is in possession of g^xy, he 
-	 * can obtain g^yx.
-	 * @obsolete	The adversary does not need DH as long as SWAP exists
-	 */
-	role DH {
-		var i, r: Nonce;
-
-		recv_!DH1( DH, DH, Zi );
-		send_!DH2( DH, DH, Zr );
-	}
-
-	/* Session key swap oracle: If the adversary is in possession of eg the 
-	 * initiators session key, he can obtain the responders session key.
-	 */
-	role SWAP {
-		var i, r, Ni, Nr: Nonce;
-
-#ifdef __IKEV1__
-		var Ci, Cr: Nonce;
-#endif
-#ifdef __IKEV1_PSK__
-		var Ci, Cr: Nonce;
-		var I, R: Agent;
-#endif
-#ifdef __IKEV1_QUICK__
-		var I, R: Agent;
-#endif
-#ifdef __IKEV1_QUICK_NOPFS__
-		var I, R: Agent;
-#endif
-#ifdef __IKEV2__
-		var SPIi, SPIr: Nonce;
-#endif
-#ifdef __IKEV2_CHILD__
-		var I, R: Agent;
-#endif
-#ifdef __IKEV2_CHILD_NOPFS__
-		var I, R: Agent;
-#endif
-#ifdef __OAKLEY__
-		var Ci, Cr: Nonce;
-#endif
-#ifdef __OAKLEY_CONSERVATIVE__
-		var Ci, Cr: Nonce;
-#endif
-#ifdef __SKEME_REKEY__
-		var I, R: Agent;
-#endif
-
-		recv_!SWAP1( SWAP, SWAP, SKi );
-		send_!SWAP2( SWAP, SWAP, SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-#define __ORACLE__
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.cpp
deleted file mode 100644
index 86947a8..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.cpp	
+++ /dev/null
@@ -1,96 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)
- * @reference	RFC 2409, 
- *				Boyd C. and Mathuria A., Protocols for Authentication 
- *				and Key Agreement
- * @variant		Public key authentication (aggressive mode), 
- *				last message not encrypted
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define HASH1 H(CERT(R))
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, HASH_Ii );
-		send_!O4( O, O, HASH_Ir );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-pk-a1(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), {I}pk(R), {Ni}pk(R) );
-		recv_!2( R, I, Ci, Cr, algo, Gr, {R}pk(I), {Nr}pk(I), HASH_Ri );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!3( I, R, Ci, Cr, HASH_Ii );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, {I}pk(R), {Ni}pk(R) );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!2( R, I, Ci, Cr, algo, g(r), {R}pk(I), {Nr}pk(I), HASH_Rr );
-		recv_!3( I, R, Ci, Cr, HASH_Ir );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.spdl
deleted file mode 100644
index b9b8f00..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a1.spdl	
+++ /dev/null
@@ -1,129 +0,0 @@
-# 1 "ikev1-pk-a1.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk-a1.cpp"
-# 17 "ikev1-pk-a1.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-pk-a1.cpp" 2
-# 27 "ikev1-pk-a1.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I) );
-  send_!O4( O, O, prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I) );
-
- }
-
-
-}
-
-
-protocol ikev1-pk-a1(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), {I}pk(R), {Ni}pk(R) );
-  recv_!2( R, I, Ci, Cr, algo, Gr, {R}pk(I), {Nr}pk(I), prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, {I}pk(R), {Ni}pk(R) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!2( R, I, Ci, Cr, algo, g(r), {R}pk(I), {Nr}pk(I), prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.cpp
deleted file mode 100644
index 435479a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.cpp	
+++ /dev/null
@@ -1,95 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication
- *				and Key Agreement                                          
- * @variant		Public key authentication (aggressive mode),           
- *				last message encrypted                                 
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define HASH1 H(CERT(R))
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, {HASH_Ii}SKi );
-		send_!O4( O, O, {HASH_Ir}SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev1-pk-a12(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), {I}pk(R), {Ni}pk(R) );
-		recv_!2( R, I, Ci, Cr, algo, Gr, {R}pk(I), {Nr}pk(I), HASH_Ri );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!3( I, R, Ci, Cr, {HASH_Ii}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, {I}pk(R), {Ni}pk(R) );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!2( R, I, Ci, Cr, algo, g(r), {R}pk(I), {Nr}pk(I), HASH_Rr );
-		recv_!3( I, R, Ci, Cr, {HASH_Ir}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.spdl
deleted file mode 100644
index 473ffc7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a12.spdl	
+++ /dev/null
@@ -1,128 +0,0 @@
-# 1 "ikev1-pk-a12.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk-a12.cpp"
-# 17 "ikev1-pk-a12.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-pk-a12.cpp" 2
-# 27 "ikev1-pk-a12.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-
-protocol ikev1-pk-a12(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), {I}pk(R), {Ni}pk(R) );
-  recv_!2( R, I, Ci, Cr, algo, Gr, {R}pk(I), {Nr}pk(I), prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!3( I, R, Ci, Cr, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, {I}pk(R), {Ni}pk(R) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!2( R, I, Ci, Cr, algo, g(r), {R}pk(I), {Nr}pk(I), prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.cpp
deleted file mode 100644
index b149cfe..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.cpp	
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Public key authentication (aggressive mode),           
- *				last message not encrypted, nonce and id encrypted     
- *				together                                               
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define HASH1 H(CERT(R))
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, HASH_Ii );
-		send_!O4( O, O, HASH_Ir );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-pk-a2(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), {I,Ni}pk(R) );
-		recv_!2( R, I, Ci, Cr, algo, Gr, {R,Nr}pk(I), HASH_Ri );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!3( I, R, Ci, Cr, HASH_Ii );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, {I,Ni}pk(R) );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!2( R, I, Ci, Cr, algo, g(r), {R,Nr}pk(I), HASH_Rr );
-		recv_!3( I, R, Ci, Cr, HASH_Ir );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.spdl
deleted file mode 100644
index 60b9fb4..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a2.spdl	
+++ /dev/null
@@ -1,129 +0,0 @@
-# 1 "ikev1-pk-a2.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk-a2.cpp"
-# 18 "ikev1-pk-a2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 19 "ikev1-pk-a2.cpp" 2
-# 28 "ikev1-pk-a2.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I) );
-  send_!O4( O, O, prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I) );
-
- }
-
-
-}
-
-
-protocol ikev1-pk-a2(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), {I,Ni}pk(R) );
-  recv_!2( R, I, Ci, Cr, algo, Gr, {R,Nr}pk(I), prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, {I,Ni}pk(R) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!2( R, I, Ci, Cr, algo, g(r), {R,Nr}pk(I), prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.cpp
deleted file mode 100644
index a71e20a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.cpp	
+++ /dev/null
@@ -1,95 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Public key authentication (aggressive mode),           
- *				last message encrypted, nonce and id encrypted together
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define HASH1 H(CERT(R))
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, {HASH_Ii}SKi );
-		send_!O4( O, O, {HASH_Ir}SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev1-pk-a22(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), {I,Ni}pk(R) );
-		recv_!2( R, I, Ci, Cr, algo, Gr, {R,Nr}pk(I), HASH_Ri );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!3( I, R, Ci, Cr, {HASH_Ii}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, {I,Ni}pk(R) );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!2( R, I, Ci, Cr, algo, g(r), {R,Nr}pk(I), HASH_Rr );
-		recv_!3( I, R, Ci, Cr, {HASH_Ir}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.spdl
deleted file mode 100644
index 1c59323..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-a22.spdl	
+++ /dev/null
@@ -1,128 +0,0 @@
-# 1 "ikev1-pk-a22.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk-a22.cpp"
-# 17 "ikev1-pk-a22.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-pk-a22.cpp" 2
-# 27 "ikev1-pk-a22.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-
-protocol ikev1-pk-a22(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), {I,Ni}pk(R) );
-  recv_!2( R, I, Ci, Cr, algo, Gr, {R,Nr}pk(I), prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!3( I, R, Ci, Cr, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, {I,Ni}pk(R) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!2( R, I, Ci, Cr, algo, g(r), {R,Nr}pk(I), prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.cpp
deleted file mode 100644
index 1b27c5f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.cpp	
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Public key authentication (main mode)                  
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define HASH1 H({R, pk(R)}sk(s))
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {HASH_Ii}SKi );
-		send_!O2( O, O, {HASH_Ir}SKr );
-
-		// msg 6
-		recv_!O3( O, O, {HASH_Rr}SKr );
-		send_!O4( O, O, {HASH_Ri}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-pk-m(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, g(i), {I}pk(R), {Ni}pk(R) );
-		recv_4( R, I, Ci, Cr, Gr, {R}pk(I), {Nr}pk(I) );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!5( I, R, Ci, Cr, {HASH_Ii}SKi );
-		recv_!6( R, I, Ci, Cr, {HASH_Ri}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, Gi, {I}pk(R), {Ni}pk(R) );
-		send_4( R, I, Ci, Cr, g(r), {R}pk(I), {Nr}pk(I) );
-		recv_!5( I, R, Ci, Cr, {HASH_Ir}SKr );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!6( R, I, Ci, Cr, {HASH_Rr}SKr );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.spdl
deleted file mode 100644
index 8436133..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m.spdl	
+++ /dev/null
@@ -1,136 +0,0 @@
-# 1 "ikev1-pk-m.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk-m.cpp"
-# 16 "ikev1-pk-m.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 17 "ikev1-pk-m.cpp" 2
-# 27 "ikev1-pk-m.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O2( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-
- }
-
-
-}
-
-
-protocol ikev1-pk-m(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, g(i), {I}pk(R), {Ni}pk(R) );
-  recv_4( R, I, Ci, Cr, Gr, {R}pk(I), {Nr}pk(I) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-  recv_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, Gi, {I}pk(R), {Ni}pk(R) );
-  send_4( R, I, Ci, Cr, g(r), {R}pk(I), {Nr}pk(I) );
-  recv_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.cpp
deleted file mode 100644
index fc08ea0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.cpp	
+++ /dev/null
@@ -1,102 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Public key authentication (main mode),                 
- *				Nonce and id encrypted together                        
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {HASH_Ii}SKi );
-		send_!O2( O, O, {HASH_Ir}SKr );
-
-		// msg 6
-		recv_!O3( O, O, {HASH_Rr}SKr );
-		send_!O4( O, O, {HASH_Ri}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev1-pk-m2(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, g(i), {I,Ni}pk(R) );
-		recv_4( R, I, Ci, Cr, Gr, {R,Nr}pk(I) );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!5( I, R, Ci, Cr, {HASH_Ii}SKi );
-		recv_!6( R, I, Ci, Cr, {HASH_Ri}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, Gi, {I,Ni}pk(R) );
-		send_4( R, I, Ci, Cr, g(r), {R,Nr}pk(I) );
-		recv_!5( I, R, Ci, Cr, {HASH_Ir}SKr );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!6( R, I, Ci, Cr, {HASH_Rr}SKr );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.spdl
deleted file mode 100644
index b625de5..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk-m2.spdl	
+++ /dev/null
@@ -1,135 +0,0 @@
-# 1 "ikev1-pk-m2.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk-m2.cpp"
-# 17 "ikev1-pk-m2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-pk-m2.cpp" 2
-# 27 "ikev1-pk-m2.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O2( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-
- }
-
-
-}
-
-protocol ikev1-pk-m2(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, g(i), {I,Ni}pk(R) );
-  recv_4( R, I, Ci, Cr, Gr, {R,Nr}pk(I) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-  recv_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, Gi, {I,Ni}pk(R) );
-  send_4( R, I, Ci, Cr, g(r), {R,Nr}pk(I) );
-  recv_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.cpp
deleted file mode 100644
index 9549e44..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.cpp	
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
-  *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Revised public key authentication (aggressive mode)    
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define Nei prf(Ni, Ci)
-#define Ner prf(Nr, Cr)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, HASH_Ir );
-		send_!O4( O, O, HASH_Ii );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-pk2-a(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, {Ni}pk(R), {g(i)}Nei, {I}Nei );
-		recv_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {Gr}Ner, {R}Ner,  HASH_Ri );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!3( I, R, Ci, Cr, HASH_Ii );
-		
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, {Ni}pk(R), {Gi}Nei, {I}Nei );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {g(r)}Ner, {R}Ner,  HASH_Rr );
-		recv_!3( I, R, Ci, Cr, HASH_Ir );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.spdl
deleted file mode 100644
index 971122a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a.spdl	
+++ /dev/null
@@ -1,129 +0,0 @@
-# 1 "ikev1-pk2-a.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk2-a.cpp"
-# 16 "ikev1-pk2-a.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 17 "ikev1-pk2-a.cpp" 2
-# 28 "ikev1-pk2-a.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I) );
-  send_!O4( O, O, prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I) );
-
- }
-
-
-}
-
-
-protocol ikev1-pk2-a(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, {Ni}pk(R), {g(i)}prf(Ni, Ci), {I}prf(Ni, Ci) );
-  recv_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {Gr}prf(Nr, Cr), {R}prf(Nr, Cr), prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, {Ni}pk(R), {Gi}prf(Ni, Ci), {I}prf(Ni, Ci) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {g(r)}prf(Nr, Cr), {R}prf(Nr, Cr), prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.cpp
deleted file mode 100644
index a8536fb..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.cpp	
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Revised public key authentication (aggressive mode),   
- *				Diffie-Hellman token encrypted together with identity  
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define Nei prf(Ni, Ci)
-#define Ner prf(Nr, Cr)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, HASH_Ir );
-		send_!O4( O, O, HASH_Ii );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev1-pk2-a2(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, {Ni}pk(R), {g(i),I}Nei );
-		recv_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {Gr,R}Ner,  HASH_Ri );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!3( I, R, Ci, Cr, HASH_Ii );
-		
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, {Ni}pk(R), {Gi,I}Nei );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {g(r),R}Ner,  HASH_Rr );
-		recv_!3( I, R, Ci, Cr, HASH_Ir );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.spdl
deleted file mode 100644
index 51e0d17..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-a2.spdl	
+++ /dev/null
@@ -1,128 +0,0 @@
-# 1 "ikev1-pk2-a2.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk2-a2.cpp"
-# 17 "ikev1-pk2-a2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-pk2-a2.cpp" 2
-# 29 "ikev1-pk2-a2.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I) );
-  send_!O4( O, O, prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I) );
-
- }
-
-
-}
-
-protocol ikev1-pk2-a2(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, {Ni}pk(R), {g(i),I}prf(Ni, Ci) );
-  recv_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {Gr,R}prf(Nr, Cr), prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, {Ni}pk(R), {Gi,I}prf(Ni, Ci) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!2( R, I, Ci, Cr, algo, {Nr}pk(I), {g(r),R}prf(Nr, Cr), prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.cpp
deleted file mode 100644
index 42f2d9d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.cpp	
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication
- *				and Key Agreement
- * @variant		Revised public key authentication (main mode)          
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define Nei prf(Ni, Ci)
-#define Ner prf(Nr, Cr)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {HASH_Ii}SKi );
-		send_!O2( O, O, {HASH_Ir}SKr );
-
-		// msg 6
-		recv_!O3( O, O, {HASH_Rr}SKr );
-		send_!O4( O, O, {HASH_Ri}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-pk2-m(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, {Ni}pk(R), {g(i)}Nei, {I}Nei );
-		recv_4( R, I, Ci, Cr, {Nr}pk(I), {Gr}Ner, {R}Ner );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!5( I, R, Ci, Cr, {HASH_Ii}SKi );
-		recv_!6( R, I, Ci, Cr, {HASH_Ri}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, {Ni}pk(R), {Gi}Nei, {I}Nei );
-		send_4( R, I, Ci, Cr, {Nr}pk(I), {g(r)}Ner, {R}Ner );
-		recv_!5( I, R, Ci, Cr, {HASH_Ir}SKr );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!6( R, I, Ci, Cr, {HASH_Rr}SKr );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.spdl
deleted file mode 100644
index e32dd5b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m.spdl	
+++ /dev/null
@@ -1,136 +0,0 @@
-# 1 "ikev1-pk2-m.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk2-m.cpp"
-# 16 "ikev1-pk2-m.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 17 "ikev1-pk2-m.cpp" 2
-# 28 "ikev1-pk2-m.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O2( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-
- }
-
-
-}
-
-
-protocol ikev1-pk2-m(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, {Ni}pk(R), {g(i)}prf(Ni, Ci), {I}prf(Ni, Ci) );
-  recv_4( R, I, Ci, Cr, {Nr}pk(I), {Gr}prf(Nr, Cr), {R}prf(Nr, Cr) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-  recv_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, {Ni}pk(R), {Gi}prf(Ni, Ci), {I}prf(Ni, Ci) );
-  send_4( R, I, Ci, Cr, {Nr}pk(I), {g(r)}prf(Nr, Cr), {R}prf(Nr, Cr) );
-  recv_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.cpp
deleted file mode 100644
index 653a839..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.cpp	
+++ /dev/null
@@ -1,106 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication
- *				and Key Agreement
- * @variant		Revised public key authentication (aggressive mode),   
- *				Diffie-Hellman token encrypted together with identity  
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(H(Ni,Nr),Ci,Cr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-#define HASH1 H({R, pk(R)}sk(s))
-#define Nei prf(Ni, Ci)
-#define Ner prf(Nr, Cr)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {HASH_Ii}SKi );
-		send_!O2( O, O, {HASH_Ir}SKr );
-
-		// msg 6
-		recv_!O3( O, O, {HASH_Rr}SKr );
-		send_!O4( O, O, {HASH_Ri}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-pk2-m2(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, {Ni}pk(R), {g(i),I}Nei );
-		recv_4( R, I, Ci, Cr, {Nr}pk(I), {Gr,R}Ner );
-		claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-		send_!5( I, R, Ci, Cr, {HASH_Ii}SKi );
-		recv_!6( R, I, Ci, Cr, {HASH_Ri}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, {Ni}pk(R), {Gi,I}Nei );
-		send_4( R, I, Ci, Cr, {Nr}pk(I), {g(r),R}Ner );
-		recv_!5( I, R, Ci, Cr, {HASH_Ir}SKr );
-		claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-		send_!6( R, I, Ci, Cr, {HASH_Rr}SKr );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.spdl
deleted file mode 100644
index 62e5b74..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-pk2-m2.spdl	
+++ /dev/null
@@ -1,136 +0,0 @@
-# 1 "ikev1-pk2-m2.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-pk2-m2.cpp"
-# 17 "ikev1-pk2-m2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-pk2-m2.cpp" 2
-# 30 "ikev1-pk2-m2.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O2( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-
- }
-
-
-}
-
-
-protocol ikev1-pk2-m2(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, {Ni}pk(R), {g(i),I}prf(Ni, Ci) );
-  recv_4( R, I, Ci, Cr, {Nr}pk(I), {Gr,R}prf(Nr, Cr) );
-  claim( I, Running, R, g(i),Gr,Ci,Cr,Ni,Nr );
-  send_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-  recv_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, g(i),Gr,Ci,Cr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, {Ni}pk(R), {Gi,I}prf(Ni, Ci) );
-  send_4( R, I, Ci, Cr, {Nr}pk(I), {g(r),R}prf(Nr, Cr) );
-  recv_!5( I, R, Ci, Cr, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Running, I, Gi,g(r),Ci,Cr,Ni,Nr );
-  send_!6( R, I, Ci, Cr, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Gi,g(r),Ci,Cr,Ni,Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.cpp
deleted file mode 100644
index bdd5b4c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.cpp	
+++ /dev/null
@@ -1,94 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Pre-shared key authentication (aggressive mode)        
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1_PSK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HASH_Ii prf(k(I,R), Ni, Nr, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(k(R,I), Ni, Nr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(k(I,R), Ni, Nr, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(k(R,I), Ni, Nr, g(r), Gi, Cr, Ci, list, R)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, HASH_Rr );
-		send_!O2( O, O, HASH_Ri );
-
-		// msg 3
-		recv_!O3( O, O, HASH_Ii );
-		send_!O4( O, O, HASH_Ir );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-psk-a(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), Ni, I );
-		recv_!2( R, I, Ci, Cr, algo, Gr, Nr, R, HASH_Ri );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!3( I, R, Ci, Cr, HASH_Ii );
-		
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, Ni, I );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!2( R, I, Ci, Cr, algo, g(r), Nr, R, HASH_Rr );
-		recv_!3( I, R, Ci, Cr, HASH_Ir );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.spdl
deleted file mode 100644
index 788dde0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-a.spdl	
+++ /dev/null
@@ -1,125 +0,0 @@
-# 1 "ikev1-psk-a.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-psk-a.cpp"
-# 16 "ikev1-psk-a.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-
-
-
-  var Ci, Cr: Nonce;
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, prf(k(I,R), Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, prf(k(R,I), Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 17 "ikev1-psk-a.cpp" 2
-# 25 "ikev1-psk-a.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(k(R,I), Ni, Nr, g(r), g(i), Cr, Ci, list, R) );
-  send_!O2( O, O, prf(k(I,R), Ni, Nr, g(r), g(i), Cr, Ci, list, R) );
-
-
-  recv_!O3( O, O, prf(k(I,R), Ni, Nr, g(i), g(r), Ci, Cr, list, I) );
-  send_!O4( O, O, prf(k(R,I), Ni, Nr, g(i), g(r), Ci, Cr, list, I) );
-
- }
-
-
-}
-
-
-protocol ikev1-psk-a(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), Ni, I );
-  recv_!2( R, I, Ci, Cr, algo, Gr, Nr, R, prf(k(I,R), Ni, Nr, Gr, g(i), Cr, Ci, list, R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!3( I, R, Ci, Cr, prf(k(I,R), Ni, Nr, g(i), Gr, Ci, Cr, list, I) );
-
-
-  claim( I, SKR, prf(k(I,R), Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, Ni, I );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!2( R, I, Ci, Cr, algo, g(r), Nr, R, prf(k(R,I), Ni, Nr, g(r), Gi, Cr, Ci, list, R) );
-  recv_!3( I, R, Ci, Cr, prf(k(R,I), Ni, Nr, Gi, g(r), Ci, Cr, list, I) );
-
-
-  claim( R, SKR, prf(k(R,I), Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.cpp
deleted file mode 100644
index 01640ad..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.cpp	
+++ /dev/null
@@ -1,101 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Pre-shared key authentication (main mode) incorporating
- *				a fix by Perlman et. al.                               
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1_PSK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HASH_Ii prf(k(I,R), Ni, Nr, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(k(R,I), Ni, Nr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(k(I,R), Ni, Nr, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(k(R,I), Ni, Nr, g(r), Gi, Cr, Ci, list, R)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {I, HASH_Ii}Zi );
-		send_!O2( O, O, {I, HASH_Ir}Zr );
-
-		// msg 6
-		recv_!O3( O, O, {R, HASH_Rr}Zr );
-		send_!O4( O, O, {R, HASH_Ri}Zi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-psk-m-perlman(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, g(i), Ni );
-		recv_4( R, I, Ci, Cr, Gr, Nr );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!5( I, R, Ci, Cr, {I, HASH_Ii}Zi );
-		recv_!6( R, I, Ci, Cr, {R, HASH_Ri}Zi );
-		
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, Gi, Ni );
-		send_4( R, I, Ci, Cr, g(r), Nr );
-		recv_!5( I, R, Ci, Cr, {I, HASH_Ir}Zr );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!6( R, I, Ci, Cr, {R, HASH_Rr}Zr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.spdl
deleted file mode 100644
index fa9436a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m-perlman.spdl	
+++ /dev/null
@@ -1,131 +0,0 @@
-# 1 "ikev1-psk-m-perlman.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-psk-m-perlman.cpp"
-# 17 "ikev1-psk-m-perlman.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-
-
-
-  var Ci, Cr: Nonce;
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, prf(k(I,R), Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, prf(k(R,I), Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-psk-m-perlman.cpp" 2
-# 26 "ikev1-psk-m-perlman.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {I, prf(k(I,R), Ni, Nr, g(i), g(r), Ci, Cr, list, I)}h(g(r),i) );
-  send_!O2( O, O, {I, prf(k(R,I), Ni, Nr, g(i), g(r), Ci, Cr, list, I)}h(g(i),r) );
-
-
-  recv_!O3( O, O, {R, prf(k(R,I), Ni, Nr, g(r), g(i), Cr, Ci, list, R)}h(g(i),r) );
-  send_!O4( O, O, {R, prf(k(I,R), Ni, Nr, g(r), g(i), Cr, Ci, list, R)}h(g(r),i) );
-
- }
-
-
-}
-
-
-protocol ikev1-psk-m-perlman(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, g(i), Ni );
-  recv_4( R, I, Ci, Cr, Gr, Nr );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!5( I, R, Ci, Cr, {I, prf(k(I,R), Ni, Nr, g(i), Gr, Ci, Cr, list, I)}h(Gr,i) );
-  recv_!6( R, I, Ci, Cr, {R, prf(k(I,R), Ni, Nr, Gr, g(i), Cr, Ci, list, R)}h(Gr,i) );
-
-
-  claim( I, SKR, prf(k(I,R), Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, Gi, Ni );
-  send_4( R, I, Ci, Cr, g(r), Nr );
-  recv_!5( I, R, Ci, Cr, {I, prf(k(R,I), Ni, Nr, Gi, g(r), Ci, Cr, list, I)}h(Gi,r) );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!6( R, I, Ci, Cr, {R, prf(k(R,I), Ni, Nr, g(r), Gi, Cr, Ci, list, R)}h(Gi,r) );
-
-
-  claim( R, SKR, prf(k(R,I), Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.cpp
deleted file mode 100644
index f203018..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.cpp	
+++ /dev/null
@@ -1,100 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Pre-shared key authentication (main mode)              
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1_PSK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYID prf(k(I,R),Ni,Nr)
-#define HASH_Ii prf(k(I,R), Ni, Nr, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(k(R,I), Ni, Nr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(k(I,R), Ni, Nr, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(k(R,I), Ni, Nr, g(r), Gi, Cr, Ci, list, R)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {I, HASH_Ii}SKi );
-		send_!O2( O, O, {I, HASH_Ir}SKr );
-
-		// msg 6
-		recv_!O3( O, O, {R, HASH_Rr}SKr );
-		send_!O4( O, O, {R, HASH_Ri}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev1-psk-m(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, g(i), Ni );
-		recv_4( R, I, Ci, Cr, Gr, Nr );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!5( I, R, Ci, Cr, {I, HASH_Ii}SKi );
-		recv_!6( R, I, Ci, Cr, {R, HASH_Ri}SKi );
-		
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, Gi, Ni );
-		send_4( R, I, Ci, Cr, g(r), Nr );
-		recv_!5( I, R, Ci, Cr, {I, HASH_Ir}SKr );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!6( R, I, Ci, Cr, {R, HASH_Rr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.spdl
deleted file mode 100644
index ca7a688..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-psk-m.spdl	
+++ /dev/null
@@ -1,130 +0,0 @@
-# 1 "ikev1-psk-m.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-psk-m.cpp"
-# 16 "ikev1-psk-m.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-
-
-
-  var Ci, Cr: Nonce;
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, prf(k(I,R), Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, prf(k(R,I), Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 17 "ikev1-psk-m.cpp" 2
-# 26 "ikev1-psk-m.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {I, prf(k(I,R), Ni, Nr, g(i), g(r), Ci, Cr, list, I)}prf(k(I,R), Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O2( O, O, {I, prf(k(R,I), Ni, Nr, g(i), g(r), Ci, Cr, list, I)}prf(k(R,I), Ni, Nr, h(g(i),r), Ci, Cr) );
-
-
-  recv_!O3( O, O, {R, prf(k(R,I), Ni, Nr, g(r), g(i), Cr, Ci, list, R)}prf(k(R,I), Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O4( O, O, {R, prf(k(I,R), Ni, Nr, g(r), g(i), Cr, Ci, list, R)}prf(k(I,R), Ni, Nr, h(g(r),i), Ci, Cr) );
-
- }
-
-
-}
-
-protocol ikev1-psk-m(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, g(i), Ni );
-  recv_4( R, I, Ci, Cr, Gr, Nr );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!5( I, R, Ci, Cr, {I, prf(k(I,R), Ni, Nr, g(i), Gr, Ci, Cr, list, I)}prf(k(I,R), Ni, Nr, h(Gr,i), Ci, Cr) );
-  recv_!6( R, I, Ci, Cr, {R, prf(k(I,R), Ni, Nr, Gr, g(i), Cr, Ci, list, R)}prf(k(I,R), Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, prf(k(I,R), Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, Gi, Ni );
-  send_4( R, I, Ci, Cr, g(r), Nr );
-  recv_!5( I, R, Ci, Cr, {I, prf(k(R,I), Ni, Nr, Gi, g(r), Ci, Cr, list, I)}prf(k(R,I), Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!6( R, I, Ci, Cr, {R, prf(k(R,I), Ni, Nr, g(r), Gi, Cr, Ci, list, R)}prf(k(R,I), Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, prf(k(R,I), Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.cpp
deleted file mode 100644
index f6f5712..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.cpp	
+++ /dev/null
@@ -1,102 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Quick mode (pfs), without optional identities          
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1_QUICK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/* k(I,R)=k(R,I) equal Ka from the spec */
-#define HASH1i prf(k(I,R), mid, list, Ni, g(i))
-#define HASH1r prf(k(R,I), mid, list, Ni, Gi)
-#define HASH2i prf(k(I,R), mid, Ni, algo, Nr, Gr)
-#define HASH2r prf(k(R,I), mid, Ni, algo, Nr, g(r))
-#define HASH3i prf(k(I,R), mid, Ni, Nr)
-#define HASH3r prf(k(R,I), mid, Ni, Nr)
-
-usertype String;
-const list, algo: String;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling k(I,R) = k(R,I).
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var mid, i, r, Ni, Nr: Nonce;
-		var I, R: Agent;
-
-		// msg 1
-		recv_!O1( O, O, {HASH1i, list, Ni, g(i)}k(I,R) );
-		send_!O2( O, O, {HASH1r, list, Ni, Gi}k(R,I) );
-
-		// msg 2
-		recv_!O3( O, O, {HASH2r, algo, Nr, g(r)}k(R,I) );
-		send_!O4( O, O, {HASH2i, algo, Nr, Gr}k(I,R) );
-
-		// msg 3
-		recv_!O5( O, O, {HASH3i}k(I,R) );
-		send_!O6( O, O, {HASH3r}k(R,I) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-quick-noid(I, R)
-{
-	role I {
-		fresh i, Ni, Ci, mid:	Nonce;
-		var   Nr, Cr:			Nonce;
-		var   Gr:				Ticket;
-
-		send_!1( I, R, mid, {HASH1i, list, Ni, g(i)}k(I,R) );
-		recv_!2( R, I, mid, {HASH2i, algo, Nr, Gr}k(I,R) );
-		claim( I, Running, R, Ni, Nr, g(i), Gr );
-		send_!3( I, R, mid, {HASH3i}k(I,R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci, mid:	Nonce;
-		var    Gi:			Ticket;
-
-		recv_!1( I, R, mid, {HASH1r, list, Ni, Gi}k(R,I) );
-		claim( R, Running, I, Ni, Nr, Gi, g(r) );
-		send_!2( R, I, mid, {HASH2r, algo, Nr, g(r)}k(R,I) );
-		recv_!3( I, R, mid, {HASH3r}k(R,I) );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r) );
-				
-	}
-}
-// TODO: Incorporate into various phase 1 protocols (see spec for adaptions)
-// NOTE: If incorporated in phase 1, make sure to model with and without optional identities in msg 2 & 3
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.spdl
deleted file mode 100644
index 03e9c05..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-noid.spdl	
+++ /dev/null
@@ -1,124 +0,0 @@
-# 1 "ikev1-quick-noid.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-quick-noid.cpp"
-# 16 "ikev1-quick-noid.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 126 "common.h"
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(k(I,R),h(g(r),i),Ni,Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(k(R,I),h(g(i),r),Ni,Nr) );
-
- }
-
-
-}
-# 17 "ikev1-quick-noid.cpp" 2
-# 27 "ikev1-quick-noid.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var mid, i, r, Ni, Nr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(k(I,R), mid, list, Ni, g(i)), list, Ni, g(i)}k(I,R) );
-  send_!O2( O, O, {prf(k(R,I), mid, list, Ni, g(i)), list, Ni, g(i)}k(R,I) );
-
-
-  recv_!O3( O, O, {prf(k(R,I), mid, Ni, algo, Nr, g(r)), algo, Nr, g(r)}k(R,I) );
-  send_!O4( O, O, {prf(k(I,R), mid, Ni, algo, Nr, g(r)), algo, Nr, g(r)}k(I,R) );
-
-
-  recv_!O5( O, O, {prf(k(I,R), mid, Ni, Nr)}k(I,R) );
-  send_!O6( O, O, {prf(k(R,I), mid, Ni, Nr)}k(R,I) );
-
- }
-
-
-}
-
-
-protocol ikev1-quick-noid(I, R)
-{
- role I {
-  fresh i, Ni, Ci, mid: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_!1( I, R, mid, {prf(k(I,R), mid, list, Ni, g(i)), list, Ni, g(i)}k(I,R) );
-  recv_!2( R, I, mid, {prf(k(I,R), mid, Ni, algo, Nr, Gr), algo, Nr, Gr}k(I,R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr );
-  send_!3( I, R, mid, {prf(k(I,R), mid, Ni, Nr)}k(I,R) );
-
-
-  claim( I, SKR, KDF(k(I,R),h(Gr,i),Ni,Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci, mid: Nonce;
-  var Gi: Ticket;
-
-  recv_!1( I, R, mid, {prf(k(R,I), mid, list, Ni, Gi), list, Ni, Gi}k(R,I) );
-  claim( R, Running, I, Ni, Nr, Gi, g(r) );
-  send_!2( R, I, mid, {prf(k(R,I), mid, Ni, algo, Nr, g(r)), algo, Nr, g(r)}k(R,I) );
-  recv_!3( I, R, mid, {prf(k(R,I), mid, Ni, Nr)}k(R,I) );
-
-
-
-  claim( R, SKR, KDF(k(R,I),h(Gi,r),Ni,Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r) );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.cpp
deleted file mode 100644
index 38a1fc4..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.cpp	
+++ /dev/null
@@ -1,96 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication
- *				and Key Agreement
- * @variant		Quick mode (no pfs), without optional identities       
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1_QUICK_NOPFS__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/* k(I,R)=k(R,I) equal Ka from the spec */
-#define HASH1i prf(k(I,R), mid, list, Ni)
-#define HASH1r prf(k(R,I), mid, list, Ni)
-#define HASH2i prf(k(I,R), mid, Ni, algo, Nr)
-#define HASH2r prf(k(R,I), mid, Ni, algo, Nr)
-#define HASH3i prf(k(I,R), mid, Ni, Nr)
-#define HASH3r prf(k(R,I), mid, Ni, Nr)
-
-usertype String;
-const list, algo: String;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling k(I,R) = k(R,I).
- */
-protocol @executability(O) {
-	role O {
-		var mid, Ni, Nr: Nonce;
-		var I, R: Agent;
-
-		// msg 1
-		recv_!O1( O, O, {HASH1i, list, Ni}k(I,R) );
-		send_!O2( O, O, {HASH1r, list, Ni}k(R,I) );
-
-		// msg 2
-		recv_!O3( O, O, {HASH2r, algo, Nr}k(R,I) );
-		send_!O4( O, O, {HASH2i, algo, Nr}k(I,R) );
-
-		// msg 3
-		recv_!O5( O, O, {HASH3i}k(I,R) );
-		send_!O6( O, O, {HASH3r}k(R,I) );
-
-	}
-}
-
-
-protocol ikev1-quick-nopfs(I, R)
-{
-	role I {
-		fresh i, Ni, Ci, mid:	Nonce;
-		var   Nr, Cr:			Nonce;
-
-		send_!1( I, R, mid, {HASH1i, list, Ni}k(I,R) );
-		recv_!2( R, I, mid, {HASH2i, algo, Nr}k(I,R) );
-		claim( I, Running, R, Ni, Nr );
-		send_!3( I, R, mid, {HASH3i}k(I,R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci, mid:	Nonce;
-
-		recv_!1( I, R, mid, {HASH1r, list, Ni}k(R,I) );
-		claim( R, Running, I, Ni, Nr );
-		send_!2( R, I, mid, {HASH2r, algo, Nr}k(R,I) );
-		recv_!3( I, R, mid, {HASH3r}k(R,I) );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr );
-				
-	}
-}
-// TODO: Incorporate into various phase 1 protocols (see spec for adaptions)
-// NOTE: If incorporated in phase 1, make sure to model with and without optional identities in msg 2 & 3 
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.spdl
deleted file mode 100644
index c7d2f99..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick-nopfs.spdl	
+++ /dev/null
@@ -1,118 +0,0 @@
-# 1 "ikev1-quick-nopfs.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-quick-nopfs.cpp"
-# 16 "ikev1-quick-nopfs.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 129 "common.h"
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(k(I,R),Ni,Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(k(R,I),Ni,Nr) );
-
- }
-
-
-}
-# 17 "ikev1-quick-nopfs.cpp" 2
-# 27 "ikev1-quick-nopfs.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-protocol @executability(O) {
- role O {
-  var mid, Ni, Nr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(k(I,R), mid, list, Ni), list, Ni}k(I,R) );
-  send_!O2( O, O, {prf(k(R,I), mid, list, Ni), list, Ni}k(R,I) );
-
-
-  recv_!O3( O, O, {prf(k(R,I), mid, Ni, algo, Nr), algo, Nr}k(R,I) );
-  send_!O4( O, O, {prf(k(I,R), mid, Ni, algo, Nr), algo, Nr}k(I,R) );
-
-
-  recv_!O5( O, O, {prf(k(I,R), mid, Ni, Nr)}k(I,R) );
-  send_!O6( O, O, {prf(k(R,I), mid, Ni, Nr)}k(R,I) );
-
- }
-}
-
-
-protocol ikev1-quick-nopfs(I, R)
-{
- role I {
-  fresh i, Ni, Ci, mid: Nonce;
-  var Nr, Cr: Nonce;
-
-  send_!1( I, R, mid, {prf(k(I,R), mid, list, Ni), list, Ni}k(I,R) );
-  recv_!2( R, I, mid, {prf(k(I,R), mid, Ni, algo, Nr), algo, Nr}k(I,R) );
-  claim( I, Running, R, Ni, Nr );
-  send_!3( I, R, mid, {prf(k(I,R), mid, Ni, Nr)}k(I,R) );
-
-
-  claim( I, SKR, KDF(k(I,R),Ni,Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci, mid: Nonce;
-
-  recv_!1( I, R, mid, {prf(k(R,I), mid, list, Ni), list, Ni}k(R,I) );
-  claim( R, Running, I, Ni, Nr );
-  send_!2( R, I, mid, {prf(k(R,I), mid, Ni, algo, Nr), algo, Nr}k(R,I) );
-  recv_!3( I, R, mid, {prf(k(R,I), mid, Ni, Nr)}k(R,I) );
-
-
-
-  claim( R, SKR, KDF(k(R,I),Ni,Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.cpp
deleted file mode 100644
index 60e9fcc..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.cpp	
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication
- *				and Key Agreement
- * @variant		Quick mode (pfs), optional identities included         
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1_QUICK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/* k(I,R) equals Ka from the spec */
-#define HASH1i prf(k(I,R), mid, list, Ni, g(i), I, R)
-#define HASH1r prf(k(R,I), mid, list, Ni, Gi, I, R)
-#define HASH2i prf(k(I,R), mid, Ni, algo, Nr, Gr, I, R)
-#define HASH2r prf(k(R,I), mid, Ni, algo, Nr, g(r), I, R)
-#define HASH3i prf(k(I,R), mid, Ni, Nr)
-#define HASH3r prf(k(R,I), mid, Ni, Nr)
-
-
-protocol ikev1-quick(I, R)
-{
-	role I {
-		fresh i, Ni, Ci, mid, list:	Nonce;
-		var   Nr, Cr, algo:			Nonce;
-		var   Gr:					Ticket;
-
-		send_!1( I, R, mid, {HASH1i, list, Ni, g(i), I, R}k(I,R) );
-		recv_!2( R, I, mid, {HASH2i, algo, Nr, Gr, I, R}k(I,R) );
-		claim( I, Running, R, Ni, Nr, g(i), Gr );
-		send_!3( I, R, mid, {HASH3i}k(I,R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr, algo:		Nonce;
-		var    Ni, Ci, mid, list:	Nonce;
-		var    Gi:					Ticket;
-
-		recv_!1( I, R, mid, {HASH1r, list, Ni, Gi, I, R}k(I,R) );
-		claim( R, Running, I, Ni, Nr, Gi, g(r) );
-		send_!2( R, I, mid, {HASH2r, algo, Nr, g(r), I, R}k(I,R) );
-		recv_!3( I, R, mid, {HASH3r}k(I,R) );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r) );
-				
-	}
-}
-// TODO: Incorporate into various phase 1 protocols (see spec for adaptions)
-// NOTE: If incorporated in phase 1, make sure to model with and without optional identities in msg 2 & 3
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.spdl
deleted file mode 100644
index 6a723c7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-quick.spdl	
+++ /dev/null
@@ -1,91 +0,0 @@
-# 1 "ikev1-quick.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-quick.cpp"
-# 16 "ikev1-quick.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 126 "common.h"
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(k(I,R),h(g(r),i),Ni,Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(k(R,I),h(g(i),r),Ni,Nr) );
-
- }
-
-
-}
-# 17 "ikev1-quick.cpp" 2
-# 28 "ikev1-quick.cpp"
-protocol ikev1-quick(I, R)
-{
- role I {
-  fresh i, Ni, Ci, mid, list: Nonce;
-  var Nr, Cr, algo: Nonce;
-  var Gr: Ticket;
-
-  send_!1( I, R, mid, {prf(k(I,R), mid, list, Ni, g(i), I, R), list, Ni, g(i), I, R}k(I,R) );
-  recv_!2( R, I, mid, {prf(k(I,R), mid, Ni, algo, Nr, Gr, I, R), algo, Nr, Gr, I, R}k(I,R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr );
-  send_!3( I, R, mid, {prf(k(I,R), mid, Ni, Nr)}k(I,R) );
-
-
-  claim( I, SKR, KDF(k(I,R),h(Gr,i),Ni,Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr );
-
- }
-
- role R {
-  fresh r, Nr, Cr, algo: Nonce;
-  var Ni, Ci, mid, list: Nonce;
-  var Gi: Ticket;
-
-  recv_!1( I, R, mid, {prf(k(R,I), mid, list, Ni, Gi, I, R), list, Ni, Gi, I, R}k(I,R) );
-  claim( R, Running, I, Ni, Nr, Gi, g(r) );
-  send_!2( R, I, mid, {prf(k(R,I), mid, Ni, algo, Nr, g(r), I, R), algo, Nr, g(r), I, R}k(I,R) );
-  recv_!3( I, R, mid, {prf(k(R,I), mid, Ni, Nr)}k(I,R) );
-
-
-
-  claim( R, SKR, KDF(k(R,I),h(Gi,r),Ni,Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r) );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.cpp
deleted file mode 100644
index ddebfcb..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.cpp	
+++ /dev/null
@@ -1,99 +0,0 @@
-/***********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                  
- * @reference	RFC 2409,                                               
- *				Boyd C. and Mathuria A., Protocols for Authentication   
- *				and Key Agreement                                       
- * @variant		Digital signature authentication (aggressive mode) with 
- *				a modification suggested by Perlman et al. (last msg not
- *				encrypted)                                              
- ***********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HDR (Ci,Cr)
-#define SKEYIDi prf(Ni,Nr,Zi)
-#define SKEYIDr prf(Ni,Nr,Zr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, {R}SKr, {HASH_Rr}sk(R) );
-		send_!O2( O, O, {R}SKi, {HASH_Ri}sk(R) );
-
-		// msg 3
-		recv_!O3( O, O, {I}SKi, {HASH_Ii}sk(I) );
-		send_!O4( O, O, {I}SKr, {HASH_Ir}sk(I) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-sig-a-perlman1(I, R)
-{
-
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), Ni );
-		recv_!2( R, I, HDR, algo, Gr, Nr, {R}SKi, {HASH_Ri}sk(R) );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!3( I, R, HDR, {I}SKi, {HASH_Ii}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, Ni );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!2( R, I, HDR, algo, g(r), Nr, R, {R}SKr, {HASH_Rr}sk(R) );
-		recv_!3( I, R, HDR, {I}SKr, {HASH_Ir}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.spdl
deleted file mode 100644
index f758a99..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman1.spdl	
+++ /dev/null
@@ -1,130 +0,0 @@
-# 1 "ikev1-sig-a-perlman1.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-sig-a-perlman1.cpp"
-# 18 "ikev1-sig-a-perlman1.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 19 "ikev1-sig-a-perlman1.cpp" 2
-# 29 "ikev1-sig-a-perlman1.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {R}KDF(Ni, Nr, h(g(i),r), Ci, Cr), {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-  send_!O2( O, O, {R}KDF(Ni, Nr, h(g(r),i), Ci, Cr), {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-
-
-  recv_!O3( O, O, {I}KDF(Ni, Nr, h(g(r),i), Ci, Cr), {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}sk(I) );
-  send_!O4( O, O, {I}KDF(Ni, Nr, h(g(i),r), Ci, Cr), {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}sk(I) );
-
- }
-
-
-}
-
-
-protocol ikev1-sig-a-perlman1(I, R)
-{
-
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), Ni );
-  recv_!2( R, I, (Ci,Cr), algo, Gr, Nr, {R}KDF(Ni, Nr, h(Gr,i), Ci, Cr), {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}sk(R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!3( I, R, (Ci,Cr), {I}KDF(Ni, Nr, h(Gr,i), Ci, Cr), {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}sk(I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, Ni );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!2( R, I, (Ci,Cr), algo, g(r), Nr, R, {R}KDF(Ni, Nr, h(Gi,r), Ci, Cr), {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}sk(R) );
-  recv_!3( I, R, (Ci,Cr), {I}KDF(Ni, Nr, h(Gi,r), Ci, Cr), {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}sk(I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.cpp
deleted file mode 100644
index e39a7b9..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.cpp	
+++ /dev/null
@@ -1,99 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Digital signature authentication (aggressive mode) with
- *				a modification suggested by Perlman et al. (last msg   
- *				encrypted)                                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HDR (Ci,Cr)
-#define SKEYIDi prf(Ni,Nr,Zi)
-#define SKEYIDr prf(Ni,Nr,Zr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, {R}SKr, {HASH_Rr}sk(R) );
-		send_!O2( O, O, {R}SKi, {HASH_Ri}sk(R) );
-
-		// msg 3
-		recv_!O3( O, O, {I, {HASH_Ii}sk(I)}SKi );
-		send_!O4( O, O, {I, {HASH_Ir}sk(I)}SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-sig-a-perlman2(I, R)
-{
-
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), Ni );
-		recv_!2( R, I, HDR, algo, Gr, Nr, {R}SKi, {HASH_Ri}sk(R) );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!3( I, R, HDR, {I, {HASH_Ii}sk(I)}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, Ni );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!2( R, I, HDR, algo, g(r), Nr, R, {R}SKr, {HASH_Rr}sk(R) );
-		recv_!3( I, R, HDR, {I, {HASH_Ir}sk(I)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.spdl
deleted file mode 100644
index c2edf7d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a-perlman2.spdl	
+++ /dev/null
@@ -1,130 +0,0 @@
-# 1 "ikev1-sig-a-perlman2.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-sig-a-perlman2.cpp"
-# 18 "ikev1-sig-a-perlman2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 19 "ikev1-sig-a-perlman2.cpp" 2
-# 29 "ikev1-sig-a-perlman2.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {R}KDF(Ni, Nr, h(g(i),r), Ci, Cr), {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-  send_!O2( O, O, {R}KDF(Ni, Nr, h(g(r),i), Ci, Cr), {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-
-
-  recv_!O3( O, O, {I, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O4( O, O, {I, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-
-
-protocol ikev1-sig-a-perlman2(I, R)
-{
-
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), Ni );
-  recv_!2( R, I, (Ci,Cr), algo, Gr, Nr, {R}KDF(Ni, Nr, h(Gr,i), Ci, Cr), {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}sk(R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!3( I, R, (Ci,Cr), {I, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, Ni );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!2( R, I, (Ci,Cr), algo, g(r), Nr, R, {R}KDF(Ni, Nr, h(Gi,r), Ci, Cr), {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}sk(R) );
-  recv_!3( I, R, (Ci,Cr), {I, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.cpp
deleted file mode 100644
index 418492e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.cpp	
+++ /dev/null
@@ -1,98 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Digital signature authentication (aggressive mode)
- *				where the last message is not encrypted                 
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HDR (Ci,Cr)
-#define SKEYIDi prf(Ni,Nr,Zi)
-#define SKEYIDr prf(Ni,Nr,Zr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, {HASH_Rr}sk(R) );
-		send_!O2( O, O, {HASH_Ri}sk(R) );
-
-		// msg 3
-		recv_!O3( O, O, {HASH_Ii}sk(I) );
-		send_!O4( O, O, {HASH_Ir}sk(I) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-sig-a1(I, R)
-{
-
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), Ni, I );
-		recv_!2( R, I, HDR, algo, Gr, Nr, R, {HASH_Ri}sk(R) );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!3( I, R, HDR, {HASH_Ii}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, Ni, I );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!2( R, I, HDR, algo, g(r), Nr, R, {HASH_Rr}sk(R) );
-		recv_!3( I, R, HDR, {HASH_Ir}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.spdl
deleted file mode 100644
index 327c4fe..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a1.spdl	
+++ /dev/null
@@ -1,130 +0,0 @@
-# 1 "ikev1-sig-a1.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-sig-a1.cpp"
-# 17 "ikev1-sig-a1.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-sig-a1.cpp" 2
-# 28 "ikev1-sig-a1.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-  send_!O2( O, O, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-
-
-  recv_!O3( O, O, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}sk(I) );
-  send_!O4( O, O, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}sk(I) );
-
- }
-
-
-}
-
-
-protocol ikev1-sig-a1(I, R)
-{
-
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), Ni, I );
-  recv_!2( R, I, (Ci,Cr), algo, Gr, Nr, R, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}sk(R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!3( I, R, (Ci,Cr), {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}sk(I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, Ni, I );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!2( R, I, (Ci,Cr), algo, g(r), Nr, R, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}sk(R) );
-  recv_!3( I, R, (Ci,Cr), {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}sk(I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.cpp
deleted file mode 100644
index 1c81dab..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.cpp	
+++ /dev/null
@@ -1,99 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Digital signature authentication (aggressive mode)
- *				where thelast message is encrypted with the session key
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HDR (Ci,Cr)
-#define SKEYIDi prf(Ni,Nr,Zi)
-#define SKEYIDr prf(Ni,Nr,Zr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, {HASH_Rr}sk(R) );
-		send_!O2( O, O, {HASH_Ri}sk(R) );
-
-		// msg 3
-		recv_!O3( O, O, {{HASH_Ii}sk(I)}SKi );
-		send_!O4( O, O, {{HASH_Ir}sk(I)}SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-sig-a2(I, R)
-{
-
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list, g(i), Ni, I );
-		recv_!2( R, I, HDR, algo, Gr, Nr, R, {HASH_Ri}sk(R) );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!3( I, R, HDR, {{HASH_Ii}sk(I)}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list, Gi, Ni, I );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!2( R, I, HDR, algo, g(r), Nr, R, {HASH_Rr}sk(R) );
-		recv_!3( I, R, HDR, {{HASH_Ir}sk(I)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.spdl
deleted file mode 100644
index b0e6e07..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-a2.spdl	
+++ /dev/null
@@ -1,130 +0,0 @@
-# 1 "ikev1-sig-a2.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-sig-a2.cpp"
-# 17 "ikev1-sig-a2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-sig-a2.cpp" 2
-# 29 "ikev1-sig-a2.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-  send_!O2( O, O, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}sk(R) );
-
-
-  recv_!O3( O, O, {{prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O4( O, O, {{prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-
-
-protocol ikev1-sig-a2(I, R)
-{
-
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list, g(i), Ni, I );
-  recv_!2( R, I, (Ci,Cr), algo, Gr, Nr, R, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}sk(R) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!3( I, R, (Ci,Cr), {{prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list, Gi, Ni, I );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!2( R, I, (Ci,Cr), algo, g(r), Nr, R, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}sk(R) );
-  recv_!3( I, R, (Ci,Cr), {{prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.cpp
deleted file mode 100644
index 4129ae2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.cpp	
+++ /dev/null
@@ -1,100 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Digital signature authentication (aggressive mode) with
- *				a modification suggested by Perlman et al.             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define SKEYIDi prf(Ni,Nr,Zi)
-#define SKEYIDr prf(Ni,Nr,Zr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 4
-		recv_!O1( O, O, {R, {HASH_Rr}sk(R)}SKr );
-		send_!O2( O, O, {R, {HASH_Ri}sk(R)}SKi );
-
-		// msg 5
-		recv_!O3( O, O, {I, {HASH_Ii}sk(I)}SKi );
-		send_!O4( O, O, {I, {HASH_Ir}sk(I)}SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev1-sig-m-perlman(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, Ci, Cr, algo );
-		send_3( I, R, Ci, Cr, g(i), Ni );
-		recv_!4( R, I, Ci, Cr, Gr, Nr, {R, {HASH_Ri}sk(R)}SKi );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!5( I, R, Ci, Cr, {I, {HASH_Ii}sk(I)}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, Ci, Cr, algo );
-		recv_3( I, R, Ci, Cr, Gi, Ni );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!4( R, I, Ci, Cr, g(r), Nr, {R, {HASH_Rr}sk(R)}SKr );
-		recv_!5( I, R, Ci, Cr, {I, {HASH_Ir}sk(I)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.spdl
deleted file mode 100644
index 321fc1b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m-perlman.spdl	
+++ /dev/null
@@ -1,133 +0,0 @@
-# 1 "ikev1-sig-m-perlman.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-sig-m-perlman.cpp"
-# 17 "ikev1-sig-m-perlman.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 18 "ikev1-sig-m-perlman.cpp" 2
-# 27 "ikev1-sig-m-perlman.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {R, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O2( O, O, {R, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-
-
-  recv_!O3( O, O, {I, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O4( O, O, {I, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-
-
-protocol ikev1-sig-m-perlman(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, Ci, Cr, algo );
-  send_3( I, R, Ci, Cr, g(i), Ni );
-  recv_!4( R, I, Ci, Cr, Gr, Nr, {R, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!5( I, R, Ci, Cr, {I, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, Ci, Cr, algo );
-  recv_3( I, R, Ci, Cr, Gi, Ni );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!4( R, I, Ci, Cr, g(r), Nr, {R, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  recv_!5( I, R, Ci, Cr, {I, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.cpp
deleted file mode 100644
index f24b78f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.cpp	
+++ /dev/null
@@ -1,102 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv1)                 
- * @reference	RFC 2409,                                              
- *				Boyd C. and Mathuria A., Protocols for Authentication  
- *				and Key Agreement                                      
- * @variant		Digital signature authentication (aggressive mode)     
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV1__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define HDR (Ci,Cr)
-#define SKEYIDi prf(Ni,Nr,Zi)
-#define SKEYIDr prf(Ni,Nr,Zr)
-#define HASH_Ii prf(Ni, Nr, Zi, g(i), Gr, Ci, Cr, list, I)
-#define HASH_Ir prf(Ni, Nr, Zr, Gi, g(r), Ci, Cr, list, I)
-#define HASH_Ri prf(Ni, Nr, Zi, Gr, g(i), Cr, Ci, list, R)
-#define HASH_Rr prf(Ni, Nr, Zr, g(r), Gi, Cr, Ci, list, R)
-
-
-usertype String;
-const list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {I, {HASH_Ii}sk(I)}SKi );
-		send_!O2( O, O, {I, {HASH_Ir}sk(I)}SKr );
-
-		// msg 6
-		recv_!O3( O, O, {R, {HASH_Rr}sk(R)}SKr );
-		send_!O4( O, O, {R, {HASH_Ri}sk(R)}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev1-sig-m(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, list );
-		recv_2( R, I, HDR, algo );
-		send_3( I, R, HDR, g(i), Ni );
-		recv_4( R, I, HDR, Gr, Nr );
-		claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-		send_!5( I, R, HDR, {I, {HASH_Ii}sk(I)}SKi );
-		recv_!6( R, I, HDR, {R, {HASH_Ri}sk(R)}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, list );
-		send_2( R, I, HDR, algo );
-		recv_3( I, R, HDR, Gi, Ni );
-		send_4( R, I, HDR, g(r), Nr );
-		recv_!5( I, R, HDR, {I, {HASH_Ir}sk(I)}SKr );
-		claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-		send_!6( R, I, HDR, {R, {HASH_Rr}sk(R)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.spdl
deleted file mode 100644
index 28150b0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev1-sig-m.spdl	
+++ /dev/null
@@ -1,134 +0,0 @@
-# 1 "ikev1-sig-m.cpp"
-# 1 "<command-line>"
-# 1 "ikev1-sig-m.cpp"
-# 16 "ikev1-sig-m.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-
-
-
-
-
-
-
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-
-
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 17 "ikev1-sig-m.cpp" 2
-# 28 "ikev1-sig-m.cpp"
-usertype String;
-const list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {I, {prf(Ni, Nr, h(g(r),i), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!O2( O, O, {I, {prf(Ni, Nr, h(g(i),r), g(i), g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
-
-  recv_!O3( O, O, {R, {prf(Ni, Nr, h(g(i),r), g(r), g(i), Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-  send_!O4( O, O, {R, {prf(Ni, Nr, h(g(r),i), g(r), g(i), Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-
- }
-
-
-}
-
-protocol ikev1-sig-m(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, list );
-  recv_2( R, I, (Ci,Cr), algo );
-  send_3( I, R, (Ci,Cr), g(i), Ni );
-  recv_4( R, I, (Ci,Cr), Gr, Nr );
-  claim( I, Running, R, Ni, Nr, g(i), Gr, Ci, Cr );
-  send_!5( I, R, (Ci,Cr), {I, {prf(Ni, Nr, h(Gr,i), g(i), Gr, Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-  recv_!6( R, I, (Ci,Cr), {R, {prf(Ni, Nr, h(Gr,i), Gr, g(i), Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni, Nr, g(i), Gr, Ci, Cr );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, list );
-  send_2( R, I, (Ci,Cr), algo );
-  recv_3( I, R, (Ci,Cr), Gi, Ni );
-  send_4( R, I, (Ci,Cr), g(r), Nr );
-  recv_!5( I, R, (Ci,Cr), {I, {prf(Ni, Nr, h(Gi,r), Gi, g(r), Ci, Cr, list, I)}sk(I)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Running, I, Ni, Nr, Gi, g(r), Ci, Cr );
-  send_!6( R, I, (Ci,Cr), {R, {prf(Ni, Nr, h(Gi,r), g(r), Gi, Cr, Ci, list, R)}sk(R)}KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni, Nr, Gi, g(r), Ci, Cr );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.cpp
deleted file mode 100644
index 9607308..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.cpp	
+++ /dev/null
@@ -1,78 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol IKE Create Child SA                                    
- * @reference	RFC 4306                                               
- * @variant		No perfect forward secrecy support                     
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2_CHILD_NOPFS__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-const SA3: Nonce;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling k(I,R) = k(R,I).
- */
-protocol @executability(O) {
-	role O {
-		var Ni, Nr: Nonce;
-		var I, R: Agent;
-
-		// msg 1
-		recv_!O1( O, O, {SA3, Ni}k(I,R) );
-		send_!O2( O, O, {SA3, Ni}k(R,I) );
-
-		// msg 2
-		recv_!O3( O, O, {SA3, Nr}k(R,I) );
-		send_!O4( O, O, {SA3, Nr}k(I,R) );
-
-	}
-}
-
-
-protocol ikev2-child-nopfs(I, R)
-{
-
-	role I {
-		fresh Ni:	Nonce;
-		var   Nr:	Nonce;
-
-		/* IKE_SA_INIT */
-		claim( I, Running, R,Ni );
-		send_!1( I, R, {SA3, Ni}k(I,R) );
-		recv_!2( R, I, {SA3, Nr}k(I,R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,Ni,Nr );
-
-	}
-
-	role R {
-		fresh Nr:	Nonce;
-		var   Ni:	Nonce;
-
-		recv_!1( I, R, {SA3, Ni}k(R,I) );
-		claim( R, Running, I,Ni,Nr );
-		send_!2( R, I, {SA3, Nr}k(R,I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Ni );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.spdl
deleted file mode 100644
index d163151..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child-nopfs.spdl	
+++ /dev/null
@@ -1,112 +0,0 @@
-# 1 "ikev2-child-nopfs.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-child-nopfs.cpp"
-# 15 "ikev2-child-nopfs.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 138 "common.h"
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(k(I,R),Ni,Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(k(R,I),Ni,Nr) );
-
- }
-
-
-}
-# 16 "ikev2-child-nopfs.cpp" 2
-
-
-const SA3: Nonce;
-
-
-
-
-
-
-protocol @executability(O) {
- role O {
-  var Ni, Nr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {SA3, Ni}k(I,R) );
-  send_!O2( O, O, {SA3, Ni}k(R,I) );
-
-
-  recv_!O3( O, O, {SA3, Nr}k(R,I) );
-  send_!O4( O, O, {SA3, Nr}k(I,R) );
-
- }
-}
-
-
-protocol ikev2-child-nopfs(I, R)
-{
-
- role I {
-  fresh Ni: Nonce;
-  var Nr: Nonce;
-
-
-  claim( I, Running, R,Ni );
-  send_!1( I, R, {SA3, Ni}k(I,R) );
-  recv_!2( R, I, {SA3, Nr}k(I,R) );
-
-
-  claim( I, SKR, KDF(k(I,R),Ni,Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,Ni,Nr );
-
- }
-
- role R {
-  fresh Nr: Nonce;
-  var Ni: Nonce;
-
-  recv_!1( I, R, {SA3, Ni}k(R,I) );
-  claim( R, Running, I,Ni,Nr );
-  send_!2( R, I, {SA3, Nr}k(R,I) );
-
-
-  claim( R, SKR, KDF(k(R,I),Ni,Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Ni );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.cpp
deleted file mode 100644
index 2378231..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.cpp	
+++ /dev/null
@@ -1,87 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol IKE Create Child SA                                    
- * @reference	RFC 4306                                               
- * @variant		Supports perfect forward secrecy                       
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2_CHILD__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-
-usertype SecurityAssociation;
-const SA1 ,SA2, SA3: SecurityAssociation;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling k(I,R) = k(R,I).
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr: Nonce;
-		var I, R: Agent;
-
-		// msg 1
-		recv_!O1( O, O, {SA3, Ni, g(i)}k(I,R) );
-		send_!O2( O, O, {SA3, Ni, g(i)}k(R,I) );
-
-		// msg 2
-		recv_!O3( O, O, {SA3, Nr, Gr}k(R,I) );
-		send_!O4( O, O, {SA3, Nr, Gr}k(I,R) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-// Note: SPIs not modeled as they would lead to trivial attacks where the adversary 
-// tampers with the SPIs (they are not subsequently authenticated)
-protocol ikev2-child(I, R)
-{
-
-	role I {
-		fresh i, Ni:	Nonce;
-		var   Nr:		Nonce;
-		var   Gr:		Ticket;
-
-		/* IKE_SA_INIT */
-		claim( I, Running, R,Ni,g(i) );
-		send_!1( I, R, {SA3, Ni, g(i)}k(I,R) );
-		recv_!2( R, I, {SA3, Nr, Gr}k(I,R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,Ni,g(i),Nr,Gr );
-				
-	}
-
-	role R {
-		fresh r, Nr:	Nonce;
-		var   Ni:		Nonce;
-		var   Gi:		Ticket;
-
-		recv_!1( I, R, {SA3, Ni, Gi}k(R,I) );
-		claim( R, Running, I,Ni,Gi,Nr,g(r) );
-		send_!2( R, I, {SA3, Nr, g(r)}k(R,I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Ni,Gi );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.spdl
deleted file mode 100644
index 7c58959..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-child.spdl	
+++ /dev/null
@@ -1,121 +0,0 @@
-# 1 "ikev2-child.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-child.cpp"
-# 15 "ikev2-child.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 135 "common.h"
-  var I, R: Agent;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(k(I,R),h(g(r),i),Ni,Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(k(R,I),h(g(i),r),Ni,Nr) );
-
- }
-
-
-}
-# 16 "ikev2-child.cpp" 2
-
-
-
-usertype SecurityAssociation;
-const SA1 ,SA2, SA3: SecurityAssociation;
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {SA3, Ni, g(i)}k(I,R) );
-  send_!O2( O, O, {SA3, Ni, g(i)}k(R,I) );
-
-
-  recv_!O3( O, O, {SA3, Nr, g(r)}k(R,I) );
-  send_!O4( O, O, {SA3, Nr, g(r)}k(I,R) );
-
- }
-
-
-}
-
-
-
-protocol ikev2-child(I, R)
-{
-
- role I {
-  fresh i, Ni: Nonce;
-  var Nr: Nonce;
-  var Gr: Ticket;
-
-
-  claim( I, Running, R,Ni,g(i) );
-  send_!1( I, R, {SA3, Ni, g(i)}k(I,R) );
-  recv_!2( R, I, {SA3, Nr, Gr}k(I,R) );
-
-
-  claim( I, SKR, KDF(k(I,R),h(Gr,i),Ni,Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,Ni,g(i),Nr,Gr );
-
- }
-
- role R {
-  fresh r, Nr: Nonce;
-  var Ni: Nonce;
-  var Gi: Ticket;
-
-  recv_!1( I, R, {SA3, Ni, Gi}k(R,I) );
-  claim( R, Running, I,Ni,Gi,Nr,g(r) );
-  send_!2( R, I, {SA3, Nr, g(r)}k(R,I) );
-
-
-  claim( R, SKR, KDF(k(R,I),h(Gi,r),Ni,Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Ni,Gi );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.cpp
deleted file mode 100644
index 7d8310b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.cpp	
+++ /dev/null
@@ -1,131 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol IKE EAP                                                
- * @reference	RFC 4306                                               
- * @variant		Includes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr, EAP, EAPOK: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, EAP}SKr );
-		send_!E4( E, E, {R, AUTHri, EAP}SKi );
-
-		// msg 5
-		recv_!E5( E, E, {EAP}SKi );
-		send_!E6( E, E, {EAP}SKr );
-
-		// msg 6
-		recv_!E7( E, E, {EAPOK}SKr );
-		send_!E8( E, E, {EAPOK}SKi );
-
-		// msg 7
-		recv_!E9( E, E, {AUTHii}SKi );
-		send_!EA( E, E, {AUTHir}SKr );
-
-		// msg 8
-		send_!EB( E, E, {AUTHrr, SA2, TSi, TSr}SKr );
-		send_!EC( E, E, {AUTHri, SA2, TSi, TSr}SKi );
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-eap(I, R)
-{
-
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   EAP, EAPOK:	Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		send_!3( I, R, HDR, {I, R, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, EAP}SKi );
-		send_!5( I, R, HDR, {EAP}SKi );
-		recv_!6( R, I, HDR, {EAPOK}SKi );
-		claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-		send_!7( I, R, HDR, {AUTHii}SKi );
-		recv_!8( R, I, HDR, {AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-				
-	}
-
-	role R {
-		fresh EAP, EAPOK:	Nonce;
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, R, SA2, TSi, TSr}SKr );
-		send_!4( R, I, HDR, {R, AUTHrr, EAP}SKr );
-		recv_!5( I, R, HDR, {EAP}SKr );
-		send_!6( R, I, HDR, {EAPOK}SKr );
-		recv_!7( I, R, HDR, {AUTHir}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-		send_!8( R, I, HDR, {AUTHrr, SA2, TSi, TSr}SKr );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.spdl
deleted file mode 100644
index 43ec49a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap.spdl	
+++ /dev/null
@@ -1,160 +0,0 @@
-# 1 "ikev2-eap.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-eap.cpp"
-# 15 "ikev2-eap.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-eap.cpp" 2
-# 24 "ikev2-eap.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr, EAP, EAPOK: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E5( E, E, {EAP}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E6( E, E, {EAP}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E7( E, E, {EAPOK}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E8( E, E, {EAPOK}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E9( E, E, {{SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!EA( E, E, {{SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  send_!EB( E, E, {{SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!EC( E, E, {{SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
- }
-
-
-}
-
-
-protocol ikev2-eap(I, R)
-{
-
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var EAP, EAPOK: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  send_!3( I, R, (SPIi,SPIr), {I, R, SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  send_!5( I, R, (SPIi,SPIr), {EAP}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!6( R, I, (SPIi,SPIr), {EAPOK}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-  send_!7( I, R, (SPIi,SPIr), {{SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!8( R, I, (SPIi,SPIr), {{SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-
- }
-
- role R {
-  fresh EAP, EAPOK: Nonce;
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, R, SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  recv_!5( I, R, (SPIi,SPIr), {EAP}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!6( R, I, (SPIi,SPIr), {EAPOK}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  recv_!7( I, R, (SPIi,SPIr), {{SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-  send_!8( R, I, (SPIi,SPIr), {{SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.cpp
deleted file mode 100644
index c56855a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.cpp	
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol IKE EAP                                                
- * @reference	RFC 4306                                               
- * @variant		Excludes optional payloads                             
- **********************************************************************/
-
-/**
- * Modeling notes:
- * - It's not clear what to put in the EAP payloads; we now model them
- * as nonces, but maybe it is better to view them as a function of the
- * actor.
- */
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr, EAP, EAPOK: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, EAP}SKr );
-		send_!E4( E, E, {R, AUTHri, EAP}SKi );
-
-		// msg 5
-		recv_!E5( E, E, {EAP}SKi );
-		send_!E6( E, E, {EAP}SKr );
-
-		// msg 6
-		recv_!E7( E, E, {EAPOK}SKr );
-		send_!E8( E, E, {EAPOK}SKi );
-
-		// msg 7
-		recv_!E9( E, E, {AUTHii}SKi );
-		send_!EA( E, E, {AUTHir}SKr );
-
-		// msg 8
-		send_!EB( E, E, {AUTHrr, SA2, TSi, TSr}SKr );
-		send_!EC( E, E, {AUTHri, SA2, TSi, TSr}SKi );
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-eap2(I, R)
-{
-
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   EAP, EAPOK:	Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		send_!3( I, R, HDR, {I, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, EAP}SKi );
-		send_!5( I, R, HDR, {EAP}SKi );
-		recv_!6( R, I, HDR, {EAPOK}SKi );
-		claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-		send_!7( I, R, HDR, {AUTHii}SKi );
-		recv_!8( R, I, HDR, {AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-				
-	}
-
-	role R {
-		fresh EAP, EAPOK:	Nonce;
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, SA2, TSi, TSr}SKr );
-		send_!4( R, I, HDR, {R, AUTHrr, EAP}SKr );
-		recv_!5( I, R, HDR, {EAP}SKr );
-		send_!6( R, I, HDR, {EAPOK}SKr );
-		recv_!7( I, R, HDR, {AUTHir}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-		send_!8( R, I, HDR, {AUTHrr, SA2, TSi, TSr}SKr );
-
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-				
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.spdl
deleted file mode 100644
index 1fbb580..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-eap2.spdl	
+++ /dev/null
@@ -1,160 +0,0 @@
-# 1 "ikev2-eap2.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-eap2.cpp"
-# 22 "ikev2-eap2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 23 "ikev2-eap2.cpp" 2
-# 31 "ikev2-eap2.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr, EAP, EAPOK: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E5( E, E, {EAP}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E6( E, E, {EAP}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E7( E, E, {EAPOK}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E8( E, E, {EAPOK}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E9( E, E, {{SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!EA( E, E, {{SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  send_!EB( E, E, {{SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!EC( E, E, {{SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
- }
-
-
-}
-
-
-protocol ikev2-eap2(I, R)
-{
-
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var EAP, EAPOK: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  send_!3( I, R, (SPIi,SPIr), {I, SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  send_!5( I, R, (SPIi,SPIr), {EAP}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!6( R, I, (SPIi,SPIr), {EAPOK}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-  send_!7( I, R, (SPIi,SPIr), {{SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!8( R, I, (SPIi,SPIr), {{SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr,EAP,EAPOK );
-
- }
-
- role R {
-  fresh EAP, EAPOK: Nonce;
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), EAP}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  recv_!5( I, R, (SPIi,SPIr), {EAP}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!6( R, I, (SPIi,SPIr), {EAPOK}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  recv_!7( I, R, (SPIi,SPIr), {{SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I)}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-  send_!8( R, I, (SPIi,SPIr), {{SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr,EAP,EAPOK );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.cpp
deleted file mode 100644
index 832afae..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.cpp	
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol MAC authenticated IKEv2                                
- * @reference	RFC 4306                                               
- * @variant		Includes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I))
-#define AUTHir MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I))
-#define AUTHri MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R))
-#define AUTHrr MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R))
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-mac(I, R)
-{
-
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr);
-		send_!3( I, R, HDR, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr);
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr);
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr);
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.spdl
deleted file mode 100644
index 608d314..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac.spdl	
+++ /dev/null
@@ -1,133 +0,0 @@
-# 1 "ikev2-mac.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-mac.cpp"
-# 15 "ikev2-mac.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-mac.cpp" 2
-# 24 "ikev2-mac.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, MAC(k(R,I), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, MAC(k(I,R), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-mac(I, R)
-{
-
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr);
-  send_!3( I, R, (SPIi,SPIr), {I, R, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr);
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, R, MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr);
-  send_!4( R, I, (SPIi,SPIr), {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr);
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.cpp
deleted file mode 100644
index cb09faa..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.cpp	
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol MAC authenticated IKEv2                                
- * @reference	RFC 4306                                               
- * @variant		Excludes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I))
-#define AUTHir MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I))
-#define AUTHri MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R))
-#define AUTHrr MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R))
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-mac2(I, R)
-{
-
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr );
-		send_!3( I, R, HDR, {I, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.spdl
deleted file mode 100644
index f6d3385..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mac2.spdl	
+++ /dev/null
@@ -1,133 +0,0 @@
-# 1 "ikev2-mac2.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-mac2.cpp"
-# 15 "ikev2-mac2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-mac2.cpp" 2
-# 24 "ikev2-mac2.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, MAC(k(R,I), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, MAC(k(I,R), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-mac2(I, R)
-{
-
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  claim( I, Running, R, Ni,g(i),Nr,Gr,TSi,TSr );
-  send_!3( I, R, (SPIi,SPIr), {I, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R, Ni,g(i),Nr,Gr,TSi,TSr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-  send_!4( R, I, (SPIi,SPIr), {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.cpp
deleted file mode 100644
index 519f93a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.cpp	
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Initiator authenticates itself using message           
- *				authentication codes while responder uses digital      
- *				signatures. Includes optional payloads                 
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I))
-#define AUTHir MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I))
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-mactosig(I, R)
-{
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R,Ni,g(i),Nr,Gr,TSi,TSr );
-		send_!3( I, R, SPIi, SPIr, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, SPIi, SPIr, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,Ni,g(i),Nr,Gr,TSi,TSr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, SPIi, SPIr, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-		send_!4( R, I, SPIi, SPIr, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.spdl
deleted file mode 100644
index 388562e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig.spdl	
+++ /dev/null
@@ -1,132 +0,0 @@
-# 1 "ikev2-mactosig.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-mactosig.cpp"
-# 16 "ikev2-mactosig.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 17 "ikev2-mactosig.cpp" 2
-# 25 "ikev2-mactosig.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, MAC(k(R,I), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-mactosig(I, R)
-{
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-
-  claim( I, Running, R,Ni,g(i),Nr,Gr,TSi,TSr );
-  send_!3( I, R, SPIi, SPIr, {I, R, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, SPIi, SPIr, {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,Ni,g(i),Nr,Gr,TSi,TSr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-
-  recv_!3( I, R, SPIi, SPIr, {I, R, MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-  send_!4( R, I, SPIi, SPIr, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.cpp
deleted file mode 100644
index 73b20f5..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.cpp	
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Initiator authenticates itself using message           
- *				authentication codes while responder uses digital      
- *				signatures. Excludes optional payloads
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I))
-#define AUTHir MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I))
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol ikev2-mactosig2(I, R)
-{
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R,Ni,g(i),Nr,Gr,TSi,TSr );
-		send_!3( I, R, SPIi, SPIr, {I, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, SPIi, SPIr, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,Ni,g(i),Nr,Gr,TSi,TSr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, SPIi, SPIr, {I, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-		send_!4( R, I, SPIi, SPIr, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.spdl
deleted file mode 100644
index 92864ab..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-mactosig2.spdl	
+++ /dev/null
@@ -1,131 +0,0 @@
-# 1 "ikev2-mactosig2.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-mactosig2.cpp"
-# 16 "ikev2-mactosig2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 17 "ikev2-mactosig2.cpp" 2
-# 25 "ikev2-mactosig2.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, MAC(k(R,I), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-protocol ikev2-mactosig2(I, R)
-{
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-
-  claim( I, Running, R,Ni,g(i),Nr,Gr,TSi,TSr );
-  send_!3( I, R, SPIi, SPIr, {I, MAC(k(I,R), SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, SPIi, SPIr, {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,Ni,g(i),Nr,Gr,TSi,TSr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-
-  recv_!3( I, R, SPIi, SPIr, {I, MAC(k(R,I), SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-  send_!4( R, I, SPIi, SPIr, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.cpp
deleted file mode 100644
index 62ddf6f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.cpp	
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Combination of signature authenticated IKEv2 and       
- *				CREATE_CHILD_SA, includes optional payloads            
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-#define KEYMATi KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr)
-#define KEYMATr KDF(Ni, Nr, Zr, h(Gi,t), Mi, Mr)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		// msg 5
-		recv_!E5( E, E, {SA3, Mi, g(j), TSi, TSr}SKi );
-		send_!E6( E, E, {SA3, Mi, g(j), TSi, TSr}SKr );
-
-		// msg 6
-		recv_!E7( E, E, {SA3, Mr, g(t), TSi, TSr}SKr );
-		send_!E8( E, E, {SA3, Mr, g(t), TSi, TSr}SKr );
-	}
-#undef Gi
-#undef Gr
-}
-protocol @ora(S) {
-#define Gi g(i)
-#define Gj g(j)
-#define Gr g(r)
-#define Gt g(t)
-	role S {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-		recv_!S1( S, S, KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr) );
-		send_!S2( S, S, KDF(Ni, Nr, Zr, h(Gj,t), Mi, Mr) );
-	}
-#undef Gi
-#undef Gj
-#undef Gr
-#undef Gt
-}
-
-
-protocol ikev2-sig-child(I, R)
-{
-	role I {
-		fresh i, j, Ni, Mi, SPIi:	Nonce;
-		var   Nr, Mr, SPIr:			Nonce;
-		var   Gr, Gt:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		send_!3( I, R, HDR, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* CREATE_CHILD_SA */
-		claim( I, Running, R,g(i),g(j),Gr );
-		send_!5( I, R, HDR, {SA3, Mi, g(j), TSi, TSr}SKi );
-		recv_!6( R, I, HDR, {SA3, Mr, Gt,   TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-		claim( I, SKR, KEYMATi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),g(j),Gr,Gt );
-				
-	}
-
-	role R {
-		fresh r, t, Nr, Mr, SPIr:	Nonce;
-		var   Ni, Mi, SPIi:			Nonce;
-		var   Gi, Gj:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* CREATE_CHILD_SA */
-		recv_!5( I, R, HDR, {SA3, Mi, Gj,   TSi, TSr}SKr );
-		claim( R, Running, I,Gi,Gj,g(r),g(t) );
-		send_!6( R, I, HDR, {SA3, Mr, g(t), TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-		claim( R, SKR, KEYMATr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,Gj,g(r) );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.spdl
deleted file mode 100644
index 392c995..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child-composed.spdl	
+++ /dev/null
@@ -1,165 +0,0 @@
-# 1 "ikev2-sig-child-composed.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sig-child-composed.cpp"
-# 15 "ikev2-sig-child-composed.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-sig-child-composed.cpp" 2
-# 26 "ikev2-sig-child-composed.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E5( E, E, {SA3, Mi, g(j), TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E6( E, E, {SA3, Mi, g(j), TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E7( E, E, {SA3, Mr, g(t), TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E8( E, E, {SA3, Mr, g(t), TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
- }
-
-
-}
-protocol @ora(S) {
-
-
-
-
- role S {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-  recv_!S1( S, S, KDF(Ni, Nr, h(g(r),i), h(g(t),j), Mi, Mr) );
-  send_!S2( S, S, KDF(Ni, Nr, h(g(i),r), h(g(j),t), Mi, Mr) );
- }
-
-
-
-
-}
-
-
-protocol ikev2-sig-child(I, R)
-{
- role I {
-  fresh i, j, Ni, Mi, SPIi: Nonce;
-  var Nr, Mr, SPIr: Nonce;
-  var Gr, Gt: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  send_!3( I, R, (SPIi,SPIr), {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, Running, R,g(i),g(j),Gr );
-  send_!5( I, R, (SPIi,SPIr), {SA3, Mi, g(j), TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!6( R, I, (SPIi,SPIr), {SA3, Mr, Gt, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), h(Gt,j), Mi, Mr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),g(j),Gr,Gt );
-
- }
-
- role R {
-  fresh r, t, Nr, Mr, SPIr: Nonce;
-  var Ni, Mi, SPIi: Nonce;
-  var Gi, Gj: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, R, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  recv_!5( I, R, (SPIi,SPIr), {SA3, Mi, Gj, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,Gj,g(r),g(t) );
-  send_!6( R, I, (SPIi,SPIr), {SA3, Mr, g(t), TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), h(Gi,t), Mi, Mr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,Gj,g(r) );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.cpp
deleted file mode 100644
index 62ddf6f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.cpp	
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Combination of signature authenticated IKEv2 and       
- *				CREATE_CHILD_SA, includes optional payloads            
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-#define KEYMATi KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr)
-#define KEYMATr KDF(Ni, Nr, Zr, h(Gi,t), Mi, Mr)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		// msg 5
-		recv_!E5( E, E, {SA3, Mi, g(j), TSi, TSr}SKi );
-		send_!E6( E, E, {SA3, Mi, g(j), TSi, TSr}SKr );
-
-		// msg 6
-		recv_!E7( E, E, {SA3, Mr, g(t), TSi, TSr}SKr );
-		send_!E8( E, E, {SA3, Mr, g(t), TSi, TSr}SKr );
-	}
-#undef Gi
-#undef Gr
-}
-protocol @ora(S) {
-#define Gi g(i)
-#define Gj g(j)
-#define Gr g(r)
-#define Gt g(t)
-	role S {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-		recv_!S1( S, S, KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr) );
-		send_!S2( S, S, KDF(Ni, Nr, Zr, h(Gj,t), Mi, Mr) );
-	}
-#undef Gi
-#undef Gj
-#undef Gr
-#undef Gt
-}
-
-
-protocol ikev2-sig-child(I, R)
-{
-	role I {
-		fresh i, j, Ni, Mi, SPIi:	Nonce;
-		var   Nr, Mr, SPIr:			Nonce;
-		var   Gr, Gt:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		send_!3( I, R, HDR, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* CREATE_CHILD_SA */
-		claim( I, Running, R,g(i),g(j),Gr );
-		send_!5( I, R, HDR, {SA3, Mi, g(j), TSi, TSr}SKi );
-		recv_!6( R, I, HDR, {SA3, Mr, Gt,   TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-		claim( I, SKR, KEYMATi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),g(j),Gr,Gt );
-				
-	}
-
-	role R {
-		fresh r, t, Nr, Mr, SPIr:	Nonce;
-		var   Ni, Mi, SPIi:			Nonce;
-		var   Gi, Gj:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* CREATE_CHILD_SA */
-		recv_!5( I, R, HDR, {SA3, Mi, Gj,   TSi, TSr}SKr );
-		claim( R, Running, I,Gi,Gj,g(r),g(t) );
-		send_!6( R, I, HDR, {SA3, Mr, g(t), TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-		claim( R, SKR, KEYMATr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,Gj,g(r) );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.spdl
deleted file mode 100644
index f9db4cf..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child.spdl	
+++ /dev/null
@@ -1,165 +0,0 @@
-# 1 "ikev2-sig-child.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sig-child.cpp"
-# 15 "ikev2-sig-child.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-sig-child.cpp" 2
-# 26 "ikev2-sig-child.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E5( E, E, {SA3, Mi, g(j), TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E6( E, E, {SA3, Mi, g(j), TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E7( E, E, {SA3, Mr, g(t), TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E8( E, E, {SA3, Mr, g(t), TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
- }
-
-
-}
-protocol @ora(S) {
-
-
-
-
- role S {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-  recv_!S1( S, S, KDF(Ni, Nr, h(g(r),i), h(g(t),j), Mi, Mr) );
-  send_!S2( S, S, KDF(Ni, Nr, h(g(i),r), h(g(j),t), Mi, Mr) );
- }
-
-
-
-
-}
-
-
-protocol ikev2-sig-child(I, R)
-{
- role I {
-  fresh i, j, Ni, Mi, SPIi: Nonce;
-  var Nr, Mr, SPIr: Nonce;
-  var Gr, Gt: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  send_!3( I, R, (SPIi,SPIr), {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, Running, R,g(i),g(j),Gr );
-  send_!5( I, R, (SPIi,SPIr), {SA3, Mi, g(j), TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!6( R, I, (SPIi,SPIr), {SA3, Mr, Gt, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), h(Gt,j), Mi, Mr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),g(j),Gr,Gt );
-
- }
-
- role R {
-  fresh r, t, Nr, Mr, SPIr: Nonce;
-  var Ni, Mi, SPIi: Nonce;
-  var Gi, Gj: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, R, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  recv_!5( I, R, (SPIi,SPIr), {SA3, Mi, Gj, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,Gj,g(r),g(t) );
-  send_!6( R, I, (SPIi,SPIr), {SA3, Mr, g(t), TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), h(Gi,t), Mi, Mr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,Gj,g(r) );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.cpp
deleted file mode 100644
index 621e7f6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.cpp	
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Combination of signature authenticated IKEv2 and       
- *				CREATE_CHILD_SA, excludes optional payloads            
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-#define KEYMATi KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr)
-#define KEYMATr KDF(Ni, Nr, Zr, h(Gi,t), Mi, Mr)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		// msg 5
-		recv_!E5( E, E, {SA3, Mi, g(j)}SKi );
-		send_!E6( E, E, {SA3, Mi, g(j)}SKr );
-
-		// msg 6
-		recv_!E7( E, E, {SA3, Mr, g(t)}SKr );
-		send_!E8( E, E, {SA3, Mr, g(t)}SKr );
-	}
-#undef Gi
-#undef Gr
-}
-protocol @ora(S) {
-#define Gi g(i)
-#define Gj g(j)
-#define Gr g(r)
-#define Gt g(t)
-	role S {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-		recv_!S1( S, S, KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr) );
-		send_!S2( S, S, KDF(Ni, Nr, Zr, h(Gj,t), Mi, Mr) );
-	}
-#undef Gi
-#undef Gj
-#undef Gr
-#undef Gt
-}
-
-
-protocol ikev2-sig-child2(I, R)
-{
-	role I {
-		fresh i, j, Ni, Mi, SPIi:	Nonce;
-		var   Nr, Mr, SPIr:			Nonce;
-		var   Gr, Gt:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		send_!3( I, R, HDR, {I, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* CREATE_CHILD_SA */
-		claim( I, Running, R,g(i),g(j),Gr );
-		send_!5( I, R, HDR, {SA3, Mi, g(j)}SKi );
-		recv_!6( R, I, HDR, {SA3, Mr, Gt}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-		claim( I, SKR, KEYMATi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),g(j),Gr,Gt );
-				
-	}
-
-	role R {
-		fresh r, t, Nr, Mr, SPIr:	Nonce;
-		var   Ni, Mi, SPIi:			Nonce;
-		var   Gi, Gj:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, AUTHir, SA2, TSi, TSr}SKr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* CREATE_CHILD_SA */
-		recv_!5( I, R, HDR, {SA3, Mi, Gj}SKr );
-		claim( R, Running, I,Gi,Gj,g(r),g(t) );
-		send_!6( R, I, HDR, {SA3, Mr, g(t)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-		claim( R, SKR, KEYMATr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,Gj,g(r) );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.spdl
deleted file mode 100644
index 49df999..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2-composed.spdl	
+++ /dev/null
@@ -1,165 +0,0 @@
-# 1 "ikev2-sig-child2-composed.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sig-child2-composed.cpp"
-# 15 "ikev2-sig-child2-composed.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-sig-child2-composed.cpp" 2
-# 26 "ikev2-sig-child2-composed.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E5( E, E, {SA3, Mi, g(j)}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E6( E, E, {SA3, Mi, g(j)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E7( E, E, {SA3, Mr, g(t)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E8( E, E, {SA3, Mr, g(t)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
- }
-
-
-}
-protocol @ora(S) {
-
-
-
-
- role S {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-  recv_!S1( S, S, KDF(Ni, Nr, h(g(r),i), h(g(t),j), Mi, Mr) );
-  send_!S2( S, S, KDF(Ni, Nr, h(g(i),r), h(g(j),t), Mi, Mr) );
- }
-
-
-
-
-}
-
-
-protocol ikev2-sig-child2(I, R)
-{
- role I {
-  fresh i, j, Ni, Mi, SPIi: Nonce;
-  var Nr, Mr, SPIr: Nonce;
-  var Gr, Gt: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  send_!3( I, R, (SPIi,SPIr), {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, Running, R,g(i),g(j),Gr );
-  send_!5( I, R, (SPIi,SPIr), {SA3, Mi, g(j)}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!6( R, I, (SPIi,SPIr), {SA3, Mr, Gt}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), h(Gt,j), Mi, Mr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),g(j),Gr,Gt );
-
- }
-
- role R {
-  fresh r, t, Nr, Mr, SPIr: Nonce;
-  var Ni, Mi, SPIi: Nonce;
-  var Gi, Gj: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  recv_!5( I, R, (SPIi,SPIr), {SA3, Mi, Gj}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,Gj,g(r),g(t) );
-  send_!6( R, I, (SPIi,SPIr), {SA3, Mr, g(t)}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), h(Gi,t), Mi, Mr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,Gj,g(r) );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.cpp
deleted file mode 100644
index 621e7f6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.cpp	
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Combination of signature authenticated IKEv2 and       
- *				CREATE_CHILD_SA, excludes optional payloads            
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-#define KEYMATi KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr)
-#define KEYMATr KDF(Ni, Nr, Zr, h(Gi,t), Mi, Mr)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		// msg 5
-		recv_!E5( E, E, {SA3, Mi, g(j)}SKi );
-		send_!E6( E, E, {SA3, Mi, g(j)}SKr );
-
-		// msg 6
-		recv_!E7( E, E, {SA3, Mr, g(t)}SKr );
-		send_!E8( E, E, {SA3, Mr, g(t)}SKr );
-	}
-#undef Gi
-#undef Gr
-}
-protocol @ora(S) {
-#define Gi g(i)
-#define Gj g(j)
-#define Gr g(r)
-#define Gt g(t)
-	role S {
-		var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-		recv_!S1( S, S, KDF(Ni, Nr, Zi, h(Gt,j), Mi, Mr) );
-		send_!S2( S, S, KDF(Ni, Nr, Zr, h(Gj,t), Mi, Mr) );
-	}
-#undef Gi
-#undef Gj
-#undef Gr
-#undef Gt
-}
-
-
-protocol ikev2-sig-child2(I, R)
-{
-	role I {
-		fresh i, j, Ni, Mi, SPIi:	Nonce;
-		var   Nr, Mr, SPIr:			Nonce;
-		var   Gr, Gt:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		send_!3( I, R, HDR, {I, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* CREATE_CHILD_SA */
-		claim( I, Running, R,g(i),g(j),Gr );
-		send_!5( I, R, HDR, {SA3, Mi, g(j)}SKi );
-		recv_!6( R, I, HDR, {SA3, Mr, Gt}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-		claim( I, SKR, KEYMATi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),g(j),Gr,Gt );
-				
-	}
-
-	role R {
-		fresh r, t, Nr, Mr, SPIr:	Nonce;
-		var   Ni, Mi, SPIi:			Nonce;
-		var   Gi, Gj:				Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, AUTHir, SA2, TSi, TSr}SKr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* CREATE_CHILD_SA */
-		recv_!5( I, R, HDR, {SA3, Mi, Gj}SKr );
-		claim( R, Running, I,Gi,Gj,g(r),g(t) );
-		send_!6( R, I, HDR, {SA3, Mr, g(t)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-		claim( R, SKR, KEYMATr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,Gj,g(r) );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.spdl
deleted file mode 100644
index aa8642f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig-child2.spdl	
+++ /dev/null
@@ -1,165 +0,0 @@
-# 1 "ikev2-sig-child2.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sig-child2.cpp"
-# 15 "ikev2-sig-child2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-sig-child2.cpp" 2
-# 26 "ikev2-sig-child2.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
-
-  recv_!E5( E, E, {SA3, Mi, g(j)}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E6( E, E, {SA3, Mi, g(j)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E7( E, E, {SA3, Mr, g(t)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E8( E, E, {SA3, Mr, g(t)}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
- }
-
-
-}
-protocol @ora(S) {
-
-
-
-
- role S {
-  var i, j, r, t, Mi, Ni, Mr, Nr, SPIi, SPIr: Nonce;
-
-  recv_!S1( S, S, KDF(Ni, Nr, h(g(r),i), h(g(t),j), Mi, Mr) );
-  send_!S2( S, S, KDF(Ni, Nr, h(g(i),r), h(g(j),t), Mi, Mr) );
- }
-
-
-
-
-}
-
-
-protocol ikev2-sig-child2(I, R)
-{
- role I {
-  fresh i, j, Ni, Mi, SPIi: Nonce;
-  var Nr, Mr, SPIr: Nonce;
-  var Gr, Gt: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  send_!3( I, R, (SPIi,SPIr), {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, Running, R,g(i),g(j),Gr );
-  send_!5( I, R, (SPIi,SPIr), {SA3, Mi, g(j)}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!6( R, I, (SPIi,SPIr), {SA3, Mr, Gt}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), h(Gt,j), Mi, Mr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),g(j),Gr,Gt );
-
- }
-
- role R {
-  fresh r, t, Nr, Mr, SPIr: Nonce;
-  var Ni, Mi, SPIi: Nonce;
-  var Gi, Gj: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  recv_!5( I, R, (SPIi,SPIr), {SA3, Mi, Gj}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,Gj,g(r),g(t) );
-  send_!6( R, I, (SPIi,SPIr), {SA3, Mr, g(t)}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), h(Gi,t), Mi, Mr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,Gj,g(r) );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.cpp
deleted file mode 100644
index 68e7326..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.cpp	
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol Signature authenticated IKEv2                          
- * @reference	RFC 4306                                               
- * @variant		Includes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-sig(I, R)
-{
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R,g(i),Gr,Ni,Nr );
-		send_!3( I, R, HDR, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),Gr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I,Gi,g(r),Ni,Nr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,g(r),Ni,Nr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.spdl
deleted file mode 100644
index baaba1a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig.spdl	
+++ /dev/null
@@ -1,132 +0,0 @@
-# 1 "ikev2-sig.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sig.cpp"
-# 15 "ikev2-sig.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-sig.cpp" 2
-# 24 "ikev2-sig.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-sig(I, R)
-{
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  claim( I, Running, R,g(i),Gr,Ni,Nr );
-  send_!3( I, R, (SPIi,SPIr), {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),Gr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, R, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,g(r),Ni,Nr );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,g(r),Ni,Nr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.cpp
deleted file mode 100644
index e2e02b7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.cpp	
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @subprotocol Signature authenticated IKEv2                          
- * @reference	RFC 4306                                               
- * @variant		Excludes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R)}sk(R)
-#define AUTHrr {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R)}sk(R)
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-sig2(I, R)
-{
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, HDR, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R,Ni,g(i),Nr,Gr,TSi,TSr );
-		send_!3( I, R, HDR, {I, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, HDR, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,Ni,g(i),Nr,Gr,TSi,TSr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, HDR, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, HDR, {I, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-		send_!4( R, I, HDR, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.spdl
deleted file mode 100644
index 0825976..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sig2.spdl	
+++ /dev/null
@@ -1,132 +0,0 @@
-# 1 "ikev2-sig2.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sig2.cpp"
-# 15 "ikev2-sig2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 16 "ikev2-sig2.cpp" 2
-# 24 "ikev2-sig2.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-sig2(I, R)
-{
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, (SPIi,SPIr), SA1, Gr, Nr );
-
-
-  claim( I, Running, R,Ni,g(i),Nr,Gr,TSi,TSr );
-  send_!3( I, R, (SPIi,SPIr), {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,Ni,g(i),Nr,Gr,TSi,TSr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, (SPIi,SPIr), SA1, g(r), Nr );
-
-
-  recv_!3( I, R, (SPIi,SPIr), {I, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I, Ni,Gi,Nr,g(r),TSi,TSr );
-  send_!4( R, I, (SPIi,SPIr), {R, {SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)}sk(R), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I, Ni,Gi,Nr,g(r),TSi,TSr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.cpp
deleted file mode 100644
index dc7a059..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.cpp	
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Initiator authenticates itself using digital signatures
- *				while responder uses message authentication codes.     
- *				Includes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R))
-#define AUTHrr MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R))
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-sigtomac(I, R)
-{
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R,g(i),Gr,Ni,Nr );
-		send_!3( I, R, SPIi, SPIr, {I, R, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, SPIi, SPIr, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),Gr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, SPIi, SPIr, {I, R, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I,Gi,g(r),Ni,Nr );
-		send_!4( R, I, SPIi, SPIr, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,g(r),Ni,Nr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.spdl
deleted file mode 100644
index 9d40a3a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac.spdl	
+++ /dev/null
@@ -1,132 +0,0 @@
-# 1 "ikev2-sigtomac.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sigtomac.cpp"
-# 16 "ikev2-sigtomac.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 17 "ikev2-sigtomac.cpp" 2
-# 25 "ikev2-sigtomac.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, MAC(k(I,R), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-sigtomac(I, R)
-{
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-
-  claim( I, Running, R,g(i),Gr,Ni,Nr );
-  send_!3( I, R, SPIi, SPIr, {I, R, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, SPIi, SPIr, {R, MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),Gr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-
-  recv_!3( I, R, SPIi, SPIr, {I, R, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,g(r),Ni,Nr );
-  send_!4( R, I, SPIi, SPIr, {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,g(r),Ni,Nr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.cpp
deleted file mode 100644
index bccbab3..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.cpp	
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * @protocol	Internet Key Exchange Protocol (IKEv2)                 
- * @reference	RFC 4306                                               
- * @variant		Initiator authenticates itself using digital signatures
- *				while responder uses message authentication codes.     
- *				Excludes optional payloads                             
- **********************************************************************/
-
-/**
- * MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- */
-
-#define __IKEV2__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define AUTHii {SPIi, O, SA1, g(i), Ni, Nr, prf(SKi, I)}sk(I)
-#define AUTHir {SPIi, O, SA1, Gi, Ni, Nr, prf(SKr, I)}sk(I)
-#define AUTHri MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(SKi, R))
-#define AUTHrr MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(SKr, R))
-
-
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(E) {
-#define Gi g(i)
-#define Gr g(r)
-	role E {
-		var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!E1( E, E, {I, AUTHii, SA2, TSi, TSr}SKi );
-		send_!E2( E, E, {I, AUTHir, SA2, TSi, TSr}SKr );
-
-		// msg 4
-		recv_!E3( E, E, {R, AUTHrr, SA2, TSi, TSr}SKr );
-		send_!E4( E, E, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol ikev2-sigtomac2(I, R)
-{
-	role I {
-		fresh i, Ni, SPIi:	Nonce;
-		var   Nr, SPIr:		Nonce;
-		var   Gr:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		send_1( I, R, SPIi, O, SA1, g(i), Ni );
-		recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-		/* IKE_AUTH */
-		claim( I, Running, R,g(i),Gr,Ni,Nr );
-		send_!3( I, R, SPIi, SPIr, {I, AUTHii, SA2, TSi, TSr}SKi );
-		recv_!4( R, I, SPIi, SPIr, {R, AUTHri, SA2, TSi, TSr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-		claim( I, Commit, R,g(i),Gr,Ni,Nr );
-				
-	}
-
-	role R {
-		fresh r, Nr, SPIr:	Nonce;
-		var   Ni, SPIi:		Nonce;
-		var   Gi:			Ticket;
-
-
-		/* IKE_SA_INIT */
-		recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-		send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-		/* IKE_AUTH */
-		recv_!3( I, R, SPIi, SPIr, {I, AUTHir, SA2, TSi, TSr}SKr );
-		claim( R, Running, I,Gi,g(r),Ni,Nr );
-		send_!4( R, I, SPIi, SPIr, {R, AUTHrr, SA2, TSi, TSr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-		claim( R, Commit, I,Gi,g(r),Ni,Nr );
-	}
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.spdl
deleted file mode 100644
index 99ad18c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/ikev2-sigtomac2.spdl	
+++ /dev/null
@@ -1,132 +0,0 @@
-# 1 "ikev2-sigtomac2.cpp"
-# 1 "<command-line>"
-# 1 "ikev2-sigtomac2.cpp"
-# 16 "ikev2-sigtomac2.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 43 "common.h"
-hashfunction MAC;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 132 "common.h"
-  var SPIi, SPIr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
- }
-
-
-}
-# 17 "ikev2-sigtomac2.cpp" 2
-# 25 "ikev2-sigtomac2.cpp"
-usertype Number, SecurityAssociation, TrafficSelector;
-const O: Number;
-const SA1 ,SA2, SA3: SecurityAssociation;
-const TSi, TSr: TrafficSelector;
-
-
-
-
-
-
-protocol @executability(E) {
-
-
- role E {
-  var i, r, Ni, Nr, SPIi, SPIr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!E1( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-  send_!E2( E, E, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-
-
-  recv_!E3( E, E, {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(i),r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(i),r),SPIi,SPIr) );
-  send_!E4( E, E, {R, MAC(k(I,R), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(g(r),i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(g(r),i),SPIi,SPIr) );
-
- }
-
-
-}
-
-
-protocol ikev2-sigtomac2(I, R)
-{
- role I {
-  fresh i, Ni, SPIi: Nonce;
-  var Nr, SPIr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, SPIi, O, SA1, g(i), Ni );
-  recv_2( R, I, SPIi, SPIr, SA1, Gr, Nr );
-
-
-  claim( I, Running, R,g(i),Gr,Ni,Nr );
-  send_!3( I, R, SPIi, SPIr, {I, {SPIi, O, SA1, g(i), Ni, Nr, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-  recv_!4( R, I, SPIi, SPIr, {R, MAC(k(I,R), SPIi, SPIr, SA1, Gr, Nr, Ni, prf(KDF(Ni,Nr,h(Gr,i),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-
-  claim( I, SKR, KDF(Ni,Nr,h(Gr,i),SPIi,SPIr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-  claim( I, Commit, R,g(i),Gr,Ni,Nr );
-
- }
-
- role R {
-  fresh r, Nr, SPIr: Nonce;
-  var Ni, SPIi: Nonce;
-  var Gi: Ticket;
-
-
-
-  recv_1( I, R, SPIi, O, SA1, Gi, Ni );
-  send_2( R, I, SPIi, SPIr, SA1, g(r), Nr );
-
-
-  recv_!3( I, R, SPIi, SPIr, {I, {SPIi, O, SA1, Gi, Ni, Nr, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), I)}sk(I), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-  claim( R, Running, I,Gi,g(r),Ni,Nr );
-  send_!4( R, I, SPIi, SPIr, {R, MAC(k(R,I), SPIi, SPIr, SA1, g(r), Nr, Ni, prf(KDF(Ni,Nr,h(Gi,r),SPIi,SPIr), R)), SA2, TSi, TSr}KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-
-  claim( R, SKR, KDF(Ni,Nr,h(Gi,r),SPIi,SPIr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-  claim( R, Commit, I,Gi,g(r),Ni,Nr );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.cpp
deleted file mode 100644
index d6c2abf..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.cpp	
+++ /dev/null
@@ -1,54 +0,0 @@
-/** HEADDOC
- * @protocol	Just Fast Keying
- * @reference	Aiello et al., Just Fast Keying: Key Agreement In A Hostile
- *				Internet
- * @description	
- * @variant		Core cryptographic protocol of JFKi
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __JFK_CORE__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-
-protocol jfki-core(I, R)
-{
-	role I {
-		fresh i, Ni:	Nonce;
-		var   Nr:		Nonce;
-		var   Gr:		Ticket;
-
-		send_1( I, R, Ni, I, g(i) );
-		recv_2( R, I, Nr, Ni, R, Gr, {Nr, Ni, Gr, g(i), I}sk(R) );
-		send_3( I, R, Nr, Ni, {Nr, Ni, Gr, g(i), R}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh r, Nr:	Nonce;
-		var   Ni:		Nonce;
-		var   Gi:		Ticket;
-
-		recv_1( I, R, Ni, I, Gi );
-		send_2( R, I, Nr, Ni, R, g(r), {Nr, Ni, g(r), Gi, I}sk(R) );
-		recv_3( I, R, Nr, Ni, {Nr, Ni, g(r), Gi, R}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.spdl
deleted file mode 100644
index 2517cbf..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfki-core.spdl	
+++ /dev/null
@@ -1,88 +0,0 @@
-# 1 "jfki-core.cpp"
-# 1 "<command-line>"
-# 1 "jfki-core.cpp"
-# 15 "jfki-core.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 60 "common.h"
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i), Ni, Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r), Ni, Nr) );
-
- }
-
-
-}
-# 16 "jfki-core.cpp" 2
-
-
-
-protocol jfki-core(I, R)
-{
- role I {
-  fresh i, Ni: Nonce;
-  var Nr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ni, I, g(i) );
-  recv_2( R, I, Nr, Ni, R, Gr, {Nr, Ni, Gr, g(i), I}sk(R) );
-  send_3( I, R, Nr, Ni, {Nr, Ni, Gr, g(i), R}sk(I) );
-
-
-  claim( I, SKR, KDF(h(Gr,i), Ni, Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr: Nonce;
-  var Ni: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ni, I, Gi );
-  send_2( R, I, Nr, Ni, R, g(r), {Nr, Ni, g(r), Gi, I}sk(R) );
-  recv_3( I, R, Nr, Ni, {Nr, Ni, g(r), Gi, R}sk(I) );
-
-
-  claim( R, SKR, KDF(h(Gi,r), Ni, Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfki.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/jfki.cpp
deleted file mode 100644
index 5b000f9..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfki.cpp	
+++ /dev/null
@@ -1,84 +0,0 @@
-/** HEADDOC
- * @protocol	Just Fast Keying
- * @reference	Aiello et al., Just Fast Keying: Key Agreement In A Hostile
- *				Internet
- * @description	
- * @variant		Initiatior is identity protected
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __JFK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, SAi, SAr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!O1( O, O, {I, SAi, {H(Ni), Nr, g(i), Gr, R, SAi}sk(I)}SKi );
-		send_!O2( O, O, {I, SAi, {H(Ni), Nr, g(i), Gr, R, SAi}sk(I)}SKr );
-
-		// msg 4
-		recv_!O3( O, O, {{H(Ni), Nr, g(i), Gr, I, SAi, SAr}sk(R), SAr}SKr );
-		send_!O4( O, O, {{H(Ni), Nr, g(i), Gr, I, SAi, SAr}sk(R), SAr}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-// Abstractions: no grpinfo, no MAC(ENC(M)), no ID_R', no IPi
-protocol jfki(I, R)
-{
-	role I {
-		fresh i, Ni, SAi:	Nonce;
-		var   Nr, SAr:		Nonce;
-		var   Gr, TH:		Ticket;
-
-		send_1( I, R, H(Ni), g(i) );
-		recv_2( R, I, H(Ni), Nr, Gr, R, {Gr}sk(R), TH );
-		send_!3( I, R, Ni, Nr, g(i), Gr, TH, {I, SAi, {H(Ni), Nr, g(i), Gr, R, SAi}sk(I)}SKi );
-		recv_!4( R, I, {{H(Ni), Nr, g(i), Gr, I, SAi, SAr}sk(R), SAr}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr, SAr, HKr:	Nonce;
-		var    Ni, SAi:			Nonce;
-		var    Gi, HNi:			Ticket;
-
-		recv_1( I, R, HNi, Gi );
-		send_2( R, I, HNi, Nr, g(r), R, {g(r)}sk(R), H(HKr, g(r), Nr, HNi) );
-		// Note: if R can receive H(HKr, g(r), Nr, H(Ni)) then HNi=H(Ni)
-		recv_!3( I, R, Ni, Nr, Gi, g(r), H(HKr, g(r), Nr, H(Ni)), {I, SAi, {H(Ni), Nr, Gi, g(r), R, SAi}sk(I)}SKr );
-        send_!4( R, I, {{H(Ni), Nr, Gi, g(r), I, SAi, SAr}sk(R), SAr}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, Secret, HKr );
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfki.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/jfki.spdl
deleted file mode 100644
index d385543..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfki.spdl	
+++ /dev/null
@@ -1,118 +0,0 @@
-# 1 "jfki.cpp"
-# 1 "<command-line>"
-# 1 "jfki.cpp"
-# 15 "jfki.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 66 "common.h"
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i), H(Ni), Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r), H(Ni), Nr) );
-
- }
-
-
-}
-# 16 "jfki.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, SAi, SAr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {I, SAi, {H(Ni), Nr, g(i), g(r), R, SAi}sk(I)}KDF(h(g(r),i), H(Ni), Nr) );
-  send_!O2( O, O, {I, SAi, {H(Ni), Nr, g(i), g(r), R, SAi}sk(I)}KDF(h(g(i),r), H(Ni), Nr) );
-
-
-  recv_!O3( O, O, {{H(Ni), Nr, g(i), g(r), I, SAi, SAr}sk(R), SAr}KDF(h(g(i),r), H(Ni), Nr) );
-  send_!O4( O, O, {{H(Ni), Nr, g(i), g(r), I, SAi, SAr}sk(R), SAr}KDF(h(g(r),i), H(Ni), Nr) );
-
- }
-
-
-}
-
-
-
-protocol jfki(I, R)
-{
- role I {
-  fresh i, Ni, SAi: Nonce;
-  var Nr, SAr: Nonce;
-  var Gr, TH: Ticket;
-
-  send_1( I, R, H(Ni), g(i) );
-  recv_2( R, I, H(Ni), Nr, Gr, R, {Gr}sk(R), TH );
-  send_!3( I, R, Ni, Nr, g(i), Gr, TH, {I, SAi, {H(Ni), Nr, g(i), Gr, R, SAi}sk(I)}KDF(h(Gr,i), H(Ni), Nr) );
-  recv_!4( R, I, {{H(Ni), Nr, g(i), Gr, I, SAi, SAr}sk(R), SAr}KDF(h(Gr,i), H(Ni), Nr) );
-
-
-  claim( I, SKR, KDF(h(Gr,i), H(Ni), Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr, SAr, HKr: Nonce;
-  var Ni, SAi: Nonce;
-  var Gi, HNi: Ticket;
-
-  recv_1( I, R, HNi, Gi );
-  send_2( R, I, HNi, Nr, g(r), R, {g(r)}sk(R), H(HKr, g(r), Nr, HNi) );
-
-  recv_!3( I, R, Ni, Nr, Gi, g(r), H(HKr, g(r), Nr, H(Ni)), {I, SAi, {H(Ni), Nr, Gi, g(r), R, SAi}sk(I)}KDF(h(Gi,r), H(Ni), Nr) );
-        send_!4( R, I, {{H(Ni), Nr, Gi, g(r), I, SAi, SAr}sk(R), SAr}KDF(h(Gi,r), H(Ni), Nr) );
-
-
-  claim( R, Secret, HKr );
-  claim( R, SKR, KDF(h(Gi,r), H(Ni), Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.cpp
deleted file mode 100644
index 500a8bb..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.cpp	
+++ /dev/null
@@ -1,78 +0,0 @@
-/** HEADDOC
- * @protocol	Just Fast Keying
- * @reference	Aiello et al., Just Fast Keying: Key Agreement In A Hostile
- *				Internet
- * @description	
- * @variant		Core cryptographic protocol of JFKr
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __JFK_CORE__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!O1( O, O, H(SKr, Nr, Ni, R) );
-		send_!O2( O, O, H(SKi, Nr, Ni, R) );
-
-		// msg 4
-		recv_!O3( O, O, H(SKi, Nr, Ni, I) );
-		send_!O4( O, O, H(SKr, Nr, Ni, I) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-// Abstractions: same key for ENC, MAC
-protocol jfkr-core(I, R)
-{
-	role I {
-		fresh i, Ni:	Nonce;
-		var   Nr, Gr:	Ticket;
-
-		send_1( I, R, Ni, g(i) );
-		recv_!2( R, I, Nr, Ni, R, Gr, {Nr, Ni, Gr, g(i)}sk(R), H(SKi, Nr, Ni, R) );
-		send_!3( I, R, Nr, Ni, I, {Nr, Ni, Gr, g(i)}sk(I), H(SKi, Nr, Ni, I) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr:	Nonce;
-		var    Ni, Gi:	Ticket;
-
-		recv_1( I, R, Ni, Gi );
-		send_!2( R, I, Nr, Ni, R, g(r), {Nr, Ni, g(r), Gi}sk(R), H(SKr, Nr, Ni, R) );
-		recv_!3( I, R, Nr, Ni, I, {Nr, Ni, g(r), Gi}sk(I), H(SKr, Nr, Ni, I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.spdl
deleted file mode 100644
index adce573..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr-core.spdl	
+++ /dev/null
@@ -1,112 +0,0 @@
-# 1 "jfkr-core.cpp"
-# 1 "<command-line>"
-# 1 "jfkr-core.cpp"
-# 15 "jfkr-core.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 60 "common.h"
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i), Ni, Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r), Ni, Nr) );
-
- }
-
-
-}
-# 16 "jfkr-core.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, H(KDF(h(g(i),r), Ni, Nr), Nr, Ni, R) );
-  send_!O2( O, O, H(KDF(h(g(r),i), Ni, Nr), Nr, Ni, R) );
-
-
-  recv_!O3( O, O, H(KDF(h(g(r),i), Ni, Nr), Nr, Ni, I) );
-  send_!O4( O, O, H(KDF(h(g(i),r), Ni, Nr), Nr, Ni, I) );
-
- }
-
-
-}
-
-
-
-protocol jfkr-core(I, R)
-{
- role I {
-  fresh i, Ni: Nonce;
-  var Nr, Gr: Ticket;
-
-  send_1( I, R, Ni, g(i) );
-  recv_!2( R, I, Nr, Ni, R, Gr, {Nr, Ni, Gr, g(i)}sk(R), H(KDF(h(Gr,i), Ni, Nr), Nr, Ni, R) );
-  send_!3( I, R, Nr, Ni, I, {Nr, Ni, Gr, g(i)}sk(I), H(KDF(h(Gr,i), Ni, Nr), Nr, Ni, I) );
-
-
-  claim( I, SKR, KDF(h(Gr,i), Ni, Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr: Nonce;
-  var Ni, Gi: Ticket;
-
-  recv_1( I, R, Ni, Gi );
-  send_!2( R, I, Nr, Ni, R, g(r), {Nr, Ni, g(r), Gi}sk(R), H(KDF(h(Gi,r), Ni, Nr), Nr, Ni, R) );
-  recv_!3( I, R, Nr, Ni, I, {Nr, Ni, g(r), Gi}sk(I), H(KDF(h(Gi,r), Ni, Nr), Nr, Ni, I) );
-
-
-  claim( R, SKR, KDF(h(Gi,r), Ni, Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/jfkr.cpp
deleted file mode 100644
index fbe85d3..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr.cpp	
+++ /dev/null
@@ -1,83 +0,0 @@
-/** HEADDOC
- * @protocol	Just Fast Keying
- * @reference	Aiello et al., Just Fast Keying: Key Agreement In A Hostile
- *				Internet
- * @description	
- * @variant		Responder is identity protected
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __JFK__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, SAi, SAr: Nonce;
-		var I, R: Agent;
-
-		// msg 3
-		recv_!O1( O, O, {I, SAi, {H(Ni), Nr, g(i), Gr}sk(I)}SKi );
-		send_!O2( O, O, {I, SAi, {H(Ni), Nr, g(i), Gr}sk(I)}SKr );
-
-		// msg 4
-		recv_!O3( O, O, {R, SAr, {Gr, Nr, g(i), H(Ni)}sk(R)}SKr );
-		send_!O4( O, O, {R, SAr, {Gr, Nr, g(i), H(Ni)}sk(R)}SKi );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-// Abstractions: no grpinfo, no MAC(ENC(M)), no ID_R', no IPi
-protocol jfkr(I, R)
-{
-	role I {
-		fresh i, Ni, SAi:	Nonce;
-		var   Nr, SAr:		Nonce;
-		var   Gr, TH:		Ticket;
-
-		send_1( I, R, H(Ni), g(i) );
-		recv_2( R, I, H(Ni), Nr, Gr, TH );
-		send_!3( I, R, Ni, Nr, g(i), Gr, TH, {I, SAi, {H(Ni), Nr, g(i), Gr}sk(I)}SKi );
-		recv_!4( R, I, {R, SAr, {Gr, Nr, g(i), H(Ni)}sk(R)}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr, SAr, HKr:	Nonce;
-		var    Ni, SAi:			Nonce;
-		var    Gi, HNi:			Ticket;
-
-		recv_1( I, R, HNi, Gi );
-		send_2( R, I, HNi, Nr, g(r), H(HKr, g(r), Nr, HNi) );
-		recv_!3( I, R, Ni, Nr, Gi, g(r), H(HKr, g(r), Nr, H(Ni)), {I, SAi, {H(Ni), Nr, Gi, g(r)}sk(I)}SKr );
-        send_!4( R, I, {R, SAr, {g(r), Nr, Gi, H(Ni)}sk(R)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, Secret, HKr );
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/jfkr.spdl
deleted file mode 100644
index 6e5e3e2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/jfkr.spdl	
+++ /dev/null
@@ -1,117 +0,0 @@
-# 1 "jfkr.cpp"
-# 1 "<command-line>"
-# 1 "jfkr.cpp"
-# 15 "jfkr.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 66 "common.h"
-hashfunction H;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i), H(Ni), Nr) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r), H(Ni), Nr) );
-
- }
-
-
-}
-# 16 "jfkr.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, SAi, SAr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {I, SAi, {H(Ni), Nr, g(i), g(r)}sk(I)}KDF(h(g(r),i), H(Ni), Nr) );
-  send_!O2( O, O, {I, SAi, {H(Ni), Nr, g(i), g(r)}sk(I)}KDF(h(g(i),r), H(Ni), Nr) );
-
-
-  recv_!O3( O, O, {R, SAr, {g(r), Nr, g(i), H(Ni)}sk(R)}KDF(h(g(i),r), H(Ni), Nr) );
-  send_!O4( O, O, {R, SAr, {g(r), Nr, g(i), H(Ni)}sk(R)}KDF(h(g(r),i), H(Ni), Nr) );
-
- }
-
-
-}
-
-
-
-protocol jfkr(I, R)
-{
- role I {
-  fresh i, Ni, SAi: Nonce;
-  var Nr, SAr: Nonce;
-  var Gr, TH: Ticket;
-
-  send_1( I, R, H(Ni), g(i) );
-  recv_2( R, I, H(Ni), Nr, Gr, TH );
-  send_!3( I, R, Ni, Nr, g(i), Gr, TH, {I, SAi, {H(Ni), Nr, g(i), Gr}sk(I)}KDF(h(Gr,i), H(Ni), Nr) );
-  recv_!4( R, I, {R, SAr, {Gr, Nr, g(i), H(Ni)}sk(R)}KDF(h(Gr,i), H(Ni), Nr) );
-
-
-  claim( I, SKR, KDF(h(Gr,i), H(Ni), Nr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr, SAr, HKr: Nonce;
-  var Ni, SAi: Nonce;
-  var Gi, HNi: Ticket;
-
-  recv_1( I, R, HNi, Gi );
-  send_2( R, I, HNi, Nr, g(r), H(HKr, g(r), Nr, HNi) );
-  recv_!3( I, R, Ni, Nr, Gi, g(r), H(HKr, g(r), Nr, H(Ni)), {I, SAi, {H(Ni), Nr, Gi, g(r)}sk(I)}KDF(h(Gi,r), H(Ni), Nr) );
-        send_!4( R, I, {R, SAr, {g(r), Nr, Gi, H(Ni)}sk(R)}KDF(h(Gi,r), H(Ni), Nr) );
-
-
-  claim( R, Secret, HKr );
-  claim( R, SKR, KDF(h(Gi,r), H(Ni), Nr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/make-mpa.py b/Vagrant Files/shared/scyther/Protocols/IKE/make-mpa.py
deleted file mode 100644
index c75984d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/make-mpa.py	
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-
-import os
-
-def getProtocolFiles(path=".",extension=""):
-    allfiles = os.listdir(path)
-    spfl = []
-    for fn in allfiles:
-        if fn.endswith(extension):
-            spfl.append(fn)
-    return spfl
-
-def scanThis(fn,f,rewritelist,cnt):
-
-    s = ""
-    mapping = []
-    for lhs in rewritelist:
-        rhs = "%s%i" % (lhs,cnt)
-        mapping.append((lhs,rhs))
-
-    fp = open(fn,"r")
-    for rl in fp.xreadlines():
-        l = rl
-        if f != None:
-            l = f(l)
-        for (lhs,rhs) in mapping:
-            l = l.replace(lhs,rhs)
-        s = s + l
-    fp.close()
-    return s
-
-def convertEm(f=None,path=".",rewritelist=[],newdir=".",oldext="",newext=None):
-    fl = getProtocolFiles(path=path,extension=oldext)
-    cnt = 1
-    for fn in fl:
-        ffn = os.path.join(path,fn)
-        print "Processing",ffn
-        s = scanThis(ffn,f,rewritelist,cnt)
-        if newext == None:
-            fn2 = fn
-        else:
-            fn2 = fn.replace(oldext,newext)
-        ffn2 = os.path.join(newdir,fn2)
-        fp = open(ffn2,"w")
-        fp.write(s)
-        fp.close()
-        print "Produced",ffn2
-        cnt = cnt+1
-
-def preprocess(s):
-    s = s.replace("@oracle","@OracleA")
-    s = s.replace("@ora ",  "@OracleB ")
-    s = s.replace("@ora(",  "@OracleB(")
-    return s
-
-def main():
-    convertEm(f=preprocess,rewritelist=["@OracleA","@executability","@OracleB"],path=".",newdir="mpa",oldext=".spdl")
-    print "Done."
-
-if __name__ == '__main__':
-    main()
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/mpa/README.txt b/Vagrant Files/shared/scyther/Protocols/IKE/mpa/README.txt
deleted file mode 100644
index 91e5266..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/mpa/README.txt	
+++ /dev/null
@@ -1,6 +0,0 @@
-This directory is filled by the script
-
-`../make-mpa.py`
-
-It takes the `.spdl` files from the `..` directory and prepares them for
-multi-protocol analysis.
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.cpp
deleted file mode 100644
index 84db6b0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.cpp	
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * @protocol	OAKLEY
- * @reference	RFC 2412, 
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	OAKLEY is related to STS and allows for shared key 
- *				determination via authenticated Diffie-Hellman exchanges and
- *				provides perfect forward secrecy for the shared key.
- * @variant		Aggressive mode
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __OAKLEY__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-
-usertype String;
-const list, algo: String;
-
-protocol oakley-a(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, Ci, g(i), list, I, R, Ni, {I, R, Ni, g(i), list}sk(I) );
-		recv_2( R, I, Cr, Ci, Gr, algo, R, I, Nr, Ni, {R, I, Nr, Ni, g(i), Gr, algo}sk(R) );
-		send_3( I, R, Ci, Cr, g(i), algo, I, R, Ni, Nr, {I, R, Ni, Nr, g(i), Gr, algo}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, Gi, list, I, R, Ni, {I, R, Ni, Gi, list}sk(I) );
-		send_2( R, I, Cr, Ci, g(r), algo, R, I, Nr, Ni, {R, I, Nr, Ni, Gi, g(r), algo}sk(R) );
-		recv_3( I, R, Ci, Cr, Gi, algo, I, R, Ni, Nr, {I, R, Ni, Nr, Gi, g(r), algo}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.spdl
deleted file mode 100644
index aa04c2e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-a.spdl	
+++ /dev/null
@@ -1,91 +0,0 @@
-# 1 "oakley-a.cpp"
-# 1 "<command-line>"
-# 1 "oakley-a.cpp"
-# 18 "oakley-a.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 141 "common.h"
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 19 "oakley-a.cpp" 2
-
-
-
-usertype String;
-const list, algo: String;
-
-protocol oakley-a(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, Ci, g(i), list, I, R, Ni, {I, R, Ni, g(i), list}sk(I) );
-  recv_2( R, I, Cr, Ci, Gr, algo, R, I, Nr, Ni, {R, I, Nr, Ni, g(i), Gr, algo}sk(R) );
-  send_3( I, R, Ci, Cr, g(i), algo, I, R, Ni, Nr, {I, R, Ni, Nr, g(i), Gr, algo}sk(I) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, Gi, list, I, R, Ni, {I, R, Ni, Gi, list}sk(I) );
-  send_2( R, I, Cr, Ci, g(r), algo, R, I, Nr, Ni, {R, I, Nr, Ni, Gi, g(r), algo}sk(R) );
-  recv_3( I, R, Ci, Cr, Gi, algo, I, R, Ni, Nr, {I, R, Ni, Nr, Gi, g(r), algo}sk(I) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.cpp
deleted file mode 100644
index 5c4654f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.cpp	
+++ /dev/null
@@ -1,63 +0,0 @@
-/** HEADDOC
- * @protocol	OAKLEY
- * @reference	RFC 2412, 
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	OAKLEY is related to STS and allows for shared key 
- *				determination via authenticated Diffie-Hellman exchanges and
- *				provides perfect forward secrecy for the shared key.
- * @variant		Alternative variant to prevent user identity disclosure
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __OAKLEY__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-#define AK prf(Ni,Nr)
-
-
-usertype String;
-const list, algo: String;
-
-protocol oakley-alt(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		// NOTE: pk(R) is sent in plain so that the recipient knows which decryption key to use
-		// In the specification, there is a distinction between the R in pk(R) and the encrypted R
-		send_1( I, R, Ci, g(i), list, pk(R), {I, R, Ni}pk(R) );
-		recv_2( R, I, Cr, Ci, Gr, algo, {R, I, Nr}pk(I), prf(AK, R, I, Gr, g(i), algo) );
-		send_3( I, R, Ci, Cr, prf(AK, I, R, g(i), Gr, algo) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, Ci, Gi, list, pk(R), {I, R, Ni}pk(R) );
-		send_2( R, I, Cr, Ci, g(r), algo, {R, I, Nr}pk(I), prf(AK, R, I, g(r), Gi, algo) );
-		recv_3( I, R, Ci, Cr, prf(AK, I, R, Gi, g(r), algo) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.spdl
deleted file mode 100644
index f94b355..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-alt.spdl	
+++ /dev/null
@@ -1,94 +0,0 @@
-# 1 "oakley-alt.cpp"
-# 1 "<command-line>"
-# 1 "oakley-alt.cpp"
-# 18 "oakley-alt.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 141 "common.h"
-  var Ci, Cr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 19 "oakley-alt.cpp" 2
-
-
-
-
-usertype String;
-const list, algo: String;
-
-protocol oakley-alt(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-
-
-  send_1( I, R, Ci, g(i), list, pk(R), {I, R, Ni}pk(R) );
-  recv_2( R, I, Cr, Ci, Gr, algo, {R, I, Nr}pk(I), prf(prf(Ni,Nr), R, I, Gr, g(i), algo) );
-  send_3( I, R, Ci, Cr, prf(prf(Ni,Nr), I, R, g(i), Gr, algo) );
-
-
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Ci, Gi, list, pk(R), {I, R, Ni}pk(R) );
-  send_2( R, I, Cr, Ci, g(r), algo, {R, I, Nr}pk(I), prf(prf(Ni,Nr), R, I, g(r), Gi, algo) );
-  recv_3( I, R, Ci, Cr, prf(prf(Ni,Nr), I, R, Gi, g(r), algo) );
-
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.cpp
deleted file mode 100644
index 32e6a80..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.cpp	
+++ /dev/null
@@ -1,105 +0,0 @@
-/** HEADDOC
- * @protocol	OAKLEY
- * @reference	RFC 2412, 
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	OAKLEY is related to STS and allows for shared key 
- *				determination via authenticated Diffie-Hellman exchanges and
- *				provides perfect forward secrecy for the shared key.
- * @variant		Conservative mode with identity hiding
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __OAKLEY_CONSERVATIVE__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-#define Kpi prf(Zi)
-#define Kpr prf(Zr)
-#define Kir prf(Ni,Nr)
-
-
-usertype String;
-const OK, list, algo: String;
-
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r, Ni, Nr, Ci, Cr: Nonce;
-		var I, R: Agent;
-
-		// msg 5
-		recv_!O1( O, O, {I, R, {Ni}pk(R)}Kpi );
-		send_!O2( O, O, {I, R, {Ni}pk(R)}Kpr );
-
-		// msg 6
-		recv_!O3( O, O, {{Nr, Ni}pk(I), R, I, prf(Kir, R, I, Gr, g(i), algo)}Kpr );
-		send_!O4( O, O, {{Nr, Ni}pk(I), R, I, prf(Kir, R, I, Gr, g(i), algo)}Kpi );
-
-		// msg 7
-		recv_!O5( O, O, {prf(Kir, I, R, g(i), Gr, algo)}Kpi );
-		send_!O6( O, O, {prf(Kir, I, R, g(i), Gr, algo)}Kpr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol oakley-c(I, R)
-{
-	role I {
-		fresh i, Ni, Ci:	Nonce;
-		var   Nr, Cr:		Nonce;
-		var   Gr:			Ticket;
-
-		send_1( I, R, OK );
-		recv_2( R, I, Cr );
-		send_3( I, R, Ci, Cr, g(i), list );
-		recv_4( R, I, Cr, Ci, Gr, algo );
-		send_!5( I, R, Ci, Cr, g(i), {I, R, {Ni}pk(R)}Kpi );
-		recv_!6( R, I, Cr, Ci, {{Nr, Ni}pk(I), R, I, prf(Kir, R, I, Gr, g(i), algo)}Kpi );
-		send_!7( I, R, Ci, Cr, {prf(Kir, I, R, g(i), Gr, algo)}Kpi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, Kpi );
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr, Cr:	Nonce;
-		var    Ni, Ci:		Nonce;
-		var    Gi:			Ticket;
-
-		recv_1( I, R, OK );
-		send_2( R, I, Cr );
-		recv_3( I, R, Ci, Cr, Gi, list );
-		send_4( R, I, Cr, Ci, g(r), algo );
-		recv_!5( I, R, Ci, Cr, Gi, {I, R, {Ni}pk(R)}Kpr );
-		send_!6( R, I, Cr, Ci, {{Nr, Ni}pk(I), R, I, prf(Kir, R, I, g(r), Gi, algo)}Kpr );
-		recv_!7( I, R, Ci, Cr, {prf(Kir, I, R, Gi, g(r), algo)}Kpr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, Kpr );
-
-		claim( R, SKR, SKr );
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.spdl
deleted file mode 100644
index 2585ef9..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/oakley-c.spdl	
+++ /dev/null
@@ -1,140 +0,0 @@
-# 1 "oakley-c.cpp"
-# 1 "<command-line>"
-# 1 "oakley-c.cpp"
-# 18 "oakley-c.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 144 "common.h"
-  var Ci, Cr: Nonce;
-
-
-
-
-
-  recv_!SWAP1( SWAP, SWAP, KDF(Ni, Nr, h(g(r),i), Ci, Cr) );
-  send_!SWAP2( SWAP, SWAP, KDF(Ni, Nr, h(g(i),r), Ci, Cr) );
-
- }
-
-
-}
-# 19 "oakley-c.cpp" 2
-
-
-
-
-
-
-
-usertype String;
-const OK, list, algo: String;
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r, Ni, Nr, Ci, Cr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {I, R, {Ni}pk(R)}prf(h(g(r),i)) );
-  send_!O2( O, O, {I, R, {Ni}pk(R)}prf(h(g(i),r)) );
-
-
-  recv_!O3( O, O, {{Nr, Ni}pk(I), R, I, prf(prf(Ni,Nr), R, I, g(r), g(i), algo)}prf(h(g(i),r)) );
-  send_!O4( O, O, {{Nr, Ni}pk(I), R, I, prf(prf(Ni,Nr), R, I, g(r), g(i), algo)}prf(h(g(r),i)) );
-
-
-  recv_!O5( O, O, {prf(prf(Ni,Nr), I, R, g(i), g(r), algo)}prf(h(g(r),i)) );
-  send_!O6( O, O, {prf(prf(Ni,Nr), I, R, g(i), g(r), algo)}prf(h(g(i),r)) );
-
- }
-
-
-}
-
-
-protocol oakley-c(I, R)
-{
- role I {
-  fresh i, Ni, Ci: Nonce;
-  var Nr, Cr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, OK );
-  recv_2( R, I, Cr );
-  send_3( I, R, Ci, Cr, g(i), list );
-  recv_4( R, I, Cr, Ci, Gr, algo );
-  send_!5( I, R, Ci, Cr, g(i), {I, R, {Ni}pk(R)}prf(h(Gr,i)) );
-  recv_!6( R, I, Cr, Ci, {{Nr, Ni}pk(I), R, I, prf(prf(Ni,Nr), R, I, Gr, g(i), algo)}prf(h(Gr,i)) );
-  send_!7( I, R, Ci, Cr, {prf(prf(Ni,Nr), I, R, g(i), Gr, algo)}prf(h(Gr,i)) );
-
-
-  claim( I, SKR, prf(h(Gr,i)) );
-  claim( I, SKR, KDF(Ni, Nr, h(Gr,i), Ci, Cr) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr, Cr: Nonce;
-  var Ni, Ci: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, OK );
-  send_2( R, I, Cr );
-  recv_3( I, R, Ci, Cr, Gi, list );
-  send_4( R, I, Cr, Ci, g(r), algo );
-  recv_!5( I, R, Ci, Cr, Gi, {I, R, {Ni}pk(R)}prf(h(Gi,r)) );
-  send_!6( R, I, Cr, Ci, {{Nr, Ni}pk(I), R, I, prf(prf(Ni,Nr), R, I, g(r), Gi, algo)}prf(h(Gi,r)) );
-  recv_!7( I, R, Ci, Cr, {prf(prf(Ni,Nr), I, R, Gi, g(r), algo)}prf(h(Gi,r)) );
-
-
-  claim( R, SKR, prf(h(Gi,r)) );
-
-  claim( R, SKR, KDF(Ni, Nr, h(Gi,r), Ci, Cr) );
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/pp.sh b/Vagrant Files/shared/scyther/Protocols/IKE/pp.sh
deleted file mode 100644
index 1ee7b6e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/pp.sh	
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-FILES="$*"
-EXT="pp"
-#OUT=.
-OUT=pp-results
-
-if [ -n "$FILES" ]; then
-	for file in $FILES;
-	do
-		if [ "$file" = "*.$EXT.*" ]; then
-			echo "skipping $file"
-		else
-			echo "preprocessing $file"
-			cpp $file | sed -e '/^(\#.*)*$/d' > $OUT/${file%%.*}.$EXT.spdl
-		fi
-	done
-else
-	printf "Usage: %s: file...\n" $(basename $0) >&2 
-	exit 1
-fi
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/scanner.py b/Vagrant Files/shared/scyther/Protocols/IKE/scanner.py
deleted file mode 100644
index bc529ac..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/scanner.py	
+++ /dev/null
@@ -1,800 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-
-ALLPROTS = set()
-ALLCLAIMS = set()   # prot x role x claim
-PREFIX = None       # Required prefix
-FFUNC = (lambda p: True)        # Filter function
-
-def reset():
-
-    global ALLPROTS
-    global ALLCLAIMS
-    global PREFIX
-    global FFUNC
-
-    ALLPROTS = set()
-    ALLCLAIMS = set()
-    PREFIX = None
-    FFUNC = (lambda p: True) 
-
-def skipLine(l):
-    if len(l) == 0:
-        return True
-
-    skippable = ["%","\\begin","\\end","Protocol"]
-    for skstr in skippable:
-        if l.startswith(skstr):
-            return True
-
-    return False
-
-def stripRowEnd(l):
-    # Assume ends with \\, split by dtl
-    endstr = "\\\\"
-    if not l.endswith(endstr):
-        print "Error: some line does not end with \\\\"
-        print ">>%s<<" % (l)
-        sys.exit(-1)
-
-    return l[:-len(endstr)]
-
-def splitStrip(l,sp):
-
-    dtl = l.split(sp)
-    for i in range(0,len(dtl)):
-        dtl[i] = dtl[i].strip()
-    return dtl
-
-def roleClaim(dtl):
-    rcdt = dtl.split()
-    assert(rcdt[0].endswith(":"))
-    role = rcdt[0][:-1]
-    claim = rcdt[1]
-    return (role,claim[:20])
-
-def scanAttackFile(fn):
-
-    global ALLPROTS
-
-    fp = open("gen-%s-mpaattacks.tex" % (fn),"r")
-    attackmap = {}
-    prot = None
-    role = None
-    claim = None
-    for rawline in fp.xreadlines():
-
-        l = rawline.strip()
-
-        if skipLine(l):
-            continue
-
-        l = stripRowEnd(l)
-
-        dtl = splitStrip(l,"&")
-
-        # New protocol
-        if len(dtl[0]) > 0:
-            prot = dtl[0]
-
-        # New role
-        if len(dtl[1]) > 0:
-            (role,claim) = roleClaim(dtl[1])
-
-        # Claims list
-        # Assume starts with '[' and ends with ']'
-        assert(dtl[2].startswith("["))
-        assert(dtl[2].endswith("]"))
-        attl = ((dtl[2])[1:-1]).split(",")
-        for i in range(0,len(attl)):
-            x = attl[i].strip()
-            assert(x.startswith("'"))
-            assert(x.endswith("'"))
-            attl[i] = x[1:-1]
-
-        ak = (prot,role,claim)
-        if ak not in attackmap.keys():
-            attackmap[ak] = set()
-        attackmap[ak].add(tuple(attl))
-
-        # Add to allprots set
-        ALLPROTS.add(prot)
-        for p in attl:
-            ALLPROTS.add(prot)
-
-    fp.close()
-
-    return attackmap
-
-
-def shorten(prot):
-    """
-    Shorten protocol name
-    """
-    cutting = ["isoiec-","9798-"]
-    for ct in cutting:
-        if prot.startswith(ct):
-            prot = prot[len(ct):]
-    return prot.replace("-udkey","-ud")
-
-
-def prettyclaim(cl):
-    """
-    Rewrite if needed
-    """
-    return cl.replace("Commit","Agreement")
-
-
-def mpaTable(attackmap):
-    """
-    construct table for MPA attacks
-    """
-    counter = 1
-    s = ""
-
-    s += "\\begin{longtable}{|l|lll|l|}\n" 
-    s += "\\hline\n"
-    for kk in sorted(ALLCLAIMS):
-        if kk not in attackmap.keys():
-            continue
-        (prot,role,claim) = kk
-
-        ats = str(attackmap[kk])
-        sl = "%i & %s & %s & %s & %s \\\\ \n" % (counter,prot,role,claim,ats)
-
-        s += sl
-        counter = counter + 1
-
-    s += "\\hline\n"
-    s += "\\end{longtable}\n"
-
-    return s
-
-
-def rotated(headl):
-    """
-    Add rotated headers
-    """
-    for i in range(0,len(headl)):
-        headl[i] = "\\begin{sideways} %s \\end{sideways}\n" % (headl[i])
-    return " & ".join(headl)
-
-
-def baseprot(prot):
-    return shorten(prot)[:5]
-
-
-def mpaTable2(attackmap,tabtype="tabular",options=""):
-    """
-    construct table for MPA attacks
-
-    Second attempt
-    """
-
-    # To find the number of columns, we first need to find all protocols involved in two-protocol attacks
-    involved = set()
-    for kk in attackmap.keys():
-        for atl in attackmap[kk]:
-            # convert tuple back to list
-            att = list(atl)
-            if len(att) == 1:
-                # This attack involves one *additional* protocol, so is a two-protocol attack
-                involved.add(att[0])
-    colheads = sorted(involved)
-    attcols = ""
-    last = None
-    for hd in colheads:
-        prm = baseprot(hd)
-        if last == prm:
-            attcols += "@{\hspace{2mm}}c"
-        else:
-            last = prm
-            attcols += "|c"
-
-
-    #attcols = "c" * len(involved)
-
-    counter = 1
-    s = ""
-
-    #s += "\\clearpage \n"
-
-    s += "\\begin{%s}%s{|l|ll|%s|}\n" % (tabtype,options,attcols)
-    s += "\\hline\n"
-    s += rotated(["No","Prot","Claim"])
-    for hd in colheads:
-        s += "& \\begin{sideways}%s\\end{sideways} " % (shorten(hd))
-    s += "\\\\ \n"
-
-    s += "\\hline\n"
-    last = None
-    for kk in sorted(ALLCLAIMS):
-        if kk not in attackmap.keys():
-            continue
-        (prot,role,claim) = kk
-        
-        prm = baseprot(prot)
-        if last != prm:
-            last = prm
-            s += "\\hline\n"
-
-        sl = ""
-        sl += "%i & %s & %s %s " % (counter,shorten(prot),role,claim)
-        for ch in colheads:
-            se = tuple([ch])
-            if se in attackmap[kk]:
-                sl += "& $\\bullet$ "
-            else:
-                sl += "& $\\circ$  "
-
-        sl += "\\\\ \n"
-
-        s += sl
-        counter = counter + 1
-
-    s += "\\hline\n"
-    s += "\\end{%s}\n" % (tabtype)
-
-    return s
-
-
-def mpaTable3(attackmaps,tabtype="tabular",options=""):
-    """
-    construct table for MPA attacks
-
-    attmaps = sequence of (attackmap, symbol)
-
-    Symbol of the first matching is displayed
-
-    Second attempt
-    """
-
-    global FFUNC
-    # To find the number of columns, we first need to find all protocols involved in two-protocol attacks
-    # Also populate "allkeys"
-    involved = set()
-    allkeys = set()
-    for (attackmap,symbs) in attackmaps:
-        for kk in attackmap.keys():
-            allkeys.add(kk)
-            for atl in attackmap[kk]:
-                # convert tuple back to list
-                att = list(atl)
-                if len(att) == 1:
-                    # This attack involves one *additional* protocol, so is a two-protocol attack
-                    if FFUNC:
-                        if not FFUNC(att[0]):
-                            continue
-
-                    involved.add(att[0])
-
-    colheads = sorted(involved)
-    attcols = ""
-    last = None
-    for hd in colheads:
-        prm = baseprot(hd)
-        if last == prm:
-            attcols += "@{\hspace{2mm}}c"
-        else:
-            last = prm
-            attcols += "|c"
-
-
-    #attcols = "c" * len(involved)
-
-    counter = 1
-    s = ""
-
-    #s += "\\clearpage \n"
-
-    s += "\\begin{%s}%s{|l|ll|%s|}\n" % (tabtype,options,attcols)
-    s += "\\hline\n"
-    s += rotated(["No","Prot","Claim"])
-    for hd in colheads:
-        s += "& \\begin{sideways}%s\\end{sideways} " % (shorten(hd))
-    s += "\\\\ \n"
-
-    s += "\\hline\n"
-    last = None
-    for kk in sorted(ALLCLAIMS):
-        if kk not in attackmap.keys():
-            continue
-        (prot,role,claim) = kk
-        
-        prm = baseprot(prot)
-        if last != prm:
-            last = prm
-            s += "\\hline\n"
-
-        sl = ""
-        sl += "%i & %s & %s %s " % (counter,shorten(prot),role,prettyclaim(claim))
-        for ch in colheads:
-            se = tuple([ch])
-            sl += "& "
-            for (attackmap,symb) in attackmaps:
-                if kk in attackmap.keys():
-                    if se in attackmap[kk]:
-                        sl += symb
-                        break
-
-        sl += "\\\\ \n"
-
-        s += sl
-        counter = counter + 1
-
-    s += "\\hline\n"
-    s += "\\end{%s}\n" % (tabtype)
-
-    return s
-
-
-def scanClaimList(fn):
-    """
-    Simply gather claims
-    """
-
-    global ALLPROTS
-    global ALLCLAIMS
-    global FFUNC
-
-    fp = open("gen-%s-claims.txt" % (fn),"r")
-
-    claimmap = {}
-    for rawline in fp.xreadlines():
-
-        l = rawline.strip()
-
-        if skipLine(l):
-            continue
-
-        dtl = splitStrip(l,"; ")
-
-        filename = dtl[0]
-        prot = dtl[1]
-        if FFUNC:
-            if not FFUNC(prot):
-                continue
-
-        label = dtl[2]
-        (role,claim) = roleClaim(dtl[3])
-
-        ALLCLAIMS.add((prot,role,claim))
-        ALLPROTS.add(prot)
-
-    fp.close()
-
-    return claimmap
-
-def scanClaimFile(fn):
-    """
-    Construct claimmap
-
-    prot -> roles -> claims
-    """
-
-    global ALLPROTS
-    global ALLCLAIMS
-    global FFUNC
-
-    fp = open("gen-%s-correctclaims.tex" % (fn),"r")
-
-    claimmap = {}
-    for rawline in fp.xreadlines():
-
-        l = rawline.strip()
-
-        if skipLine(l):
-            continue
-
-        l = stripRowEnd(l)
-
-        dtl = splitStrip(l,"&")
-
-        prot = dtl[0]
-        if FFUNC:
-            if not FFUNC(prot):
-                continue
-
-        if prot not in claimmap.keys():
-            claimmap[prot] = {}
-
-        cll = splitStrip(dtl[1],";")
-
-        for dt in cll:
-            (role,claim) = roleClaim(dt)
-
-            if role not in claimmap[prot].keys():
-                claimmap[prot][role] = set()
-
-            claimmap[prot][role].add(claim)
-
-            ALLCLAIMS.add((prot,role,claim))
-
-        ALLPROTS.add(prot)
-
-    fp.close()
-
-    return claimmap
-
-def getRoleClaims(rcmap):
-
-    rc = set()
-    for role in rcmap.keys():
-        for claim in rcmap[role]:
-            rc.add((role,claim))
-
-    return rc
-
-def typeScanMatrix(cml,onlyChanged = False):
-
-    global ALLPROTS
-
-    """
-    Scan for the influence of typing.
-
-    Input:
-
-    [(txt1,cm1),(txt2,cm2),...]
-
-    """
-    s = ""
-
-    s += "\\begin{longtable}{|l|lll|%s|}\n" % ("c" * len(cml))
-    s += "\\hline\n"
-
-    s += "No & Prot & Role & Claim "
-    for (txt,cm) in cml:
-        s += "& %s " % (txt)
-    s += "\\\\\n"
-    s += "\\hline\n"
-
-    goodverdict = "$\\circ$"
-    badverdict = "$\\bullet$"
-
-    counter = 1
-    for (prot,role,claim) in sorted(ALLCLAIMS):
-        # Header
-        sl = "%i & %s & %s & %s " % (counter,prot,role,claim)
-        alltrue = True
-        for (txt,cm) in cml:
-            verdict = badverdict
-            if prot in cm.keys():
-                if role in cm[prot].keys():
-                    if claim in cm[prot][role]:
-                        verdict = goodverdict
-            if verdict == badverdict:
-                alltrue = False
-
-            sl += "& %s " % (verdict)
-        sl += "\\\\\n"
-
-        if alltrue == True:
-            if onlyChanged == True:
-                continue
-
-        s += sl
-        counter = counter + 1
-
-    s += "\\hline\n"
-    s += "\\end{longtable}\n"
-    return s
-
-def typeScanMatrix2(cml,onlyChanged = False,additive = False):
-
-    global ALLPROTS
-
-    """
-    Scan for the influence of typing.
-
-    Input:
-
-    [(txt1,cm1),(txt2,cm2),...]
-
-    """
-    s = ""
-
-    s += "\\begin{longtable}{|l|lll||c|}\n" 
-    s += "\\hline\n"
-
-    s += "No & Prot & Claim & Attacks"
-    s += "\\\\\n"
-    s += "\\hline\n"
-    s += "\\hline\n"
-
-    goodverdict = "$\\circ$"
-    badverdict = "$\\bullet$"
-
-    last = None
-    counter = 1
-    for (prot,role,claim) in sorted(ALLCLAIMS):
-        if baseprot(prot) != last:
-            last = baseprot(prot)
-            s += "\\hline\n"
-
-        # Header
-        sl = "%i & %s & %s %s " % (counter,prot,role,prettyclaim(claim))
-        alltrue = True
-        res = ""
-        for (txt,cm) in cml:
-            verdict = badverdict
-            if prot in cm.keys():
-                if role in cm[prot].keys():
-                    if claim in cm[prot][role]:
-                        verdict = goodverdict
-            if verdict == badverdict:
-                alltrue = False
-                if additive:
-                    res += txt
-                else:
-                    res = txt
-
-        sl += "& %s " % (res)
-        sl += "\\\\\n"
-
-        if alltrue == True:
-            if onlyChanged == True:
-                continue
-
-        s += sl
-        counter = counter + 1
-
-    s += "\\hline\n"
-    s += "\\end{longtable}\n"
-    return s
-
-def typeScanMatrix3(hd1,hd2,cml,f,onlyChanged = False,tabletype="longtable"):
-
-    global ALLPROTS
-
-    """
-    Scan for the influence of typing.
-
-    Input:
-
-    f is given as input a sequence of Bool (attack = False) of length len(cml), should return string.
-
-    """
-    s = ""
-
-    s += "\\begin{%s}{|l|ll||%s|}\n" % (tabletype,hd1)
-    s += "\\hline\n"
-
-    s += rotated(["No","Protocol","Claim"]) + " & " + rotated(hd2)
-    s += "\\\\\n"
-    s += "\\hline\n"
-    s += "\\hline\n"
-
-    goodverdict = "$\\circ$"
-    badverdict = "$\\bullet$"
-
-    last = None
-    counter = 1
-    for (prot,role,claim) in sorted(ALLCLAIMS):
-        if baseprot(prot) != last:
-            last = baseprot(prot)
-            s += "\\hline\n"
-
-        # Header
-        sl = "%i & %s & %s %s " % (counter,prot,role,prettyclaim(claim))
-        alltrue = True
-        res = ""
-        resl = []
-        for cm in cml:
-            verdict = badverdict
-            if prot in cm.keys():
-                if role in cm[prot].keys():
-                    if claim in cm[prot][role]:
-                        verdict = goodverdict
-            if verdict == badverdict:
-                alltrue = False
-                resl.append(False)
-            else:
-                resl.append(True)
-
-        sl += "& %s " % (f(resl))
-        sl += "\\\\\n"
-
-        if alltrue == True:
-            if onlyChanged == True:
-                continue
-
-        s += sl
-        counter = counter + 1
-
-    s += "\\hline\n"
-    s += "\\end{%s}\n" % (tabletype)
-    return s
-
-def docWrapper(s,title=None,author=None):
-
-    pref = ""
-    pref += "\\documentclass{article}\n"
-    pref += "\\usepackage{a4}\n"
-    pref += "\\usepackage{geometry}\n"
-    pref += "\\usepackage{longtable}\n"
-    pref += "\\usepackage{rotating}\n"
-    pref += "\\begin{document}\n"
-    if title or author:
-        if title:
-            pref += "\\title{%s}\n" % (title)
-        if author:
-            pref += "\\author{%s}\n" % (author)
-        pref += "\\maketitle\n"
-    post = ""
-    post += "\\end{document}\n"
-
-    return pref + s + post
-
-def secWrapper(s,title,level=0):
-    """
-    level : 
-
-    0 section
-    1 subsection
-    2 subsub...
-    """
-    pref = "\\" + "sub" * level + "section{" + title + "}\n\n"
-    post = "\n"
-    return pref + s + post
-
-
-def sizeWrapper(s, width="!", height="!"):
-
-    if (width != "!") or (height != "!"):
-        s = "\\resizebox{%s}{%s}{ \n%s}\n" % (width,height,s)
-    return s
-
-
-def fileWrite(fn,s):
-
-    fp = open("%s.tex" % (fn), "w")
-    fp.write(s)
-    fp.close()
-
-
-def docWrite(fn,tex,author=None,title=None):
-
-    fileWrite(fn, docWrapper(tex,author=author,title=title))
-
-
-def docMake(fn,tex,author=None,title=None):
-
-    import commands
-
-    docWrite(fn,tex,author,title)
-    cmd = "pdflatex %s" % (fn)
-    commands.getoutput(cmd)
-
-def f1(resl):
-    txtl = []
-    for t in resl:
-        if t == True:
-            txtl.append(" ")
-        else:
-            txtl.append("$\\bullet$")
-    return " & ".join(txtl)
-
-def pb(tl,width):
-    nl = []
-    for t in tl:
-        nl.append("\\parbox{%s}{%s}" % (width,t))
-    return nl
-
-def makeReport(fn,includefiles=False):
-    scanClaimList(fn + "-aa-t")
-
-    cISOaat = scanClaimFile(fn + "-aa-t")
-    cISOaab = scanClaimFile(fn + "-aa-b")
-    cISOaau = scanClaimFile(fn + "-aa-u")
-    cISOiut = scanClaimFile(fn + "-iu-t")
-    cISOiub = scanClaimFile(fn + "-iu-b")
-    cISOiuu = scanClaimFile(fn + "-iu-u")
-    cISOext = scanClaimFile(fn + "-ex-t")
-    cISOexb = scanClaimFile(fn + "-ex-b")
-    cISOexu = scanClaimFile(fn + "-ex-u")
-
-    tex = ""
-    #tex += secWrapper(typeScanMatrix([("typed",cISOaat),("basic",cISOaab),("untyped",cISOaau)],onlyChanged = False),title="Normal mode (Alice-Alice communication allowed)")
-    #tex += secWrapper(typeScanMatrix([("typed",cISOiut),("basic",cISOiub),("untyped",cISOiuu)],onlyChanged = True),title="Disallow Alice-Alice initiators")
-    #tex += secWrapper(typeScanMatrix([("typed",cISOext),("basic",cISOexb),("untyped",cISOexu)],onlyChanged = True),title="Disallow Alice-Alice communications")
-
-    orders = [cISOaab,
-              cISOaat,
-              cISOiub,
-              cISOiut]
-
-    sectex = typeScanMatrix3("c|c|c|c",pb(["No type checks\\\\Alice-talks-to-Alice initators","Type checks\\\\Alice-talks-to-Alice initators","No type checks\\\\No Alice-talks-to-Alice initators","Type checks\\\\No Alice-talks-to-Alice initators"],"49mm"), orders,f1,onlyChanged = True)
-
-    mpatex = sizeWrapper(mpaTable3([
-        (scanAttackFile(fn + "-ex-t"),"$\\bullet$"),
-        (scanAttackFile(fn + "-aa-b"),"$\\circ$")
-        ]),width="\\textwidth")
-
-    if includefiles == True:
-        fileWrite("../gen-att-" + fn,sectex)
-        fileWrite("../gen-mpa-" + fn,mpatex)
-
-    tex += secWrapper(sectex,title="Attacks found")
-    tex += secWrapper(mpatex,title="MPA attacks")
-    docMake(fn,tex,author="Cas Cremers",title="test report %s" % (fn))
-
-
-def filterPrefix(prot):
-    """
-    Returns true iff the protocol name is okay to be considered
-    """
-    if PREFIX:
-        if not prot.startswith(PREFIX):
-            return False
-    return True
-
-def filterPrefixBD(prot):
-    """
-    Returns true iff the protocol name is okay to be considered
-    """
-    if PREFIX:
-        if not prot.startswith(PREFIX):
-            return False
-    if prot.endswith("-ud"):
-        return False
-    if prot.endswith("-udkey"):
-        return False
-    return True
-
-
-def filterCombo(prot):
-    """
-    Returns true iff the protocol name is okay to be considered
-    """
-    if prot.find("-sig-child") >= 0:
-        return False
-    
-    return True
-
-
-def filterISOsymmBD(prot):
-    """
-    Returns true iff the protocol name is okay to be considered
-    """
-    if prot.endswith("-ud"):
-        return False
-    if prot.endswith("-udkey"):
-        return False
-
-    if prot.startswith("isoiec-9798-2"):
-        return True
-    if prot.startswith("isoiec-9798-4"):
-        return True
-
-    return False
-
-
-
-if __name__ == "__main__":
-    
-    #reset()
-    #PREFIX = "isoiec-9798-2"
-    #makeReport(PREFIX)
-
-    includefiles = True
-
-    reset()
-    FFUNC = filterCombo
-    PREFIX = "ike1"
-    makeReport(PREFIX,includefiles=includefiles)
-
-    reset()
-    FFUNC = filterCombo
-    PREFIX = "ike2"
-    makeReport(PREFIX,includefiles=includefiles)
-
-    reset()
-    FFUNC = filterCombo
-    PREFIX = "ike0"
-    makeReport(PREFIX,includefiles=includefiles)
-
-
-
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.cpp
deleted file mode 100644
index d9f58ab..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.cpp	
+++ /dev/null
@@ -1,61 +0,0 @@
-/** HEADDOC
- * @protocol	SKEME
- * @reference	Krawczyk, H., SKEME: A Versatile Secure Key Exchange Mechanism
- *				for Internet,
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	SKEME is a set of protocols suitable for negotiation of 
- *				services in a general networked environment. The main 
- *				characteristics are forward secrecy, privacy and anonymity, 
- *				and DoS protection.
- * @variant		Basic mode
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
- * Note: May use the same oracles as sts
-**/
-#define __SKEME__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-#define Kir prf(Ni,Nr)
-
-
-protocol skeme-basic(I, R)
-{
-	role I {
-		fresh i, Ni:	Nonce;
-		var   Nr:		Nonce;
-		var   Gr:		Ticket;
-
-		send_1( I, R, {I, Ni}pk(R), g(i) );
-		recv_2( R, I, {Nr}pk(I), Gr, prf(Kir, g(i), Gr, R, I) );
-		send_3( I, R, prf(Kir, Gr, g(i), I, R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r, Nr:	Nonce;
-		var    Ni:		Nonce;
-		var    Gi:		Ticket;
-
-		recv_1( I, R, {I, Ni}pk(R), Gi );
-		send_2( R, I, {Nr}pk(I), g(r), prf(Kir, Gi, g(r), R, I) );
-		recv_3( I, R, prf(Kir, g(r), Gi, I, R) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.spdl
deleted file mode 100644
index 8c53deb..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-basic.spdl	
+++ /dev/null
@@ -1,87 +0,0 @@
-# 1 "skeme-basic.cpp"
-# 1 "<command-line>"
-# 1 "skeme-basic.cpp"
-# 21 "skeme-basic.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i)) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r)) );
-
- }
-
-
-}
-# 22 "skeme-basic.cpp" 2
-
-
-
-
-protocol skeme-basic(I, R)
-{
- role I {
-  fresh i, Ni: Nonce;
-  var Nr: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, {I, Ni}pk(R), g(i) );
-  recv_2( R, I, {Nr}pk(I), Gr, prf(prf(Ni,Nr), g(i), Gr, R, I) );
-  send_3( I, R, prf(prf(Ni,Nr), Gr, g(i), I, R) );
-
-
-  claim( I, SKR, KDF(h(Gr,i)) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r, Nr: Nonce;
-  var Ni: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, {I, Ni}pk(R), Gi );
-  send_2( R, I, {Nr}pk(I), g(r), prf(prf(Ni,Nr), Gi, g(r), R, I) );
-  recv_3( I, R, prf(prf(Ni,Nr), g(r), Gi, I, R) );
-
-
-  claim( R, SKR, KDF(h(Gi,r)) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.cpp
deleted file mode 100644
index 355edc2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.cpp	
+++ /dev/null
@@ -1,82 +0,0 @@
-/** HEADDOC
- * @protocol	SKEME
- * @reference	Krawczyk, H., SKEME: A Versatile Secure Key Exchange Mechanism
- *				for Internet,
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	SKEME is a set of protocols suitable for negotiation of 
- *				services in a general networked environment. The main 
- *				characteristics are forward secrecy, privacy and anonymity, 
- *				and DoS protection.
- * @variant		Basic mode with pre-shared keys and correct application of DH
-**/
-
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __SKEME__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling k(I,R) = k(R,I).
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, prf(k(R,I), Gi, g(r), R, I) );
-		send_!O2( O, O, prf(k(I,R), Gi, g(r), R, I) );
-
-		// msg 3
-		recv_!O3( O, O, prf(k(I,R), Gr, g(i), I, R) );
-		send_!O4( O, O, prf(k(R,I), Gr, g(i), I, R) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-protocol skeme-psk(I, R)
-{
-	role I {
-		fresh i:	Nonce;
-		var   Gr:	Ticket;
-
-		send_1( I, R, g(i) );
-		recv_!2( R, I, Gr, prf(k(I,R), g(i), Gr, R, I) );
-		send_!3( I, R, prf(k(I,R), Gr, g(i), I, R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r:	Nonce;
-		var    Gi:	Ticket;
-
-		recv_1( I, R, Gi );
-		send_!2( R, I, g(r), prf(k(R,I), Gi, g(r), R, I) );
-		recv_!3( I, R, prf(k(R,I), g(r), Gi, I, R) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.spdl
deleted file mode 100644
index e3e8796..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-psk.spdl	
+++ /dev/null
@@ -1,109 +0,0 @@
-# 1 "skeme-psk.cpp"
-# 1 "<command-line>"
-# 1 "skeme-psk.cpp"
-# 20 "skeme-psk.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i)) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r)) );
-
- }
-
-
-}
-# 21 "skeme-psk.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(k(R,I), g(i), g(r), R, I) );
-  send_!O2( O, O, prf(k(I,R), g(i), g(r), R, I) );
-
-
-  recv_!O3( O, O, prf(k(I,R), g(r), g(i), I, R) );
-  send_!O4( O, O, prf(k(R,I), g(r), g(i), I, R) );
-
- }
-
-
-}
-
-
-protocol skeme-psk(I, R)
-{
- role I {
-  fresh i: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, g(i) );
-  recv_!2( R, I, Gr, prf(k(I,R), g(i), Gr, R, I) );
-  send_!3( I, R, prf(k(I,R), Gr, g(i), I, R) );
-
-
-  claim( I, SKR, KDF(h(Gr,i)) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Gi );
-  send_!2( R, I, g(r), prf(k(R,I), Gi, g(r), R, I) );
-  recv_!3( I, R, prf(k(R,I), g(r), Gi, I, R) );
-
-
-  claim( R, SKR, KDF(h(Gi,r)) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.cpp
deleted file mode 100644
index a1915a2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.cpp	
+++ /dev/null
@@ -1,80 +0,0 @@
-/** HEADDOC
- * @protocol	SKEME
- * @reference	Krawczyk, H., SKEME: A Versatile Secure Key Exchange Mechanism
- *				for Internet,
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	SKEME is a set of protocols suitable for negotiation of 
- *				services in a general networked environment. The main 
- *				characteristics are forward secrecy, privacy and anonymity, 
- *				and DoS protection.
- * @variant		Fast rekeying protocol
-**/
-
-/** MACRO DEFINITIONS
- * Needs preprocessing by cpp before fed to scyther
-**/
-#define __SKEME_REKEY__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling k(I,R) = k(R,I).
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var Ni, Nr: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, prf(k(R,I), Ni, Nr, R, I) );
-		send_!O2( O, O, prf(k(I,R), Ni, Nr, R, I) );
-
-		// msg 3
-		recv_!O3( O, O, prf(k(I,R), Nr, Ni, I, R) );
-		send_!O4( O, O, prf(k(R,I), Nr, Ni, I, R) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-protocol skeme-rekey(I, R)
-{
-	role I {
-		fresh Ni:	Nonce;
-		var   Nr:	Nonce;
-
-		send_1( I, R, Ni );
-		recv_!2( R, I, Nr, prf(k(I,R), Ni, Nr, R, I) );
-		send_!3( I, R, prf(k(I,R), Nr, Ni, I, R) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  Nr:	Nonce;
-		var    Ni:	Nonce;
-
-		recv_1( I, R, Ni );
-		send_!2( R, I, Nr, prf(k(I,R), Ni, Nr, R, I) );
-		recv_!3( I, R, prf(k(I,R), Nr, Ni, I, R) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.spdl
deleted file mode 100644
index acd0c50..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/skeme-rekey.spdl	
+++ /dev/null
@@ -1,111 +0,0 @@
-# 1 "skeme-rekey.cpp"
-# 1 "<command-line>"
-# 1 "skeme-rekey.cpp"
-# 19 "skeme-rekey.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 97 "common.h"
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 147 "common.h"
-  var I, R: Agent;
-
-
-  recv_!SWAP1( SWAP, SWAP, KDF(k(I,R),prf(k(I,R), Ni, Nr, R, I)) );
-  send_!SWAP2( SWAP, SWAP, KDF(k(R,I),prf(k(R,I), Ni, Nr, R, I)) );
-
- }
-
-
-}
-# 20 "skeme-rekey.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var Ni, Nr: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, prf(k(R,I), Ni, Nr, R, I) );
-  send_!O2( O, O, prf(k(I,R), Ni, Nr, R, I) );
-
-
-  recv_!O3( O, O, prf(k(I,R), Nr, Ni, I, R) );
-  send_!O4( O, O, prf(k(R,I), Nr, Ni, I, R) );
-
- }
-
-
-}
-
-protocol skeme-rekey(I, R)
-{
- role I {
-  fresh Ni: Nonce;
-  var Nr: Nonce;
-
-  send_1( I, R, Ni );
-  recv_!2( R, I, Nr, prf(k(I,R), Ni, Nr, R, I) );
-  send_!3( I, R, prf(k(I,R), Nr, Ni, I, R) );
-
-
-  claim( I, SKR, KDF(k(I,R),prf(k(I,R), Ni, Nr, R, I)) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh Nr: Nonce;
-  var Ni: Nonce;
-
-  recv_1( I, R, Ni );
-  send_!2( R, I, Nr, prf(k(I,R), Ni, Nr, R, I) );
-  recv_!3( I, R, prf(k(I,R), Nr, Ni, I, R) );
-
-
-  claim( R, SKR, KDF(k(R,I),prf(k(R,I), Ni, Nr, R, I)) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.cpp
deleted file mode 100644
index 9faaf4f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.cpp	
+++ /dev/null
@@ -1,78 +0,0 @@
-/** HEADDOC
- * @protocol	Station-to-Station Protocol (STS)
- * @reference	Diffie W., van Oorschot P. C., and Wiener M. J., 
- *				Authentication and authenticated key exchange,
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	STS adds a diGital signaure to the exchanged messages to 
- *				provide authentication for the Diffie-Hellman protocol. In 
- *				addition, the shared secret is used to provide further 
- *				assurances.
- * @variant		Variant using MACs
-**/
-
-#define __STS__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r: Nonce;
-
-		// msg 2
-		recv_!O1( O, O, MAC(Zr, g(r), Gi) );
-		send_!O2( O, O, MAC(Zi, g(r), Gi) );
-
-		// msg 3
-		recv_!O3( O, O,  MAC(Zi, Gi, g(r)) );
-		send_!O4( O, O,  MAC(Zr, Gi, g(r)) );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-// It is not specified how the session key is derived from the ephemeral DH 
-// secret Z; we use KDF(Z).
-protocol sts-mac(I, R)
-{
-	role I {
-		fresh i:	Nonce;
-		var   Gr:	Ticket;
-
-		send_1( I, R, g(i) );
-		recv_!2( R, I, Gr, {Gr, g(i)}sk(R), MAC(Zi, Gr, g(i)) );
-		send_!3( I, R, {g(i), Gr}sk(I), MAC(Zi, g(i), Gr) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r:	Nonce;
-		var    Gi:	Ticket;
-
-		recv_1( I, R, Gi );
-		send_!2( R, I, Gi, {g(r), Gi}sk(R), MAC(Zr, g(r), Gi) );
-		recv_!3( I, R, {Gi, g(r)}sk(I), MAC(Zr, Gi, g(r)) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.spdl
deleted file mode 100644
index 09c583b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/sts-mac.spdl	
+++ /dev/null
@@ -1,112 +0,0 @@
-# 1 "sts-mac.cpp"
-# 1 "<command-line>"
-# 1 "sts-mac.cpp"
-# 16 "sts-mac.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 94 "common.h"
-hashfunction MAC;
-
-
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i)) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r)) );
-
- }
-
-
-}
-# 17 "sts-mac.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r: Nonce;
-
-
-  recv_!O1( O, O, MAC(h(g(i),r), g(r), g(i)) );
-  send_!O2( O, O, MAC(h(g(r),i), g(r), g(i)) );
-
-
-  recv_!O3( O, O, MAC(h(g(r),i), g(i), g(r)) );
-  send_!O4( O, O, MAC(h(g(i),r), g(i), g(r)) );
-
- }
-
-
-}
-
-
-
-protocol sts-mac(I, R)
-{
- role I {
-  fresh i: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, g(i) );
-  recv_!2( R, I, Gr, {Gr, g(i)}sk(R), MAC(h(Gr,i), Gr, g(i)) );
-  send_!3( I, R, {g(i), Gr}sk(I), MAC(h(Gr,i), g(i), Gr) );
-
-
-  claim( I, SKR, KDF(h(Gr,i)) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Gi );
-  send_!2( R, I, Gi, {g(r), Gi}sk(R), MAC(h(Gi,r), g(r), Gi) );
-  recv_!3( I, R, {Gi, g(r)}sk(I), MAC(h(Gi,r), Gi, g(r)) );
-
-
-  claim( R, SKR, KDF(h(Gi,r)) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/sts-main.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/sts-main.cpp
deleted file mode 100644
index b95d306..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/sts-main.cpp	
+++ /dev/null
@@ -1,79 +0,0 @@
-/** HEADDOC
- * @protocol	Station-to-Station Protocol (STS)
- * @reference	Diffie W., van Oorschot P. C., and Wiener M. J., 
- *				Authentication and authenticated key exchange,
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	STS adds a digital signaure to the exchanged messages to 
- *				provide authentication for the Diffie-Hellman protocol. In 
- *				addition, the shared secret is used to provide further 
- *				assurances.
-**/
-
-#define __STS__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-/**
- * This role serves as an "oracle" to ensure the executability of the 
- * protocol by taking care of the problems that arise from our way of 
- * modelling Diffie-Hellman keys.
- */
-protocol @executability(O) {
-#define Gi g(i)
-#define Gr g(r)
-	role O {
-		var i, r: Nonce;
-		var I, R: Agent;
-
-		// msg 2
-		recv_!O1( O, O, {{g(r), Gi}sk(R)}SKr );
-		send_!O2( O, O, {{g(r), Gi}sk(R)}SKi );
-
-		// msg 3
-		recv_!O3( O, O,  {{g(i), Gr}sk(I)}SKi );
-		send_!O4( O, O,  {{g(i), Gr}sk(I)}SKr );
-
-	}
-#undef Gi
-#undef Gr
-}
-
-
-// It is not specified how the session key is derived from the ephemeral DH 
-// secret Z; we use KDF(Z).
-protocol sts-main(I, R)
-{
-	role I {
-		fresh i:	Nonce;
-		var   Gr:	Ticket;
-
-		send_1( I, R, g(i) );
-		recv_!2( R, I, Gr, {{Gr, g(i)}sk(R)}SKi );
-		send_!3( I, R, {{g(i), Gr}sk(I)}SKi );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r:	Nonce;
-		var    Gi:	Ticket;
-
-		recv_1( I, R, Gi );
-		send_!2( R, I, g(r), {{g(r), Gi}sk(R)}SKr );
-		recv_!3( I, R, {{Gi, g(r)}sk(I)}SKr );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/sts-main.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/sts-main.spdl
deleted file mode 100644
index 4cfb76c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/sts-main.spdl	
+++ /dev/null
@@ -1,114 +0,0 @@
-# 1 "sts-main.cpp"
-# 1 "<command-line>"
-# 1 "sts-main.cpp"
-# 15 "sts-main.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 94 "common.h"
-hashfunction MAC;
-
-
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i)) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r)) );
-
- }
-
-
-}
-# 16 "sts-main.cpp" 2
-
-
-
-
-
-
-
-protocol @executability(O) {
-
-
- role O {
-  var i, r: Nonce;
-  var I, R: Agent;
-
-
-  recv_!O1( O, O, {{g(r), g(i)}sk(R)}KDF(h(g(i),r)) );
-  send_!O2( O, O, {{g(r), g(i)}sk(R)}KDF(h(g(r),i)) );
-
-
-  recv_!O3( O, O, {{g(i), g(r)}sk(I)}KDF(h(g(r),i)) );
-  send_!O4( O, O, {{g(i), g(r)}sk(I)}KDF(h(g(i),r)) );
-
- }
-
-
-}
-
-
-
-
-protocol sts-main(I, R)
-{
- role I {
-  fresh i: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, g(i) );
-  recv_!2( R, I, Gr, {{Gr, g(i)}sk(R)}KDF(h(Gr,i)) );
-  send_!3( I, R, {{g(i), Gr}sk(I)}KDF(h(Gr,i)) );
-
-
-  claim( I, SKR, KDF(h(Gr,i)) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Gi );
-  send_!2( R, I, g(r), {{g(r), Gi}sk(R)}KDF(h(Gi,r)) );
-  recv_!3( I, R, {{Gi, g(r)}sk(I)}KDF(h(Gi,r)) );
-
-
-  claim( R, SKR, KDF(h(Gi,r)) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.cpp b/Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.cpp
deleted file mode 100644
index 458a042..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.cpp	
+++ /dev/null
@@ -1,55 +0,0 @@
-/** HEADDOC
- * @protocol	Station-to-Station Protocol (STS)
- * @reference	Diffie W., van Oorschot P. C., and Wiener M. J., 
- *				Authentication and authenticated key exchange,
- *				Boyd C. and Mathuria A., Protocols for Authentication and 
- *				Key Agreement
- * @description	STS adds a diGital signaure to the exchanged messages to 
- *				provide authentication for the Diffie-Hellman protocol. In 
- *				addition, the shared secret is used to provide further 
- *				assurances.
- * @variant		Variant proposed by Boyd et al to prevent unknown key-share
- *				attacks.
-**/
-
-#define __STS__
-#ifndef __ORACLE__
-#include "common.h"
-#endif
-
-// It is not specified how the session key is derived from the ephemeral DH 
-// secret Z; we use KDF(Z).
-protocol sts-modified(I, R)
-{
-	role I {
-		fresh i:	Nonce;
-		var   Gr:	Ticket;
-
-		send_1( I, R, g(i) );
-		recv_2( R, I, Gr, {Gr, g(i), I}sk(R) );
-		send_3( I, R, {g(i), Gr, R}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( I, SKR, SKi );
-
-		claim( I, Alive );
-		claim( I, Weakagree );
-				
-	}
-
-	role R {
-		fresh  r:	Nonce;
-		var    Gi:	Ticket;
-
-		recv_1( I, R, Gi );
-		send_2( R, I, g(r), {g(r), Gi, I}sk(R) );
-		recv_3( I, R, {Gi, g(r), R}sk(I) );
-
-		/* SECURITY CLAIMS */
-		claim( R, SKR, SKr );
-
-		claim( R, Alive );
-		claim( R, Weakagree );
-				
-	}
-}
\ No newline at end of file
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.spdl b/Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.spdl
deleted file mode 100644
index 660d068..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/sts-modified.spdl	
+++ /dev/null
@@ -1,88 +0,0 @@
-# 1 "sts-modified.cpp"
-# 1 "<command-line>"
-# 1 "sts-modified.cpp"
-# 17 "sts-modified.cpp"
-# 1 "common.h" 1
-
-
-
-
- hashfunction prf, KDF;
-
-
-
-
-
-
-hashfunction g, h;
-# 94 "common.h"
-hashfunction MAC;
-
-
-protocol @oracle (DH, SWAP) {
-
-
-
-
-
-
-
- role DH {
-  var i, r: Nonce;
-
-  recv_!DH1( DH, DH, h(g(r),i) );
-  send_!DH2( DH, DH, h(g(i),r) );
- }
-
-
-
-
- role SWAP {
-  var i, r, Ni, Nr: Nonce;
-# 150 "common.h"
-  recv_!SWAP1( SWAP, SWAP, KDF(h(g(r),i)) );
-  send_!SWAP2( SWAP, SWAP, KDF(h(g(i),r)) );
-
- }
-
-
-}
-# 18 "sts-modified.cpp" 2
-
-
-
-
-protocol sts-modified(I, R)
-{
- role I {
-  fresh i: Nonce;
-  var Gr: Ticket;
-
-  send_1( I, R, g(i) );
-  recv_2( R, I, Gr, {Gr, g(i), I}sk(R) );
-  send_3( I, R, {g(i), Gr, R}sk(I) );
-
-
-  claim( I, SKR, KDF(h(Gr,i)) );
-
-  claim( I, Alive );
-  claim( I, Weakagree );
-
- }
-
- role R {
-  fresh r: Nonce;
-  var Gi: Ticket;
-
-  recv_1( I, R, Gi );
-  send_2( R, I, g(r), {g(r), Gi, I}sk(R) );
-  recv_3( I, R, {Gi, g(r), R}sk(I) );
-
-
-  claim( R, SKR, KDF(h(Gi,r)) );
-
-  claim( R, Alive );
-  claim( R, Weakagree );
-
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/verify.sh b/Vagrant Files/shared/scyther/Protocols/IKE/verify.sh
deleted file mode 100644
index 44f2b61..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/verify.sh	
+++ /dev/null
@@ -1,149 +0,0 @@
-#############################################################################
-#
-# NAME
-#	verify - batch protocol verifier script for scyther
-#
-# SYNOPSIS
-#	./verify.sh [option]... [file]...
-#
-# DESCRIPTION
-#	Verify protocol specifications using scyther.
-#
-# OPTIONS
-#
-#	-d	Debug mode [false]
-#	-e	Execution environment [cluster]
-#	-h	Help
-#	-i	Skip attack patterns of the form Alice talking to Alice
-#	-l	lower bound of claims to check [1]
-#	-m	Adversary-compromise model [ext]
-#	-o	Output directory (attack graphs) [./graphs/]
-#	-r	number of runs [6]
-#	-t	timeout in s
-#	-u	upper bound of claims to check [1]
-#
-# EXAMPLE
-#	./verify.sh -m br -o . *.spdl
-#
-#############################################################################
-
-
-#!/bin/bash
-
-# Default values
-CLAIM[0]=1
-CLAIM[1]=1
-DEBUG=false
-ENV='cluster'
-FILES="*.spdl"
-INITUNIQUE=
-MODEL='ext'
-OUTDIR='./graphs'
-RUNS='-r 6'
-SCYTHER='../scyther/Scyther/scyther-linux'
-TIMEOUT=
-
-# Adversary-compromise models
-# EXT
-MODELS[0]=
-# INT
-MODELS[1]='--LKRothers 1'
-# CA
-MODELS[2]='--LKRactor 1'
-# AF
-MODELS[3]='--LKRafter 1'
-# AFC
-MODELS[4]='--LKRaftercorrect 1'
-# BR
-MODELS[5]='--LKRothers 1 --SKR 1 --SKRinfer' # (inferred session keys)
-MODELS[6]='--LKRothers 1 --SKR 1'
-# CKw
-MODELS[7]='--LKRothers 1 --LKRactor 1 --LKRaftercorrect 1 --SKR 1 --SKRinfer --SSR 1'
-MODELS[8]='--LKRothers 1 --LKRactor 1 --LKRaftercorrect 1 --SKR 1 --SSR 1'
-# CK
-MODELS[9]='--LKRothers 1 --LKRafter 1 --LKRaftercorrect 1 --SKR 1 --SKRinfer --SSR 1'
-MODELS[10]='--LKRothers 1 --LKRafter 1 --LKRaftercorrect 1 --SKR 1 --SSR 1'
-# eCK-1
-MODELS[11]='--LKRothers 1 --SKR 1 --SKRinfer --RNR 1'
-MODELS[12]='--LKRothers 1 --SKR 1 --RNR 1'
-# eCK-2
-MODELS[13]='--LKRothers 1 --LKRactor 1 --LKRaftercorrect 1 --SKR 1 --SKRinfer'
-MODELS[14]='--LKRothers 1 --LKRactor 1 --LKRaftercorrect 1 --SKR 1'
-
-
-# Parse command line arguments
-while getopts “de:hil:m:o:r:t:u:” FLAG;
-do
-	case $FLAG in
-		d) DEBUG=true;;
-		e) ENV=$OPTARG;;
-		i) INITUNIQUE='--init-unique';;
-		l) CLAIM[0]=$OPTARG;;
-		m) MODEL=$OPTARG;;
-		o) OUTDIR=$OPTARG;;
-		r) RUNS="-r $OPTARG";;
-		t) TIMEOUT="-T $OPTARG";;
-		u) CLAIM[1]=$OPTARG;;
-		h|?)
-			printf "Usage: %s: [-l num][-u num][-d][-e [cluster|remote|local]][-h][-m model][-o value][-r num][-t sec]file[...]\n" $(basename $0) >&2 
-			exit 1;;
-	esac
-done
-shift $(($OPTIND - 1))
-
-# Remaining arguments treated as specification files
-if [ -n "$*" ]; then
-	FILES="$*"
-	# mkdir -p "$OUTDIR$TSTAMP"
-fi
-
-
-# Parse model identifiers
-mflags=
-case $MODEL in
-	int)	mflags=${MODELS[1]};;
-	ca) 	mflags=${MODELS[2]};;
-	af) 	mflags=${MODELS[3]};;
-	afc)	mflags=${MODELS[4]};;
-	bri)	mflags=${MODELS[5]};;
-	br) 	mflags=${MODELS[6]};;
-	ckwi)	mflags=${MODELS[7]};;
-	ckw)	mflags=${MODELS[8]};;
-	cki)	mflags=${MODELS[9]};;
-	ck)		mflags=${MODELS[10]};;
-	eck1i)	mflags=${MODELS[11]};;
-	eck1)	mflags=${MODELS[12]};;
-	eck2i)	mflags=${MODELS[13]};;
-	eck2)	mflags=${MODELS[14]};;
-esac
-
-
-# Verify
-for file in $FILES;
-do
-	EXT=`echo "$file" | sed 's/^.*\.//'`
-	if [ "$EXT" == 'spdl' ]; then
-		# Extract protocol name
-		tmp=`basename $file .spdl`
-		p=`basename $tmp .pp`
-
-		# Execute scyther for selected models and claim
-		for (( c=${CLAIM[0]}; c<=${CLAIM[1]}; c++ ));
-		do
-			init="$SCYTHER $TIMEOUT --force-regular $INITUNIQUE $RUNS $mflags $file -d -o $OUTDIR/${p}_adv-${MODEL}_I$c.dot --filter=$p,I$c"
-			resp="$SCYTHER $TIMEOUT --force-regular $INITUNIQUE $RUNS $mflags $file -d -o $OUTDIR/${p}_adv-${MODEL}_R$c.dot --filter=$p,R$c"
-			if $DEBUG; then
-				echo $init
-				echo $resp
-			elif [ $ENV = "cluster" ]; then
-				bsub -W 08:00 -R "rusage[mem=4096]" $init
-				bsub -W 08:00 -R "rusage[mem=4096]" $resp
-			else # $ENV = local
-				time $init
-				time $resp
-			fi
-		done
-	else
-		printf "WARNING: %s could not be processed." $file
-	fi
-done
diff --git a/Vagrant Files/shared/scyther/Protocols/IKE/verify_all.sh b/Vagrant Files/shared/scyther/Protocols/IKE/verify_all.sh
deleted file mode 100644
index 0cad2f6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/IKE/verify_all.sh	
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-if [ -n "$*" ]; then
-	FILES="$*"
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m int $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m ca $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m afc $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m af $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m br $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m bri $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m ckw $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m ckwi $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m ck $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m cki $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m eck1 $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m eck1i $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m eck2 $FILES
-	./verify.sh -i -r 4 -l 1 -u 3 -e remote -m eck2i $FILES
-fi
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/Makefile b/Vagrant Files/shared/scyther/Protocols/ISO-9798/Makefile
deleted file mode 100644
index e0a1179..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/Makefile	
+++ /dev/null
@@ -1,16 +0,0 @@
-
-outputs= isoiec-9798-3-6-1.spdl isoiec-9798-3-6-2.spdl \
-	 isoiec-9798-3-7-1.spdl isoiec-9798-3-7-2.spdl
-
-all:	$(outputs)
-
-isoiec-9798-3-6-%.spdl:	isoiec-9798-3-6-%.cpp isoiec-9798-3-6.template
-	cpp -C -P $< >$@
-
-isoiec-9798-3-7-%.spdl:	isoiec-9798-3-7-%.cpp isoiec-9798-3-7.template
-	cpp -C -P $< >$@
-
-clean:
-	\rm -f $(outputs)
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/iso25-tag.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/iso25-tag.spdl
deleted file mode 100644
index a97164b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/iso25-tag.spdl	
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * ttp
- * four-pass
- * mutual
- *
- * Modeling notes:
- * - The use of TNb in message 4, as specified by the ISO standard, is
- *   different from other models, in which it was TNa.
- */
-usertype SessionKey;
-usertype Tag;
-
-const t1,t2a,t2b,t3,t4,t5: Tag;
-
-protocol isoiec-9798-2-5(A,B,P)
-{
-	role A
-	{
-		fresh TVPa: Nonce;
-		var T: Ticket;
-		fresh TNa: Nonce;
-		var TNb: Nonce;
-		var Kab: SessionKey;
-		fresh Text1,Text5,Text6: Ticket;
-		var Text3,Text4,Text7,Text8: Ticket;
-
-		send_1(A,P, TVPa, B, Text1);
-		recv_2(P,A, Text4, { t2a, TVPa, Kab, B, Text3 }k(A,P), T );
-		claim(A,Running,B,Kab,Text5);
-		send_3(A,B, Text6, T, { t3, TNa, B, Text5 }Kab );
-		recv_4(B,A, Text8, { t4, TNb, A, Text7 }Kab );
-
-		claim(A,Commit,B,Kab,Text5,Text7);
-		claim(A,Secret,Kab);
-		claim(A,Secret,Text5);
-		claim(A,Secret,Text7);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNp: Nonce;
-		var TNa: Nonce;
-		fresh TNb: Nonce;
-		var Kab: SessionKey;
-		fresh Text7,Text8: Ticket;
-		var Text2,Text5,Text6: Ticket;
-
-		recv_3(A,B, Text6, { t2b, TNp, Kab, A, Text2  }k(B,P), {
-		t3, TNa, B, Text5 }Kab );
-		claim(B,Running,A,Kab,Text5,Text7);
-		send_4(B,A, Text8, { t4, TNb, A, Text7 }Kab );
-
-		claim(B,Commit,A,Kab,Text5);
-		claim(B,Secret,Kab);
-		claim(B,Secret,Text5);
-		claim(B,Secret,Text7);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-	role P
-	{
-		var TVPa: Nonce;
-		fresh TNp: Nonce;
-		fresh Kab: SessionKey;
-		fresh Text2,Text3,Text4: Ticket;
-		var Text1: Ticket;
-
-		recv_1(A,P, TVPa, B, Text1);
-		send_2(P,A, Text4, { t2a, TVPa, Kab, B, Text3 }k(A,P),
-				  { t2b, TNp, Kab, A, Text2  }k(B,P) );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/iso26-tag.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/iso26-tag.spdl
deleted file mode 100644
index ced5d02..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/iso26-tag.spdl	
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * ttp
- * five-pass
- * mutual
- *
- * MPA Attack reported by Mathuria:
- * - Type flaw MPA when in parallel with Abadi-Needham protocol.
- *
- */
-usertype Tag;
-
-const t1,t2,t3,t4,t5: Tag;
-
-protocol isoiec-9798-2-6-tag(A,B,P)
-{
-	role A
-	{
-		var Rb: Nonce;
-		fresh Ra,Rpa: Nonce;
-		var Kab: SessionKey;
-		var T: Ticket;
-		fresh Text2,Text6,Text7: Ticket;
-		var Text1,Text4,Text5,Text8,Text9: Ticket;
-
-		recv_1(B,A, Rb, Text1);
-		send_2(A,P, Ra, Rb, B, Text2);
-		recv_3(P,A, Text5, {t1, Ra,Kab,B,Text4}k(A,P), T );
-		claim(A,Running,B,Kab,Text6);
-		send_4(A,B, Text7, T, {t3,Rpa,Rb,Text6}Kab );
-		recv_5(B,A, Text9, {t4,Rb,Rpa,Text8}Kab );
-
-		claim(A,Commit,B,Kab,Text6,Text8);
-		claim(A,Secret,Kab);
-		claim(A,Secret,Text6);
-		claim(A,Secret,Text8);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		fresh Rb: Nonce;
-		var Rpa: Nonce;
-		var Kab: SessionKey;
-		fresh Text1,Text8,Text9: Ticket;
-		var Text3,Text6,Text7: Ticket;
-
-		send_1(B,A, Rb, Text1);
-		recv_4(A,B, Text7, {t2,Rb,Kab,A,Text3}k(B,P), {t3,Rpa,Rb,Text6}Kab );
-		claim(B,Running,A,Kab,Text6,Text8);
-		send_5(B,A, Text9, {t4,Rb,Rpa,Text8}Kab );
-		
-		claim(B,Commit,A,Kab,Text6);
-		claim(B,Secret,Kab);
-		claim(B,Secret,Text6);
-		claim(B,Secret,Text8);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-	role P
-	{
-		var Ra, Rb: Nonce;
-		fresh Kab: SessionKey;
-		fresh Text3,Text4,Text5: Ticket;
-		var Text2: Ticket;
-
-		recv_2(A,P, Ra, Rb, B, Text2);
-		send_3(P,A, Text5, {t1,Ra,Kab,B,Text4}k(A,P),
-				  {t2,Rb,Kab,A,Text3}k(B,P) );
-	}
-}
-
-protocol @keysymm26(A,B,P)
-{
-	role A
-	{
-		var TVPN: Nonce;
-		var Kab: SessionKey;
-		var Text: Ticket;
-		var Tag: Ticket;
-
-		recv_!1(B,A, { Tag,TVPN, Kab, B, Text }k(P,A) );
-		send_!2(A,B, { Tag,TVPN, Kab, B, Text }k(A,P) );
-	}
-	role B
-	{
-	}
-	role P
-	{
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1-udkey.spdl
deleted file mode 100644
index e1f8be6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1-udkey.spdl	
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * one-pass
- * unilateral
- *
- * Note: the identity B may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- */
-protocol isoiec-9798-2-1-udkey(A,B)
-{
-	role A
-	{
-		fresh TNA: Nonce;
-		fresh Text1,Text2: Ticket;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, Text2, { TNA, Text1 }k(A,B) );
-	}
-	role B
-	{
-		var TNA: Nonce;
-		var Text1,Text2: Ticket;
-
-		recv_1(A,B, Text2, { TNA, Text1 }k(A,B) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1.spdl
deleted file mode 100644
index 0d47be3..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-1.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * one-pass
- * unilateral
- *
- * Note: the identity B may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- */
-protocol @keysymm-21(A,B)
-{
-	role A
-	{
-		var T: Nonce;
-		var Text: Ticket;
-
-		recv_!1(B,A, { T, A, Text }k(A,B) );
-		send_!2(A,B, { T, A, Text }k(B,A) );
-	}
-	role B
-	{
-		var T: Nonce;
-		var Text: Ticket;
-
-		recv_!3(A,B, { T, B, Text }k(A,B) );
-		send_!4(B,A, { T, B, Text }k(B,A) );
-	}
-}
-
-protocol isoiec-9798-2-1(A,B)
-{
-	role A
-	{
-		fresh TNA: Nonce;
-		fresh Text1,Text2: Ticket;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, Text2, { TNA, B, Text1 }k(A,B) );
-	}
-	role B
-	{
-		var TNA: Nonce;
-		var Text1,Text2: Ticket;
-
-		recv_1(A,B, Text2, { TNA, B, Text1 }k(A,B) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2-udkey.spdl
deleted file mode 100644
index 314aa8e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2-udkey.spdl	
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * two-pass
- * unilateral
- *
- * Note: the identity A may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- *
- */
-protocol isoiec-9798-2-2-udkey(A,B)
-{
-	role A
-	{
-		var RB: Nonce;
-		var Text1: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, RB,Text1 );
-		claim(A,Running,B,RB,Text2);
-		send_2(A,B, Text3, { RB, Text2 }k(B,A) );
-	}
-	role B
-	{
-		fresh RB: Nonce;
-		fresh Text1: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, RB,Text1 );
-		recv_2(A,B, Text3, { RB, Text2 }k(B,A) );
-
-		claim(B,Commit,A,RB,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2.spdl
deleted file mode 100644
index fc1ae68..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-2.spdl	
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * two-pass
- * unilateral
- *
- * Note: the identity A may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- */
-protocol @keysymm-22(A,B)
-{
-	role A
-	{
-		var T: Nonce;
-		var Text: Ticket;
-
-		recv_!1(B,A, { T, A, Text }k(A,B) );
-		send_!2(A,B, { T, A, Text }k(B,A) );
-	}
-	role B
-	{
-		var T: Nonce;
-		var Text: Ticket;
-
-		recv_!3(A,B, { T, B, Text }k(A,B) );
-		send_!4(B,A, { T, B, Text }k(B,A) );
-	}
-}
-
-protocol isoiec-9798-2-2(A,B)
-{
-	role A
-	{
-		var RB: Nonce;
-		var Text1: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, RB,Text1 );
-		claim(A,Running,B,RB,Text2);
-		send_2(A,B, Text3, { RB, B, Text2 }k(B,A) );
-	}
-	role B
-	{
-		fresh RB: Nonce;
-		fresh Text1: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, RB,Text1 );
-		recv_2(A,B, Text3, { RB, B, Text2 }k(B,A) );
-
-		claim(B,Commit,A,RB,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3-udkey.spdl
deleted file mode 100644
index 9fddf69..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3-udkey.spdl	
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * two-pass
- * mutual
- *
- * Note: the identity inside the encryption may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- *
- * In case (b), modeled here, the second key is reversed.
- *
- */
-protocol isoiec-9798-2-3-udkey(A,B)
-{
-	role A
-	{
-		fresh TNA: Nonce;
-		var TNB: Nonce;
-		fresh Text1,Text2: Ticket;
-		var Text3,Text4: Ticket;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, Text2, { TNA, Text1 }k(A,B) );
-		recv_2(B,A, Text4, { TNB, Text3 }k(B,A) );
-
-		claim(A,Commit,B,TNB,Text3);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNA: Nonce;
-		fresh TNB: Nonce;
-		var Text1,Text2: Ticket;
-		fresh Text3,Text4: Ticket;
-
-		recv_1(A,B, Text2, { TNA, Text1 }k(A,B) );
-		claim(B,Running,A,TNB,Text3);
-		send_2(B,A, Text4, { TNB, Text3 }k(B,A) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3.spdl
deleted file mode 100644
index 6f2f86b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-3.spdl	
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * two-pass
- * mutual
- *
- * Note: the identity inside the encryption may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- *
- */
-protocol @keysymm-23(A,B)
-{
-	role A
-	{
-		var T: Nonce;
-		var Text: Ticket;
-
-		recv_!1(B,A, { T, A, Text }k(A,B) );
-		send_!2(A,B, { T, A, Text }k(B,A) );
-	}
-	role B
-	{
-		var T: Nonce;
-		var Text: Ticket;
-
-		recv_!3(A,B, { T, B, Text }k(A,B) );
-		send_!4(B,A, { T, B, Text }k(B,A) );
-	}
-}
-
-protocol isoiec-9798-2-3(A,B)
-{
-	role A
-	{
-		fresh TNA: Nonce;
-		var TNB: Nonce;
-		fresh Text1,Text2: Ticket;
-		var Text3,Text4: Ticket;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, Text2, { TNA, B, Text1 }k(A,B) );
-		recv_2(B,A, Text4, { TNB, A, Text3 }k(A,B) );
-
-		claim(A,Commit,B,TNB,Text3);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNA: Nonce;
-		fresh TNB: Nonce;
-		var Text1,Text2: Ticket;
-		fresh Text3,Text4: Ticket;
-
-		recv_1(A,B, Text2, { TNA, B, Text1 }k(A,B) );
-		claim(B,Running,A,TNB,Text3);
-		send_2(B,A, Text4, { TNB, A, Text3 }k(A,B) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4-udkey.spdl
deleted file mode 100644
index 28694de..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4-udkey.spdl	
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * three-pass
- * mutual
- *
- * Note: the identity inside the encryption may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- *
- * In case (b), modeled here, the second key is reversed.
- */
-protocol isoiec-9798-2-4-udkey(A,B)
-{
-	role A
-	{
-		var RB: Nonce;
-		fresh RA: Nonce;
-		var Text1,Text4,Text5: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, RB,Text1 );
-		claim(A,Running,B,RA,RB,Text2);
-		send_2(A,B, Text3, { RA, RB, Text2 }k(A,B) );
-		recv_3(B,A, Text5, { RB, RA, Text4 }k(B,A) );
-
-		claim(A,Commit,B,RA,RB,Text2,Text4);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		fresh RB: Nonce;
-		var RA: Nonce;
-		fresh Text1,Text4,Text5: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, RB,Text1 );
-		recv_2(A,B, Text3, { RA, RB, Text2 }k(A,B) );
-		claim(B,Running,A,RA,RB,Text2,Text4);
-		send_3(B,A, Text5, { RB, RA, Text4 }k(B,A) );
-
-		claim(B,Commit,A,RA,RB,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4.spdl
deleted file mode 100644
index 5d709c0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-4.spdl	
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * three-pass
- * mutual
- *
- * Note: the identity inside the encryption may be ommitted, if
- *   (a) the environment disallows such attacks, or
- *   (b) a unidirectional key is used
- */
-protocol @keysymm-24a(A,B)
-{
-	role A
-	{
-		var T1,T2: Nonce;
-		var Text: Ticket;
-
-		recv_!1(B,A, { T1, T2, A, Text }k(A,B) );
-		send_!2(A,B, { T1, T2, A, Text }k(B,A) );
-	}
-	role B
-	{
-		var T1,T2: Nonce;
-		var Text: Ticket;
-
-		recv_!3(A,B, { T1, T2, B, Text }k(A,B) );
-		send_!4(B,A, { T1, T2, B, Text }k(B,A) );
-	}
-}
-
-protocol @keysymm-24b(A,B)
-{
-	role A
-	{
-		var T1,T2: Nonce;
-		var Text: Ticket;
-
-		recv_!1(B,A, { T1, T2, Text }k(A,B) );
-		send_!2(A,B, { T1, T2, Text }k(B,A) );
-	}
-	role B
-	{
-		var T1,T2: Nonce;
-		var Text: Ticket;
-
-		recv_!3(A,B, { T1, T2, Text }k(A,B) );
-		send_!4(B,A, { T1, T2, Text }k(B,A) );
-	}
-}
-
-protocol isoiec-9798-2-4(A,B)
-{
-	role A
-	{
-		var RB: Nonce;
-		fresh RA: Nonce;
-		var Text1,Text4,Text5: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, RB,Text1 );
-		claim(A,Running,B,RA,RB,Text2);
-		send_2(A,B, Text3, { RA, RB, B, Text2 }k(A,B) );
-		recv_3(B,A, Text5, { RB, RA, Text4 }k(A,B) );
-
-		claim(A,Commit,B,RA,RB,Text2,Text4);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		fresh RB: Nonce;
-		var RA: Nonce;
-		fresh Text1,Text4,Text5: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, RB,Text1 );
-		recv_2(A,B, Text3, { RA, RB, B, Text2 }k(A,B) );
-		claim(B,Running,A,RA,RB,Text2,Text4);
-		send_3(B,A, Text5, { RB, RA, Text4 }k(A,B) );
-
-		claim(B,Commit,A,RA,RB,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-5.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-5.spdl
deleted file mode 100644
index 7a98c0d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-5.spdl	
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * ttp
- * four-pass
- * mutual
- *
- * Modeling notes:
- * - The use of TNb in message 4, as specified by the ISO standard, is
- *   different from other models, in which it was TNa.
- */
-usertype SessionKey;
-
-protocol isoiec-9798-2-5(A,B,P)
-{
-	role A
-	{
-		fresh TVPa: Nonce;
-		var T: Ticket;
-		fresh TNa: Nonce;
-		var TNb: Nonce;
-		var Kab: SessionKey;
-		fresh Text1,Text5,Text6: Ticket;
-		var Text3,Text4,Text7,Text8: Ticket;
-
-		send_1(A,P, TVPa, B, Text1);
-		recv_2(P,A, Text4, { TVPa, Kab, B, Text3 }k(A,P), T );
-		claim(A,Running,B,Kab,Text5);
-		send_3(A,B, Text6, T, { TNa, B, Text5 }Kab );
-		recv_4(B,A, Text8, { TNb, A, Text7 }Kab );
-
-		claim(A,Commit,B,Kab,Text5,Text7);
-		claim(A,Secret,Kab);
-		claim(A,Secret,Text5);
-		claim(A,Secret,Text7);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNp: Nonce;
-		var TNa: Nonce;
-		fresh TNb: Nonce;
-		var Kab: SessionKey;
-		fresh Text7,Text8: Ticket;
-		var Text2,Text5,Text6: Ticket;
-
-		recv_3(A,B, Text6, { TNp, Kab, A, Text2  }k(B,P), { TNa, B, Text5 }Kab );
-		claim(B,Running,A,Kab,Text5,Text7);
-		send_4(B,A, Text8, { TNb, A, Text7 }Kab );
-
-		claim(B,Commit,A,Kab,Text5);
-		claim(B,Secret,Kab);
-		claim(B,Secret,Text5);
-		claim(B,Secret,Text7);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-	role P
-	{
-		var TVPa: Nonce;
-		fresh TNp: Nonce;
-		fresh Kab: SessionKey;
-		fresh Text2,Text3,Text4: Ticket;
-		var Text1: Ticket;
-
-		recv_1(A,P, TVPa, B, Text1);
-		send_2(P,A, Text4, { TVPa, Kab, B, Text3 }k(A,P),
-				  { TNp, Kab, A, Text2  }k(B,P) );
-	}
-}
-
-protocol @keysymm25(A,B,P)
-{
-	role A
-	{
-		var TVPN: Nonce;
-		var Kab: SessionKey;
-		var Text: Ticket;
-
-		recv_!1(B,A, { TVPN, Kab, B, Text }k(P,A) );
-		send_!2(A,B, { TVPN, Kab, B, Text }k(A,P) );
-	}
-	role B
-	{
-	}
-	role P
-	{
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-6.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-6.spdl
deleted file mode 100644
index 703885b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-2-6.spdl	
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * symmetric
- * ttp
- * five-pass
- * mutual
- *
- * MPA Attack reported by Mathuria:
- * - Type flaw MPA when in parallel with Abadi-Needham protocol.
- *
- */
-protocol isoiec-9798-2-6(A,B,P)
-{
-	role A
-	{
-		var Rb: Nonce;
-		fresh Ra,Rpa: Nonce;
-		var Kab: SessionKey;
-		var T: Ticket;
-		fresh Text2,Text6,Text7: Ticket;
-		var Text1,Text4,Text5,Text8,Text9: Ticket;
-
-		recv_1(B,A, Rb, Text1);
-		send_2(A,P, Ra, Rb, B, Text2);
-		recv_3(P,A, Text5, {Ra,Kab,B,Text4}k(A,P), T );
-		claim(A,Running,B,Kab,Text6);
-		send_4(A,B, Text7, T, {Rpa,Rb,Text6}Kab );
-		recv_5(B,A, Text9, {Rb,Rpa,Text8}Kab );
-
-		claim(A,Commit,B,Kab,Text6,Text8);
-		claim(A,Secret,Kab);
-		claim(A,Secret,Text6);
-		claim(A,Secret,Text8);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		fresh Rb: Nonce;
-		var Rpa: Nonce;
-		var Kab: SessionKey;
-		fresh Text1,Text8,Text9: Ticket;
-		var Text3,Text6,Text7: Ticket;
-
-		send_1(B,A, Rb, Text1);
-		recv_4(A,B, Text7, {Rb,Kab,A,Text3}k(B,P), {Rpa,Rb,Text6}Kab );
-		claim(B,Running,A,Kab,Text6,Text8);
-		send_5(B,A, Text9, {Rb,Rpa,Text8}Kab );
-		
-		claim(B,Commit,A,Kab,Text6);
-		claim(B,Secret,Kab);
-		claim(B,Secret,Text6);
-		claim(B,Secret,Text8);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-	role P
-	{
-		var Ra, Rb: Nonce;
-		fresh Kab: SessionKey;
-		fresh Text3,Text4,Text5: Ticket;
-		var Text2: Ticket;
-
-		recv_2(A,P, Ra, Rb, B, Text2);
-		send_3(P,A, Text5, {Ra,Kab,B,Text4}k(A,P),
-				  {Rb,Kab,A,Text3}k(B,P) );
-	}
-}
-
-protocol @keysymm26(A,B,P)
-{
-	role A
-	{
-		var TVPN: Nonce;
-		var Kab: SessionKey;
-		var Text: Ticket;
-
-		recv_!1(B,A, { TVPN, Kab, B, Text }k(P,A) );
-		send_!2(A,B, { TVPN, Kab, B, Text }k(A,P) );
-	}
-	role B
-	{
-	}
-	role P
-	{
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-1.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-1.spdl
deleted file mode 100644
index 42b5667..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-1.spdl	
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * signature
- * one-pass
- * unilateral
- */
-const Cert: Function;
-
-protocol isoiec-9798-3-1(A,B)
-{
-	role A
-	{
-		fresh TNA: Nonce;
-		fresh Text1,Text2: Ticket;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, Cert(A),TNA,B,Text2, { TNA, B, Text1 }sk(A) );
-	}
-	role B
-	{
-		var TNA: Nonce;
-		var Text1,Text2: Ticket;
-
-		recv_1(A,B, Cert(A),TNA,B,Text2, { TNA, B, Text1 }sk(A) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-2.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-2.spdl
deleted file mode 100644
index 97f5c68..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-2.spdl	
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * signature
- * two-pass
- * unilateral
- */
-const Cert: Function;
-
-protocol isoiec-9798-3-2(A,B)
-{
-	role A
-	{
-		var Rb: Nonce;
-		fresh Ra: Nonce;
-		var Text1: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, Rb,Text1 );
-		claim(A,Running,B,Ra,Rb,Text2);
-		send_2(A,B, Cert(A),Ra,Rb,B,Text3, { Ra, Rb, B, Text2 }sk(A) );
-	}
-	role B
-	{
-		fresh Rb: Nonce;
-		var Ra: Nonce;
-		fresh Text1: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, Rb,Text1 );
-		recv_2(A,B, Cert(A),Ra,Rb,B,Text3, { Ra, Rb, B, Text2 }sk(A) );
-
-		claim(B,Commit,A,Ra,Rb,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-3.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-3.spdl
deleted file mode 100644
index ca1d944..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-3.spdl	
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * signature
- * two-pass
- * mutual
- */
-const Cert: Function;
-
-protocol isoiec-9798-3-3(A,B)
-{
-	role A
-	{
-		fresh TNA: Nonce;
-		var TNB: Nonce;
-		fresh Text1,Text2: Ticket;
-		var Text3,Text4: Ticket;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, Cert(A), TNA, B,Text2, { TNA, B, Text1 }sk(A) );
-		recv_2(B,A, Cert(B), TNB, A,Text4, { TNB, A, Text3 }sk(B) );
-
-		claim(A,Commit,B,TNB,Text3);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNA: Nonce;
-		fresh TNB: Nonce;
-		var Text1,Text2: Ticket;
-		fresh Text3,Text4: Ticket;
-
-		recv_1(A,B, Cert(A), TNA, B,Text2, { TNA, B, Text1 }sk(A) );
-		claim(B,Running,A,TNB,Text3);
-		send_2(B,A, Cert(B), TNB, A,Text4, { TNB, A, Text3 }sk(B) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-4.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-4.spdl
deleted file mode 100644
index f8bfbbc..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-4.spdl	
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * signature
- * three-pass
- * mutual
- */
-const Cert: Function;
-
-protocol isoiec-9798-3-4(A,B)
-{
-	role A
-	{
-		var RB: Nonce;
-		fresh RA: Nonce;
-		var Text1,Text4,Text5: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, RB,Text1 );
-		claim(A,Running,B,RA,RB,Text2);
-		send_2(A,B, Cert(B), RA,RB,B,Text3, { RA, RB, B, Text2 }sk(A) );
-		recv_3(B,A, Cert(A), RB,RA,A,Text5, { RB, RA, A, Text4 }sk(B) );
-
-		claim(A,Commit,B,RA,RB,Text2,Text4);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		fresh RB: Nonce;
-		var RA: Nonce;
-		fresh Text1,Text4,Text5: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, RB,Text1 );
-		recv_2(A,B, Cert(B), RA,RB,B,Text3, { RA, RB, B, Text2 }sk(A) );
-		claim(B,Running,A,RA,RB,Text2,Text4);
-		send_3(B,A, Cert(A), RB,RA,A,Text5, { RB, RA, A, Text4 }sk(B) );
-
-		claim(B,Commit,A,RA,RB,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-5.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-5.spdl
deleted file mode 100644
index 237e56f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-5.spdl	
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * signature
- * two-pass
- * mutual
- * parallel
- */
-const Cert: Function;
-
-protocol isoiec-9798-3-5(A,B)
-{
-	role A
-	{
-		fresh RA: Nonce;
-		var RB: Nonce;
-		fresh Text1,Text3,Text4: Ticket;
-		var Text2,Text5,Text6: Ticket;
-		
-		send_1(A,B, Cert(A), RA,Text1 );
-		recv_2(B,A, Cert(B), RB,Text2 );
-		recv_3(B,A, RB,RA,A,Text6, { RB, RA, A, Text5 }sk(B) );
-		claim(A,Running,B,RA,RB,Text3,Text5);
-		send_4(A,B, RA,RB,B,Text4, { RA, RB, B, Text3 }sk(A) );
-
-		claim(A,Commit,B,RA,RB,Text5);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var RA: Nonce;
-		fresh RB: Nonce;
-		var Text1,Text3,Text4: Ticket;
-		fresh Text2,Text5,Text6: Ticket;
-
-		recv_1(A,B, Cert(A), RA,Text1 );
-		send_2(B,A, Cert(B), RB,Text2 );
-		claim(B,Running,A,RA,RB,Text5);
-		send_3(B,A, RB,RA,A,Text6, { RB, RA, A, Text5 }sk(B) );
-		recv_4(A,B, RA,RB,B,Text4, { RA, RB, B, Text3 }sk(A) );
-
-		claim(B,Commit,A,RA,RB,Text3,Text5);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.cpp b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.cpp
deleted file mode 100644
index fb5b93b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.cpp	
+++ /dev/null
@@ -1,12 +0,0 @@
-#define NAME isoiec-9798-3-6-1
-#define IA A
-#define IB B
-#define ResA A,pk(A)
-#define ResB B,pk(B)
-#define TokenAB Text9,ResA,{Rb,ResA,Text5}sk(T),{Rb,Ra,B,A,Text8}sk(A)
-#define TokenBA Ra,Rb,Text3,{B,Ra,Rb,A,Text2}sk(B)
-#define TokenTA ResA,ResB,{Rpa,ResB,Text6}sk(T),{Rb,ResA,Text5}sk(T)
-
-#include "isoiec-9798-3-6.template"
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.spdl
deleted file mode 100644
index 51545a6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-1.spdl	
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-/*
- * Modeled from ISO standard
- *
- * signature
- * ttp
- * five-pass
- * mutual
- *
- * A initiates and also communicates with T
- *
- * parameters:
- *
- * 	NAME
- * 	IA
- * 	IB
- * 	ResA
- * 	ResB
- * 	TokenAB
- * 	TokenBA (although identical in both cases)
- * 	TokenTA
- *
- */
-protocol isoiec-9798-3-6-1(A,B,T)
-{
- role A
- {
-  fresh Ra,Rpa: Nonce;
-  fresh Text1,Text4,Text8,Text9: Ticket;
-  var Rb: Nonce;
-  var Text2,Text3;
-  var Text5,Text6,Text7: Ticket;
-
-  send_1(A,B, Ra,A,Text1);
-  recv_2(B,A, B,Ra,Rb,Text3,{B,Ra,Rb,A,Text2}sk(B));
-  send_3(A,T, Rpa,Rb,A,B,Text4);
-  recv_4(T,A, Text7,A,pk(A),B,pk(B),{Rpa,B,pk(B),Text6}sk(T),{Rb,A,pk(A),Text5}sk(T));
-  claim(A,Running,B,Ra,Rb,Text8);
-  send_5(A,B, Text9,A,pk(A),{Rb,A,pk(A),Text5}sk(T),{Rb,Ra,B,A,Text8}sk(A));
-
-  claim(A,Commit,B,Ra,Rb,Text2);
-  claim(A,Alive);
- }
- role B
- {
-  var Ra,Rpa: Nonce;
-  var Text1,Text5,Text8,Text9: Ticket;
-  fresh Text2,Text3,Text4: Ticket;
-  fresh Rb: Nonce;
-
-  recv_1(A,B, Ra,A,Text1);
-  claim(B,Running,A,Ra,Rb,Text2);
-  send_2(B,A, B,Ra,Rb,Text3,{B,Ra,Rb,A,Text2}sk(B));
-  recv_5(A,B, Text9,A,pk(A),{Rb,A,pk(A),Text5}sk(T),{Rb,Ra,B,A,Text8}sk(A));
-
-  claim(B,Commit,A,Ra,Rb,Text8);
-  claim(B,Alive);
- }
- role T
- {
-  var Rpa, Rb: Nonce;
-  var Text4: Ticket;
-  fresh Text5,Text6,Text7: Ticket;
-
-  recv_3(A,T, Rpa,Rb,A,B,Text4);
-  send_4(T,A, Text7,A,pk(A),B,pk(B),{Rpa,B,pk(B),Text6}sk(T),{Rb,A,pk(A),Text5}sk(T));
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.cpp b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.cpp
deleted file mode 100644
index d40ca51..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.cpp	
+++ /dev/null
@@ -1,12 +0,0 @@
-#define NAME isoiec-9798-3-6-2
-#define IA A
-#define IB B
-#define ResA A,pk(A)
-#define ResB B,pk(B)
-#define TokenAB Rpa,Text9,TokenTA,{Rb,Ra,B,A,Text8}sk(A)
-#define TokenBA Ra,Rb,Text3,{B,Ra,Rb,A,Text2}sk(B)
-#define TokenTA ResA,ResB,{Rpa,Rb,ResA,ResB,Text5}sk(T)
-
-#include "isoiec-9798-3-6.template"
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.spdl
deleted file mode 100644
index 3debbc7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6-2.spdl	
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-/*
- * Modeled from ISO standard
- *
- * signature
- * ttp
- * five-pass
- * mutual
- *
- * A initiates and also communicates with T
- *
- * parameters:
- *
- * 	NAME
- * 	IA
- * 	IB
- * 	ResA
- * 	ResB
- * 	TokenAB
- * 	TokenBA (although identical in both cases)
- * 	TokenTA
- *
- */
-protocol isoiec-9798-3-6-2(A,B,T)
-{
- role A
- {
-  fresh Ra,Rpa: Nonce;
-  fresh Text1,Text4,Text8,Text9: Ticket;
-  var Rb: Nonce;
-  var Text2,Text3;
-  var Text5,Text6,Text7: Ticket;
-
-  send_1(A,B, Ra,A,Text1);
-  recv_2(B,A, B,Ra,Rb,Text3,{B,Ra,Rb,A,Text2}sk(B));
-  send_3(A,T, Rpa,Rb,A,B,Text4);
-  recv_4(T,A, Text7,A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text5}sk(T));
-  claim(A,Running,B,Ra,Rb,Text8);
-  send_5(A,B, Rpa,Text9,A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text5}sk(T),{Rb,Ra,B,A,Text8}sk(A));
-
-  claim(A,Commit,B,Ra,Rb,Text2);
-  claim(A,Alive);
- }
- role B
- {
-  var Ra,Rpa: Nonce;
-  var Text1,Text5,Text8,Text9: Ticket;
-  fresh Text2,Text3,Text4: Ticket;
-  fresh Rb: Nonce;
-
-  recv_1(A,B, Ra,A,Text1);
-  claim(B,Running,A,Ra,Rb,Text2);
-  send_2(B,A, B,Ra,Rb,Text3,{B,Ra,Rb,A,Text2}sk(B));
-  recv_5(A,B, Rpa,Text9,A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text5}sk(T),{Rb,Ra,B,A,Text8}sk(A));
-
-  claim(B,Commit,A,Ra,Rb,Text8);
-  claim(B,Alive);
- }
- role T
- {
-  var Rpa, Rb: Nonce;
-  var Text4: Ticket;
-  fresh Text5,Text6,Text7: Ticket;
-
-  recv_3(A,T, Rpa,Rb,A,B,Text4);
-  send_4(T,A, Text7,A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text5}sk(T));
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6.template b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6.template
deleted file mode 100644
index e8b6a80..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-6.template	
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Modeled from ISO standard
- *
- * signature
- * ttp
- * five-pass
- * mutual
- *
- * A initiates and also communicates with T
- *
- * parameters:
- *
- * 	NAME
- * 	IA
- * 	IB
- * 	ResA
- * 	ResB
- * 	TokenAB
- * 	TokenBA (although identical in both cases)
- * 	TokenTA
- *
- */
-protocol NAME(A,B,T)
-{
-	role A
-	{
-		fresh Ra,Rpa: Nonce;
-		fresh Text1,Text4,Text8,Text9: Ticket;
-		var Rb: Nonce;
-		var Text2,Text3;
-		var Text5,Text6,Text7: Ticket;
-
-		send_1(A,B, Ra,IA,Text1);
-		recv_2(B,A, IB,TokenBA);
-		send_3(A,T, Rpa,Rb,IA,IB,Text4);
-		recv_4(T,A, Text7,TokenTA);
-		claim(A,Running,B,Ra,Rb,Text8);
-		send_5(A,B, TokenAB);
-
-		claim(A,Commit,B,Ra,Rb,Text2);
-		claim(A,Alive);
-	}
-	role B
-	{
-		var Ra,Rpa: Nonce;
-		var Text1,Text5,Text8,Text9: Ticket;
-		fresh Text2,Text3,Text4: Ticket;
-		fresh Rb: Nonce;
-
-		recv_1(A,B, Ra,IA,Text1);
-		claim(B,Running,A,Ra,Rb,Text2);
-		send_2(B,A, IB,TokenBA);
-		recv_5(A,B, TokenAB);
-
-		claim(B,Commit,A,Ra,Rb,Text8);
-		claim(B,Alive);
-	}
-	role T
-	{
-		var Rpa, Rb: Nonce;
-		var Text4: Ticket;
-		fresh Text5,Text6,Text7: Ticket;
-
-		recv_3(A,T, Rpa,Rb,IA,IB,Text4);
-		send_4(T,A, Text7,TokenTA);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.cpp b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.cpp
deleted file mode 100644
index fd97211..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.cpp	
+++ /dev/null
@@ -1,12 +0,0 @@
-#define NAME isoiec-9798-3-7-1
-#define IA A
-#define IB B
-#define ResA A,pk(A)
-#define ResB B,pk(B)
-#define TokenAB Text7,Ra,ResA,{Rb,ResA,Text3}sk(T),{Rb,Ra,B,A,Text6}sk(A)
-#define TokenBA Ra,Rb,Text9,{A,Ra,Rb,B,Text8}sk(B)
-#define TokenTA ResA,ResB,{Rpa,ResB,Text4}sk(T),{Rb,ResA,Text3}sk(T)
-
-#include "isoiec-9798-3-7.template"
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.spdl
deleted file mode 100644
index 516ceb0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-1.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Modeled from ISO standard
- *
- * signature
- * ttp
- * five-pass
- * mutual
- *
- * B initiates and A communicates with T
- *
- * parameters:
- *
- * 	NAME
- * 	IA
- * 	IB
- * 	ResA
- * 	ResB
- * 	TokenAB
- * 	TokenBA (although identical in both cases)
- * 	TokenTA
- *
- */
-protocol isoiec-9798-3-7-1(A,B,T)
-{
- role A
- {
-  fresh Ra,Rpa: Nonce;
-  var Rb: Nonce;
-  var Text1,Text3,Text4,Text5,Text8,Text9: Ticket;
-  fresh Text2,Text6,Text7: Ticket;
-
-  recv_1(B,A, Rb,B,Text1 );
-  send_2(A,T, Rpa,Rb,A,Text2 );
-  recv_3(T,A, Text5, A,pk(A),B,pk(B),{Rpa,B,pk(B),Text4}sk(T),{Rb,A,pk(A),Text3}sk(T) );
-  claim(A,Running,B,Ra,Rb,Text6);
-  send_4(A,B, A, Text7,Ra,A,pk(A),{Rb,A,pk(A),Text3}sk(T),{Rb,Ra,B,A,Text6}sk(A) );
-  recv_5(B,A, Ra,Rb,Text9,{A,Ra,Rb,B,Text8}sk(B) );
-
-  claim(A,Commit,B,Ra,Rb,Text8);
-  claim(A,Alive);
- }
- role B
- {
-  fresh Text1,Text8,Text9: Ticket;
-  fresh Rb: Nonce;
-  var Text3,Text4,Text6,Text7: Ticket;
-  var Ra,Rpa: Nonce;
-
-  send_1(B,A, Rb,B,Text1 );
-  recv_4(A,B, A, Text7,Ra,A,pk(A),{Rb,A,pk(A),Text3}sk(T),{Rb,Ra,B,A,Text6}sk(A) );
-  claim(B,Running,A,Ra,Rb,Text8);
-  send_5(B,A, Ra,Rb,Text9,{A,Ra,Rb,B,Text8}sk(B) );
-
-  claim(B,Commit,A,Ra,Rb,Text6);
-  claim(B,Alive);
- }
- role T
- {
-  var Rpa,Rb: Nonce;
-  var Text2: Ticket;
-  fresh Text3,Text4,Text5: Ticket;
-
-  recv_2(A,T, Rpa,Rb,A,Text2 );
-  send_3(T,A, Text5, A,pk(A),B,pk(B),{Rpa,B,pk(B),Text4}sk(T),{Rb,A,pk(A),Text3}sk(T) );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.cpp b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.cpp
deleted file mode 100644
index 6ca070b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.cpp	
+++ /dev/null
@@ -1,12 +0,0 @@
-#define NAME isoiec-9798-3-7-2
-#define IA A
-#define IB B
-#define ResA A,pk(A)
-#define ResB B,pk(B)
-#define TokenAB Rpa,Text7,TokenTA,{Rb,Ra,B,A,Text6}sk(A)
-#define TokenBA Ra,Rb,Text9,{Ra,Rb,A,B,Text8}sk(B)
-#define TokenTA ResA,ResB,{Rpa,Rb,ResA,ResB,Text3}sk(T)
-
-#include "isoiec-9798-3-7.template"
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.spdl
deleted file mode 100644
index 98ce424..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7-2.spdl	
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-/*
- * Modeled from ISO standard
- *
- * signature
- * ttp
- * five-pass
- * mutual
- *
- * B initiates and A communicates with T
- *
- * parameters:
- *
- * 	NAME
- * 	IA
- * 	IB
- * 	ResA
- * 	ResB
- * 	TokenAB
- * 	TokenBA (although identical in both cases)
- * 	TokenTA
- *
- */
-protocol isoiec-9798-3-7-2(A,B,T)
-{
- role A
- {
-  fresh Ra,Rpa: Nonce;
-  var Rb: Nonce;
-  var Text1,Text3,Text4,Text5,Text8,Text9: Ticket;
-  fresh Text2,Text6,Text7: Ticket;
-
-  recv_1(B,A, Rb,B,Text1 );
-  send_2(A,T, Rpa,Rb,A,Text2 );
-  recv_3(T,A, Text5, A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text3}sk(T) );
-  claim(A,Running,B,Ra,Rb,Text6);
-  send_4(A,B, A, Rpa,Text7,A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text3}sk(T),{Rb,Ra,B,A,Text6}sk(A) );
-  recv_5(B,A, Ra,Rb,Text9,{Ra,Rb,A,B,Text8}sk(B) );
-
-  claim(A,Commit,B,Ra,Rb,Text8);
-  claim(A,Alive);
- }
- role B
- {
-  fresh Text1,Text8,Text9: Ticket;
-  fresh Rb: Nonce;
-  var Text3,Text4,Text6,Text7: Ticket;
-  var Ra,Rpa: Nonce;
-
-  send_1(B,A, Rb,B,Text1 );
-  recv_4(A,B, A, Rpa,Text7,A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text3}sk(T),{Rb,Ra,B,A,Text6}sk(A) );
-  claim(B,Running,A,Ra,Rb,Text8);
-  send_5(B,A, Ra,Rb,Text9,{Ra,Rb,A,B,Text8}sk(B) );
-
-  claim(B,Commit,A,Ra,Rb,Text6);
-  claim(B,Alive);
- }
- role T
- {
-  var Rpa,Rb: Nonce;
-  var Text2: Ticket;
-  fresh Text3,Text4,Text5: Ticket;
-
-  recv_2(A,T, Rpa,Rb,A,Text2 );
-  send_3(T,A, Text5, A,pk(A),B,pk(B),{Rpa,Rb,A,pk(A),B,pk(B),Text3}sk(T) );
- }
-}
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7.template b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7.template
deleted file mode 100644
index 8d9491a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-3-7.template	
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Modeled from ISO standard
- *
- * signature
- * ttp
- * five-pass
- * mutual
- *
- * B initiates and A communicates with T
- *
- * parameters:
- *
- * 	NAME
- * 	IA
- * 	IB
- * 	ResA
- * 	ResB
- * 	TokenAB
- * 	TokenBA (although identical in both cases)
- * 	TokenTA
- *
- */
-protocol NAME(A,B,T)
-{
-	role A
-	{
-		fresh Ra,Rpa: Nonce;
-		var Rb: Nonce;
-		var Text1,Text3,Text4,Text5,Text8,Text9: Ticket;
-		fresh Text2,Text6,Text7: Ticket;
-
-		recv_1(B,A, Rb,IB,Text1 );
-		send_2(A,T, Rpa,Rb,IA,Text2 );
-		recv_3(T,A, Text5, TokenTA );
-		claim(A,Running,B,Ra,Rb,Text6);
-		send_4(A,B, IA, TokenAB );
-		recv_5(B,A, TokenBA );
-
-		claim(A,Commit,B,Ra,Rb,Text8);
-		claim(A,Alive);
-	}
-	role B
-	{
-		fresh Text1,Text8,Text9: Ticket;
-		fresh Rb: Nonce;
-		var Text3,Text4,Text6,Text7: Ticket;
-		var Ra,Rpa: Nonce;
-
-		send_1(B,A, Rb,IB,Text1 );
-		recv_4(A,B, IA, TokenAB );
-		claim(B,Running,A,Ra,Rb,Text8);
-		send_5(B,A, TokenBA );
-
-		claim(B,Commit,A,Ra,Rb,Text6);
-		claim(B,Alive);
-	}
-	role T
-	{
-		var Rpa,Rb: Nonce;
-		var Text2: Ticket;
-		fresh Text3,Text4,Text5: Ticket;
-
-		recv_2(A,T, Rpa,Rb,IA,Text2 );
-		send_3(T,A, Text5, TokenTA );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1-udkey.spdl
deleted file mode 100644
index 6a955d0..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1-udkey.spdl	
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * ccf
- * one-pass
- * unilateral
- *
- * Unidirectional key version.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol isoiec-9798-4-1-udkey(A,B)
-{
-	role A
-	{
-		fresh Text1,Text2: Ticket;
-		fresh TNA: Nonce;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, TNA, Text2, f( TNA, Text1 ,k(A,B) ) );
-	}
-	role B
-	{
-		var TNA: Nonce;
-		var Text1,Text2: Ticket;
-
-		recv_1(A,B, TNA, Text2, f( TNA, Text1 ,k(A,B) ) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1.spdl
deleted file mode 100644
index f3a5b95..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-1.spdl	
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010, Feb. 2011.
- *
- * History:
- * 
- * - v2.0, Feb. 2011:
- *   Added key symmetry emulation protocol.
- *
- * ccf
- * one-pass
- * unilateral
- *
- * The identifier B is optional and may be omitted if the key is unidirectional.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol @keysymm-41(A,B)
-{
-	role A
-	{
-		var X,Y,Z: Ticket;
-
-		recv_!1(B,A, f(X,Y,Z, k(A,B) ) );
-		send_!2(A,B, f(X,Y,Z, k(B,A) ) );
-	}
-	role B
-	{
-	}
-}
-
-protocol isoiec-9798-4-1(A,B)
-{
-	role A
-	{
-		fresh Text1,Text2: Ticket;
-		fresh TNA: Nonce;
-
-		claim(A,Running,B,TNA,Text1);
-		send_1(A,B, TNA, Text2, f( TNA, B, Text1 ,k(A,B) ) );
-	}
-	role B
-	{
-		var TNA: Nonce;
-		var Text1,Text2: Ticket;
-
-		recv_1(A,B, TNA, Text2, f( TNA, B, Text1 ,k(A,B) ) );
-
-		claim(B,Commit,A,TNA,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2-udkey.spdl
deleted file mode 100644
index c1e292f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2-udkey.spdl	
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * ccf
- * unilateral
- * two-pass
- * 
- * Unidirectional key version.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol isoiec-9798-4-2-udkey(A,B)
-{
-	role A
-	{
-		var Rb: Nonce;
-		var Text1: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, Rb,Text1 );
-		claim(A,Running,B,Rb,Text2);
-		send_2(A,B, Text3, f( Rb, Text2, k(A,B)) );
-	}
-	role B
-	{
-		fresh Rb: Nonce;
-		fresh Text1: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, Rb,Text1 );
-		recv_2(A,B, Text3, f( Rb, Text2, k(A,B)) );
-
-		claim(B,Commit,A,Rb,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2.spdl
deleted file mode 100644
index d2bd4a9..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-2.spdl	
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010, Feb. 2011.
- *
- * History:
- * 
- * - v2.0, Feb. 2011:
- *   Added key symmetry emulation protocol.
- *
- * ccf
- * unilateral
- * two-pass
- * 
- * The identifier B is optional and may be omitted if the key is unidirectional.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol @keysymm-42(A,B)
-{
-	role A
-	{
-		var X,Y,Z: Ticket;
-
-		recv_!1(B,A, f(X,Y,Z, k(A,B) ) );
-		send_!2(A,B, f(X,Y,Z, k(B,A) ) );
-	}
-	role B
-	{
-	}
-}
-
-protocol isoiec-9798-4-2(A,B)
-{
-	role A
-	{
-		var Rb: Nonce;
-		var Text1: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, Rb,Text1 );
-		claim(A,Running,B,Rb,Text2);
-		send_2(A,B, Text3, f( Rb, B, Text2, k(A,B)) );
-	}
-	role B
-	{
-		fresh Rb: Nonce;
-		fresh Text1: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, Rb,Text1 );
-		recv_2(A,B, Text3, f( Rb, B, Text2, k(A,B)) );
-
-		claim(B,Commit,A,Rb,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3-udkey.spdl
deleted file mode 100644
index 4371591..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3-udkey.spdl	
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * ccf
- * two-pass
- * mutual
- *
- * Unidirectional key version.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol isoiec-9798-4-3-udkey(A,B)
-{
-	role A
-	{
-		fresh Text1,Text2: Ticket;
-		var Text3,Text4: Ticket;
-		fresh TNa: Nonce;
-		var TNb: Nonce;
-
-		claim(A,Running,B,TNa,Text1);
-		send_1(A,B, TNa, Text2, f(TNa,Text1, k(A,B) ) );
-		recv_2(B,A, TNb, Text4, f(TNb,Text3, k(B,A) ) );
-
-		claim(A,Commit,B,TNb,Text3);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNa: Nonce;
-		fresh TNb: Nonce;
-		var Text1,Text2: Ticket;
-		fresh Text3,Text4: Ticket;
-
-		recv_1(A,B, TNa, Text2, f(TNa,Text1, k(A,B) ) );
-		claim(B,Running,A,TNb,Text3);
-		send_2(B,A, TNb, Text4, f(TNb,Text3, k(B,A) ) );
-
-		claim(B,Commit,A,TNa,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3.spdl
deleted file mode 100644
index a5902e2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-3.spdl	
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010, Feb. 2011.
- *
- * History:
- * 
- * - v2.0, Feb. 2011:
- *   Added key symmetry emulation protocol.
- *
- * ccf
- * two-pass
- * mutual
- *
- * The identifiers B,A are optional and may be (independently) be omitted if the key is unidirectional.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol @keysymm-43(A,B)
-{
-	role A
-	{
-		var X,Y,Z: Ticket;
-
-		recv_!1(B,A, f(X,Y,Z, k(A,B) ) );
-		send_!2(A,B, f(X,Y,Z, k(B,A) ) );
-	}
-	role B
-	{
-	}
-}
-
-protocol isoiec-9798-4-3(A,B)
-{
-	role A
-	{
-		fresh Text1,Text2: Ticket;
-		var Text3,Text4: Ticket;
-		fresh TNa: Nonce;
-		var TNb: Nonce;
-
-		claim(A,Running,B,TNa,Text1);
-		send_1(A,B, TNa, Text2, f(TNa,B,Text1, k(A,B) ) );
-		recv_2(B,A, TNb, Text4, f(TNb,A,Text3, k(A,B) ) );
-
-		claim(A,Commit,B,TNb,Text3);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var TNa: Nonce;
-		fresh TNb: Nonce;
-		var Text1,Text2: Ticket;
-		fresh Text3,Text4: Ticket;
-
-		recv_1(A,B, TNa, Text2, f(TNa,B,Text1, k(A,B) ) );
-		claim(B,Running,A,TNb,Text3);
-		send_2(B,A, TNb, Text4, f(TNb,A,Text3, k(A,B) ) );
-
-		claim(B,Commit,A,TNa,Text1);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4-udkey.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4-udkey.spdl
deleted file mode 100644
index 27e5466..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4-udkey.spdl	
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010
- *
- * ccf
- * mutual
- * three-pass
- * 
- * Unidirectional key version.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol isoiec-9798-4-4-udkey(A,B)
-{
-	role A
-	{
-		fresh Ra: Nonce;
-		var Rb: Nonce;
-		var Text1,Text4,Text5: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, Rb, Text1 );
-		claim(A,Running,B,Ra,Rb,Text2);
-		send_2(A,B, Ra, Text3, f(Ra,Rb,Text2, k(A,B) ) );
-		recv_3(B,A, Text5, f(Rb,Ra,Text4, k(B,A) ) );
-
-		claim(A,Commit,B,Ra,Rb,Text2,Text4);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var Ra: Nonce;
-		fresh Rb: Nonce;
-		fresh Text1,Text4,Text5: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, Rb, Text1 );
-		recv_2(A,B, Ra, Text3, f(Ra,Rb,Text2, k(A,B) ) );
-		claim(B,Running,A,Ra,Rb,Text2,Text4);
-		send_3(B,A, Text5, f(Rb,Ra,Text4, k(B,A) ) );
-
-		claim(B,Commit,A,Ra,Rb,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4.spdl b/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4.spdl
deleted file mode 100644
index f796369..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ISO-9798/isoiec-9798-4-4.spdl	
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Modeled from ISO/IEC 9798
- * Modeler: Cas Cremers, Dec. 2010, Feb. 2011.
- *
- * History:
- * 
- * - v2.0, Feb. 2011:
- *   Added key symmetry emulation protocol.
- *
- * ccf
- * mutual
- * three-pass
- * 
- * The identifier B is optional and may be omitted if the key is unidirectional.
- * 
- * Modeling notes:
- *
- * - The keyed CCF (f_kab(x)) is modeled as f(x,kab)
- */
-hashfunction f;
-
-protocol @keysymm-44(A,B)
-{
-	role A
-	{
-		var X,Y,Z: Ticket;
-
-		recv_!1(B,A, f(X,Y,Z, k(A,B) ) );
-		send_!2(A,B, f(X,Y,Z, k(B,A) ) );
-	}
-	role B
-	{
-		var X,Y,Z,ZZ: Ticket;
-
-		recv_!3(A,B, f(X,Y,Z,ZZ, k(A,B) ) );
-		send_!4(B,A, f(X,Y,Z,ZZ, k(B,A) ) );
-	}
-}
-
-protocol isoiec-9798-4-4(A,B)
-{
-	role A
-	{
-		fresh Ra: Nonce;
-		var Rb: Nonce;
-		var Text1,Text4,Text5: Ticket;
-		fresh Text2,Text3: Ticket;
-
-		recv_1(B,A, Rb, Text1 );
-		claim(A,Running,B,Ra,Rb,Text2);
-		send_2(A,B, Ra, Text3, f(Ra,Rb,B,Text2, k(A,B) ) );
-		recv_3(B,A, Text5, f(Rb,Ra,Text4, k(A,B) ) );
-
-		claim(A,Commit,B,Ra,Rb,Text2,Text4);
-		claim(A,Alive);
-		claim(A,Weakagree);
-	}
-	role B
-	{
-		var Ra: Nonce;
-		fresh Rb: Nonce;
-		fresh Text1,Text4,Text5: Ticket;
-		var Text2,Text3: Ticket;
-
-		send_1(B,A, Rb, Text1 );
-		recv_2(A,B, Ra, Text3, f(Ra,Rb,B,Text2, k(A,B) ) );
-		claim(B,Running,A,Ra,Rb,Text2,Text4);
-		send_3(B,A, Text5, f(Rb,Ra,Text4, k(A,B) ) );
-
-		claim(B,Commit,A,Ra,Rb,Text2);
-		claim(B,Alive);
-		claim(B,Weakagree);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/BKE.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/BKE.spdl
deleted file mode 100644
index 8342bd6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/BKE.spdl	
+++ /dev/null
@@ -1,40 +0,0 @@
-/* 
-	Bilateral Key Exchange with Public Key protocol (BKEPK)
-*/
-
-usertype SessionKey;
-
-hashfunction hash;
-
-protocol bke(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-		var kir: SessionKey;
-
-		send_1 (I,R, { ni,I }pk(R) );
-		recv_2 (R,I, { hash(ni),nr,R,kir }pk(I) );
-		send_3 (I,R, { hash(nr) }kir );
-		claim_4 (I, Secret, kir );
-		//claim_5 (I, Niagree );
-		//claim_6 (I, Nisynch );
-	}
-
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-		fresh kir: SessionKey;
-
-		recv_1 (I,R, { ni,I }pk(R) );
-		send_2 (R,I, { hash(ni),nr,R,kir }pk(I) );
-		recv_3 (I,R, { hash(nr) }kir );
-		claim_7 (R, Secret, kir );
-		//claim_8 (R, Niagree );
-		//claim_9 (R, Nisynch );
-	}
-}
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban-concrete.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban-concrete.spdl
deleted file mode 100644
index 48f52d8..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban-concrete.spdl	
+++ /dev/null
@@ -1,67 +0,0 @@
-# BAN concrete Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrewBAN2.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# In order to overcome this a 'dummy' role X has been hadded that recrypts
-# a given term crypted with k(I,R) with k(R,I)
-#
-# Note:
-# Recv 4 by the Initatior has been placed after the synchronisation claim
-# as it allows trivial synchronisation attacks otherwise (the message is 
-# completely fresh and can therefore always be replaced by an arbitrary value 
-# created by the intruder) which are not considered in SPORE
-#
-
-usertype SessionKey;
-const Fresh: Function;
-
-protocol @swapkey(X)
-{
-    # Protocol added to work around the symmetry problems where k(I,R) != k(R,I)
-    role X
-    {
-        var I,R: Agent;
-        var T:Ticket;
-        recv_!X1(X,X,I,R,{T}k(I,R));
-        send_!X2(X,X,{T}k(R,I));
-    }
-}
-
-protocol andrew-Concrete(I,R)
-{
-    
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir: SessionKey;
-        
-        send_1(I,R, I,ni );
-        recv_2(R,I, {ni,kir}k(I,R) );
-        send_3(I,R, {ni}kir);
-        claim_I1(I,Secret,kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,kir));
-        recv_6(R,I, nr);
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,ni );
-        send_2(R,I, {ni,kir}k(I,R) );
-        recv_3(I,R, {ni}kir);
-        send_6(R,I, nr);
-        claim_R1(R,Secret,kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban.spdl
deleted file mode 100644
index 5118604..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-ban.spdl	
+++ /dev/null
@@ -1,52 +0,0 @@
-# BAN modified Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrewBAN.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# So it is possile that certain attacks that use this property are not found
-# 
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol andrew-Ban(I,R)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr,nr2: Nonce;
-        var kir: SessionKey;
-
-        send_1(I,R, I,{ni}k(I,R) );
-        recv_2(R,I, {ni,nr}k(I,R) );
-        send_3(I,R, {nr}k(I,R) );
-        recv_4(R,I, {kir,nr2,ni}k(I,R) );
-        claim_I1(I,Nisynch);
-        claim_I2(I,Niagree);
-        claim_I3(I,Secret, kir);
-        claim_I5(I,Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr,nr2: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,{ni}k(I,R) );
-        send_2(R,I, {ni,nr}k(I,R) );
-        recv_3(I,R, {nr}k(I,R) );
-        send_4(R,I, {kir,nr2,ni}k(I,R) );
-        claim_R1(R,Nisynch);
-        claim_R2(R,Niagree);
-        claim_R3(R,Secret, kir);
-        claim_R5(R,Empty, (Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-lowe-ban.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-lowe-ban.spdl
deleted file mode 100644
index 04e15f2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/andrew-lowe-ban.spdl	
+++ /dev/null
@@ -1,57 +0,0 @@
-# Lowe modified BAN concrete Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrewLowe.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# So it is possile that certain attacks that use this property are not found
-#
-# Note:
-# Recv 4 by the Initatior has been placed after the synchronisation claim
-# as it allows trivial synchronisation attacks otherwise (the message is
-# completely fresh and can therefore always be replaced by an arbitrary value
-# created by the intruder) which are not considered in SPORE
-#
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol andrew-LoweBan(I,R)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir: SessionKey;
-
-        send_1(I,R, I,ni );
-        recv_2(R,I, {ni,kir,R}k(I,R) );
-        send_3(I,R, {ni}kir );
-        claim_I1(I,Nisynch);
-        claim_I2(I,Secret, kir);
-        claim_I3(I,Empty, (Fresh,kir));
-        recv_4(R,I, nr );
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,ni );
-        send_2(R,I, {ni,kir,R}k(I,R) );
-        recv_3(I,R, {ni}kir );
-        send_4(R,I, nr );
-        claim_R1(R,Nisynch);
-        claim_R2(R,Secret, kir);
-        claim_R3(R,Empty, (Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/boyd.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/boyd.spdl
deleted file mode 100644
index 0a9c755..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/boyd.spdl	
+++ /dev/null
@@ -1,56 +0,0 @@
-usertype Sessionkey;
-usertype Macseed;
-const m: Function;
-secret unm: Function;
-const f: Function;
-
-inversekeys (m, unm);
-
-/*
- * Boyd key agreement
- *
- * Boyd & Mathuria: Protocols for authentication and key establishment
- * (2003) p. 101
- *
- * Note that MAC_ks(x) has been interpreted as MAC(x,ks); this
- * assumption causes some possible false attacks.
- */
-
-protocol boyd(I,R,S)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-		var ks: Macseed;
-
-		send_1 (I,S, I,R, ni );
-		recv_3 (R,I, { I,R, ks }k(I,S), m(ni, m(ks,ni,nr)), nr );
-		send_4 (I,R, m(nr, m(ks,ni,nr)) );
-
-		claim_6 (I, Secret, m(ks,ni,nr) );
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-		var ks: Macseed;
-
-		recv_2 (S,R, { I,R, ks }k(I,S), { I,R, ks }k(R,S), ni );
-		send_3 (R,I, { I,R, ks }k(I,S), m(ni, m(ks,ni,nr)), nr );
-		recv_4 (I,R, m(nr, m(ks,ni,nr)) );
-
-		claim_10 (R, Secret, m(ks,ni,nr));
-	}
-
-	role S
-	{
-		var ni,nr: Nonce;
-		fresh ks: Macseed;
-
-		recv_1 (I,S, I,R, ni );
-		send_2 (S,R, { I,R, ks }k(I,S), { I,R, ks }k(R,S), ni );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ccitt509-ban3.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ccitt509-ban3.spdl
deleted file mode 100644
index bdf146d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ccitt509-ban3.spdl	
+++ /dev/null
@@ -1,39 +0,0 @@
-# BAN modified version of CCITT X.509 (3)
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ccittx509_3BAN.html
-#
-# Note:
-# The protocol description also states that Xa and Ya should be fresh
-# this can not be verified using scyther
-# 
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-
-protocol ccitt509-ban3(I,R)
-{
-    role I
-    {
-        fresh Na,Xa,Ya: Nonce;
-        var Xb,Nb,Yb: Nonce;
-
-        send_1(I,R, I,{Na, R, Xa,{Ya}pk(R)}sk(I));
-        recv_2(R,I, R,{Nb, I, Na, Xb,{Yb}pk(I)}sk(R));
-        send_3(I,R, I,{R, Nb}sk(I));
-        claim_4(I,Nisynch);
-    }    
-    
-    role R
-    {
-        var Na,Xa,Ya: Nonce;
-        fresh Xb,Yb,Nb: Nonce;
-
-        recv_1(I,R, I,{Na, R, Xa,{Ya}pk(R)}sk(I));
-        send_2(R,I, R,{Nb, I, Na, Xb,{Yb}pk(I)}sk(R));
-        recv_3(I,R, I,{R, Nb}sk(I));
-        claim_5(R,Nisynch);
-        # There should also be Fresh Xa and Fresh Ya claims here
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco-lowe.spdl
deleted file mode 100644
index d5c3182..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco-lowe.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# Lowe modified Denning-Sacco shared key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/denningSaccoLowe.html
-#
-# Note:
-# According to SPORE there are no attacks on this protocol, scyther
-# finds one however. This has to be investigated further.
-
-usertype Key;
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-usertype PseudoFunction;
-const dec: PseudoFunction;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol denningSacco-Lowe(I,R,S)
-{
-    role I
-    {
-        var W: Ticket;
-        var Kir: SessionKey;
-        var T: TimeStamp;
-        var Nr: Nonce;
-
-        send_1(I,S, I,R );
-        recv_2(S,I, {R, Kir, T, W}k(I,S) );
-        send_3(I,R, W);
-        recv_4(R,I, {Nr}Kir);
-        send_5(I,R, {{Nr}dec}Kir);
-        claim_I1(I,Niagree);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Secret,Kir);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Kir: SessionKey;
-        var T: TimeStamp;
-        fresh Nr: Nonce;
-
-        recv_3(I,R, {Kir,I,T}k(R,S));
-        send_4(R,I, {Nr}Kir);
-        recv_5(I,R, {{Nr}dec}Kir);
-        claim_R1(R,Niagree);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Secret,Kir);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-    
-    role S
-    {
-        var W: Ticket;
-        fresh Kir: SessionKey;
-        fresh T: TimeStamp;
-
-        recv_1(I,S, I,R );
-        send_2(S,I, {R, Kir, T, {Kir, I,T}k(R,S)}k(I,S));
-	claim_x(S, Secret, Kir);
-    }    
-}
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco.spdl
deleted file mode 100644
index 00167e9..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/denning-sacco.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-# Denning-Sacco shared key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/denningSacco.html
-#
-
-usertype Key;
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol denningSacco(I,R,S)
-{
-    role I
-    {
-        var W: Ticket;
-        var Kir: SessionKey;
-        var T: TimeStamp;
-
-        send_1(I,S, I,R );
-        recv_2(S,I, {R, Kir, T, W}k(I,S) );
-        send_3(I,R, W);
-        claim_I1(I,Niagree);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Secret,Kir);
-        claim_I4(I,Empty, (Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Kir: SessionKey;
-        var T: TimeStamp;
-
-        recv_3(I,R, {Kir,I,T}k(R,S));
-        claim_R1(R,Niagree);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Secret,Kir);
-        claim_R4(R,Empty, (Fresh,Kir));
-    }
-    
-    role S
-    {
-        var W: Ticket;
-        fresh Kir: SessionKey;
-        fresh T: TimeStamp;
-
-        recv_1(I,S, I,R );
-        send_2(S,I, {R, Kir, T, {Kir, I,T}k(R,S)}k(I,S));
-    }    
-}
-
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce-b.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce-b.spdl
deleted file mode 100644
index 09bde6d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce-b.spdl	
+++ /dev/null
@@ -1,60 +0,0 @@
-usertype Sessionkey;
-usertype Keypart;
-hashfunction f;
-
-/*
- * Gong nonce based alternative
- *
- * Boyd & Mathuria: Protocols for authentication and key establishment
- * (2003) p. 101
- */
-
-protocol gongnonceb(I,R,S)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-		fresh ki: Keypart;
-		var kr: Keypart;
-
-		send_1 (I,S, I,R, { I,S,I, ki, R }k(I,S), ni );
-		recv_4 (S,I, { S,I,R,kr,I }k(I,S), { R,I,ni }f(ki,kr), nr );
-		send_5 (I,R, { I,R,nr }f(ki,kr) );
-
-		claim_6 (I, Secret, ki);
-		claim_7 (I, Secret, kr);
-		claim_8 (I, Nisynch);
-		claim_9 (I, Niagree);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-		fresh kr: Keypart;
-		var ki: Keypart;
-
-		recv_2 (S,R, I,R, { S,R,I, ki, R }k(R,S), ni );
-		send_3 (R,S, { R,S,R,kr,I }k(R,S), { R,I, ni }f(ki,kr), nr );
-		recv_5 (I,R, { I,R,nr }f(ki,kr) );
-
-		claim_10 (R, Secret, ki);
-		claim_11 (R, Secret, kr);
-		claim_12 (R, Nisynch);
-		claim_13 (R, Niagree);
-	}
-
-	role S
-	{
-		var ni,nr: Nonce;
-		var ki,kr: Keypart;
-		var T;
-
-		recv_1 (I,S, I,R, { I,S,I, ki, R }k(I,S), ni );
-		send_2 (S,R, I,R, { S,R,I, ki, R }k(R,S), ni );
-		recv_3 (R,S, { R,S,R,kr,I }k(R,S), T, nr );
-		send_4 (S,I, { S,I,R,kr,I }k(I,S), T, nr );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce.spdl
deleted file mode 100644
index 594e1b9..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/gong-nonce.spdl	
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * From Boyd Mathuria
- *
- * To check: 3.38 or other?
- *
- */
-usertype Sessionkey;
-usertype Keypart;
-
-protocol gongnonce(I,R,S)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-		fresh ki: Keypart;
-		var kr: Keypart;
-
-		send_1 (I,R, I,R,ni );
-		recv_3 (S,I, { S,I,R, kr, I, ni }k(I,S), nr);
-		send_4 (I,S, { I,S,I, ki, R, nr }k(I,S) );
-
-		claim_6 (I, Secret, ki);
-		claim_7 (I, Secret, kr);
-		claim_8 (I, Nisynch);
-		claim_9 (I, Niagree);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-		fresh kr: Keypart;
-		var ki: Keypart;
-
-		recv_1 (I,R, I,R,ni );
-		send_2 (R,S, I,R, nr, { R,S,R, kr, I,ni }k(R,S));
-		recv_5 (S,R, { S,R,I, ki, R, nr }k(R,S) );
-
-		claim_10 (R, Secret, ki);
-		claim_11 (R, Secret, kr);
-		claim_12 (R, Nisynch);
-		claim_13 (R, Niagree);
-	}
-
-	role S
-	{
-		var ni,nr: Nonce;
-		var ki,kr: Keypart;
-
-		recv_2 (R,S, I,R, nr, { R,S,R, kr, I,ni }k(R,S));
-		send_3 (S,I, { S,I,R, kr, I, ni }k(I,S), nr);
-		recv_4 (I,S, { I,S,I, ki, R, nr }k(I,S) );
-		send_5 (S,R, { S,R,I, ki, R, nr }k(R,S) );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/isoiec11770-2-13.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/isoiec11770-2-13.spdl
deleted file mode 100644
index 5db1533..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/isoiec11770-2-13.spdl	
+++ /dev/null
@@ -1,42 +0,0 @@
-usertype Sessionkey;
-usertype Ticket;
-
-protocol isoiec11770213(I,R,S)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-		var kir: Sessionkey;
-
-		send_1 (I,R, ni);
-		recv_4 (R,I, { ni,kir,R }k(I,S) );
-
-		claim_5 (I, Secret, kir);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-		fresh kir: Sessionkey;
-		var T;
-
-		recv_1 (I,R, ni);
-		send_2 (R,S, { nr,ni,I,kir }k(R,S) );
-		recv_3 (S,R, { nr, I }k(R,S), T );
-		send_4 (R,I, T );
-
-		claim_6 (R, Secret, kir);
-	}
-
-	role S
-	{
-		var ni,nr: Nonce;
-		var kir: Sessionkey;
-
-		recv_2 (R,S, { nr,ni,I,kir }k(R,S) );
-		send_3 (S,R, { nr, I }k(R,S), { ni,kir,R }k(I,S) );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v2.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v2.spdl
deleted file mode 100644
index 638a54b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v2.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-# Kao Chow Authentication v.2
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kaoChow2.html
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol kaochow-2(I,R,S)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir,kt: SessionKey;
-
-        send_1 (I,S, I,R,ni);
-        recv_3 (R,I, R, {I,R,ni,kir,kt}k(I,S), {ni, kir}kt, nr );
-        send_4 (I,R, {nr,kir}kt );
-
-        claim_I1 (I, Nisynch);
-        claim_I2 (I, Niagree);
-        claim_I3 (I, Secret, kir);
-        claim_I4 (I, Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        var kir,kt: SessionKey;
-        var T: Ticket;
-
-        recv_2 (S,R, T, { I,R,ni,kir,kt }k(R,S)  ); 
-        send_3 (R,I, R, T, {ni, kir}kt, nr );
-        recv_4 (I,R, {nr,kir}kt );
-
-        claim_R1 (R, Nisynch);
-        claim_R2 (R, Niagree);
-        claim_R3 (R, Secret, kir);
-        claim_R4 (R, Empty, (Fresh,kir));
-    }
-
-    role S
-    {
-        var ni: Nonce;
-        fresh kir, kt: SessionKey;
-
-        recv_1 (I,S, I,R,ni);
-        send_2 (S,R, {I,R,ni,kir,kt}k(I,S), { I,R,ni,kir,kt }k(R,S)  ); 
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v3.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v3.spdl
deleted file mode 100644
index 88cef24..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow-v3.spdl	
+++ /dev/null
@@ -1,59 +0,0 @@
-# Kao Chow Authentication v.3
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kaoChow3.html
-#
-
-usertype SessionKey;
-usertype ExpiredTimeStamp;
-usertype TimeStamp;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol kaochow-3(I,R,S)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir,kt: SessionKey;
-        var T2: Ticket;
-
-        send_1 (I,S, I,R,ni);
-        recv_3 (R,I, {I,R,ni,kir,kt}k(I,S), {ni, kir}kt, nr, T2 );
-        send_4 (I,R, {nr,kir}kt, T2 );
-
-        claim_I1 (I, Nisynch);
-        claim_I2 (I, Niagree);
-        claim_I3 (I, Secret, kir);
-        claim_I4 (I, Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        var kir,kt: SessionKey;
-        var T: Ticket;
-        fresh tr: TimeStamp;
-
-        recv_2 (S,R, T, { I,R,ni,kir,kt }k(R,S)  ); 
-        send_3 (R,I, T, {ni, kir}kt, nr, {I,R,tr,kir}k(R,S) );
-        recv_4 (I,R, {nr,kir}kt, {I,R,tr,kir}k(R,S) );
-
-        claim_R1 (R, Nisynch);
-        claim_R2 (R, Niagree);
-        claim_R3 (R, Secret, kir);
-        claim_R4 (R, Empty, (Fresh,kir));
-    }
-
-    role S
-    {
-        var ni: Nonce;
-        fresh kir, kt: SessionKey;
-
-        recv_1 (I,S, I,R,ni);
-        send_2 (S,R, {I,R,ni,kir,kt}k(I,S), { I,R,ni,kir,kt }k(R,S)  ); 
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow.spdl
deleted file mode 100644
index 1c6c827..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/kaochow.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-# Kao Chow Authentication v.1
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kaoChow1.html
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol kaochow(I,R,S)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir: SessionKey;
-
-        send_1 (I,S, I,R,ni);
-        recv_3 (R,I, {I,R,ni,kir}k(I,S), {ni}kir, nr );
-        send_4 (I,R, {nr}kir );
-
-        claim_I1 (I, Nisynch);
-        claim_I2 (I, Niagree);
-        claim_I3 (I, Secret, kir);
-        claim_I4 (I, Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        var kir: SessionKey;
-        var T;
-
-        recv_2 (S,R, T, { I,R,ni,kir }k(R,S) ); 
-        send_3 (R,I, T, {ni}kir, nr );
-        recv_4 (I,R, {nr}kir );
-
-        claim_R1 (R, Nisynch);
-        claim_R2 (R, Niagree);
-        claim_R3 (R, Secret, kir);
-        claim_R4 (R, Empty, (Fresh,kir));
-    }
-
-    role S
-    {
-        var ni: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1 (I,S, I,R,ni);
-        send_2 (S,R, {I,R,ni,kir}k(I,S), { I,R,ni,kir }k(R,S)  ); 
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ksl.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ksl.spdl
deleted file mode 100644
index 3595cf2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ksl.spdl	
+++ /dev/null
@@ -1,75 +0,0 @@
-# KSL
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ksl.html
-#
-#
-
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-
-
-protocol ksl(I,R,S)
-{
-    role I
-    {
-        fresh Ni, Mi: Nonce;
-        var Nc, Mr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-        
-        send_1(I,R, Ni, I);
-        recv_4(R,I, { Ni,R,Kir }k(I,S), T, Nc, {Ni}Kir );
-        send_5(I,R, { Nc }Kir );
-        
-        send_6(I,R, Mi,T );
-        recv_7(R,I, Mr,{Mi}Kir );
-        send_8(I,R, {Mr}Kir );
-
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty, (Fresh, Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Nc,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Kbb: TicketKey;
-        fresh Tr: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, Ni, I);
-        send_2(R,S, Ni, I, Nr, R );
-        recv_3(S,R, { Nr, I, Kir }k(R,S), T );
-        send_4(R,I, T, { Tr, I, Kir }Kbb, Nc, {Ni}Kir );
-        recv_5(I,R, { Nc }Kir );
-        
-        recv_6(I,R, Mi,{ Tr, I, Kir }Kbb );
-        send_7(R,I, Mr,{Mi}Kir );
-        recv_8(I,R, {Mr}Kir );
-
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-
-        recv_2(R,S, Ni, I, Nr, R );
-        send_3(S,R, { Nr, I, Kir }k(R,S), { Ni,R,Kir }k(I,S) );
-    }
-}
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk-amend.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk-amend.spdl
deleted file mode 100644
index 189093d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk-amend.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# Amended Needham Schroeder Symmetric Key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/nssk_amended.html
-#
-#
-# Note:
-# According to SPORE there are no attacks on this protocol, scyther
-# finds one however. This has to be investigated further.
-
-
-
-# Model dec that is invertible by inc
-const dec,inc: Function;
-inversekeys(dec,inc);
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol needhamschroedersk-amend(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var Kir: SessionKey;
-        var T,T2: Ticket;
-        
-        send_1(I,R,I);
-        recv_2(R,I,T);
-        send_3(I,S,(I,R,Ni,T));
-        recv_4(S,I, {Ni,R,Kir,T2}k(I,S));
-        send_5(I,R,T2);
-        recv_6(R,I,{Nr}Kir);
-        send_7(I,R,{{Nr}dec}Kir);
-        
-        claim_I2(I,Secret,Kir);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var Kir: SessionKey;
-        
-        recv_1(I,R,I);
-        send_2(R,I,{I,Nr}k(R,S));
-        recv_5(I,R,{Kir,Nr,I}k(R,S));
-        send_6(R,I,{Nr}Kir);
-        recv_7(I,R,{{Nr}dec}Kir);
-        claim_R1(R,Secret,Nr);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni,Nr: Nonce;
-        fresh Kir: SessionKey;
-        recv_3(I,S,(I,R,Ni,{I,Nr}k(R,S)));
-        send_4(S,I,{Ni,R,Kir,{Kir,Nr,I}k(R,S)}k(I,S));
-    }
-    
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk.spdl
deleted file mode 100644
index 71a7e6c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/needham-schroeder-sk.spdl	
+++ /dev/null
@@ -1,56 +0,0 @@
-# Needham Schroeder Symmetric Key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/nssk.html
-#
-#
-
-
-# Model dec that is invertible by inc
-const dec,inc: Function;
-inversekeys(dec,inc);
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol needhamschroedersk(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var Kir: SessionKey;
-        var T: Ticket;
-        
-        send_1(I,S,(I,R,Ni));
-        recv_2(S,I, {Ni,R,Kir,T}k(I,S));
-        send_3(I,R,T);
-        recv_4(R,I,{Nr}Kir);
-        send_5(I,R,{{Nr}dec}Kir);
-        claim_I2(I,Secret,Kir);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var Kir: SessionKey;
-        
-        recv_3(I,R,{Kir,I}k(R,S));
-        send_4(R,I,{Nr}Kir);
-        recv_5(I,R,{{Nr}dec}Kir);
-        claim_R1(R,Secret,Kir);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni: Nonce;
-        fresh Kir: SessionKey;
-        recv_1(I,S,(I,R,Ni));
-        send_2(S,I,{Ni,R,Kir,{Kir,I}k(R,S)}k(I,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/new.txt b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/new.txt
deleted file mode 100644
index dbba198..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/new.txt	
+++ /dev/null
@@ -1,5 +0,0 @@
-denning-sacco-lowe.spdl
-wmf.spdl
-wmf-lowe.spdl
-andrew-ban-concrete.spdl
-yahalom-ban-paulson.spdl
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ns3.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ns3.spdl
deleted file mode 100644
index b83afa7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/ns3.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 
- * Needham-Schroeder protocol
- */
-
-// The protocol description
-
-protocol ns3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,I}pk(R) );
-		recv_2(R,I, {ni,nr}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		//claim_i3(I,Alive);
-		claim_i4(I,Niagree);
-		claim_i5(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,I}pk(R) );
-		send_2(R,I, {ni,nr}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		//claim_r3(R,Alive);
-		claim_r4(R,Niagree);
-		claim_r5(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/nsl3.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/nsl3.spdl
deleted file mode 100644
index a4bfef5..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/nsl3.spdl	
+++ /dev/null
@@ -1,39 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol
- */
-
-// The protocol description
-
-protocol nsl3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,I}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,I}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/otwayrees.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/otwayrees.spdl
deleted file mode 100644
index bed12ad..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/otwayrees.spdl	
+++ /dev/null
@@ -1,56 +0,0 @@
-# Otway Rees
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/otwayRees.html
-#
-
-
-const Fresh: Function;
-const Compromised: Function;
-
-usertype String,SessionKey;
-
-protocol otwayrees(I,R,S)
-{
-    role I
-    {
-        fresh Ni : Nonce;
-        fresh M : String;
-        var Kir : SessionKey;
-
-        send_1(I,R, M,I,R,{Ni,M,I,R}k(I,S) );
-        recv_4(R,I, M,{Ni,Kir}k(I,S) );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-        claim_I3(I, Empty, (Fresh,Kir));
-    }
-
-    role R
-    {
-        var M : String;
-        fresh Nr : Nonce;
-        var Kir : SessionKey;
-        var T1,T2: Ticket;
-
-        recv_1(I,R, M,I,R, T1 );
-        send_2(R,S, M,I,R, T1, { Nr,M,I,R }k(R,S) );
-        recv_3(S,R, M, T2, { Nr,Kir }k(R,S) );
-        send_4(R,I, M, T2 );
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-        claim_R3(R, Empty, (Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni,Nr : Nonce;
-        var M : String;
-        fresh Kir : SessionKey;
-        
-        recv_2(R,S, M,I,R, { Ni,M,I,R}k(I,S), { Nr,M,I,R }k(R,S) );
-        send_3(S,R, M, { Ni,Kir }k(I,S) , { Nr,Kir }k(R,S) );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/soph.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/soph.spdl
deleted file mode 100644
index 3b10851..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/soph.spdl	
+++ /dev/null
@@ -1,21 +0,0 @@
-
-protocol soph(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-
-		send_1(I,R, {I,ni}pk(R) );
-		recv_2(R,I, ni );
-		claim_3(I,Niagree);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-
-		recv_1(I,R, {I,ni}pk(R) );
-		send_2(R,I, ni );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-cj.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-cj.spdl
deleted file mode 100644
index b393294..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-cj.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# Clark and Jacob modified Hwang and Chen modified SPLICE/AS
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/spliceas3.html
-#
-# Note:
-# The assumptions made here do not comply with those in SPORE 
-# SPORE assumes that the agents do not know the pk function, but only
-# their own public key values. 
-# This can currently not be modelled.
-
-
-usertype TimeStamp, LifeTime;
-
-const inc,dec: Function;
-inversekeys (inc,dec);
-
-protocol spliceAS-CJ(I,R,S)
-{
-        role I
-    {
-        fresh N1,N2: Nonce;
-        fresh T: TimeStamp;
-        fresh L: LifeTime;
-
-        send_1(I,S,  I, R, N1 );
-        recv_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        send_3(I,R,  I, R, {T, L, {I, N2}pk(R)}sk(I) );
-        recv_6(R,I,  R, I, {{N2}inc}pk(I) );
-
-        claim_7(I, Secret, N2);
-        claim_9(I, Niagree);
-        claim_10(I, Nisynch);
-    }
-
-    role S
-    {
-        var N1,N3: Nonce;
-
-        recv_1(I,S,  I, R, N1 );
-        send_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        recv_4(R,S, R, I, N3 );
-        send_5(S,R,  S, {S, R, N3, pk(I)}sk(S) );
-    }
-
-    role R
-    {
-        fresh N3: Nonce;
-        var N2: Nonce;
-        var T: TimeStamp;
-        var L: LifeTime;
-
-        var ni: Nonce;
-        fresh nr: Nonce;
-
-        recv_3(I,R, I, R, {T, L, {I, N2}pk(R)}sk(I) );
-        send_4(R,S, R, I, N3 );
-        recv_5(S,R, S, {S, R, N3, pk(I)}sk(S) );
-        send_6(R,I, R, I, {{N2}inc}pk(I) );
-
-        claim_8(R, Secret, N2);
-        claim_11(R, Niagree);
-        claim_12(R, Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-hc.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-hc.spdl
deleted file mode 100644
index 2f975ad..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as-hc.spdl	
+++ /dev/null
@@ -1,61 +0,0 @@
-# Hwang and Chen Modified SPLICE/AS
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/spliceas2.html
-#
-
-
-usertype TimeStamp, LifeTime;
-
-const inc,dec: Function;
-inversekeys (inc,dec);
-
-protocol spliceAS-HC(I,R,S)
-{
-        role I
-    {
-        fresh N1,N2: Nonce;
-        fresh T: TimeStamp;
-        fresh L: LifeTime;
-
-        send_1(I,S,  I, R, N1 );
-        recv_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        send_3(I,R,  I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        recv_6(R,I,  R, I, {R, {N2}inc}pk(I) );
-
-        claim_7(I, Secret, N2);
-        claim_9(I, Niagree);
-        claim_10(I, Nisynch);
-    }
-
-    role S
-    {
-        var N1,N3: Nonce;
-
-        recv_1(I,S,  I, R, N1 );
-        send_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        recv_4(R,S, R, I, N3 );
-        send_5(S,R,  S, {S, R, N3, I, pk(I)}sk(S) );
-    }
-
-    role R
-    {
-        fresh N3: Nonce;
-        var N2: Nonce;
-        var T: TimeStamp;
-        var L: LifeTime;
-
-        var ni: Nonce;
-        fresh nr: Nonce;
-
-        recv_3(I,R, I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        send_4(R,S, R, I, N3 );
-        recv_5(S,R, S, {S, R, N3, I, pk(I)}sk(S) );
-        send_6(R,I, R, I, {R, {N2}inc}pk(I) );
-
-        claim_8(R, Secret, N2);
-        claim_11(R, Niagree);
-        claim_12(R, Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as.spdl
deleted file mode 100644
index b1d8e18..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/splice-as.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPLICE/AS
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/spliceas.html
-#
-# Note:
-# The assumptions made here do not comply with those in SPORE 
-# SPORE assumes that the agents do not know the pk function, but only
-# their own public key values. 
-# This can currently not be modelled.
-
-
-usertype TimeStamp, LifeTime;
-
-const inc,dec: Function;
-inversekeys (inc,dec);
-
-protocol spliceAS(I,R,S)
-{
-        role I
-    {
-        fresh N1,N2: Nonce;
-        fresh T: TimeStamp;
-        fresh L: LifeTime;
-
-        send_1(I,S,  I, R, N1 );
-        recv_2(S,I,  S, {S, I, N1, pk(R)}sk(S) );
-        send_3(I,R,  I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        recv_6(R,I,  R, I, {R, {N2}inc}pk(I) );
-
-        claim_7(I, Secret, N2);
-        claim_9(I, Niagree);
-        claim_10(I, Nisynch);
-    }
-
-    role S
-    {
-        var N1,N3: Nonce;
-
-        recv_1(I,S,  I, R, N1 );
-        send_2(S,I,  S, {S, I, N1, pk(R)}sk(S) );
-        recv_4(R,S, R, I, N3 );
-        send_5(S,R,  S, {S, R, N3, pk(I)}sk(S) );
-    }
-
-    role R
-    {
-        fresh N3: Nonce;
-        var N2: Nonce;
-        var T: TimeStamp;
-        var L: LifeTime;
-
-        var ni: Nonce;
-        fresh nr: Nonce;
-
-        recv_3(I,R, I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        send_4(R,S, R, I, N3 );
-        recv_5(S,R, S, {S, R, N3, pk(I)}sk(S) );
-        send_6(R,I, R, I, {R, {N2}inc}pk(I) );
-
-        claim_8(R, Secret, N2);
-        claim_11(R, Niagree);
-        claim_12(R, Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/tmn.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/tmn.spdl
deleted file mode 100644
index c6fb55f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/tmn.spdl	
+++ /dev/null
@@ -1,51 +0,0 @@
-# TMN
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/tmn.html
-#
-# Note:
-# According to Boyd and Mathuria Kb is the session key this is not clear
-# from the description in SPORE
-usertype SessionKey;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol tmn(I,R,S)
-{
-    role I
-    {
-        fresh Ki: SessionKey;
-        var Kr: SessionKey;
-
-        send_1(I,S, R,{Ki}pk(S) );
-        recv_4(S,I, R,{Kr}Ki );
-
-        claim_I1(I,Secret,Kr);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,Kr));
-    }    
-    
-    role R
-    {
-        fresh Kr: SessionKey;
-
-        recv_2(S,R, I );
-        send_3(R,S, I, { Kr }pk(S) );
-
-        claim_R1(R,Secret,Kr);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kr));
-    }
-
-    role S
-    {
-        var Ki,Kr: SessionKey;
-
-        recv_1(I,S, R,{Ki}pk(S) );
-        send_2(S,R, I );
-        recv_3(R,S, I, { Kr }pk(S) );
-        send_4(S,I, R,{Kr}Ki );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-brutus.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-brutus.spdl
deleted file mode 100644
index c22bdcc..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-brutus.spdl	
+++ /dev/null
@@ -1,32 +0,0 @@
-usertype SesKey, Server;
-
-/* Version from the Brutus reports
-*/
-
-protocol wmfbrutus(A,B,S)
-{
-	role A
-	{
-		fresh kab : SesKey;
-
-		send_1(A,S, A, { B,kab }k(A,S) );
-	}
-
-	role B
-	{
-		var kab : SesKey;
-
-		recv_2(S,B, { A, kab }k(B,S) );
-
-		claim_3(B, Secret,kab);
-	}
-
-	role S
-	{
-		var kab : SesKey;
-
-		recv_1(A,S, A, { B,kab }k(A,S) );
-		send_2(S,B, { A, kab }k(B,S) );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-lowe.spdl
deleted file mode 100644
index 0e0de87..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf-lowe.spdl	
+++ /dev/null
@@ -1,63 +0,0 @@
-# Lowe modified Wide Mouthed Frog
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wideMouthedFrogLowe.html
-#
-# Note:
-# According to SPORE there are no known attacks on this protocol, scyther
-# finds one however this has to do with the unusual assumption that every 
-# agent can recognise and will reject to recv messages that it has created
-# itself.
-
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-const succ,pred: Function;
-inversekeys (succ,pred);
-const Fresh: Function;
-const Compromised: Function;
-
-protocol wmf-Lowe(I,R,S)
-{
-    role I
-    {
-        fresh Kir: SessionKey;
-        fresh Ti: TimeStamp;
-        var Kr: SessionKey;
-        var Nr: Nonce;
-
-        send_1(I,S, I, {Ti, R, Kir}k(I,S)); 
-        recv_3(R,I,{Nr}Kir);
-        send_4(I,R,{{Nr}succ}Kir);
-
-        claim_I1(I,Secret,Kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Ts: TimeStamp;
-        var Kir: SessionKey;
-        fresh Nr: Nonce;
-
-        recv_2(S,R, {Ts, I, Kir}k(R,S) );
-        send_3(R,I, {Nr}Kir);
-        recv_4(I,R, {{Nr}succ}Kir);
-
-        claim_R1(R,Secret,Kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Kir: SessionKey;
-        fresh Ts: TimeStamp;
-        var Ti: TimeStamp;
-
-        recv_1(I,S, I,{Ti, R, Kir}k(I,S) );
-        send_2(S,R, {Ts, I, Kir}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf.spdl
deleted file mode 100644
index 758843a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/wmf.spdl	
+++ /dev/null
@@ -1,54 +0,0 @@
-# Wide Mouthed Frog
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wideMouthedFrog.html
-#
-# Note
-# The name of the party that has generated a message was added in order
-# to model the property described in SPORE that an agent can identify
-# its own messages and will reject them.
-
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol wmf(I,R,S)
-{
-    role I
-    {
-        fresh Kir: SessionKey;
-        fresh Ti: TimeStamp;
-        var Kr: SessionKey;
-
-        send_1(I,S, I, {I, Ti, R, Kir}k(I,S)); 
-
-        claim_I1(I,Secret,Kir);
-        claim_I2(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Ts: TimeStamp;
-        var Kir: SessionKey;
-
-        recv_2(S,R, {S, Ts, I, Kir}k(R,S) );
-
-        claim_R1(R,Secret,Kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Kir: SessionKey;
-        fresh Ts: TimeStamp;
-        var Ti: TimeStamp;
-
-        recv_1(I,S, I,{I, Ti, R, Kir}k(I,S) );
-        send_2(S,R, {S, Ts, I, Kir}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl
deleted file mode 100644
index 7e4e09d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi 1
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi1.html
-#
-
-protocol woolamPi-1(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {I,R,Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I,R, T}k(R,S)); 
-        recv_5(S,R, {I,R, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I,R, {I,R,Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I,R,Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl
deleted file mode 100644
index 5d767d6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi 2
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi2.html
-#
-
-protocol woolamPi-2(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {I,Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, T}k(R,S)); 
-        recv_5(S,R, {I, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I, {I,Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I,Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl
deleted file mode 100644
index 1db544e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi 2
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi3.html
-#
-
-protocol woolamPi-3(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, T}k(R,S)); 
-        recv_5(S,R, {I, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I, {Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I,Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-f.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-f.spdl
deleted file mode 100644
index 22f028c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam-pi-f.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi f
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPif.html
-#
-
-protocol woolamPi-f(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {I,R,Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, R, Nr, T}k(R,S)); 
-        recv_5(S,R, {I, R, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I, R, Nr,{I,R,Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I, R, Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam.spdl
deleted file mode 100644
index 7e28057..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/woo-lam.spdl	
+++ /dev/null
@@ -1,64 +0,0 @@
-# Woo and Lam Mutual Authentication
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamMutual.html
-#
-
-
-usertype SessionKey;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol woolam(I,R,S)
-{
-    role I
-    {
-        fresh N1: Nonce;
-        var Kir: SessionKey;
-        var N2: Nonce;
-
-        send_1(I,R, I, N1); 
-        recv_2(R,I, R, N2);
-        send_3(I,R, {I, R, N1, N2}k(I,S));
-        recv_6(R,I, {R, N1, N2, Kir}k(I,S), {N1,N2}Kir);
-        send_7(I,R, {N2}Kir);
-        
-
-        claim_I1(I,Secret,Kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        fresh N2: Nonce;
-        var N1: Nonce;
-        var Kir: SessionKey;
-        var T1,T2: Ticket;
-
-        recv_1(I,R, I, N1);
-        send_2(R,I, R, N2);
-        recv_3(I,R, T1);
-        send_4(R,S, T1, {I, R, N1, N2}k(R,S));
-        recv_5(S,R, T2, {I, N1, N2, Kir}k(R,S));
-        send_6(R,I, T2, {N1,N2}Kir);
-        recv_7(I,R, {N2}Kir);
-        
-        claim_R1(R,Secret,Kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var N1,N2: Nonce;
-
-        recv_4(R,S, {I, R, N1, N2}k(I,S), {I, R, N1, N2}k(R,S));
-        send_5(S,R, {R, N1, N2, Kir}k(I,S), {I, N1, N2, Kir}k(R,S));
-    }
-}
-
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson-modified.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson-modified.spdl
deleted file mode 100644
index 13d62a6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson-modified.spdl	
+++ /dev/null
@@ -1,49 +0,0 @@
-// BAN modified version of the yahalom protocol
-//
-// Modeled as version in Paulson's paper:
-// "Relations Between Secrets: Two Formal Analyses of the Yahalom
-// Protocol"
-//
-// Modified (improved) version from page 16.
-
-usertype Server;
-usertype SessionKey;
-
-protocol yahalom-BAN-Paulson-modified(A,B,S)
-{
-	role A
-	{
-		fresh na: Nonce;
-		var nb: Nonce;
-		var ticket: Ticket;
-		var kab: SessionKey;
-
-		send_1(A,B, A,na);
-		recv_3(S,A, nb, {B,kab,na}k(A,S), ticket );
-		send_4(A,B, ticket, {nb}kab );
-		claim_5(A, Secret,kab);
-	}
-
-	role B
-	{
-		fresh nb: Nonce;
-		var na: Nonce;
-		var ticket: Ticket;
-		var kab: SessionKey;
-
-		recv_1(A,B, A,na);
-		send_2(B,S, B, nb, {A,na}k(B,S) );
-		recv_4(A,B, {A,B,kab,nb}k(B,S) , {nb}kab );
-		claim_6(B, Secret,kab);
-	}
-
-	role S
-	{
-		fresh kab: SessionKey;
-		var na,nb: Nonce;
-
-		recv_2(B,S, B, nb, {A,na}k(B,S) );
-		send_3(S,A, nb, {B,kab,na}k(A,S), {A,B,kab,nb}k(B,S) );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson.spdl
deleted file mode 100644
index 7d312ec..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban-paulson.spdl	
+++ /dev/null
@@ -1,47 +0,0 @@
-// BAN modified version of the yahalom protocol
-//
-// Modeled as version in Paulson's paper:
-// "Relations Between Secrets: Two Formal Analyses of the Yahalom
-// Protocol"
-
-usertype Server;
-usertype SessionKey;
-
-protocol yahalom-BAN-Paulson(A,B,S)
-{
-	role A
-	{
-		fresh na: Nonce;
-		var nb: Nonce;
-		var ticket: Ticket;
-		var kab: SessionKey;
-
-		send_1(A,B, A,na);
-		recv_3(S,A, {B,kab,na,nb}k(A,S), ticket );
-		send_4(A,B, ticket, {nb}kab );
-		claim_5(A, Secret,kab);
-	}
-
-	role B
-	{
-		fresh nb: Nonce;
-		var na: Nonce;
-		var ticket: Ticket;
-		var kab: SessionKey;
-
-		recv_1(A,B, A,na);
-		send_2(B,S, B, {A,na,nb}k(B,S) );
-		recv_4(A,B, {A,kab}k(B,S) , {nb}kab );
-		claim_6(B, Secret,kab);
-	}
-
-	role S
-	{
-		fresh kab: SessionKey;
-		var na,nb: Nonce;
-
-		recv_2(B,S, B, {A,na,nb}k(B,S) );
-		send_3(S,A, {B,kab,na,nb}k(A,S), {A,kab}k(B,S) );
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban.spdl
deleted file mode 100644
index 3fa5f84..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-ban.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-# BAN simplified version of Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalomBAN.html
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol yahalom-BAN(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, Nr, {R,Kir,Ni}k(I,S), T );
-        send_4(I,R, T, {Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-        claim_I3(I, Empty, (Fresh,Kir));
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, R, Nr, {I,Ni}k(R,S) );
-        recv_4(I,R, {I,Kir,Nr}k(R,S) , {Nr}Kir );
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-        claim_R3(R, Empty, (Fresh,Kir));
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, R, Nr, {I,Ni}k(R,S) );
-        send_3(S,I, Nr, {R,Kir,Ni}k(I,S), {I,Kir,Nr}k(R,S) );
-    }
-}
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-lowe.spdl
deleted file mode 100644
index 651389d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom-lowe.spdl	
+++ /dev/null
@@ -1,53 +0,0 @@
-# Lowe's modified version of Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalomLowe.html
-#
-#
-
-usertype SessionKey;
-
-
-protocol yahalom-Lowe(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, {R,Kir,Ni,Nr}k(I,S) );
-        send_5(I,R, {I, R, S, Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, {I,Ni,Nr}k(R,S) );
-        recv_4(S,R, {I,Kir}k(R,S));
-        recv_5(I,R, {I, R, S, Nr}Kir);
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, {I,Ni,Nr}k(R,S) );
-        send_3(S,I, {R,Kir,Ni,Nr}k(I,S));
-        send_4(S,R, {I,Kir}k(R,S));
-    }
-}
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom.spdl b/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom.spdl
deleted file mode 100644
index 063817f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/MultiProtocolAttacks/yahalom.spdl	
+++ /dev/null
@@ -1,52 +0,0 @@
-# Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalom.html
-#
-#
-
-usertype SessionKey;
-
-protocol yahalom(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, {R,Kir,Ni,Nr}k(I,S), T );
-        send_4(I,R, T, {Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, R, {I,Ni,Nr}k(R,S) );
-        recv_4(I,R, {I,Kir}k(R,S) , {Nr}Kir );
-
-        claim_R1(R, Secret,Kir);
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, R, {I,Ni,Nr}k(R,S) );
-        send_3(S,I, {R,Kir,Ni,Nr}k(I,S), {I,Kir}k(R,S) );
-
-        claim(S, Secret, Ni);
-        claim(S, Secret, Nr);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/NotModelled.txt b/Vagrant Files/shared/scyther/Protocols/NotModelled.txt
deleted file mode 100644
index 120e55f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/NotModelled.txt	
+++ /dev/null
@@ -1,23 +0,0 @@
-The following protocols have not been modelled for use in Scyther:
-
-- CAM http://www.lsv.ens-cachan.fr/spore/cam.html
-This protocol only consists of one message and corresponding database actions.
-The description given in SPORE is unsuitable for formalisation.
-
-- Diffie Helman http://www.lsv.ens-cachan.fr/spore/diffieHelman.html
-This protocol relies on algebraic properties that can not be modelled in
-scyther.
-
-- GJM http://www.lsv.ens-cachan.fr/spore/gjm.html
-This protocol contains complicated if-then-else constructions that can
-not be modelled in scyther.
-
-- Gong http://www.lsv.ens-cachan.fr/spore/gong.html
-This protocol relies on algebraic properties that can not be modelled in
-scyther.
-
-- SK3
-This protocol relies on algebraic properties that can not be modelled in
-scyther. It also has the notion of channels that can not be attacked,
-which can not be modelled in scyther either.
-
diff --git a/Vagrant Files/shared/scyther/Protocols/andrew-ban-concrete.spdl b/Vagrant Files/shared/scyther/Protocols/andrew-ban-concrete.spdl
deleted file mode 100644
index 48f52d8..0000000
--- a/Vagrant Files/shared/scyther/Protocols/andrew-ban-concrete.spdl	
+++ /dev/null
@@ -1,67 +0,0 @@
-# BAN concrete Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrewBAN2.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# In order to overcome this a 'dummy' role X has been hadded that recrypts
-# a given term crypted with k(I,R) with k(R,I)
-#
-# Note:
-# Recv 4 by the Initatior has been placed after the synchronisation claim
-# as it allows trivial synchronisation attacks otherwise (the message is 
-# completely fresh and can therefore always be replaced by an arbitrary value 
-# created by the intruder) which are not considered in SPORE
-#
-
-usertype SessionKey;
-const Fresh: Function;
-
-protocol @swapkey(X)
-{
-    # Protocol added to work around the symmetry problems where k(I,R) != k(R,I)
-    role X
-    {
-        var I,R: Agent;
-        var T:Ticket;
-        recv_!X1(X,X,I,R,{T}k(I,R));
-        send_!X2(X,X,{T}k(R,I));
-    }
-}
-
-protocol andrew-Concrete(I,R)
-{
-    
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir: SessionKey;
-        
-        send_1(I,R, I,ni );
-        recv_2(R,I, {ni,kir}k(I,R) );
-        send_3(I,R, {ni}kir);
-        claim_I1(I,Secret,kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,kir));
-        recv_6(R,I, nr);
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,ni );
-        send_2(R,I, {ni,kir}k(I,R) );
-        recv_3(I,R, {ni}kir);
-        send_6(R,I, nr);
-        claim_R1(R,Secret,kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/andrew-ban.spdl b/Vagrant Files/shared/scyther/Protocols/andrew-ban.spdl
deleted file mode 100644
index 9ebd566..0000000
--- a/Vagrant Files/shared/scyther/Protocols/andrew-ban.spdl	
+++ /dev/null
@@ -1,54 +0,0 @@
-# BAN modified Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrewBAN.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# So it is possile that certain attacks that use this property are not found
-# 
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol andrew-Ban(I,R)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr,nr2: Nonce;
-        var kir: SessionKey;
-
-        send_1(I,R, I,{ni}k(I,R) );
-        recv_2(R,I, {ni,nr}k(I,R) );
-        send_3(I,R, {nr}k(I,R) );
-        recv_4(R,I, {kir,nr2,ni}k(I,R) );
-        claim_I1(I,Nisynch);
-        claim_I2(I,Niagree);
-        claim_I3(I,Secret, kir);
-        claim_I4(I,Secret, k(I,R));
-        claim_I5(I,Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr,nr2: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,{ni}k(I,R) );
-        send_2(R,I, {ni,nr}k(I,R) );
-        recv_3(I,R, {nr}k(I,R) );
-        send_4(R,I, {kir,nr2,ni}k(I,R) );
-        claim_R1(R,Nisynch);
-        claim_R2(R,Niagree);
-        claim_R3(R,Secret, kir);
-        claim_R4(R,Secret, k(I,R));
-        claim_R5(R,Empty, (Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/andrew-lowe-ban.spdl b/Vagrant Files/shared/scyther/Protocols/andrew-lowe-ban.spdl
deleted file mode 100644
index 04e15f2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/andrew-lowe-ban.spdl	
+++ /dev/null
@@ -1,57 +0,0 @@
-# Lowe modified BAN concrete Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrewLowe.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# So it is possile that certain attacks that use this property are not found
-#
-# Note:
-# Recv 4 by the Initatior has been placed after the synchronisation claim
-# as it allows trivial synchronisation attacks otherwise (the message is
-# completely fresh and can therefore always be replaced by an arbitrary value
-# created by the intruder) which are not considered in SPORE
-#
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol andrew-LoweBan(I,R)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir: SessionKey;
-
-        send_1(I,R, I,ni );
-        recv_2(R,I, {ni,kir,R}k(I,R) );
-        send_3(I,R, {ni}kir );
-        claim_I1(I,Nisynch);
-        claim_I2(I,Secret, kir);
-        claim_I3(I,Empty, (Fresh,kir));
-        recv_4(R,I, nr );
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,ni );
-        send_2(R,I, {ni,kir,R}k(I,R) );
-        recv_3(I,R, {ni}kir );
-        send_4(R,I, nr );
-        claim_R1(R,Nisynch);
-        claim_R2(R,Secret, kir);
-        claim_R3(R,Empty, (Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/andrew.spdl b/Vagrant Files/shared/scyther/Protocols/andrew.spdl
deleted file mode 100644
index b2e663c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/andrew.spdl	
+++ /dev/null
@@ -1,50 +0,0 @@
-# Andrew Secure RPC
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/andrew.html
-#
-# Note:
-# The shared key between I and R is modelled as k(I,R) currently
-# there is no way to express that this key is equal to k(R,I)
-# So it is possile that certain attacks that use this property are not found
-#
-
-usertype SessionKey;
-const succ: Function;
-const Fresh: Function;
-
-protocol andrew(I,R)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr,nr2: Nonce;
-        var kir: SessionKey;
-
-        send_1(I,R, I,{ni}k(I,R) );
-        recv_2(R,I, {succ(ni),nr}k(I,R) );
-        send_3(I,R, {succ(nr)}k(I,R) );
-        recv_4(R,I, {kir,nr2}k(I,R) );
-        claim_I1(I,Secret,kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Niagree);
-        claim_I4(I,Empty,(Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr,nr2: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1(I,R, I,{ni}k(I,R) );
-        send_2(R,I, {succ(ni),nr}k(I,R) );
-        recv_3(I,R, {succ(nr)}k(I,R) );
-        send_4(R,I, {kir,nr2}k(I,R) );
-        claim_R1(R,Secret,kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Niagree);
-        claim_R4(R,Empty,(Fresh,kir));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ccitt509-1.spdl b/Vagrant Files/shared/scyther/Protocols/ccitt509-1.spdl
deleted file mode 100644
index 29c665a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ccitt509-1.spdl	
+++ /dev/null
@@ -1,35 +0,0 @@
-# CCITT X.509 (1)
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ccittx509_1.html
-#
-# Note:
-# The attack in SPORE is not found as this is not an attack against
-# synchronisation, but an attack against the freshness of Xa and Ya
-# which can currently not be modelled in scyther
-#
-
-usertype Timestamp;
-
-protocol ccitt509-1(I,R)
-{
-    role I
-    {
-        fresh Ta: Timestamp;
-        fresh Na,Xa,Ya: Nonce;
-        send_1(I,R, I,{Ta, Na, R, Xa,{Ya}pk(R)}sk(I));
-        # claim_2(I,Nisynch);
-        # This claim is useless as there are no preceding recv events
-    }    
-    
-    role R
-    {
-        var Ta: Timestamp;
-        var Na,Xa,Ya: Nonce;
-
-        recv_1(I,R, I,{Ta, Na, R, Xa,{Ya}pk(R)}sk(I));
-        claim_3(R,Nisynch);
-        # There should also be Fresh Xa and Fresh Ya claims here
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ccitt509-1c.spdl b/Vagrant Files/shared/scyther/Protocols/ccitt509-1c.spdl
deleted file mode 100644
index b75e069..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ccitt509-1c.spdl	
+++ /dev/null
@@ -1,34 +0,0 @@
-# CCITT X.509 (1c)
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ccittx509_1c.html
-#
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-
-hashfunction hash;
-usertype Timestamp;
-
-protocol ccitt509-1c(I,R)
-{
-    role I
-    {
-        fresh Ta: Timestamp;
-        fresh Na,Xa,Ya: Nonce;
-        send_1(I,R, I,{Ta, Na, R, Xa,{Ya,{hash(Ya)}sk(I)}pk(R)}sk(I));
-        # claim_2(I,Nisynch);
-        # This claim is useless as there are no preceding receive events
-    }    
-    
-    role R
-    {
-        var Ta: Timestamp;
-        var Na,Xa,Ya: Nonce;
-
-        recv_1(I,R, I,{Ta, Na, R, Xa,{Ya,{hash(Ya)}sk(I)}pk(R)}sk(I));
-        claim_3(R,Nisynch);
-        # There should also be Fresh Xa and Fresh Ya claims here
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ccitt509-3.spdl b/Vagrant Files/shared/scyther/Protocols/ccitt509-3.spdl
deleted file mode 100644
index 9ad1d3f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ccitt509-3.spdl	
+++ /dev/null
@@ -1,45 +0,0 @@
-# CCITT X.509 (3)
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ccittx509_3.html
-#
-# Note:
-# The protocol description also states that Xa and Ya should be fresh
-# this can not be verified using scyther
-#
-
-usertype Timestamp;
-
-protocol ccitt509-3(I,R)
-{
-    role I
-    {
-        fresh Ta: Timestamp;
-        var Tb: Timestamp;
-        fresh Na,Xa,Ya: Nonce;
-        var Xb,Nb,Yb: Nonce;
-        send_1(I,R, I,{Ta, Na, R, Xa,{Ya}pk(R)}sk(I));
-        recv_2(R,I, R,{Tb, Nb, I, Na, Xb,{Yb}pk(I)}sk(R));
-        send_3(I,R, I, {Nb}sk(I));
-        claim_I1(I,Nisynch);
-        claim_I2(I,Secret,Ya);
-        claim_I3(I,Secret,Yb);
-    }    
-    
-    role R
-    {
-        var Ta: Timestamp;
-        fresh Tb: Timestamp;
-        var Na,Xa,Ya: Nonce;
-        fresh Xb,Yb,Nb: Nonce;
-
-        recv_1(I,R, I,{Ta, Na, R, Xa,{Ya}pk(R)}sk(I));
-        send_2(R,I, R,{Tb, Nb, I, Na, Xb,{Yb}pk(I)}sk(R));
-        recv_3(I,R, I, {Nb}sk(I));
-        claim_R1(R,Nisynch);
-        claim_R2(R,Secret,Ya);
-        claim_R3(R,Secret,Yb);
-        # There should also be Fresh Xa and Fresh Ya claims here
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ccitt509-ban3.spdl b/Vagrant Files/shared/scyther/Protocols/ccitt509-ban3.spdl
deleted file mode 100644
index bdf146d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ccitt509-ban3.spdl	
+++ /dev/null
@@ -1,39 +0,0 @@
-# BAN modified version of CCITT X.509 (3)
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ccittx509_3BAN.html
-#
-# Note:
-# The protocol description also states that Xa and Ya should be fresh
-# this can not be verified using scyther
-# 
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-
-protocol ccitt509-ban3(I,R)
-{
-    role I
-    {
-        fresh Na,Xa,Ya: Nonce;
-        var Xb,Nb,Yb: Nonce;
-
-        send_1(I,R, I,{Na, R, Xa,{Ya}pk(R)}sk(I));
-        recv_2(R,I, R,{Nb, I, Na, Xb,{Yb}pk(I)}sk(R));
-        send_3(I,R, I,{R, Nb}sk(I));
-        claim_4(I,Nisynch);
-    }    
-    
-    role R
-    {
-        var Na,Xa,Ya: Nonce;
-        fresh Xb,Yb,Nb: Nonce;
-
-        recv_1(I,R, I,{Na, R, Xa,{Ya}pk(R)}sk(I));
-        send_2(R,I, R,{Nb, I, Na, Xb,{Yb}pk(I)}sk(R));
-        recv_3(I,R, I,{R, Nb}sk(I));
-        claim_5(R,Nisynch);
-        # There should also be Fresh Xa and Fresh Ya claims here
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/denning-sacco-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/denning-sacco-lowe.spdl
deleted file mode 100644
index 761c22b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/denning-sacco-lowe.spdl	
+++ /dev/null
@@ -1,67 +0,0 @@
-# Lowe modified Denning-Sacco shared key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/denningSaccoLowe.html
-#
-# Note:
-# According to SPORE there are no attacks on this protocol. Scyther
-# finds a straightforward pre-play attack on the first message, which
-# violates synchronisation. However, this does not seem to be a
-# practical attack unless consistency is required, e.g., for logging or
-# auditing.
-
-usertype Key;
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-usertype PseudoFunction;
-const dec: PseudoFunction;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol denningSacco-Lowe(I,R,S)
-{
-    role I
-    {
-        var W: Ticket;
-        var Kir: SessionKey;
-        var T: TimeStamp;
-        var Nr: Nonce;
-
-        send_1(I,S, I,R );
-        recv_2(S,I, {R, Kir, T, W}k(I,S) );
-        send_3(I,R, W);
-        recv_4(R,I, {Nr}Kir);
-        send_5(I,R, {{Nr}dec}Kir);
-        claim_I1(I,Niagree);
-        claim_I2(I,Nisynch);
-        claim_I3(I,SKR,Kir);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Kir: SessionKey;
-        var T: TimeStamp;
-        fresh Nr: Nonce;
-
-        recv_3(I,R, {Kir,I,T}k(R,S));
-        send_4(R,I, {Nr}Kir);
-        recv_5(I,R, {{Nr}dec}Kir);
-        claim_R1(R,Niagree);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Secret,Kir);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-    
-    role S
-    {
-        var W: Ticket;
-        fresh Kir: SessionKey;
-        fresh T: TimeStamp;
-
-        recv_1(I,S, I,R );
-        send_2(S,I, {R, Kir, T, {Kir, I,T}k(R,S)}k(I,S));
-    }    
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/denning-sacco.spdl b/Vagrant Files/shared/scyther/Protocols/denning-sacco.spdl
deleted file mode 100644
index d77402f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/denning-sacco.spdl	
+++ /dev/null
@@ -1,53 +0,0 @@
-# Denning-Sacco shared key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/denningSacco.html
-#
-
-usertype Key;
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol denningSacco(I,R,S)
-{
-    role I
-    {
-        var W: Ticket;
-        var Kir: SessionKey;
-        var T: TimeStamp;
-
-        send_1(I,S, I,R );
-        recv_2(S,I, {R, Kir, T, W}k(I,S) );
-        send_3(I,R, W);
-        claim_I1(I,Niagree);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Secret,Kir);
-        claim_I4(I,Empty, (Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Kir: SessionKey;
-        var T: TimeStamp;
-
-        recv_3(I,R, {Kir,I,T}k(R,S));
-        claim_R1(R,Niagree);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Secret,Kir);
-        claim_R4(R,Empty, (Fresh,Kir));
-    }
-    
-    role S
-    {
-        var W: Ticket;
-        fresh Kir: SessionKey;
-        fresh T: TimeStamp;
-
-        recv_1(I,S, I,R );
-        send_2(S,I, {R, Kir, T, {Kir, I,T}k(R,S)}k(I,S));
-    }    
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/kaochow-v2.spdl b/Vagrant Files/shared/scyther/Protocols/kaochow-v2.spdl
deleted file mode 100644
index 638a54b..0000000
--- a/Vagrant Files/shared/scyther/Protocols/kaochow-v2.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-# Kao Chow Authentication v.2
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kaoChow2.html
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol kaochow-2(I,R,S)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir,kt: SessionKey;
-
-        send_1 (I,S, I,R,ni);
-        recv_3 (R,I, R, {I,R,ni,kir,kt}k(I,S), {ni, kir}kt, nr );
-        send_4 (I,R, {nr,kir}kt );
-
-        claim_I1 (I, Nisynch);
-        claim_I2 (I, Niagree);
-        claim_I3 (I, Secret, kir);
-        claim_I4 (I, Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        var kir,kt: SessionKey;
-        var T: Ticket;
-
-        recv_2 (S,R, T, { I,R,ni,kir,kt }k(R,S)  ); 
-        send_3 (R,I, R, T, {ni, kir}kt, nr );
-        recv_4 (I,R, {nr,kir}kt );
-
-        claim_R1 (R, Nisynch);
-        claim_R2 (R, Niagree);
-        claim_R3 (R, Secret, kir);
-        claim_R4 (R, Empty, (Fresh,kir));
-    }
-
-    role S
-    {
-        var ni: Nonce;
-        fresh kir, kt: SessionKey;
-
-        recv_1 (I,S, I,R,ni);
-        send_2 (S,R, {I,R,ni,kir,kt}k(I,S), { I,R,ni,kir,kt }k(R,S)  ); 
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/kaochow-v3.spdl b/Vagrant Files/shared/scyther/Protocols/kaochow-v3.spdl
deleted file mode 100644
index 88cef24..0000000
--- a/Vagrant Files/shared/scyther/Protocols/kaochow-v3.spdl	
+++ /dev/null
@@ -1,59 +0,0 @@
-# Kao Chow Authentication v.3
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kaoChow3.html
-#
-
-usertype SessionKey;
-usertype ExpiredTimeStamp;
-usertype TimeStamp;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol kaochow-3(I,R,S)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir,kt: SessionKey;
-        var T2: Ticket;
-
-        send_1 (I,S, I,R,ni);
-        recv_3 (R,I, {I,R,ni,kir,kt}k(I,S), {ni, kir}kt, nr, T2 );
-        send_4 (I,R, {nr,kir}kt, T2 );
-
-        claim_I1 (I, Nisynch);
-        claim_I2 (I, Niagree);
-        claim_I3 (I, Secret, kir);
-        claim_I4 (I, Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        var kir,kt: SessionKey;
-        var T: Ticket;
-        fresh tr: TimeStamp;
-
-        recv_2 (S,R, T, { I,R,ni,kir,kt }k(R,S)  ); 
-        send_3 (R,I, T, {ni, kir}kt, nr, {I,R,tr,kir}k(R,S) );
-        recv_4 (I,R, {nr,kir}kt, {I,R,tr,kir}k(R,S) );
-
-        claim_R1 (R, Nisynch);
-        claim_R2 (R, Niagree);
-        claim_R3 (R, Secret, kir);
-        claim_R4 (R, Empty, (Fresh,kir));
-    }
-
-    role S
-    {
-        var ni: Nonce;
-        fresh kir, kt: SessionKey;
-
-        recv_1 (I,S, I,R,ni);
-        send_2 (S,R, {I,R,ni,kir,kt}k(I,S), { I,R,ni,kir,kt }k(R,S)  ); 
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/kaochow.spdl b/Vagrant Files/shared/scyther/Protocols/kaochow.spdl
deleted file mode 100644
index 1c6c827..0000000
--- a/Vagrant Files/shared/scyther/Protocols/kaochow.spdl	
+++ /dev/null
@@ -1,55 +0,0 @@
-# Kao Chow Authentication v.1
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kaoChow1.html
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol kaochow(I,R,S)
-{
-    role I
-    {
-        fresh ni: Nonce;
-        var nr: Nonce;
-        var kir: SessionKey;
-
-        send_1 (I,S, I,R,ni);
-        recv_3 (R,I, {I,R,ni,kir}k(I,S), {ni}kir, nr );
-        send_4 (I,R, {nr}kir );
-
-        claim_I1 (I, Nisynch);
-        claim_I2 (I, Niagree);
-        claim_I3 (I, Secret, kir);
-        claim_I4 (I, Empty, (Fresh,kir));
-    }    
-    
-    role R
-    {
-        var ni: Nonce;
-        fresh nr: Nonce;
-        var kir: SessionKey;
-        var T;
-
-        recv_2 (S,R, T, { I,R,ni,kir }k(R,S) ); 
-        send_3 (R,I, T, {ni}kir, nr );
-        recv_4 (I,R, {nr}kir );
-
-        claim_R1 (R, Nisynch);
-        claim_R2 (R, Niagree);
-        claim_R3 (R, Secret, kir);
-        claim_R4 (R, Empty, (Fresh,kir));
-    }
-
-    role S
-    {
-        var ni: Nonce;
-        fresh kir: SessionKey;
-
-        recv_1 (I,S, I,R,ni);
-        send_2 (S,R, {I,R,ni,kir}k(I,S), { I,R,ni,kir }k(R,S)  ); 
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ksl-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/ksl-lowe.spdl
deleted file mode 100644
index 29996d8..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ksl-lowe.spdl	
+++ /dev/null
@@ -1,73 +0,0 @@
-# Lowe modified KSL
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/kslLowe.html
-#
-# Note:
-# According to SPORE there are no attacks on this protocol, scyther
-# finds one however. This has to be investigated further.
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol ksl-Lowe(I,R,S)
-{
-    role I
-    {
-        fresh Ni, Mi: Nonce;
-        var Nc, Mr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-        
-        send_1(I,R, Ni, I);
-        recv_4(R,I, { Ni,R,Kir }k(I,S), T, Nc, {R,Ni}Kir );
-        send_5(I,R, { Nc }Kir );
-        
-        send_6(I,R, Mi,T );
-        recv_7(R,I, Mr,{Mi, R}Kir );
-        send_8(I,R, {I,Mr}Kir );
-
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty, (Fresh,Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Nc,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Kbb: TicketKey;
-        fresh Tr: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, Ni, I);
-        send_2(R,S, Ni, I, Nr, R );
-        recv_3(S,R, { I, Nr, Kir }k(R,S), T );
-        send_4(R,I, T, { Tr, I, Kir }Kbb, Nc, {R, Ni}Kir );
-        recv_5(I,R, { Nc }Kir );
-        
-        recv_6(I,R, Mi,{ Tr, I, Kir }Kbb );
-        send_7(R,I, Mr,{Mi,R}Kir );
-        recv_8(I,R, {I,Mr}Kir );
-
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty, (Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-
-        recv_2(R,S, Ni, I, Nr, R );
-        send_3(S,R, { I, Nr, Kir }k(R,S), { Ni,R,Kir }k(I,S) );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/ksl.spdl b/Vagrant Files/shared/scyther/Protocols/ksl.spdl
deleted file mode 100644
index 7cfca44..0000000
--- a/Vagrant Files/shared/scyther/Protocols/ksl.spdl	
+++ /dev/null
@@ -1,72 +0,0 @@
-# KSL
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/ksl.html
-#
-#
-
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol ksl(I,R,S)
-{
-    role I
-    {
-        fresh Ni, Mi: Nonce;
-        var Nc, Mr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-        
-        send_1(I,R, Ni, I);
-        recv_4(R,I, { Ni,R,Kir }k(I,S), T, Nc, {Ni}Kir );
-        send_5(I,R, { Nc }Kir );
-        
-        send_6(I,R, Mi,T );
-        recv_7(R,I, Mr,{Mi}Kir );
-        send_8(I,R, {Mr}Kir );
-
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty, (Fresh, Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Nc,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Kbb: TicketKey;
-        fresh Tr: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, Ni, I);
-        send_2(R,S, Ni, I, Nr, R );
-        recv_3(S,R, { Nr, I, Kir }k(R,S), T );
-        send_4(R,I, T, { Tr, I, Kir }Kbb, Nc, {Ni}Kir );
-        recv_5(I,R, { Nc }Kir );
-        
-        recv_6(I,R, Mi,{ Tr, I, Kir }Kbb );
-        send_7(R,I, Mr,{Mi}Kir );
-        recv_8(I,R, {Mr}Kir );
-
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-
-        recv_2(R,S, Ni, I, Nr, R );
-        send_3(S,R, { Nr, I, Kir }k(R,S), { Ni,R,Kir }k(I,S) );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/multi-NSL/heuristics-results.txt b/Vagrant Files/shared/scyther/Protocols/multi-NSL/heuristics-results.txt
deleted file mode 100644
index cc55c31..0000000
--- a/Vagrant Files/shared/scyther/Protocols/multi-NSL/heuristics-results.txt	
+++ /dev/null
@@ -1,776 +0,0 @@
-Slave1:multiparty% ./test-heuristics.py
-Starting with [11, 15]
-Testing using P 3 and 5 runs.
-Testing protocol 11.
-Heuristic 0:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=0 --timer=20
-states  7488
-attack  NoClaim
-time    2.007e+01
-st/sec  3.731e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 1:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=1 --timer=20
-states  3869
-attack  NoClaim
-time    2.004e+01
-st/sec  1.931e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 2:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=2 --timer=20
-states  6543
-attack  NoClaim
-time    2.006e+01
-st/sec  3.262e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 3:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=3 --timer=20
-states  9003
-attack  NoClaim
-time    2.005e+01
-st/sec  4.490e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  1       correct: bounded_proof
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 4:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=4 --timer=20
-states  6375
-attack  NoClaim
-time    2.008e+01
-st/sec  3.175e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 5:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=5 --timer=20
-states  4282
-attack  NoClaim
-time    2.007e+01
-st/sec  2.134e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  4       correct: bounded_proof  time=20
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 6:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=6 --timer=20
-states  6791
-attack  NoClaim
-time    2.002e+01
-st/sec  3.392e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 7:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=7 --timer=20
-states  8115
-attack  NoClaim
-time    2.004e+01
-st/sec  4.049e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  14      correct: bounded_proof  time=20
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 8:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=8 --timer=20
-states  9649
-attack  NoClaim
-time    2.003e+01
-st/sec  4.817e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 9:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=9 --timer=20
-states  3873
-attack  NoClaim
-time    2.005e+01
-st/sec  1.932e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 10:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=10 --timer=20
-states  11954
-attack  NoClaim
-time    2.007e+01
-st/sec  5.956e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 11:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=11 --timer=20
-states  7367
-attack  NoClaim
-time    2.003e+01
-st/sec  3.678e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 12:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=12 --timer=20
-states  6271
-attack  NoClaim
-time    2.005e+01
-st/sec  3.128e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 13:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=13 --timer=20
-states  4729
-attack  NoClaim
-time    2.006e+01
-st/sec  2.357e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 14:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=14 --timer=20
-states  7566
-attack  NoClaim
-time    2.002e+01
-st/sec  3.779e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 15:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=15 --timer=20
-states  8496
-attack  NoClaim
-time    2.005e+01
-st/sec  4.237e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 16:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=16 --timer=20
-states  7453
-attack  NoClaim
-time    2.003e+01
-st/sec  3.721e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 17:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=17 --timer=20
-states  3888
-attack  NoClaim
-time    2.004e+01
-st/sec  1.940e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 18:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=18 --timer=20
-states  6582
-attack  NoClaim
-time    2.003e+01
-st/sec  3.286e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 19:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=19 --timer=20
-states  9022
-attack  NoClaim
-time    2.001e+01
-st/sec  4.509e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  1       correct: bounded_proof
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 20:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=20 --timer=20
-states  6393
-attack  NoClaim
-time    2.003e+01
-st/sec  3.192e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 21:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=21 --timer=20
-states  4284
-attack  NoClaim
-time    2.002e+01
-st/sec  2.140e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  4       correct: bounded_proof  time=20
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 22:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=22 --timer=20
-states  6769
-attack  NoClaim
-time    2.001e+01
-st/sec  3.383e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 23:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=23 --timer=20
-states  8175
-attack  NoClaim
-time    2.002e+01
-st/sec  4.083e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  14      correct: bounded_proof  time=20
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 24:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=24 --timer=20
-states  9625
-attack  NoClaim
-time    2.003e+01
-st/sec  4.805e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 25:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=25 --timer=20
-states  3883
-attack  NoClaim
-time    2.002e+01
-st/sec  1.940e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 26:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=26 --timer=20
-states  11992
-attack  NoClaim
-time    2.004e+01
-st/sec  5.984e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 27:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=27 --timer=20
-states  7361
-attack  NoClaim
-time    2.004e+01
-st/sec  3.673e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 28:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=28 --timer=20
-states  6277
-attack  NoClaim
-time    2.004e+01
-st/sec  3.132e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 29:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=29 --timer=20
-states  4728
-attack  NoClaim
-time    2.005e+01
-st/sec  2.358e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 30:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=30 --timer=20
-states  7610
-attack  NoClaim
-time    2.004e+01
-st/sec  3.797e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 31:
-./multinsl-generator.py 3 11 | scyther -a -r5 -m2 --summary  --goal-select=31 --timer=20
-states  8506
-attack  NoClaim
-time    2.003e+01
-st/sec  4.247e+02
-claim   mnsl3v11        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v11        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v11        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Testing protocol 15.
-Heuristic 0:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=0 --timer=20
-states  7499
-attack  NoClaim
-time    2.003e+01
-st/sec  3.744e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 1:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=1 --timer=20
-states  3866
-attack  NoClaim
-time    2.004e+01
-st/sec  1.929e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 2:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=2 --timer=20
-states  6558
-attack  NoClaim
-time    2.003e+01
-st/sec  3.274e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 3:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=3 --timer=20
-states  8933
-attack  NoClaim
-time    2.002e+01
-st/sec  4.462e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  1       correct: bounded_proof
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 4:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=4 --timer=20
-states  6354
-attack  NoClaim
-time    2.002e+01
-st/sec  3.174e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 5:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=5 --timer=20
-states  4278
-attack  NoClaim
-time    2.004e+01
-st/sec  2.135e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  4       correct: bounded_proof  time=20
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 6:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=6 --timer=20
-states  6749
-attack  NoClaim
-time    2.002e+01
-st/sec  3.371e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 7:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=7 --timer=20
-states  8166
-attack  NoClaim
-time    2.003e+01
-st/sec  4.077e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  14      correct: bounded_proof  time=20
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 8:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=8 --timer=20
-states  9805
-attack  NoClaim
-time    2.006e+01
-st/sec  4.888e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 9:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=9 --timer=20
-states  3873
-attack  NoClaim
-time    2.004e+01
-st/sec  1.933e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 10:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=10 --timer=20
-states  10729
-attack  NoClaim
-time    2.006e+01
-st/sec  5.348e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 11:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=11 --timer=20
-states  6679
-attack  NoClaim
-time    2.005e+01
-st/sec  3.331e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 12:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=12 --timer=20
-states  6119
-attack  NoClaim
-time    2.005e+01
-st/sec  3.052e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 13:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=13 --timer=20
-states  3513
-attack  NoClaim
-time    2.009e+01
-st/sec  1.749e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 14:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=14 --timer=20
-states  7548
-attack  NoClaim
-time    2.004e+01
-st/sec  3.766e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 15:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=15 --timer=20
-states  8461
-attack  NoClaim
-time    2.002e+01
-st/sec  4.226e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 16:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=16 --timer=20
-states  7503
-attack  NoClaim
-time    2.003e+01
-st/sec  3.746e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 17:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=17 --timer=20
-states  3837
-attack  NoClaim
-time    2.003e+01
-st/sec  1.916e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 18:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=18 --timer=20
-states  6537
-attack  NoClaim
-time    2.005e+01
-st/sec  3.260e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 19:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=19 --timer=20
-states  8893
-attack  NoClaim
-time    2.004e+01
-st/sec  4.438e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  1       correct: bounded_proof
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 20:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=20 --timer=20
-states  6325
-attack  NoClaim
-time    2.003e+01
-st/sec  3.158e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 21:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=21 --timer=20
-states  4253
-attack  NoClaim
-time    2.005e+01
-st/sec  2.121e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  4       correct: bounded_proof  time=20
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 22:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=22 --timer=20
-states  6756
-attack  NoClaim
-time    2.004e+01
-st/sec  3.371e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 23:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=23 --timer=20
-states  8149
-attack  NoClaim
-time    2.003e+01
-st/sec  4.068e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  14      correct: bounded_proof  time=20
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 24:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=24 --timer=20
-states  9785
-attack  NoClaim
-time    2.004e+01
-st/sec  4.883e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 25:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=25 --timer=20
-states  3832
-attack  NoClaim
-time    2.006e+01
-st/sec  1.910e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 26:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=26 --timer=20
-states  10699
-attack  NoClaim
-time    2.009e+01
-st/sec  5.326e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 27:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=27 --timer=20
-states  6672
-attack  NoClaim
-time    2.006e+01
-st/sec  3.326e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 28:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=28 --timer=20
-states  6136
-attack  NoClaim
-time    2.010e+01
-st/sec  3.053e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 29:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=29 --timer=20
-states  3521
-attack  NoClaim
-time    2.009e+01
-st/sec  1.753e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 30:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=30 --timer=20
-states  7584
-attack  NoClaim
-time    2.006e+01
-st/sec  3.781e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-Heuristic 31:
-./multinsl-generator.py 3 15 | scyther -a -r5 -m2 --summary  --goal-select=31 --timer=20
-states  8369
-attack  NoClaim
-time    2.004e+01
-st/sec  4.176e+02
-claim   mnsl3v15        R2V     Nisynch_R2b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R2V     Secret_R2a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R1V     Nisynch_R1b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R1V     Secret_R1a      found:  1       correct: bounded_proof  time=20
-claim   mnsl3v15        R0V     Nisynch_R0b     found:  0       correct: does_not_occur
-claim   mnsl3v15        R0V     Secret_R0a      found:  1       correct: bounded_proof  time=20
-
-
-13,25 work well.
diff --git a/Vagrant Files/shared/scyther/Protocols/multi-NSL/mnsl-results.txt b/Vagrant Files/shared/scyther/Protocols/multi-NSL/mnsl-results.txt
deleted file mode 100644
index a04a56f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/multi-NSL/mnsl-results.txt	
+++ /dev/null
@@ -1,33 +0,0 @@
-Report:
--------
-
-Using P 3 and 2 runs, we find attacks on [1, 5, 9, 13, 18, 22, 26, 30]
-Using P 3 and 3 runs, we find attacks on [0, 3, 4, 7, 16, 19, 20, 23]
-Using P 3 and 4 runs, we find attacks on [2, 6, 10, 14, 17, 21, 27, 31]
-Using P 3 and 5 runs, we find attacks on [25, 29]
-Using P 4 and 3 runs, we find attacks on [8, 24]
-Using P 4 and 5 runs, we find attacks on [12, 28]
-
-Log:
-----
-Slave1:multiparty% ./test-variants.py
-Testing using P 3 and 2 runs.
-Using P 3 and 2 runs, we find attacks on [1, 5, 9, 13, 18, 22, 26, 30]
-Therefore, we are left with 24 candidates:  [0, 2, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 27, 28, 29, 31]
-Testing using P 3 and 3 runs.
-Using P 3 and 3 runs, we find attacks on [0, 3, 4, 7, 16, 19, 20, 23]
-Therefore, we are left with 16 candidates:  [2, 6, 8, 10, 11, 12, 14, 15, 17, 21, 24, 25, 27, 28, 29, 31]
-Testing using P 3 and 4 runs.
-Using P 3 and 4 runs, we find attacks on [2, 6, 10, 14, 17, 21, 27, 31]
-Therefore, we are left with 8 candidates:  [8, 11, 12, 15, 24, 25, 28, 29]
-Testing using P 3 and 5 runs.
-Using P 3 and 5 runs, we find attacks on [25, 29]
-Therefore, we are left with 6 candidates:  [8, 11, 12, 15, 24, 28]
-Testing using P 4 and 3 runs.
-Using P 4 and 3 runs, we find attacks on [8, 24]
-Therefore, we are left with 4 candidates:  [11, 12, 15, 28]
-Testing using P 4 and 4 runs.
-Testing using P 4 and 5 runs.
-Using P 4 and 5 runs, we find attacks on [12, 28]
-Therefore, we are left with 2 candidates:  [11, 15]
-Testing using P 4 and 6 runs.
diff --git a/Vagrant Files/shared/scyther/Protocols/multi-NSL/multinsl-generator.py b/Vagrant Files/shared/scyther/Protocols/multi-NSL/multinsl-generator.py
deleted file mode 100644
index ad44870..0000000
--- a/Vagrant Files/shared/scyther/Protocols/multi-NSL/multinsl-generator.py	
+++ /dev/null
@@ -1,345 +0,0 @@
-#!/usr/bin/python
-#
-# Generate Multi-party NSL protocol description for n parties
-#
-# Input: P variant
-#
-# variant uses some bits:
-#    bit    mask    meaning if set to '1'
-#            (message type 1)
-#     0    1    nonces in reverse 
-#     1    2    nonces after agents
-#     2    4    agents in reverse 
-#     3    8    interleaved variant
-#             (message type 2)
-#     4    16    nonces in reverse in message 2
-#
-# Convention similar to e.g. Prolog: capitals indicate open variables;
-# in particular, they can be bound by _any_ value during the run,
-# assuming full type flaws.
-#
-import sys
-from optparse import OptionParser
-
-def parseArgs():
-    usage = "usage: %s [opts] Parties Variant" % sys.argv[0]
-    parser = OptionParser(usage=usage)
-    parser.add_option('-p','--protocol', dest='protocol',
-        help='Generate another protocol [nsl,bke]', default="nsl",
-        action='store')
-    (opts, args) = parser.parse_args()
-    if len(args) != 2:
-        parser.print_help()
-        sys.exit(0)
-    if opts.protocol not in ["nsl","bke","nsl-priv-noprop","nsl-pub-nap","bke-nap"]:
-        print "I don't know the %s protocol." % (opts.protocol)
-        sys.exit(0)
-    return (opts,args)
-
-
-def variablerole (r, inrole):
-    if r == inrole or inrole == 0:
-        return False
-    else:
-        return True
-
-def role (r,inrole):
-    global P
-
-    return "r%i" % (r % P)
-
-def zeroconst ():
-    
-    """ This is 0 or some other stupid constant """
-
-    return "zeroconst"
-
-def nonce (r,inrole):
-    global P
-
-    if r == inrole:
-        # nonce of our own
-        return "n%i" % (r % P)
-    else:
-        # a variable: we want to see this in the notation
-        return "N%i" % (r % P)
-
-def extend (s1, s2):
-    if s1 == "":
-        return s2
-    else:
-        return s1 + "," + s2
-
-def weavel (l1,l2,reverse1,swap,reverse2,interleave):
-    """ l1 is typically a list of nonces, l2 might be empty (names) """
-    global variant
-
-    if reverse1:
-        l1.reverse()
-    if l2 == []:
-        return l1
-    else:
-        if reverse2:
-            l2.reverse()
-        if swap:
-            # swap
-            l3 = l1
-            l1 = l2
-            l2 = l3
-        if interleave:
-            rl = []
-            largest = max(len(l1),len(l2))
-            for i in range (0,largest):
-                if i < len(l1):
-                    rl.append(l1[i])
-                if i < len(l2):
-                    rl.append(l2[i])
-            return rl
-        else:
-            return l1 + l2
-
-def message1 (label,inrole):
-    global P,variant,opts
-
-    if opts.protocol in ['bke','nsl']:
-        noncelist = []
-        for i in range(0,label+1):
-            noncelist.append(nonce(i,inrole))
-        rolelist = []
-        for i in range(0,P):
-            if i != (label+1) % P:
-                rolelist.append(role(i,inrole))
-
-        return ",".join(weavel(noncelist,rolelist,
-            (variant & 1 != 0),
-            (variant & 2 != 0),
-            (variant & 4 != 0),
-            (variant & 8 != 0)
-            ))
-    elif opts.protocol == 'nsl-priv-noprop':
-
-        list = []
-        for i in range(0,P):
-            list.append(role(i,inrole))
-        list.append(nonce(0,inrole))
-        msg = ",".join(list)
-
-        for i in range(1,label+1):
-            msg = "{ %s,%s }sk(%s)" % (msg,nonce(i,inrole),role(i,inrole))
-
-        return msg
-
-    elif opts.protocol == 'nsl-pub-nap':
-
-        list = []
-        for i in range(0,P):
-            list.append(role(i,inrole))
-        list.append(nonce(0,inrole))
-        msg = ",".join(list)
-
-        for i in range(1,label+1):
-            msg = "{ %s }sk(%s), %s" % (msg,role(i,inrole),nonce(i,inrole))
-
-        msg = "{ %s }pk(%s)" % (msg,role(label+1,inrole))
-
-        return msg
-    elif opts.protocol == 'bke-nap':
-
-        list = []
-        for i in range(0,P):
-            list.append(role(i,inrole))
-        list.append(nonce(0,inrole))
-        msg = ",".join(list)
-
-        for i in range(1,label+1):
-            msg = "{ %s }sk(%s), %s" % (msg,role(i,inrole),nonce(i,inrole))
-
-        msg = "{ %s }pk(%s)" % (msg,role(label+1,inrole))
-
-        return msg
-    else:
-        print "Hmm, I don't know how to create the first message for protocol %s" % (opts.protocol)
-
-def message2 (label,inrole):
-    global P,variant,opts
-
-    if opts.protocol == "nsl":
-        noncelist = []
-        for i in range (((label + 1) % P),P):
-            noncelist.append(nonce(i,inrole))
-
-        return ",".join(weavel(noncelist,[],
-            (variant & 16 != 0),
-            False,
-            False,
-            False
-            ))
-    elif opts.protocol == "bke":
-        noncelist = []
-        for i in range (((label + 1) % P) + 1,P):
-            noncelist.append(nonce(i,inrole))
-        if len(noncelist) == 0:
-            noncelist.append(zeroconst())
-
-        return ",".join(weavel(noncelist,[],
-            (variant & 16 != 0),
-            False,
-            False,
-            False
-            ))
-    elif opts.protocol in ['nsl-priv-noprop','nsl-pub-nap']:
-        msg = message1(P-1,inrole)
-        for i in range(0,label-P+1):
-            msg = "{ %s }sk(%s)" % (msg,role(i,inrole))
-
-        if opts.protocol == 'nsl-pub-nap':
-            msg = "{ %s }pk(%s)" % (msg,role(label+1,inrole))
-
-        return msg
-    elif opts.protocol == 'bke-nap':
-        msg = message1(P-1,inrole)
-        for i in range(0,label-P+1):
-            msg = "{ %s }sk(%s)" % (msg,role(i,inrole))
-
-        msg = "{ %s }%s" % (msg,nonce((label+1) % P,inrole))
-
-        return msg
-    else:
-        print "Hmm, I don't know how to create the final message for protocol %s" % (opts.protocol)
-
-def message (label,inrole):
-    global P,opts
-
-    if opts.protocol in ['bke','nsl']:
-        s = "{ "
-        if label < P:
-            s = s + message1 (label,inrole)
-        else:
-            s = s + message2 (label,inrole)
-
-        if opts.protocol == "bke" and not (label < P):
-            s = s + " }" + nonce((label+1) % P, inrole)
-        else:
-            s = s + " }pk(%s)" % role(label+1,inrole)
-        return s
-    else:
-        if label < P:
-            return message1 (label,inrole)
-        else:
-            return message2 (label,inrole)
-
-
-def action (event,label,inrole):
-    s = "\t\t%s_%i(%s,%s, " % (event,label, role(label,inrole),
-            role(label+1,inrole))
-    s += message (label,inrole)
-    s += " );\n"
-    return s
-
-def recv (label,inrole):
-    return action ("recv", label,inrole)
-
-
-def send (label,inrole):
-    return action ("send", label,inrole)
-
-def roledef (r):
-    global P,opts
-
-    s = ""
-    s += "\trole " + role(r,r) + "\n\t{\n"
-
-    # constants for this role
-    
-    s += "\t\tconst " + nonce (r,r) + ": Nonce;\n"
-
-    # variables
-    
-    s += "\t\tvar "
-    nr = 0
-    for i in range (0,P):
-        if r != i:
-            if nr > 0:
-                s += ","
-            s += nonce(i,r)
-            nr += 1
-
-    s += ": Nonce;\n"
-
-    # implicit role variables
-    
-    rolevars = []
-    for i in range (0,P):
-        if variablerole(i,r):
-            rolevars.append(role(i,r))
-
-    if rolevars != []:
-        s += "\t\t// Implicit role variables: "
-        s += ",".join(rolevars)
-        s += ": Role;\n"
-        
-    # actions
-    
-    s += "\n"
-    if r > 0:
-        # Initial recv
-        s += recv(r-1,r)
-    s += send(r,r)
-    s += recv(P+r-1,r)
-    if r < (P-1):
-        # Final send
-        s += send(P+r,r)
-    
-    # claims
-    
-    if opts.protocol in ['bke','nsl','nsl-pub-nap','bke-nap']:
-        s += "\t\tclaim_%sa( %s, Secret, %s );\n" % (role(r,r), role(r,r),
-                nonce(r,r))
-    s += "\t\tclaim_%sb( %s, Nisynch );\n" % (role(r,r), role(r,r))
-
-    # close
-    s += "\t}\n\n"
-    return s
-
-
-def protocol (args):
-    global P,variant,opts
-
-    P = int(args[0])
-    variant = int(args[1])
-
-    s = ""
-    s += "// Generalized %s protocol for %i parties\n\n" % (opts.protocol,P)
-    s += "// " + str(opts) + "\n\n"
-    s += "// Variant %i\n" % variant
-    
-    if opts.protocol == "bke":
-        s += "usertype Globalconstant;\n"
-        s += "const %s: Globalconstant;\n" % (zeroconst())
-
-    s += "\n"
-
-    s += "protocol mnsl%iv%i(" % (P,variant)
-    for i in range (0,P):
-        if i > 0:
-            s += ","
-        s += role(i,i)
-    s += ")\n{\n"
-
-    for i in range (0,P):
-        s += roledef(i)
-    
-    s += "}\n\n"
-
-    s += "\n"
-    return s
-
-def main():
-    global opts
-
-    (opts,args) = parseArgs()
-    print protocol(args)
-
-# Only if main stuff
-if __name__ == '__main__':
-     main()
diff --git a/Vagrant Files/shared/scyther/Protocols/multi-NSL/test-heuristics.py b/Vagrant Files/shared/scyther/Protocols/multi-NSL/test-heuristics.py
deleted file mode 100644
index 34c03fc..0000000
--- a/Vagrant Files/shared/scyther/Protocols/multi-NSL/test-heuristics.py	
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/python
-#
-#
-#	Idea:
-#
-#	We test all options for the heuristics [0..31] to compare,
-#	and sincerely hope on gives a complete proof.
-#	we slowly refine the tests.
-#
-import commands
-
-def startset():
-	mainlist = [11, 15]
-	print "Starting with", mainlist
-	return mainlist
-
-def tuplingchoice(heur,variant,P,runs,latupling):
-	#	variant is in range [0..64>,
-	#	where we use the highest bid to signify the
-	#	associativity of the tupling.
-
-	extraflags = ""
-	if latupling:
-		extraflags += " --la-tupling"
-
-	# Choose heuristics
-	extraflags += " --goal-select=%i" % (heur)
-
-	# Time limit
-	extraflags += " --timer=20"
-
-	s = "./multinsl-generator.py"
-	s += " %i %i" % (P,variant)
-	s += " | scyther -a -r%i -m2 --summary %s" % (runs, extraflags)
-
-	## Old stuff
-	#s += " | scyther -a -r%i --summary" % runs
-
-	# Show what we're doing
-	print s
-
-	#s += " | grep \"complete\""
-	out = commands.getoutput(s)
-	if out == "":
-		#print "Okay"
-		return False
-	else:
-		print out
-		return True
-
-def testvariant(h,v,p,r):
-	if tuplingchoice (h,v,p,r, False):
-		return True
-	else:
-		return tuplingchoice (h,v,p,r, True)
-
-def scan(testlist, P, runs):
-	print "Testing using P %i and %i runs." % (P,runs)
-	for i in testlist:
-		print "Testing protocol %i." % (i)
-		for h in range (0,32):
-			print "Heuristic %i:" % (h)
-			testvariant (h,i,P,runs)
-
-def main():
-	candidates = startset()
-	scan(candidates,3,5)
-
-main()
diff --git a/Vagrant Files/shared/scyther/Protocols/multi-NSL/test-variants.py b/Vagrant Files/shared/scyther/Protocols/multi-NSL/test-variants.py
deleted file mode 100644
index ae00ce7..0000000
--- a/Vagrant Files/shared/scyther/Protocols/multi-NSL/test-variants.py	
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/python
-#
-#
-#    Idea:
-#
-#    We test all variants [0..31] until we are sure they work. Thus,
-#    we slowly refine the tests.
-#
-import commands
-
-def startset():
-    return range(0,32)
-    
-    mainlist = [11, 15]
-    print "Starting with", mainlist
-    return mainlist
-
-def tuplingchoice(variant,P,runs,latupling):
-    #    variant is in range [0..64>,
-    #    where we use the highest bid to signify the
-    #    associativity of the tupling.
-
-    extraflags = ""
-    if latupling:
-        extraflags += " --la-tupling"
-
-    s = "./multinsl-generator.py"
-    s += " %i %s" % (P,variant)
-    s += " | scyther -r%i --untyped %s" % (runs, extraflags)
-    #s += " | scyther -a -r%i --summary" % runs
-    #print s
-    s += " | grep \"Fail\""
-    out = commands.getoutput(s)
-    if out == "":
-        #print "Okay"
-        return True
-    else:
-        #print out
-        # Thus, MultiNSL P variant has the first attack for n runs
-        return False
-
-def testvariant(v,p,r):
-    if not tuplingchoice (v,p,r, False):
-        return False
-    else:
-        return tuplingchoice (v,p,r, True)
-
-def removeattacks (testlist, P, runs):
-    okaylist = []
-    for v in testlist:
-        if testvariant (v, P, runs):
-            okaylist.append(v)
-    return okaylist
-
-def scan(testlist, P, runs):
-    print "Testing using P %i and %i runs." % (P,runs)
-    results = removeattacks (testlist, P, runs)
-    if len(results) < len(testlist):
-        attacked = []
-        for i in range(0,len(testlist)):
-            if testlist[i] not in results:
-                attacked.append(testlist[i])
-        print "Using P %i and %i runs, we find attacks on %s" % (P,runs, str(attacked))
-        print "Therefore, we are left with %i candidates: " % (len(results)), results 
-
-    return results
-
-def main():
-    candidates = startset()
-    for P in range(3,7):
-        for rundiff in range(0,5):
-            candidates = scan(candidates,P,P+rundiff)
-
-    print
-    print "Good variants:"
-    print candidates
-        
-
-main()
diff --git a/Vagrant Files/shared/scyther/Protocols/needham-schroeder-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/needham-schroeder-lowe.spdl
deleted file mode 100644
index fabb522..0000000
--- a/Vagrant Files/shared/scyther/Protocols/needham-schroeder-lowe.spdl	
+++ /dev/null
@@ -1,53 +0,0 @@
-# Lowe's fixed version of Needham Schroeder Public Key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/nspkLowe.html
-#
-#
-# Note:
-# The modelling in SPORE includes a server to distribute the public keys
-# of the agents, this is not necessary and it allows for attacks against
-# synchronisation and agreement, because the keys that the server sends
-# out can be replayed.
-
-protocol needhamschroederpk-Lowe(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-
-        send_1(I,S, (I,R));
-        recv_2(S,I, {pk(R), R}sk(S));
-        send_3(I,R,{Ni,I}pk(R));
-        recv_6(R,I, {Ni,Nr,R}pk(I));
-        send_7(I,R, {Nr}pk(R));
-        claim_I1(I,Secret,Ni);
-        claim_I2(I,Secret,Nr);
-        claim_I3(I,Nisynch);
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        
-        recv_3(I,R,{Ni,I}pk(R));
-        send_4(R,S,(R,I));
-        recv_5(S,R,{pk(I),I}sk(S));
-        send_6(R,I,{Ni,Nr,R}pk(I));
-        recv_7(I,R,{Nr}pk(R));
-        claim_R1(R,Secret,Nr);
-        claim_R2(R,Secret,Ni);
-        claim_R3(R,Nisynch);
-    }
-
-    role S
-    {
-        recv_1(I,S,(I,R));
-        send_2(S,I,{pk(R),R}sk(S));
-        recv_4(R,S,(R,I));
-        send_5(S,R,{pk(I),I}sk(S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk-amend.spdl b/Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk-amend.spdl
deleted file mode 100644
index 189093d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk-amend.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# Amended Needham Schroeder Symmetric Key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/nssk_amended.html
-#
-#
-# Note:
-# According to SPORE there are no attacks on this protocol, scyther
-# finds one however. This has to be investigated further.
-
-
-
-# Model dec that is invertible by inc
-const dec,inc: Function;
-inversekeys(dec,inc);
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol needhamschroedersk-amend(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var Kir: SessionKey;
-        var T,T2: Ticket;
-        
-        send_1(I,R,I);
-        recv_2(R,I,T);
-        send_3(I,S,(I,R,Ni,T));
-        recv_4(S,I, {Ni,R,Kir,T2}k(I,S));
-        send_5(I,R,T2);
-        recv_6(R,I,{Nr}Kir);
-        send_7(I,R,{{Nr}dec}Kir);
-        
-        claim_I2(I,Secret,Kir);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var Kir: SessionKey;
-        
-        recv_1(I,R,I);
-        send_2(R,I,{I,Nr}k(R,S));
-        recv_5(I,R,{Kir,Nr,I}k(R,S));
-        send_6(R,I,{Nr}Kir);
-        recv_7(I,R,{{Nr}dec}Kir);
-        claim_R1(R,Secret,Nr);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni,Nr: Nonce;
-        fresh Kir: SessionKey;
-        recv_3(I,S,(I,R,Ni,{I,Nr}k(R,S)));
-        send_4(S,I,{Ni,R,Kir,{Kir,Nr,I}k(R,S)}k(I,S));
-    }
-    
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk.spdl b/Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk.spdl
deleted file mode 100644
index 71a7e6c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/needham-schroeder-sk.spdl	
+++ /dev/null
@@ -1,56 +0,0 @@
-# Needham Schroeder Symmetric Key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/nssk.html
-#
-#
-
-
-# Model dec that is invertible by inc
-const dec,inc: Function;
-inversekeys(dec,inc);
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol needhamschroedersk(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var Kir: SessionKey;
-        var T: Ticket;
-        
-        send_1(I,S,(I,R,Ni));
-        recv_2(S,I, {Ni,R,Kir,T}k(I,S));
-        send_3(I,R,T);
-        recv_4(R,I,{Nr}Kir);
-        send_5(I,R,{{Nr}dec}Kir);
-        claim_I2(I,Secret,Kir);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var Kir: SessionKey;
-        
-        recv_3(I,R,{Kir,I}k(R,S));
-        send_4(R,I,{Nr}Kir);
-        recv_5(I,R,{{Nr}dec}Kir);
-        claim_R1(R,Secret,Kir);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni: Nonce;
-        fresh Kir: SessionKey;
-        recv_1(I,S,(I,R,Ni));
-        send_2(S,I,{Ni,R,Kir,{Kir,I}k(R,S)}k(I,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/needham-schroeder.spdl b/Vagrant Files/shared/scyther/Protocols/needham-schroeder.spdl
deleted file mode 100644
index ea14854..0000000
--- a/Vagrant Files/shared/scyther/Protocols/needham-schroeder.spdl	
+++ /dev/null
@@ -1,53 +0,0 @@
-# Needham Schroeder Public Key
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/nspk.html
-#
-#
-# Note:
-# The modelling in SPORE includes a server to distribute the public keys
-# of the agents, this is not necessary and it allows for attacks against
-# synchronisation and agreement, because the keys that the server sends
-# out can be replayed.
-
-protocol needhamschroederpk(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-
-        send_1(I,S,(I,R));
-        recv_2(S,I, {pk(R), R}sk(S));
-        send_3(I,R,{Ni,I}pk(R));
-        recv_6(R,I, {Ni, Nr}pk(I));
-        send_7(I,R, {Nr}pk(R));
-        claim_I1(I,Secret,Ni);
-        claim_I2(I,Secret,Nr);
-        claim_I3(I,Nisynch);
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        
-        recv_3(I,R,{Ni,I}pk(R));
-        send_4(R,S,(R,I));
-        recv_5(S,R,{pk(I),I}sk(S));
-        send_6(R,I,{Ni,Nr}pk(I));
-        recv_7(I,R,{Nr}pk(R));
-        claim_R1(R,Secret,Nr);
-        claim_R2(R,Secret,Ni);
-        claim_R3(R,Nisynch);
-    }
-
-    role S
-    {
-        recv_1(I,S,(I,R));
-        send_2(S,I,{pk(R),R}sk(S));
-        recv_4(R,S,(R,I));
-        send_5(S,R,{pk(I),I}sk(S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/neumannstub-guttman-hwang.spdl b/Vagrant Files/shared/scyther/Protocols/neumannstub-guttman-hwang.spdl
deleted file mode 100644
index bcb48d2..0000000
--- a/Vagrant Files/shared/scyther/Protocols/neumannstub-guttman-hwang.spdl	
+++ /dev/null
@@ -1,105 +0,0 @@
-# Neumann Stubblebine
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/neumannStubblebine.html
-#
-# Note:
-# In SPORE this protocol is not described correctly, there are in fact 2
-# different protocols (the key establishment protocol and the repeated
-# authentication protocol)
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol neustub-GuttmanHwang^Repeat(I,R,S)
-{
-    fresh Kir: SessionKey;
-
-    role I
-    {
-        fresh Mi: Nonce;
-        var Mr: Nonce;
-        fresh Kir: SessionKey;
-        fresh Tr: TimeStamp;
-
-        send_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        recv_6(R,I,{Mi,Mr}Kir);
-        send_7(I,R,{I,Mr}Kir);
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        fresh Mr: Nonce;
-        var Tr: TimeStamp;
-        var Kir: SessionKey;
-        var Mi: Nonce;
-        
-        recv_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        send_6(R,I,{Mi,Mr}Kir);
-        recv_7(I,R,{I,Mr}Kir);
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S 
-    {
-    }
-}
-protocol neustub-GuttmanHwang(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Tb: TimeStamp;
-        var Kir: SessionKey;
-        
-        send_1(I,R, I, Ni);
-        recv_!3(S,I, { R,Ni,Kir,Tb}k(I,S), T, Nr);
-        send_!4(I,R,T,{Nr}Kir);
-        
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Tb: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, I, Ni);
-        send_!2(R,S, R, {I, Ni, Tb ,Nr}k(R,S));
-        recv_!4(I,R,{I,Kir,Tb}k(R,S),{Nr}Kir);
-    
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-        var Tb: TimeStamp;
-
-        recv_!2(R,S, R, {I,Ni,Tb,Nr}k(R,S));
-        send_!3(S,I, { R, Ni, Kir, Tb}k(I,S), { I,Kir,Tb}k(R,S),Nr );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/neumannstub-guttman.spdl b/Vagrant Files/shared/scyther/Protocols/neumannstub-guttman.spdl
deleted file mode 100644
index 09e7f6e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/neumannstub-guttman.spdl	
+++ /dev/null
@@ -1,105 +0,0 @@
-# Neumann Stubblebine
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/neumannStubblebine.html
-#
-# Note:
-# In SPORE this protocol is not described correctly, there are in fact 2
-# different protocols (the key establishment protocol and the repeated
-# authentication protocol)
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol neustub^Repeat(I,R,S)
-{
-    fresh Kir: SessionKey;
-
-    role I
-    {
-        fresh Mi: Nonce;
-        var Mr: Nonce;
-        fresh Kir: SessionKey;
-        fresh Tr: TimeStamp;
-
-        send_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        recv_6(R,I,{Mi,Mr}Kir);
-        send_7(I,R,{I,Mr}Kir);
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        fresh Mr: Nonce;
-        var Tr: TimeStamp;
-        var Kir: SessionKey;
-        var Mi: Nonce;
-        
-        recv_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        send_6(R,I,{Mi,Mr}Kir);
-        recv_7(I,R,{I,Mr}Kir);
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S 
-    {
-    }
-}
-protocol neustub(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Tb: TimeStamp;
-        var Kir: SessionKey;
-        
-        send_1(I,R, I, Ni);
-        recv_!3(S,I, { R,Ni,Kir,Tb}k(I,S), T, Nr);
-        send_4(I,R,T,{Nr}Kir);
-        
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Tb: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, I, Ni);
-        send_!2(R,S, R, {I, Ni, Tb}k(R,S),Nr);
-        recv_4(I,R,{I,Kir,Tb}k(R,S),{Nr}Kir);
-    
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-        var Tb: TimeStamp;
-
-        recv_!2(R,S, R, {I,Ni,Tb}k(R,S), Nr);
-        send_!3(S,I, { R, Ni, Kir, Tb}k(I,S), { I,Kir,Tb}k(R,S),Nr );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/neumannstub-hwang.spdl b/Vagrant Files/shared/scyther/Protocols/neumannstub-hwang.spdl
deleted file mode 100644
index 1546b40..0000000
--- a/Vagrant Files/shared/scyther/Protocols/neumannstub-hwang.spdl	
+++ /dev/null
@@ -1,71 +0,0 @@
-# Hwang modified Neumann Stubblebine
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/neumannStubblebineHwang.html
-#
-# Note:
-# According to SPORE there are no attacks on this protocol, scyther
-# finds one however. This has to be investigated further.
-
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol neustub-Hwang(I,R,S)
-{
-    role I
-    {
-        fresh Ni,Mi: Nonce;
-        var Nr,Mr: Nonce;
-        var T: Ticket;
-        var Tb: TimeStamp;
-        var Kir: SessionKey;
-        
-        send_1(I,R, I, Ni);
-        recv_!3(S,I, { R,Ni,Kir,Tb}k(I,S), T, Nr);
-        send_4(I,R,T,{Nr}Kir);
-        send_5(I,R,Mi,T);
-        recv_6(R,I,Mr,{Mi}Kir);
-        send_7(I,R,{Mr}Kir);
-        
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Tb: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, I, Ni);
-        send_!2(R,S, R, {I, Ni, Tb, Nr}k(R,S));
-        recv_4(I,R,{I,Kir,Tb}k(R,S),{Nr}Kir);
-        recv_5(I,R,Mi,T);
-        send_6(R,I,Mr,{Mi}Kir);
-        recv_7(I,R,{Mr}Kir);
-    
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-        var Tb: TimeStamp;
-
-        recv_!2(R,S, R, {I,Ni,Tb,Nr}k(R,S));
-        send_!3(S,I, { R, Ni, Kir, Tb}k(I,S), { I,Kir,Tb}k(R,S),Nr );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/neumannstub-keycompromise.spdl b/Vagrant Files/shared/scyther/Protocols/neumannstub-keycompromise.spdl
deleted file mode 100644
index d803150..0000000
--- a/Vagrant Files/shared/scyther/Protocols/neumannstub-keycompromise.spdl	
+++ /dev/null
@@ -1,105 +0,0 @@
-# Neumann Stubblebine
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/neumannStubblebine.html
-#
-# Note:
-# In SPORE this protocol is not described correctly, there are in fact 2
-# different protocols (the key establishment protocol and the repeated
-# authentication protocol)
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol neustub^Repeat(I,R,S)
-{
-    fresh Kir: SessionKey;
-
-    role I
-    {
-        fresh Mi: Nonce;
-        var Mr: Nonce;
-        fresh Kir: SessionKey;
-        fresh Tr: TimeStamp;
-
-        send_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        recv_6(R,I,Mr,{Mi}Kir);
-        send_7(I,R,{Mr}Kir);
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        fresh Mr: Nonce;
-        var Tr: TimeStamp;
-        var Kir: SessionKey;
-        var Mi: Nonce;
-        
-        recv_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        send_6(R,I,Mr,{Mi}Kir);
-        recv_7(I,R,{Mr}Kir);
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S 
-    {
-    }
-}
-protocol neustub(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Tb: TimeStamp;
-        var Kir: SessionKey;
-        
-        send_1(I,R, I, Ni);
-        recv_3(S,I, { R,Ni,Kir,Tb}k(I,S), T, Nr);
-        send_4(I,R,T,{Nr}Kir);
-        
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-        claim_I4(I,Empty,(Fresh,Kir));
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Tb: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, I, Ni);
-        send_2(R,S, R, {I, Ni, Tb}k(R,S),Nr);
-        recv_4(I,R,{I,Kir,Tb}k(R,S),{Nr}Kir);
-    
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-        claim_R4(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-        var Tb: TimeStamp;
-
-        recv_2(R,S, R, {I,Ni,Tb}k(R,S), Nr);
-        send_3(S,I, { R, Ni, Kir, Tb}k(I,S), { I,Kir,Tb}k(R,S),Nr );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/neumannstub.spdl b/Vagrant Files/shared/scyther/Protocols/neumannstub.spdl
deleted file mode 100644
index d1d0ee1..0000000
--- a/Vagrant Files/shared/scyther/Protocols/neumannstub.spdl	
+++ /dev/null
@@ -1,98 +0,0 @@
-# Neumann Stubblebine
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/neumannStubblebine.html
-#
-# Note:
-# In SPORE this protocol is not described correctly, there are in fact 2
-# different protocols (the key establishment protocol and the repeated
-# authentication protocol)
-
-usertype Server, SessionKey, TimeStamp, TicketKey;
-usertype ExpiredTimeStamp;
-
-protocol neustub^Repeat(I,R,S)
-{
-    fresh Kir: SessionKey;
-
-    role I
-    {
-        fresh Mi: Nonce;
-        var Mr: Nonce;
-        fresh Kir: SessionKey;
-        fresh Tr: TimeStamp;
-
-        send_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        recv_6(R,I,Mr,{Mi}Kir);
-        send_7(I,R,{Mr}Kir);
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-    }
-
-    role R
-    {
-        fresh Mr: Nonce;
-        var Tr: TimeStamp;
-        var Kir: SessionKey;
-        var Mi: Nonce;
-        
-        recv_5(I,R,Mi,{I,Kir,Tr}k(R,S));
-        send_6(R,I,Mr,{Mi}Kir);
-        recv_7(I,R,{Mr}Kir);
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-    }
-
-    role S 
-    {
-    }
-}
-protocol neustub(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Tb: TimeStamp;
-        var Kir: SessionKey;
-        
-        send_1(I,R, I, Ni);
-        recv_!3(S,I, { R,Ni,Kir,Tb}k(I,S), T, Nr);
-        send_4(I,R,T,{Nr}Kir);
-        
-        claim_I1(I,Secret, Kir);
-        claim_I2(I,Niagree);
-        claim_I3(I,Nisynch);
-    }
-
-    role R
-    {
-        var Ni,Mi: Nonce;
-        fresh Nr,Mr: Nonce;
-        var Kir: SessionKey;
-        fresh Tb: TimeStamp;
-        var T: Ticket;
-        
-        recv_1(I,R, I, Ni);
-        send_!2(R,S, R, {I, Ni, Tb}k(R,S),Nr);
-        recv_4(I,R,{I,Kir,Tb}k(R,S),{Nr}Kir);
-    
-        claim_R1(R,Secret, Kir);
-        claim_R2(R,Niagree);
-        claim_R3(R,Nisynch);
-    }
-
-    role S
-    {
-        var Ni, Nr: Nonce;
-        fresh Kir: SessionKey;
-        var Tb: TimeStamp;
-
-        recv_!2(R,S, R, {I,Ni,Tb}k(R,S), Nr);
-        send_!3(S,I, { R, Ni, Kir, Tb}k(I,S), { I,Kir,Tb}k(R,S),Nr );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/otwayrees.spdl b/Vagrant Files/shared/scyther/Protocols/otwayrees.spdl
deleted file mode 100644
index bed12ad..0000000
--- a/Vagrant Files/shared/scyther/Protocols/otwayrees.spdl	
+++ /dev/null
@@ -1,56 +0,0 @@
-# Otway Rees
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/otwayRees.html
-#
-
-
-const Fresh: Function;
-const Compromised: Function;
-
-usertype String,SessionKey;
-
-protocol otwayrees(I,R,S)
-{
-    role I
-    {
-        fresh Ni : Nonce;
-        fresh M : String;
-        var Kir : SessionKey;
-
-        send_1(I,R, M,I,R,{Ni,M,I,R}k(I,S) );
-        recv_4(R,I, M,{Ni,Kir}k(I,S) );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-        claim_I3(I, Empty, (Fresh,Kir));
-    }
-
-    role R
-    {
-        var M : String;
-        fresh Nr : Nonce;
-        var Kir : SessionKey;
-        var T1,T2: Ticket;
-
-        recv_1(I,R, M,I,R, T1 );
-        send_2(R,S, M,I,R, T1, { Nr,M,I,R }k(R,S) );
-        recv_3(S,R, M, T2, { Nr,Kir }k(R,S) );
-        send_4(R,I, M, T2 );
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-        claim_R3(R, Empty, (Fresh,Kir));
-    }
-
-    role S
-    {
-        var Ni,Nr : Nonce;
-        var M : String;
-        fresh Kir : SessionKey;
-        
-        recv_2(R,S, M,I,R, { Ni,M,I,R}k(I,S), { Nr,M,I,R }k(R,S) );
-        send_3(S,R, M, { Ni,Kir }k(I,S) , { Nr,Kir }k(R,S) );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/smartright.spdl b/Vagrant Files/shared/scyther/Protocols/smartright.spdl
deleted file mode 100644
index e3a9719..0000000
--- a/Vagrant Files/shared/scyther/Protocols/smartright.spdl	
+++ /dev/null
@@ -1,46 +0,0 @@
-# SmartRight view-only
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/smartright_viewonly.html
-#
-# Note:
-# According to SPORE there are no known attacks on this protocol
-#
-# Note:
-# Scyther finds an attack because the value of VoR in te last message can
-# be replaced with an arbitrary value
-
-hashfunction hash;
-usertype SessionKey;
-usertype XorKey;
-const Vor: XorKey;
-
-protocol smartright(I,R)
-{
-    role I
-    {
-        fresh VoKey: SessionKey;
-        fresh VoR: XorKey;
-        fresh CW;
-        var VoRi: Nonce;
-
-        send_1(I,R, {VoKey,{CW}VoR}k(I,R));
-        recv_2(R,I, VoRi);
-        send_3(I,R, VoR, {{VoRi}hash}VoKey);
-    }    
-    
-    role R
-    {
-        var T: Ticket;
-        var VoR: XorKey;
-        var VoKey: SessionKey;
-        fresh VoRi: Nonce;
-
-        recv_1(I,R, {VoKey,T}k(I,R));
-        send_2(R,I, VoRi);
-        recv_3(I,R, VoR,{{VoRi}hash}VoKey);
-
-        claim_R1(R,Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/splice-as-cj.spdl b/Vagrant Files/shared/scyther/Protocols/splice-as-cj.spdl
deleted file mode 100644
index b393294..0000000
--- a/Vagrant Files/shared/scyther/Protocols/splice-as-cj.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# Clark and Jacob modified Hwang and Chen modified SPLICE/AS
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/spliceas3.html
-#
-# Note:
-# The assumptions made here do not comply with those in SPORE 
-# SPORE assumes that the agents do not know the pk function, but only
-# their own public key values. 
-# This can currently not be modelled.
-
-
-usertype TimeStamp, LifeTime;
-
-const inc,dec: Function;
-inversekeys (inc,dec);
-
-protocol spliceAS-CJ(I,R,S)
-{
-        role I
-    {
-        fresh N1,N2: Nonce;
-        fresh T: TimeStamp;
-        fresh L: LifeTime;
-
-        send_1(I,S,  I, R, N1 );
-        recv_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        send_3(I,R,  I, R, {T, L, {I, N2}pk(R)}sk(I) );
-        recv_6(R,I,  R, I, {{N2}inc}pk(I) );
-
-        claim_7(I, Secret, N2);
-        claim_9(I, Niagree);
-        claim_10(I, Nisynch);
-    }
-
-    role S
-    {
-        var N1,N3: Nonce;
-
-        recv_1(I,S,  I, R, N1 );
-        send_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        recv_4(R,S, R, I, N3 );
-        send_5(S,R,  S, {S, R, N3, pk(I)}sk(S) );
-    }
-
-    role R
-    {
-        fresh N3: Nonce;
-        var N2: Nonce;
-        var T: TimeStamp;
-        var L: LifeTime;
-
-        var ni: Nonce;
-        fresh nr: Nonce;
-
-        recv_3(I,R, I, R, {T, L, {I, N2}pk(R)}sk(I) );
-        send_4(R,S, R, I, N3 );
-        recv_5(S,R, S, {S, R, N3, pk(I)}sk(S) );
-        send_6(R,I, R, I, {{N2}inc}pk(I) );
-
-        claim_8(R, Secret, N2);
-        claim_11(R, Niagree);
-        claim_12(R, Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/splice-as-hc.spdl b/Vagrant Files/shared/scyther/Protocols/splice-as-hc.spdl
deleted file mode 100644
index 2f975ad..0000000
--- a/Vagrant Files/shared/scyther/Protocols/splice-as-hc.spdl	
+++ /dev/null
@@ -1,61 +0,0 @@
-# Hwang and Chen Modified SPLICE/AS
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/spliceas2.html
-#
-
-
-usertype TimeStamp, LifeTime;
-
-const inc,dec: Function;
-inversekeys (inc,dec);
-
-protocol spliceAS-HC(I,R,S)
-{
-        role I
-    {
-        fresh N1,N2: Nonce;
-        fresh T: TimeStamp;
-        fresh L: LifeTime;
-
-        send_1(I,S,  I, R, N1 );
-        recv_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        send_3(I,R,  I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        recv_6(R,I,  R, I, {R, {N2}inc}pk(I) );
-
-        claim_7(I, Secret, N2);
-        claim_9(I, Niagree);
-        claim_10(I, Nisynch);
-    }
-
-    role S
-    {
-        var N1,N3: Nonce;
-
-        recv_1(I,S,  I, R, N1 );
-        send_2(S,I,  S, {S, I, N1, R, pk(R)}sk(S) );
-        recv_4(R,S, R, I, N3 );
-        send_5(S,R,  S, {S, R, N3, I, pk(I)}sk(S) );
-    }
-
-    role R
-    {
-        fresh N3: Nonce;
-        var N2: Nonce;
-        var T: TimeStamp;
-        var L: LifeTime;
-
-        var ni: Nonce;
-        fresh nr: Nonce;
-
-        recv_3(I,R, I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        send_4(R,S, R, I, N3 );
-        recv_5(S,R, S, {S, R, N3, I, pk(I)}sk(S) );
-        send_6(R,I, R, I, {R, {N2}inc}pk(I) );
-
-        claim_8(R, Secret, N2);
-        claim_11(R, Niagree);
-        claim_12(R, Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/splice-as.spdl b/Vagrant Files/shared/scyther/Protocols/splice-as.spdl
deleted file mode 100644
index b1d8e18..0000000
--- a/Vagrant Files/shared/scyther/Protocols/splice-as.spdl	
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPLICE/AS
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/spliceas.html
-#
-# Note:
-# The assumptions made here do not comply with those in SPORE 
-# SPORE assumes that the agents do not know the pk function, but only
-# their own public key values. 
-# This can currently not be modelled.
-
-
-usertype TimeStamp, LifeTime;
-
-const inc,dec: Function;
-inversekeys (inc,dec);
-
-protocol spliceAS(I,R,S)
-{
-        role I
-    {
-        fresh N1,N2: Nonce;
-        fresh T: TimeStamp;
-        fresh L: LifeTime;
-
-        send_1(I,S,  I, R, N1 );
-        recv_2(S,I,  S, {S, I, N1, pk(R)}sk(S) );
-        send_3(I,R,  I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        recv_6(R,I,  R, I, {R, {N2}inc}pk(I) );
-
-        claim_7(I, Secret, N2);
-        claim_9(I, Niagree);
-        claim_10(I, Nisynch);
-    }
-
-    role S
-    {
-        var N1,N3: Nonce;
-
-        recv_1(I,S,  I, R, N1 );
-        send_2(S,I,  S, {S, I, N1, pk(R)}sk(S) );
-        recv_4(R,S, R, I, N3 );
-        send_5(S,R,  S, {S, R, N3, pk(I)}sk(S) );
-    }
-
-    role R
-    {
-        fresh N3: Nonce;
-        var N2: Nonce;
-        var T: TimeStamp;
-        var L: LifeTime;
-
-        var ni: Nonce;
-        fresh nr: Nonce;
-
-        recv_3(I,R, I, R, {I, T, L, {N2}pk(R)}sk(I) );
-        send_4(R,S, R, I, N3 );
-        recv_5(S,R, S, {S, R, N3, pk(I)}sk(S) );
-        send_6(R,I, R, I, {R, {N2}inc}pk(I) );
-
-        claim_8(R, Secret, N2);
-        claim_11(R, Niagree);
-        claim_12(R, Nisynch);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/tmn.spdl b/Vagrant Files/shared/scyther/Protocols/tmn.spdl
deleted file mode 100644
index c6fb55f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/tmn.spdl	
+++ /dev/null
@@ -1,51 +0,0 @@
-# TMN
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/tmn.html
-#
-# Note:
-# According to Boyd and Mathuria Kb is the session key this is not clear
-# from the description in SPORE
-usertype SessionKey;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol tmn(I,R,S)
-{
-    role I
-    {
-        fresh Ki: SessionKey;
-        var Kr: SessionKey;
-
-        send_1(I,S, R,{Ki}pk(S) );
-        recv_4(S,I, R,{Kr}Ki );
-
-        claim_I1(I,Secret,Kr);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,Kr));
-    }    
-    
-    role R
-    {
-        fresh Kr: SessionKey;
-
-        recv_2(S,R, I );
-        send_3(R,S, I, { Kr }pk(S) );
-
-        claim_R1(R,Secret,Kr);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kr));
-    }
-
-    role S
-    {
-        var Ki,Kr: SessionKey;
-
-        recv_1(I,S, R,{Ki}pk(S) );
-        send_2(S,R, I );
-        recv_3(R,S, I, { Kr }pk(S) );
-        send_4(S,I, R,{Kr}Ki );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/wmf-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/wmf-lowe.spdl
deleted file mode 100644
index 86b34e3..0000000
--- a/Vagrant Files/shared/scyther/Protocols/wmf-lowe.spdl	
+++ /dev/null
@@ -1,63 +0,0 @@
-# Lowe modified Wide Mouthed Frog
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wideMouthedFrogLowe.html
-#
-# Note:
-# According to SPORE there are no known attacks on this protocol, scyther
-# finds one however this has to do with the unusual assumption that every 
-# agent can recognise and will reject to  messages that it has created
-# itself.
-
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-const succ,pred: Function;
-inversekeys (succ,pred);
-const Fresh: Function;
-const Compromised: Function;
-
-protocol wmf-Lowe(I,R,S)
-{
-    role I
-    {
-        fresh Kir: SessionKey;
-        fresh Ti: TimeStamp;
-        var Kr: SessionKey;
-        var Nr: Nonce;
-
-        send_1(I,S, I, {Ti, R, Kir}k(I,S)); 
-        recv_3(R,I,{Nr}Kir);
-        send_4(I,R,{{Nr}succ}Kir);
-
-        claim_I1(I,Secret,Kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Ts: TimeStamp;
-        var Kir: SessionKey;
-        fresh Nr: Nonce;
-
-        recv_2(S,R, {Ts, I, Kir}k(R,S) );
-        send_3(R,I, {Nr}Kir);
-        recv_4(I,R, {{Nr}succ}Kir);
-
-        claim_R1(R,Secret,Kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Kir: SessionKey;
-        fresh Ts: TimeStamp;
-        var Ti: TimeStamp;
-
-        recv_1(I,S, I,{Ti, R, Kir}k(I,S) );
-        send_2(S,R, {Ts, I, Kir}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/wmf.spdl b/Vagrant Files/shared/scyther/Protocols/wmf.spdl
deleted file mode 100644
index 758843a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/wmf.spdl	
+++ /dev/null
@@ -1,54 +0,0 @@
-# Wide Mouthed Frog
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wideMouthedFrog.html
-#
-# Note
-# The name of the party that has generated a message was added in order
-# to model the property described in SPORE that an agent can identify
-# its own messages and will reject them.
-
-usertype SessionKey;
-usertype TimeStamp;
-usertype ExpiredTimeStamp;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol wmf(I,R,S)
-{
-    role I
-    {
-        fresh Kir: SessionKey;
-        fresh Ti: TimeStamp;
-        var Kr: SessionKey;
-
-        send_1(I,S, I, {I, Ti, R, Kir}k(I,S)); 
-
-        claim_I1(I,Secret,Kir);
-        claim_I2(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        var Ts: TimeStamp;
-        var Kir: SessionKey;
-
-        recv_2(S,R, {S, Ts, I, Kir}k(R,S) );
-
-        claim_R1(R,Secret,Kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        var Kir: SessionKey;
-        fresh Ts: TimeStamp;
-        var Ti: TimeStamp;
-
-        recv_1(I,S, I,{I, Ti, R, Kir}k(I,S) );
-        send_2(S,R, {S, Ts, I, Kir}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-1.spdl b/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-1.spdl
deleted file mode 100644
index 7e4e09d..0000000
--- a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-1.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi 1
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi1.html
-#
-
-protocol woolamPi-1(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {I,R,Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I,R, T}k(R,S)); 
-        recv_5(S,R, {I,R, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I,R, {I,R,Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I,R,Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-2.spdl b/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-2.spdl
deleted file mode 100644
index 5d767d6..0000000
--- a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-2.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi 2
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi2.html
-#
-
-protocol woolamPi-2(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {I,Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, T}k(R,S)); 
-        recv_5(S,R, {I, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I, {I,Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I,Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-3.spdl b/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-3.spdl
deleted file mode 100644
index 1db544e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-3.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi 2
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi3.html
-#
-
-protocol woolamPi-3(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, T}k(R,S)); 
-        recv_5(S,R, {I, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I, {Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I,Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-f.spdl b/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-f.spdl
deleted file mode 100644
index 22f028c..0000000
--- a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi-f.spdl	
+++ /dev/null
@@ -1,41 +0,0 @@
-# Woo and Lam Pi f
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPif.html
-#
-
-protocol woolamPi-f(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {I,R,Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, R, Nr, T}k(R,S)); 
-        recv_5(S,R, {I, R, Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I, R, Nr,{I,R,Nr}k(I,S)}k(R,S));
-        send_5(S,R, {I, R, Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi.spdl b/Vagrant Files/shared/scyther/Protocols/woo-lam-pi.spdl
deleted file mode 100644
index 0c01c27..0000000
--- a/Vagrant Files/shared/scyther/Protocols/woo-lam-pi.spdl	
+++ /dev/null
@@ -1,45 +0,0 @@
-# Woo and Lam Pi
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamPi.html
-#
-# Note:
-# Scyther finds an attack that appears to be legit, but is not present in 
-# SPORE.
-#
-
-protocol woolamPi(I,R,S)
-{
-    role I
-    {
-        var Nr: Nonce;
-
-        send_1(I,R, I); 
-        recv_2(R,I, Nr);
-        send_3(I,R, {Nr}k(I,S));
-
-    }    
-    
-    role R
-    {
-        fresh Nr: Nonce;
-        var T: Ticket;
-
-        recv_1(I,R, I);
-        send_2(R,I, Nr);
-        recv_3(I,R, T);
-        send_4(R,S, {I, T}k(R,S)); 
-        recv_5(S,R, {Nr}k(R,S));
-        
-        claim_R1(R,Nisynch);
-    }
-
-    role S
-    {
-        var Nr: Nonce;
-        
-        recv_4(R,S, {I,{Nr}k(I,S)}k(R,S));
-        send_5(S,R, {Nr}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/woo-lam.spdl b/Vagrant Files/shared/scyther/Protocols/woo-lam.spdl
deleted file mode 100644
index 7e28057..0000000
--- a/Vagrant Files/shared/scyther/Protocols/woo-lam.spdl	
+++ /dev/null
@@ -1,64 +0,0 @@
-# Woo and Lam Mutual Authentication
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/wooLamMutual.html
-#
-
-
-usertype SessionKey;
-
-const Fresh: Function;
-const Compromised: Function;
-
-protocol woolam(I,R,S)
-{
-    role I
-    {
-        fresh N1: Nonce;
-        var Kir: SessionKey;
-        var N2: Nonce;
-
-        send_1(I,R, I, N1); 
-        recv_2(R,I, R, N2);
-        send_3(I,R, {I, R, N1, N2}k(I,S));
-        recv_6(R,I, {R, N1, N2, Kir}k(I,S), {N1,N2}Kir);
-        send_7(I,R, {N2}Kir);
-        
-
-        claim_I1(I,Secret,Kir);
-        claim_I2(I,Nisynch);
-        claim_I3(I,Empty,(Fresh,Kir));
-    }    
-    
-    role R
-    {
-        fresh N2: Nonce;
-        var N1: Nonce;
-        var Kir: SessionKey;
-        var T1,T2: Ticket;
-
-        recv_1(I,R, I, N1);
-        send_2(R,I, R, N2);
-        recv_3(I,R, T1);
-        send_4(R,S, T1, {I, R, N1, N2}k(R,S));
-        recv_5(S,R, T2, {I, N1, N2, Kir}k(R,S));
-        send_6(R,I, T2, {N1,N2}Kir);
-        recv_7(I,R, {N2}Kir);
-        
-        claim_R1(R,Secret,Kir);
-        claim_R2(R,Nisynch);
-        claim_R3(R,Empty,(Fresh,Kir));
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var N1,N2: Nonce;
-
-        recv_4(R,S, {I, R, N1, N2}k(I,S), {I, R, N1, N2}k(R,S));
-        send_5(S,R, {R, N1, N2, Kir}k(I,S), {I, N1, N2, Kir}k(R,S));
-    }
-}
-
-
-
diff --git a/Vagrant Files/shared/scyther/Protocols/yahalom-ban.spdl b/Vagrant Files/shared/scyther/Protocols/yahalom-ban.spdl
deleted file mode 100644
index b865362..0000000
--- a/Vagrant Files/shared/scyther/Protocols/yahalom-ban.spdl	
+++ /dev/null
@@ -1,54 +0,0 @@
-# BAN simplified version of Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalomBAN.html
-#
-
-usertype SessionKey;
-const Fresh: Function;
-const Compromised: Function;
-
-protocol yahalom-BAN(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, Nr, {R,Kir,Ni}k(I,S), T );
-        send_4(I,R, T, {Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-        claim_I3(I, Empty, (Fresh,Kir));
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, R, Nr, {I,Ni}k(R,S) );
-        recv_4(I,R, {I,Kir,Nr}k(R,S) , {Nr}Kir );
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-        claim_R3(R, Empty, (Fresh,Kir));
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, R, Nr, {I,Ni}k(R,S) );
-        send_3(S,I, Nr, {R,Kir,Ni}k(I,S), {I,Kir,Nr}k(R,S) );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/yahalom-lowe.spdl b/Vagrant Files/shared/scyther/Protocols/yahalom-lowe.spdl
deleted file mode 100644
index 308a62a..0000000
--- a/Vagrant Files/shared/scyther/Protocols/yahalom-lowe.spdl	
+++ /dev/null
@@ -1,52 +0,0 @@
-# Lowe's modified version of Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalomLowe.html
-#
-#
-
-usertype SessionKey;
-
-
-protocol yahalom-Lowe(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, {R,Kir,Ni,Nr}k(I,S) );
-        send_5(I,R, {I, R, S, Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, {I,Ni,Nr}k(R,S) );
-        recv_4(S,R, {I,Kir}k(R,S));
-        recv_5(I,R, {I, R, S, Nr}Kir);
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, {I,Ni,Nr}k(R,S) );
-        send_3(S,I, {R,Kir,Ni,Nr}k(I,S));
-        send_4(S,R, {I,Kir}k(R,S));
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/yahalom-paulson.spdl b/Vagrant Files/shared/scyther/Protocols/yahalom-paulson.spdl
deleted file mode 100644
index a8dfe1e..0000000
--- a/Vagrant Files/shared/scyther/Protocols/yahalom-paulson.spdl	
+++ /dev/null
@@ -1,56 +0,0 @@
-# Paulson's strengthened version of Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalomPaulson.html
-#
-#
-
-const Fresh: Function;
-const Compromised: Function;
-
-usertype SessionKey;
-
-protocol yahalom-Paulson(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, Nr, {R,Kir,Ni}k(I,S), T );
-        send_4(I,R, T, {Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-        claim_I2(I, Nisynch);
-        claim_I3(I, Empty, (Fresh,Kir));
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, R, Nr, {I,Ni}k(R,S) );
-        recv_4(I,R, {I,R, Kir, Nr}k(R,S) , {Nr}Kir );
-
-        claim_R1(R, Secret,Kir);
-        claim_R2(R, Nisynch);
-        claim_R3(R, Empty, (Fresh,Kir));
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, R, Nr, {I,Ni}k(R,S) );
-        send_3(S,I, Nr, {R,Kir,Ni}k(I,S), {I,R,Kir,Nr}k(R,S) );
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/Protocols/yahalom.spdl b/Vagrant Files/shared/scyther/Protocols/yahalom.spdl
deleted file mode 100644
index 063817f..0000000
--- a/Vagrant Files/shared/scyther/Protocols/yahalom.spdl	
+++ /dev/null
@@ -1,52 +0,0 @@
-# Yahalom
-#
-# Modelled after the description in the SPORE library
-# http://www.lsv.ens-cachan.fr/spore/yahalom.html
-#
-#
-
-usertype SessionKey;
-
-protocol yahalom(I,R,S)
-{
-    role I
-    {
-        fresh Ni: Nonce;
-        var Nr: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        send_1(I,R, I,Ni);
-        recv_3(S,I, {R,Kir,Ni,Nr}k(I,S), T );
-        send_4(I,R, T, {Nr}Kir );
-
-        claim_I1(I, Secret,Kir);
-    }
-
-    role R
-    {
-        fresh Nr: Nonce;
-        var Ni: Nonce;
-        var T: Ticket;
-        var Kir: SessionKey;
-
-        recv_1(I,R, I,Ni);
-        send_2(R,S, R, {I,Ni,Nr}k(R,S) );
-        recv_4(I,R, {I,Kir}k(R,S) , {Nr}Kir );
-
-        claim_R1(R, Secret,Kir);
-    }
-
-    role S
-    {
-        fresh Kir: SessionKey;
-        var Ni,Nr: Nonce;
-
-        recv_2(R,S, R, {I,Ni,Nr}k(R,S) );
-        send_3(S,I, {R,Kir,Ni,Nr}k(I,S), {I,Kir}k(R,S) );
-
-        claim(S, Secret, Ni);
-        claim(S, Secret, Nr);
-    }
-}
-
diff --git a/Vagrant Files/shared/scyther/README.md b/Vagrant Files/shared/scyther/README.md
deleted file mode 100644
index 706df8d..0000000
--- a/Vagrant Files/shared/scyther/README.md	
+++ /dev/null
@@ -1,66 +0,0 @@
-The Scyther tool
-================
-
-Scyther is a tool for the symbolic analysis of security protocols. It is
-developed by Cas Cremers, and is available from
-<http://www.cs.ox.ac.uk/people/cas.cremers/scyther/index.html>.
-
-The below instructions apply only to the *distribution version* of
-the Scyther tool. If you are working from the source files, some paths may be
-slightly different, and it is recommended to follow the instructions in [../README.md](../README.md).
-
-Running the scyther tool
-------------------------
-
-### Graphical user interface ###
-
-The graphical user interface can be started by running `scyther-gui.py`,
-e.g., enter the following in a terminal and press return
-
-	python ./scyther-gui.py
-
-### Command-line usage ###
-
-In the directory `./Scyther` there should be an executable for the
-Scyther backend. Its name depends on the platform:
-
- * `scyther-linux` (Linux)
- * `scyther-w32` (Windows)
- * `scyther-mac` (Mac OS X)
-
-If this executable does not exist, you probably downloaded the source
-files, and will need to compile it first. See `../README.md` for further
-details.
-
-There are also various test scripts (for usage in Linux) in this
-directory.
-
-Obtaining the sources
-----------------------
-
-Scyther is being developed on *Github*, and its complete source files are
-availabe from
-<https://github.com/cascremers/scyther>.
-
-Manual
-------
-
-We are currently rewriting the manual. The current (incomplete)
-distribution version of the manual can be found here:
-
-  * [./scyther-manual.pdf](scyther-manual.pdf)
-
-
-Protocol Models
----------------
-
-The protocol models have the extension `.spdl` and can be found in the following directories:
-
-  * [./Protocols](Protocols) and its subdirectories.
-
-License
--------
-
-Currently the Scyther tool is licensed under the GPL 2, as indicated in
-the source code. Contact Cas Cremers if you have any questions.
-
diff --git a/Vagrant Files/shared/scyther/Scripts/regression-test.py b/Vagrant Files/shared/scyther/Scripts/regression-test.py
deleted file mode 100644
index beabc74..0000000
--- a/Vagrant Files/shared/scyther/Scripts/regression-test.py	
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env python
-
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-def testSet(blacklist=[]):
-    import os
-
-    prefix = "../Protocols/"
-    dl = os.listdir(prefix)
-    fl = []
-    for fn in dl:
-        if fn.endswith(".spdl"):
-            okay = True
-            for fb in blacklist:
-                if fn.startswith(fb):
-                    okay = False
-                    break
-            if okay:
-                fl.append((prefix,fn))
-    return fl
-
-def evaluate(fn,prefix=""):
-    import subprocess
-    import tempfile
-
-    cmd = "../Scyther/scyther-linux"
-    args = [cmd,"--max-runs=4","--plain",fn]
-
-    fstdout = tempfile.TemporaryFile()
-    fstderr = tempfile.TemporaryFile()
-
-    subprocess.call(args,stdout=fstdout,stderr=fstderr)
-
-    fstdout.seek(0)
-    fstderr.seek(0)
-
-    res = ""
-    for l in fstdout.xreadlines():
-        res += prefix + l.strip() + "\n"
-    #for l in fstderr.xreadlines():
-    #    print l
-
-    fstdout.close()
-    fstderr.close()
-    return res
-
-
-def main():
-    dest = "regression-test.txt"
-    output = "regression-test.txt.tmp"
-
-    fp = open(output, 'w')
-
-    fl = testSet(blacklist=['ksl'])
-    cnt = 1
-    tres = ""
-    for (prefix,fn) in sorted(fl):
-        print "Evaluating %s (%i/%i)" % (fn,cnt,len(fl))
-        res = evaluate(prefix+fn, "%s\t" % (fn))
-        fp.write(res)
-        tres += res
-        cnt += 1
-    fp.close()
-
-    fp = open(dest, 'w')
-    fp.write(tres)
-    fp.close()
-
-    print res
-
-
-
-if __name__ == '__main__':
-    main()
diff --git a/Vagrant Files/shared/scyther/Scripts/regression-test.txt b/Vagrant Files/shared/scyther/Scripts/regression-test.txt
deleted file mode 100644
index 3fa247f..0000000
--- a/Vagrant Files/shared/scyther/Scripts/regression-test.txt	
+++ /dev/null
@@ -1,64 +0,0 @@
-BKE.spdl	claim	bke,I	SKR_4	kir	Ok	[no attack within bounds]
-BKE.spdl	claim	bke,R	SKR_7	kir	Ok	[no attack within bounds]
-TLS-Paulson.spdl	claim	tlspaulson,a	SKR_9a	hash(sid,hash(pms,na,nb),na,pa,a,nb,pb,b,true)	Ok	[no attack within bounds]
-TLS-Paulson.spdl	claim	tlspaulson,a	SKR_9b	hash(sid,hash(pms,na,nb),na,pa,a,nb,pb,b,false)	Ok	[no attack within bounds]
-TLS-Paulson.spdl	claim	tlspaulson,b	SKR_10a	hash(sid,hash(pms,na,nb),na,pa,a,nb,pb,b,true)	Ok	[no attack within bounds]
-TLS-Paulson.spdl	claim	tlspaulson,b	SKR_10b	hash(sid,hash(pms,na,nb),na,pa,a,nb,pb,b,false)	Ok	[no attack within bounds]
-ccitt509-1.spdl	claim	ccitt509-1,R	Nisynch_3	-	Ok	[proof of correctness]
-ccitt509-1c.spdl	claim	ccitt509-1c,R	Nisynch_3	-	Ok	[proof of correctness]
-ccitt509-3.spdl	claim	ccitt509-3,I	Nisynch_I1	-	Ok	[proof of correctness]
-ccitt509-3.spdl	claim	ccitt509-3,I	Secret_I2	Ya	Ok	[proof of correctness]
-ccitt509-3.spdl	claim	ccitt509-3,I	Secret_I3	Yb	Ok	[proof of correctness]
-ccitt509-3.spdl	claim	ccitt509-3,R	Nisynch_R1	-	Fail	[at least 3 attacks]
-ccitt509-3.spdl	claim	ccitt509-3,R	Secret_R2	Ya	Ok	[no attack within bounds]
-ccitt509-3.spdl	claim	ccitt509-3,R	Secret_R3	Yb	Ok	[no attack within bounds]
-ccitt509-ban3.spdl	claim	ccitt509-ban3,I	Nisynch_4	-	Ok	[proof of correctness]
-ccitt509-ban3.spdl	claim	ccitt509-ban3,R	Nisynch_5	-	Ok	[no attack within bounds]
-needham-schroeder-lowe.spdl	claim	needhamschroederpk-Lowe,I	Secret_I1	Ni	Ok	[no attack within bounds]
-needham-schroeder-lowe.spdl	claim	needhamschroederpk-Lowe,I	Secret_I2	Nr	Ok	[no attack within bounds]
-needham-schroeder-lowe.spdl	claim	needhamschroederpk-Lowe,I	Nisynch_I3	-	Fail	[at least 3 attacks]
-needham-schroeder-lowe.spdl	claim	needhamschroederpk-Lowe,R	Secret_R1	Nr	Ok	[no attack within bounds]
-needham-schroeder-lowe.spdl	claim	needhamschroederpk-Lowe,R	Secret_R2	Ni	Ok	[no attack within bounds]
-needham-schroeder-lowe.spdl	claim	needhamschroederpk-Lowe,R	Nisynch_R3	-	Fail	[at least 3 attacks]
-needham-schroeder.spdl	claim	needhamschroederpk,I	Secret_I1	Ni	Ok	[no attack within bounds]
-needham-schroeder.spdl	claim	needhamschroederpk,I	Secret_I2	Nr	Ok	[no attack within bounds]
-needham-schroeder.spdl	claim	needhamschroederpk,I	Nisynch_I3	-	Fail	[at least 3 attacks]
-needham-schroeder.spdl	claim	needhamschroederpk,R	Secret_R1	Nr	Fail	[at least 5 attacks]
-needham-schroeder.spdl	claim	needhamschroederpk,R	Secret_R2	Ni	Fail	[at least 5 attacks]
-needham-schroeder.spdl	claim	needhamschroederpk,R	Nisynch_R3	-	Fail	[at least 3 attacks]
-smartright.spdl	claim	smartright,R	Nisynch_R1	-	Fail	[at least 1 attack]
-splice-as-cj.spdl	claim	spliceAS-CJ,I	Secret_7	N2	Ok	[no attack within bounds]
-splice-as-cj.spdl	claim	spliceAS-CJ,I	Niagree_9	-	Fail	[at least 1 attack]
-splice-as-cj.spdl	claim	spliceAS-CJ,I	Nisynch_10	-	Fail	[at least 1 attack]
-splice-as-cj.spdl	claim	spliceAS-CJ,R	Secret_8	N2	Ok	[no attack within bounds]
-splice-as-cj.spdl	claim	spliceAS-CJ,R	Niagree_11	-	Fail	[at least 1 attack]
-splice-as-cj.spdl	claim	spliceAS-CJ,R	Nisynch_12	-	Fail	[at least 1 attack]
-splice-as-hc.spdl	claim	spliceAS-HC,I	Secret_7	N2	Ok	[no attack within bounds]
-splice-as-hc.spdl	claim	spliceAS-HC,I	Niagree_9	-	Fail	[at least 1 attack]
-splice-as-hc.spdl	claim	spliceAS-HC,I	Nisynch_10	-	Fail	[at least 1 attack]
-splice-as-hc.spdl	claim	spliceAS-HC,R	Secret_8	N2	Ok	[no attack within bounds]
-splice-as-hc.spdl	claim	spliceAS-HC,R	Niagree_11	-	Fail	[at least 1 attack]
-splice-as-hc.spdl	claim	spliceAS-HC,R	Nisynch_12	-	Fail	[at least 1 attack]
-splice-as.spdl	claim	spliceAS,I	Secret_7	N2	Ok	[no attack within bounds]
-splice-as.spdl	claim	spliceAS,I	Niagree_9	-	Fail	[at least 1 attack]
-splice-as.spdl	claim	spliceAS,I	Nisynch_10	-	Fail	[at least 1 attack]
-splice-as.spdl	claim	spliceAS,R	Secret_8	N2	Ok	[no attack within bounds]
-splice-as.spdl	claim	spliceAS,R	Niagree_11	-	Fail	[at least 1 attack]
-splice-as.spdl	claim	spliceAS,R	Nisynch_12	-	Fail	[at least 1 attack]
-woo-lam-pi-1.spdl	claim	woolamPi-1,R	Nisynch_R1	-	Fail	[at least 2 attacks]
-woo-lam-pi-2.spdl	claim	woolamPi-2,R	Nisynch_R1	-	Fail	[at least 3 attacks]
-woo-lam-pi-3.spdl	claim	woolamPi-3,R	Nisynch_R1	-	Fail	[at least 2 attacks]
-woo-lam-pi-f.spdl	claim	woolamPi-f,R	Nisynch_R1	-	Fail	[at least 1 attack]
-woo-lam-pi.spdl	claim	woolamPi,R	Nisynch_R1	-	Fail	[at least 2 attacks]
-yahalom-ban-paulson-modified.spdl	claim	yahalom-BAN-Paulson-modified,A	Secret_5	kab	Ok	[no attack within bounds]
-yahalom-ban-paulson-modified.spdl	claim	yahalom-BAN-Paulson-modified,B	Secret_6	kab	Ok	[no attack within bounds]
-yahalom-ban-paulson.spdl	claim	yahalom-BAN-Paulson,A	SKR_5	kab	Ok	[no attack within bounds]
-yahalom-ban-paulson.spdl	claim	yahalom-BAN-Paulson,B	SKR_6	kab	Ok	[no attack within bounds]
-yahalom-lowe.spdl	claim	yahalom-Lowe,I	Secret_I1	Kir	Ok	[proof of correctness]
-yahalom-lowe.spdl	claim	yahalom-Lowe,I	Nisynch_I2	-	Ok	[proof of correctness]
-yahalom-lowe.spdl	claim	yahalom-Lowe,R	Secret_R1	Kir	Ok	[proof of correctness]
-yahalom-lowe.spdl	claim	yahalom-Lowe,R	Nisynch_R2	-	Ok	[no attack within bounds]
-yahalom.spdl	claim	yahalom,I	Secret_I1	Kir	Ok	[no attack within bounds]
-yahalom.spdl	claim	yahalom,R	Secret_R1	Kir	Ok	[no attack within bounds]
-yahalom.spdl	claim	yahalom,S	Secret_S1	Ni	Fail	[at least 1 attack]
-yahalom.spdl	claim	yahalom,S	Secret_S2	Nr	Ok	[no attack within bounds]
diff --git a/Vagrant Files/shared/scyther/Scripts/scytherview.py b/Vagrant Files/shared/scyther/Scripts/scytherview.py
deleted file mode 100644
index 9973867..0000000
--- a/Vagrant Files/shared/scyther/Scripts/scytherview.py	
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Convert scyther dot output to a printable PDF and display it
-#
-# This is a simple hack to be able to quickly use the graphical output
-# of Scyther if one only has graphviz, but not elementtree and wxPython.
-#
-# Note 1: only works under Linux currently, because of silly assumptions
-# on temporary directories and pdf viewers.
-#
-# Note 2: this code assumes that both scyther-linux and dot can be found in the
-# environment (i.e. PATH variable)
-#
-import os,sys,commands
-import os.path
-
-tempcount = 0
-
-def generateTemp(extension='tmp'):
-    # We need a temporary file to hold the generated postscript stuff before
-    # it is converted to pdf
-    global tempcount
-
-    tempcount = tempcount + 1
-    tmp = '/tmp/output_dot_%s_%i.%s' % (os.getpid(),tempcount,extension)
-
-    try:
-        os.unlink(tmp)
-    except:
-        pass
-    return tmp
-
-def scyther_to_dotfile():
-    """ Run Scyther, return dotfile name """
-
-    mydir = os.path.dirname(__file__)
-    scythername = os.path.join(mydir, "../Scyther/scyther-linux")
-
-    args = " ".join(sys.argv[1:])
-    tmpdotfile = generateTemp('dot')
-
-    command = "%s --plain --dot-output %s > %s" % (scythername, args, tmpdotfile)
-    output = commands.getoutput(command)
-    return (output,tmpdotfile)
-
-def dotfile_to_pdffile(dotfile,outfile=None):
-    """ Generate a PDF file (name is returned) from an input dotfile
-    name """
-
-    tmp = generateTemp('ps')
-
-    # First split the input per digraph and call dot with -Gsize arguments to make
-    # it fit to a landscape page
-    dotdata = open(dotfile, "r")
-    f = None
-    for line in dotdata.xreadlines():
-        if (line.find('digraph') == 0):
-            f = os.popen("dot -Gsize='11.0,8.0' -Gratio=fill -Tps >>%s" % (tmp),'w')
-        print >>f, line
-    dotdata.close()
-
-    if not f:
-        return None
-    f.close()
-
-    if not outfile:
-        outfile = generateTemp('pdf')
-
-    # Now convert the resulting stuff to a pdf
-    os.system('ps2pdf -sPAPERSIZE=a4 -g7014x5300 -r600 %s %s' % (tmp,outfile))
-    #os.system('ps2pdf -g8300x6250 -r600 %s %s' % (tmp,outf))
-
-    # And remove the temp file
-    os.unlink(tmp)
-
-    return outfile
-
-def main():
-    (output,dotfile) = scyther_to_dotfile()
-    print output
-    pdffile = dotfile_to_pdffile(dotfile)
-    os.unlink(dotfile)
-    if pdffile:
-        commands.getoutput("kpdf %s" % pdffile)
-        os.unlink(pdffile)
-    else:
-        print "No graphs generated."
-
-if __name__ == '__main__':
-    if len(sys.argv) > 1:
-        main()
-    else:
-        print "Please provide the name of an input file."
-
diff --git a/Vagrant Files/shared/scyther/Scyther/.gitignore b/Vagrant Files/shared/scyther/Scyther/.gitignore
deleted file mode 100644
index c7e14a4..0000000
--- a/Vagrant Files/shared/scyther/Scyther/.gitignore	
+++ /dev/null
@@ -1,3 +0,0 @@
-scyther-mac
-scyther-linux
-scyther-w32.exe
diff --git a/Vagrant Files/shared/scyther/Scyther/Attack.py b/Vagrant Files/shared/scyther/Scyther/Attack.py
deleted file mode 100644
index d07ee6e..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Attack.py	
+++ /dev/null
@@ -1,71 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Attack
-#
-
-import Trace
-import Term
-#import Classification
-from Misc import *
-
-class Attack(object):
-    def __init__(self):
-        self.broken = []
-        self.match = None
-        self.initialKnowledge = []
-        self.inverseKeys = []
-        self.protocol = None
-        self.semiTrace = Trace.SemiTrace()
-        self.variables = []
-        self.protocoldescr = {}
-        self.id = None
-        self.knowledge = None 
-        self.untrusted = []
-        self.typeflaws = False
-        self.commandline = ''
-        self.scytherDot = None
-        self.claim = None       # refers to parent claim
-    
-    def getInvolvedAgents(self):
-        result = []
-        for run in self.semiTrace.runs:
-            for agent in run.roleAgents.values():
-                result.append(agent)
-        return uniq(result)
-
-    def buildKnowledge(self):
-        if not self.knowledge:
-            self.knowledge = Term.Knowledge(self)
-            self.knowledge.buildKnowledge()
-        
-    def getPrecedingLabelSet(self,event):
-        return self.protocoldescr[str(event.label[0])].getPrecedingLabelSet(event.label)
-        
-    def getPrecedingRoleSet(self,event):
-        return self.protocoldescr[str(event.label[0])].getPrecedingRoleSet(event.label)
-        
-    #def classify(self):
-    #    classification = Classification.Classification(self)
-    #    classification.classifyClaims()
-    #    classification.classifyInitiations()
-    #    classification.classifyComplexity()
-    #    classification.classifyTypeflaws()
-    #    return classification
diff --git a/Vagrant Files/shared/scyther/Scyther/Claim.py b/Vagrant Files/shared/scyther/Scyther/Claim.py
deleted file mode 100644
index c048789..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Claim.py	
+++ /dev/null
@@ -1,197 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Claim
-#
-
-import Term
-
-def stateDescription(okay,n=1,caps=False):
-    if okay:
-        s = "trace pattern"
-        if n != 1:
-            s += "s"
-    else:
-        s = "attack"
-        if n != 1:
-            s += "s"
-    if caps:
-        s = s[0].upper() + s[1:]
-    return s
-
-
-class Claim(object):
-    def __init__(self):
-        self.id = None          # a unique id string, consisting of 'protocol,label'
-        self.claimtype = None
-        self.label = None
-        self.shortlabel = None
-        self.protocol = None
-        self.role = None
-        self.parameter = None
-        self.failed = 0
-        self.count = 0
-        self.states = 0
-        self.complete = False
-        self.timebound = False
-        self.attacks = []
-        self.state = False      # if true, it is a state, not an attack
-        self.okay = None        # true if good, false if bad
-
-        # derived info
-        self.foundstates = False
-        self.foundproof = False
-
-    def analyze(self):
-
-        # determine short label
-        # We need the rightmost thingy here
-        label = self.label
-        while isinstance(label,Term.TermTuple):
-            label = label[1]
-        self.shortlabel = label
-
-        # determine id
-        self.id = "%s,%s" % (self.protocol,self.shortlabel)
-
-        # some additional properties
-        if str(self.claimtype) == 'Reachable':
-            self.state = True
-        if self.failed > 0:
-            self.foundstates = True
-        if self.complete:
-            self.foundproof = True
-
-        # status
-        # normally, with attacks, okay means none
-        self.okay = (self.failed == 0)
-        if self.state:
-            # but the logic reverses when it is states and not
-            # attacks...
-            self.okay = (not self.okay)
-
-    def stateName(self,count=1,caps=False):
-        return stateDescription(self.state,count,caps)
-
-    def getRank(self):
-        """
-        Return claim rank
-        0 - really failed
-        1 - probably failed
-        2 - probably okay
-        3 - really okay
-        """
-        n = len(self.attacks)
-        if not self.okay:
-            # not okay
-            if (self.state and self.complete) or ((not self.state) and (n > 0)):
-                return 0
-            else:
-                return 1
-        else:
-            # okay!
-            if not ((self.state and (n > 0)) or ((not self.state) and self.complete)):
-                return 2
-            else:
-                return 3
-
-    def getVerified(self):
-        """
-        returns an element of [None,'Verified','Falsified']
-        """
-        opts = ['Falsified',None,None,'Verified']
-        return opts[self.getRank()]
-
-
-    def getColour(self):
-        """
-        Returns a colour that expresses the state
-        """
-        colours = ['#FF0000',
-                   '#800000',
-                   '#005800',
-                   '#00B000']
-        return colours[self.getRank()]
-
-    def getOkay(self):
-        """
-        Returns a very brief statement about the claim.
-
-        Originally the two mid options had a question mark appended, but
-        from a users' point of view this might only be more confusing,
-        so I took them out again.
-        """
-        colours = ['Fail',
-                   'Fail',
-                   'Ok',
-                   'Ok']
-        return colours[self.getRank()]
-
-    def getComment(self):
-        """
-        returns a sentence describing the results for this claim
-        """
-        n = len(self.attacks)
-        atxt = self.stateName(n)
-        remark = ""
-        if not self.complete:
-            if n == 0:
-                # no attacks, no states within bounds
-                remark = "No %s within bounds" % (atxt)
-            else:
-                # some attacks/states within bounds
-                remark = "At least %i %s" % (n,atxt)
-        else:
-            if n == 0:
-                # no attacks, no states
-                remark = "No %s" % (atxt)
-            else:
-                # there exist n states/attacks (within any number of runs)
-                remark = "Exactly %i %s" % (n,atxt)
-        return remark + "."
-
-    def triplet(self):
-        """
-        Return protocol,role,label triplet
-        """
-        return (self.protocol, self.role, self.shortlabel)
-
-    def describe(self):
-        s = str(self.claimtype)
-        if self.parameter:
-            s+= "(%s)" % self.parameter
-
-        return s
-
-    def roledescribe(self):
-        return "%s: %s" % (self.role,self.describe())
-
-    def __str__(self):
-        """
-        Resulting string
-        """
-        s = "claim id [%s], %s" % (self.id,self.describe())
-
-        # determine status
-        s+= "\t: %s" % self.getComment()
-
-        return s
-
-
diff --git a/Vagrant Files/shared/scyther/Scyther/Error.py b/Vagrant Files/shared/scyther/Scyther/Error.py
deleted file mode 100644
index 88f5db8..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Error.py	
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Scyther interface error classes
-#
-
-#---------------------------------------------------------------------------
-
-class Error(Exception):
-    """Base class for exceptions in this module."""
-    pass
-
-class ScytherError(Error):
-    """Exception raised for errors generated by the backend
-
-    Attributes:
-        errorlist -- list of error lines are retrieved from the
-        backend
-    """
-
-    def __init__(self, errorlist,filenames=None,options=None):
-        self.errorlist = errorlist
-        self.filenames = filenames
-        self.options = options
-
-    def __str__(self):
-        s = "Scyther backend reported errors"
-        if len(self.filenames) == 0:
-            s = s + " for unknown files."
-        if len(self.filenames) == 1:
-            s = s + " for file %s" % (self.filenames)
-        if len(self.filenames) > 1:
-            s = s + " for files %s" % (self.filenames)
-        s = s + "\n"
-        s = s + "Options: '%s'\n\n" % (self.options)
-        S = s + "Error details:\n"
-        s = s + "\n".join(self.errorlist)
-        return s
-
-class InputError(Error):
-    """Exception raised for errors in the input.
-
-    Attributes:
-        expression -- input expression in which the error occurred
-        message -- explanation of the error
-    """
-
-    def __init__(self, expression, message):
-        self.expression = expression
-        self.message = message
-
-class BinaryError(Error):
-    """Raised when the Scyther executable is not found.
-
-    Attributes:
-        file -- file location at which we should have been able to find it.
-    """
-
-    def __init__(self, file):
-        self.file = file
-
-    def __str__(self):
-        return "Could not find Scyther executable at '%s'" % (self.file)
-
-
-class NoBinaryError(Error):
-    """Raised when the Scyther executable is not defined.
-
-    Attributes:
-        None.
-    """
-
-    def __str__(self):
-        return "Scyther class attribute 'program' was not defined."
-
-
-class UnknownPlatformError(Error):
-    """Raised when the platform is not supported yet.
-
-    Attributes:
-        platform -- string describing the platform.
-    """
-
-    def __init__(self, platform):
-        self.platform = platform
-
-    def __str__(self):
-        return "The %s platform is currently unsupported." % self.platform
-
-class StringListError(Error):
-    """Raised when the a string should be a list of strings or a string
-
-    Attributes:
-        obj -- object that did not fit
-    """
-
-    def __init__(self, obj):
-        self.obj = obj
-
-    def __str__(self):
-        return "Got '%s', which is type '%s' instead of a (list of) string." % (self.obj, type(self.obj))
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Scyther/FindDot.py b/Vagrant Files/shared/scyther/Scyther/FindDot.py
deleted file mode 100644
index c70c3ff..0000000
--- a/Vagrant Files/shared/scyther/Scyther/FindDot.py	
+++ /dev/null
@@ -1,129 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# FindDot.py
-#
-# Since version 2.31, GraphViz no longer sets the PATH environment variable on Windows.
-# The sole reason of existence for this file is to solve this issue automatically if possible.
-
-#---------------------------------------------------------------------------
-""" Import externals """
-import sys
-import os
-#---------------------------------------------------------------------------
-""" Import internals """
-import Misc
-#---------------------------------------------------------------------------
-
-DOTLOCATION = None
-
-#---------------------------------------------------------------------------
-
-def testDot(fpath):
-
-    try:
-        cmd = "%s -V" % (fpath)
-        (sts,sout,serr) = Misc.safeCommandOutput(cmd)
-        if sts != -1:
-            if "version" in sout + serr:
-                return True
-    except:
-        pass
-    
-    return False
-
-#---------------------------------------------------------------------------
-
-def scanPrefix(pf,name):
-
-    if pf.endswith("*"):
-        import glob
-
-        gl = glob.glob(pf)
-        for pf in gl:
-            for root,dirs,files in os.walk(pf):
-                for d in dirs:
-                    npf = os.path.join(root,d)
-                    res = scanPrefix(npf,name)
-                    if res != None:
-                        return res
-
-        return None
-
-    fpath = os.path.join(pf,name)
-    if len(pf) > 0:
-        fpath = "\"%s\"" % (fpath)
-    if testDot(fpath) == True:
-        return fpath
-
-    return None
-
-
-def scanLocations():
-    if sys.platform.startswith("win"):
-        prefixes = ["", \
-                    "C:\Program Files\Graphviz*", \
-                    "C:\Program Files (x86)\Graphviz*" ]
-        name = "dot.exe"
-    else:
-        prefixes = [""]
-        name = "dot"
-
-    for pf in prefixes:
-        path = scanPrefix(pf,name)
-        if path != None:
-            return path
-
-    return None
-    
-#---------------------------------------------------------------------------
-
-def findDot():
-    global DOTLOCATION
-
-    # Cache the results
-    if DOTLOCATION != None:
-        return DOTLOCATION
-
-    DOTLOCATION = scanLocations()
-    if DOTLOCATION == None:
-        Misc.panic("""
-Could not find the required 'dot' program, which is part of the Graphviz suite.
-Please install it from http://www.graphviz.org/
-
-Ubuntu users: install the 'graphviz' package.
-
-Windows users: make sure that Graphviz is installed and 
-   that the location of the 'dot' program is in
-   the PATH environment variable.
-
-Restarting your system may be needed for Scyther to locate any newly installed
-programs.
-        """)
-    return DOTLOCATION
-
-#---------------------------------------------------------------------------
-
-if __name__ == '__main__':
-    Misc.panic(findDot())
-
-#---------------------------------------------------------------------------
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Scyther/Misc.py b/Vagrant Files/shared/scyther/Scyther/Misc.py
deleted file mode 100644
index e41abd8..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Misc.py	
+++ /dev/null
@@ -1,158 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Misc.py
-# Various helper functions
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import sys
-import os.path
-try:
-    from subprocess import Popen,PIPE
-except:
-    panic("""
-Cannot import 'subprocess.Popen' module. 
-
-You need at least Python 2.4 to use this program.
-""")
-
-#---------------------------------------------------------------------------
-
-def confirm(question):
-    answer = ''
-    while answer not in ('y','n'):
-        print question,
-        answer = raw_input().lower()
-    return answer == 'y'
-
-def exists(func,list):
-    return len(filter(func,list)) > 0    
-
-def forall(func,list):
-    return len(filter(func,list)) == len(list)    
-
-def uniq(li):
-    result = []
-    for elem in li:
-        if (not elem in result):
-            result.append(elem)
-    return result
-
-# Return a sorted copy of a list
-def sorted(li):
-    result = li[:]
-    result.sort()
-    return result
-
-
-# ensurePath: wraps os.makedirs
-def ensurePath(pt):
-    """
-    Make sure the path exists: if not, create the directories one by one
-
-    By example:
-
-    Call with "dog/cat/bone" ensures that afterwards, this subdirectory structure (dog/cat/bone) exists, with 'bone' a directory.
-    It ensures this by doing the procedure for "dog", then "dog/cat", etc...
-    """
-
-    if not os.path.isdir(pt):
-         # Note that os.path.exists(pt) may still hold. In this case the next command will cause an error.
-         os.makedirs(pt)
-
-
-# path
-def mypath(file):
-    """ Construct a file path relative to the scyther-gui main directory
-    """
-    # Determine base directory (taking symbolic links into account)
-    cmd_file = os.path.realpath(os.path.abspath(inspect.getfile( inspect.currentframe() )))
-    basedir = os.path.split(cmd_file)[0]
-    return os.path.join(basedir,file)
-
-def getShell():
-    """
-    Determine if we want a shell for Popen
-    """
-    if sys.platform.startswith("win"):
-        shell=False
-    else:
-        # Needed to handle the string input correctly (as opposed to a sequence where the first element is the executable)
-        # This is not needed on Windows, where it has a different effect altogether.
-        # See http://docs.python.org/library/subprocess.html?highlight=subprocess#module-subprocess
-        shell=True
-    return shell
-
-def safeCommandOutput(cmd, storePopen=None):
-    """ Execute a command and return (sts,sout,serr).
-    Meant for short outputs, as output is stored in memory and
-    not written to a file.
-    """
-    p = Popen(cmd, shell=getShell(), stdout=PIPE, stderr=PIPE)
-    if storePopen != None:
-        storePopen(p)
-    (sout,serr) = p.communicate()
-
-    return (p.returncode,sout,serr)
-
-def safeCommand(cmd, storePopen=None):
-    """ Execute a command with some arguments. Safe cross-platform
-    version, I hope. """
-
-    try:
-        p = Popen(cmd, shell=getShell())
-        if storePopen != None:
-            storePopen(p)
-        sts = p.wait()
-    except KeyboardInterrupt, EnvironmentError:
-        raise
-    except:
-        print "Wile processing [%s] we had an" % (cmd)
-        print "unexpected error:", sys.exc_info()[0]
-        print
-        sts = -1
-        raise   # For now still raise
-
-    return sts
-
-
-def panic(text):
-    """
-    Errors that occur before we even are sure about wxPython etc. are dumped
-    on the command line and reported using Tkinter.
-    """
-
-    try:
-        import Tkinter
-    except:
-        print text
-        sys.exit(-1)
-    
-    print text
-
-    root = Tkinter.Tk()
-    w = Tkinter.Label(root, justify=Tkinter.LEFT, padx = 10, text=text)
-    w.pack()
-    root.mainloop()
-
-    sys.exit(-1)
-
diff --git a/Vagrant Files/shared/scyther/Scyther/Scyther.py b/Vagrant Files/shared/scyther/Scyther/Scyther.py
deleted file mode 100644
index 0de9bb6..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Scyther.py	
+++ /dev/null
@@ -1,648 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Scyther interface
-#
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import os
-import os.path
-import sys
-import StringIO
-import tempfile
-try:
-    import hashlib
-    HASHLIB = True
-except ImportError:
-    HASHLIB = False
-    pass
-
-#---------------------------------------------------------------------------
-
-""" Import scyther components """
-import XMLReader
-import Error
-import Claim
-from Misc import *
-
-#---------------------------------------------------------------------------
-
-"""
-Globals
-"""
-
-FirstCheck = True
-
-#---------------------------------------------------------------------------
-
-"""
-Get current directory (for this file)
-"""
-def getMyDir():
-    return os.path.dirname( os.path.realpath( __file__ ) )
-
-"""
-The default path for the binaries is the current one.
-"""
-def getBinDir():
-    return getMyDir()
-
-"""
-Return Cache prefix path
-Returns None if not existent
-"""
-def getCacheDir():
-    
-    tmpdir = None
-
-    # Check if user chose the path
-    cachedirkey = "SCYTHERCACHEDIR"
-    if cachedirkey in os.environ.keys():
-        tmpdir = os.environ[cachedirkey]
-        if tmpdir == "":
-            # Special value: if the variable is present, but equals the empty string, we disable caching.
-            return None
-    else:
-        # Otherwise take from path
-        tmpdir = tempfile.gettempdir()
-    
-    # If not none, append special name
-    if tmpdir != None:
-        tmpdir = os.path.join(tmpdir,"Scyther-cache")
-
-    return tmpdir
-
-    
-
-#---------------------------------------------------------------------------
-
-def Check():
-    """
-    Various dynamic checks that can be performed before starting the
-    backend.
-    """
-
-    global FirstCheck
-
-    # First time
-    if FirstCheck:
-        """
-        Perform any checks that only need to be done the first time.
-        """
-        FirstCheck = False
-
-    # Every time
-    
-    # Check Scyther backend program availability
-    program = getScytherBackend()
-    CheckSanity(program)
-
-
-#---------------------------------------------------------------------------
-
-def CheckSanity(program):
-    """
-    This is where the existence is checked of the Scyther backend.
-    """
-
-    if not os.path.isfile(program):
-        raise Error.BinaryError, program
-
-#---------------------------------------------------------------------------
-
-def EnsureString(x,sep=" "):
-    """
-    Takes a thing that is either a list or a string.
-    Turns it into a string. If it was a list, <sep> is inserted, and the
-    process iterats.
-
-    TODO does not accept unicode yet, that is something that must be
-    handled to or we run into wxPython problems eventually.
-    """
-    if type(x) is str:
-        return x
-
-    elif type(x) is list:
-        newlist = []
-        for el in x:
-            newlist.append(EnsureString(el,sep))
-        return sep.join(newlist)
-
-    else:
-        raise Error.StringListError, x
-
-
-#---------------------------------------------------------------------------
-
-def getScytherBackend():
-    # Where is my executable?
-    #
-    # Auto-detect platform and infer executable name from that
-    #
-    if "linux" in sys.platform:
-
-        """ linux """
-        scythername = "scyther-linux"
-
-    elif "darwin" in sys.platform:
-
-        """ OS X """
-        scythername = "scyther-mac"
-
-    elif sys.platform.startswith('win'):
-
-        """ Windows """
-        scythername = "scyther-w32.exe"
-
-    else:
-
-        """ Unsupported"""
-        raise Error.UnknownPlatformError, sys.platform
-
-    program = os.path.join(getBinDir(),scythername)
-    return program
-
-
-#---------------------------------------------------------------------------
-
-class Scyther(object):
-    def __init__ ( self):
-
-        # Init
-        self.program = getScytherBackend()
-        self.spdl = None
-        self.inputfile = None
-        self.filenames = []
-        self.options = ""
-        self.claims = None
-        self.errors = None
-        self.errorcount = 0
-        self.warnings = None
-        self.run = False
-        self.output = None
-        self.cmd = None
-
-        # defaults
-        self.xml = True     # this results in a claim end, otherwise we simply get the output
-
-    def setInput(self,spdl):
-        self.spdl = spdl
-        self.inputfile = None
-        self.guessFileNames()
-
-    def setFile(self,filename):
-        self.inputfile = filename
-        self.filenames = [self.inputfile]
-        self.spdl = ""
-        fp = open(filename,"r")
-        for l in fp.readlines():
-            self.spdl += l
-        fp.close()
-
-    def addFile(self,filename):
-        self.inputfile = None
-        if not self.spdl:
-            self.spdl = ""
-        fp = open(filename,"r")
-        for l in fp.readlines():
-            self.spdl += l
-        fp.close()
-        self.guessFileNames()
-
-    def guessFileNames(self,spdl=None):
-        """
-        Try to extract filenames (well, actually, protocol names) sloppily from some spdl script.
-
-        There are two modes:
-
-        [init] : If the spdl parameter is empty or None, we reset the filenames and extract from self.spdl
-        [add]  : If the spdl parameter is non-empty, add the extracted filenames to an existing list
-
-        """
-
-        if (spdl == None) or (len(spdl) == 0):
-            spdl = self.spdl
-            if spdl == None:
-                spdl = ""
-            self.filenames = []
-
-        for sl in spdl.splitlines():
-            l = sl.strip()
-            prefix = "protocol "
-            postfix = "("
-            x = l.find(prefix)
-            if x >= 0:
-                # The prefix occurs
-                y = l.find(postfix,x+len(prefix))
-                if y >= 0:
-                    gn = l[x+len(prefix):y]
-                    # check for helper protocols
-                    if not gn.startswith("@"):
-                        if gn not in self.filenames:
-                            self.filenames.append(gn)
-
-    def addArglist(self,arglist):
-        for arg in arglist:
-            self.options += " %s" % (arg)
-
-    def doScytherCommand(self, spdl, args, checkKnown=False, storePopen=None):
-        """
-        Cached version of the 'real' below
-
-        TODO: CC: One possible problem with the caching is the side-effect, e.g., scyther writing to specific named output files. These are not
-        captured in the cache. I don't have a good solution for that yet.
-        """
-        global HASHLIB
-
-        # Can we use the cache?
-        canCache = False
-        if HASHLIB:
-            cacheDir = getCacheDir()
-            if cacheDir != None:
-                canCache = True
-        else:
-            cacheDir = None
-
-        # If we cannot use the cache, we either need to compute or, if checking for cache presense,...
-        if not canCache:
-            if checkKnown == True:
-                # not using the cache, so we don't have it already
-                return False
-            else:
-                # Need to compute
-                return self.doScytherCommandReal(spdl,args, storePopen=storePopen)
-
-        # Apparently we are supporsed to be able to use the cache
-        m = hashlib.sha256()
-        if spdl == None:
-            m.update("[spdl:None]")
-        else:
-            m.update(spdl)
-        if args == None:
-            m.update("[args:None]")
-        else:
-            m.update(args)
-
-        uid = m.hexdigest()
-
-        # Split the uid to make 256 subdirectories with 256 subdirectories...
-        prefixlen = 2
-        uid1 = uid[:prefixlen]
-        uid2 = uid[prefixlen:prefixlen+2]
-        uid3 = uid[prefixlen+2:]
-
-        # Possibly we could also decide to store input and arguments in the cache to analyze things later
-
-        # Construct: cachePath/uid1/uid2/...
-        path = os.path.join(cacheDir,uid1,uid2)
-        name1 = "%s.out" % (uid3)
-        name2 = "%s.err" % (uid3)
-
-        fname1 = os.path.join(path, name1)
-        fname2 = os.path.join(path, name2)
-
-        try:
-            """
-            Try to retrieve the result from the cache
-            """
-            fh1 = open(fname1,"r")
-            out = fh1.read()
-            fh1.close()
-            fh2 = open(fname2,"r")
-            err = fh2.read()
-            fh2.close()
-            if checkKnown == True:
-                # We got to here, so we have it
-                return True
-            else:
-                # Not checking cache, we need the result
-                return (out,err)
-        except:
-            pass
-
-        """
-        Something went wrong, do the real thing and cache afterwards
-        """
-        if checkKnown == True:
-            # We were only checking, abort
-            return False
-
-        (out,err) = self.doScytherCommandReal(spdl,args, storePopen=storePopen)
-
-        try:
-            # Try to store result in cache
-            ensurePath(path)
-
-            fh1 = open(fname1,"w")
-            fh1.write(out)
-            fh1.close()
-
-            fh2 = open(fname2,"w")
-            fh2.write(err)
-            fh2.close()
-        except:
-            pass
-
-        return (out,err)
-
-
-    def doScytherCommandReal(self, spdl, args, storePopen=None):
-        """ 
-        Run Scyther backend on the input
-        
-        Arguments:
-            spdl -- string describing the spdl text
-            args -- arguments for the command-line
-            storePopen -- callback function to register Popen objects (used for process kill by other threads)
-        Returns:
-            (output,errors)
-            output -- string which is the real output
-            errors -- string which captures the errors
-        """
-
-        if self.program == None:
-            raise Error.NoBinaryError
-
-        # Sanitize input somewhat
-        if spdl == "":
-            # Scyther hickups on completely empty input
-            spdl = "\n"
-
-        # Extract filenames for error reporting later
-        self.guessFileNames(spdl=spdl)
-
-        # Generate temporary files for the output.
-        # Requires Python 2.3 though.
-        (fde,fne) = tempfile.mkstemp()  # errors
-        (fdo,fno) = tempfile.mkstemp()  # output
-        if spdl:
-            (fdi,fni) = tempfile.mkstemp()  # input
-
-            # Write (input) file
-            fhi = os.fdopen(fdi,'w+b')
-            fhi.write(spdl)
-            fhi.close()
-
-        # Generate command line for the Scyther process
-        self.cmd = ""
-        self.cmd += "\"%s\"" % self.program
-        self.cmd += " --append-errors=%s" % fne
-        self.cmd += " --append-output=%s" % fno
-        self.cmd += " %s" % args
-        if spdl:
-            self.cmd += " %s" % fni
-
-        # Only for debugging, really
-        ##print self.cmd
-
-        # Start the process
-        safeCommand(self.cmd, storePopen=storePopen)
-
-        # reseek
-        fhe = os.fdopen(fde)
-        fho = os.fdopen(fdo)
-        errors = fhe.read()
-        output = fho.read()
-
-        # clean up files
-        fhe.close()
-        fho.close()
-        os.remove(fne)
-        os.remove(fno)
-        if spdl:
-            os.remove(fni)
-
-        return (output,errors)
-
-    def sanitize(self):
-        """ Sanitize some of the input """
-        self.options = EnsureString(self.options)
-
-    def verify(self,extraoptions=None,checkKnown=False,storePopen=None):
-        """ Should return a list of results """
-        """ If checkKnown == True, we do not call Scyther, but just check the cache, and return True iff the result is in the cache """
-
-        # Cleanup first
-        self.sanitize()
-    
-        # prepare arguments
-        args = ""
-        if self.xml:
-            args += " --dot-output --xml-output --plain"
-        args += " %s" % self.options
-        if extraoptions:
-            # extraoptions might need sanitizing
-            args += " %s" % EnsureString(extraoptions)
-
-        # Are we only checking the cache?
-        if checkKnown == True:
-            return self.doScytherCommand(self.spdl, args, checkKnown=checkKnown, storePopen=storePopen)
-
-        # execute
-        (output,errors) = self.doScytherCommand(self.spdl, args, storePopen=storePopen)
-        self.run = True
-
-        # process errors
-        self.errors = []
-        self.warnings = []
-        for l in errors.splitlines():
-            line = l.strip()
-            if len(line) > 0:
-                # filter out any non-errors (say maybe only claim etc) and count
-                # them.
-                if line.startswith("claim\t"):
-                    # Claims are lost, reconstructed from the XML output
-                    pass
-                elif line.startswith("warning"):
-                    # Warnings are stored seperately
-                    self.warnings.append(line)
-                else:
-                    # otherwise it is an error
-                    self.errors.append(line)
-
-        self.errorcount = len(self.errors)
-        if self.errorcount > 0:
-            raise Error.ScytherError(self.errors,filenames=self.filenames,options=self.options)
-
-        # process output
-        self.output = output
-        self.validxml = False
-        self.claims = []
-        if self.xml:
-            if len(output) > 0:
-                if output.startswith("<scyther>"):
-
-                    # whoohee, xml
-                    self.validxml = True
-
-                    xmlfile = StringIO.StringIO(output)
-                    reader = XMLReader.XMLReader()
-                    self.claims = reader.readXML(xmlfile)
-
-        # Determine what should be the result
-        if self.xml:
-            return self.claims
-        else:
-            return self.output
-
-    def verifyOne(self,cl=None,checkKnown=False,storePopen=None):
-        """
-        Verify just a single claim with an ID retrieved from the
-        procedure below, 'scanClaims', or a full claim object
-
-        If checkKnown is True, return if the result is already known (but never recompute).
-        """
-        if cl:
-            # We accept either a claim or a claim id
-            if isinstance(cl,Claim.Claim):
-                cl = cl.id
-            return self.verify("--filter=%s" % cl, checkKnown=checkKnown,storePopen=storePopen)
-        else:
-            # If no claim, then its just normal verification
-            return self.verify(checkKnown=checkKnown,storePopen=storePopen)
-
-    def scanClaims(self):
-        """
-        Retrieve the list of claims. Of each element (a claim), claim.id
-        can be passed to --filter=X or 'verifyOne' later.
-        A result of 'None' means that some errors occurred.
-        """
-        self.verify("--scan-claims")
-        if self.errorcount > 0:
-            return None
-        else:
-            self.validxml = False   # Signal that we should not interpret the output as XML
-            return self.claims
-
-    def getClaim(self,claimid):
-        if self.claims:
-            for cl in self.claims:
-                if cl.id == claimid:
-                    return cl
-        return None
-
-    def __str__(self):
-        if self.run:
-            if self.errorcount > 0:
-                return "%i errors:\n%s" % (self.errorcount, "\n".join(self.errors))
-            else:
-                if self.xml and self.validxml:
-                    s = "Verification results:\n"
-                    for cl in self.claims:
-                        s += str(cl) + "\n"
-                    return s
-                else:
-                    return self.output
-        else:
-            return "Scyther has not been run yet."
-
-#---------------------------------------------------------------------------
-
-def GetClaims(filelist, filterlist=None):
-    """
-    Given a list of file names in filelist,
-    returns a dictionary of filenames to lists claim names.
-    Filenames which yielded no claims are filtered out.
-    
-    Filterlist may be None or a list of claim names (Secret, SKR, Niagree etc).
-    """
-
-    dict = {}
-    for fname in filelist:
-        try:
-            sc = Scyther()
-            sc.setFile(fname)
-            l = sc.scanClaims()
-            if l != None:
-                cl = []
-                for claim in l:
-                    if filterlist == None:
-                        cl.append(claim.id)
-                    else:
-                        if claim.claimtype in filterlist:
-                            cl.append(claim.id)
-                dict[fname] = cl
-        except:
-            pass
-    return dict
-
-#---------------------------------------------------------------------------
-
-def FindProtocols(path="",filterProtocol=None):
-    """
-    Find a list of protocol names
-
-    Note: Unix only! Will not work under windows.
-    """
-
-    import commands
-
-    cmd = "find %s -iname '*.spdl'" % (path)
-    plist = commands.getoutput(cmd).splitlines()
-    nlist = []
-    for prot in plist:
-        if filterProtocol != None:
-            if filterProtocol(prot):
-                nlist.append(prot)
-        else:
-            nlist.append(prot)
-    return nlist
-
-#---------------------------------------------------------------------------
-
-def GetInfo(html=False):
-    """
-    Retrieve a tuple (location,string) with information about the tool,
-    retrieved from the --expert --version data
-    """
-
-    program = getScytherBackend()
-    arg = "--expert --version"
-    sc = Scyther()
-    (output,errors) = sc.doScytherCommand(spdl=None, args=arg)
-    if not html:
-        return (program,output)
-    else:
-        sep = "<br>\n"
-        html = "Backend: %s%s" % (program,sep)
-        for l in output.splitlines():
-            l.strip()
-            html += "%s%s" % (l,sep)
-        return html
-
-
-def GetLicense():
-    """
-    Retrieve license information.
-    """
-
-    program = getScytherBackend()
-    arg = "--license"
-    sc = Scyther()
-    (output,errors) = sc.doScytherCommand(spdl=None, args=arg)
-    return output
-
-
-#---------------------------------------------------------------------------
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/Scyther/Term.py b/Vagrant Files/shared/scyther/Scyther/Term.py
deleted file mode 100644
index 9369aa2..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Term.py	
+++ /dev/null
@@ -1,223 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Term
-#
-import Trace
-from Misc import *
-
-class InvalidTerm(TypeError):
-    "Exception used to indicate that a given term is invalid"
-    
-
-class Knowledge(object):
-    def __init__(self,attack):
-        self.attack = attack
-        self.knowledge = []
-
-    def getInverse(self,term):
-        for pair in self.attack.inverseKeys:
-            if term == pair[0]:
-                return pair[1]
-            if term == pair[1]:
-                return pair[0]
-
-    # Get the inverse key
-    def getInverseKey(self,term):
-        # First try to see if the entire term has an inverse
-        result = self.getInverse(term)
-        if result != None:
-            return result
-        
-        # If it is an apply term, try to see if the function has an inverse
-        if isinstance(term,TermApply):
-            result = self.getInverse(term.function)
-            if result != None:
-                return TermApply(result,term.argument)
-            
-        # No inverse found, so term is its own inverse
-        return term
-        
-    # Add a term to the knowledge
-    def add(self,term):
-        if term == None:
-            return
-        added = False
-        for x in term.deriveTerms(self):
-            if not x in self.knowledge:
-                added = True
-                self.knowledge.append(x)
-        
-        # Something new was added, maybe this can help us to decrypt a term
-        # that we could not decrypt before
-        if added:
-            for x in self.knowledge:
-                if isinstance(x,TermEncrypt):
-                    self.add(x)
-            
-    def canDerive(self,term):
-        # We can derive free variables, because we can even choose them
-        if isinstance(term,TermVariable) and term.isFree():
-            return True
-        # We can derive a term if it is in the knowledge
-        # or all terms required to construct it are in the knowledge
-        if exists(lambda x: x == term,self.knowledge):
-            return True
-        constructors = term.constructorTerms()
-   
-        if len(constructors) == 1 and constructors[0] == term:
-            # This is a single term, there is no need to look at constructor
-            # terms as we have already looked at the complete term
-            return False
-            
-        return forall(lambda x: self.canDerive(x),constructors)
-            
-        
-    # Knowledge is the initial knowledge and all messages in sends
-    def buildKnowledge(self):
-        self.knowledge = self.attack.initialKnowledge[:]
-        for run in self.attack.semiTrace.runs:
-            # Intruder actions do not add knowledge processing them
-            # is a waste of time
-            if run.intruder:
-                continue
-            for event in run:
-                if isinstance(event,Trace.EventSend):
-                    self.add(event.message)
-                    self.add(event.fr)
-                    self.add(event.to)
-
-class Term(object):
-    def __init__(self):
-        self.types = None
-        
-    def __str__(self):
-        raise InvalidTerm
-    
-    def constructorTerms(self):
-        raise InvalidTerm
-
-    def deriveTerms(self,knowledge):
-        raise InvalidTerm
-    
-    # Two terms are equal when their string rep is equal
-    def __cmp__(self,other):
-        return cmp(str(self),str(other))
-                
-    
-class TermConstant(Term):   
-    def __init__(self, constant):
-        Term.__init__(self)
-        self.value = str(constant)
-    
-    def deriveTerms(self,knowledge):
-        return [self]
-        
-    def constructorTerms(self):
-        return [self]
-    
-    def __str__(self):
-        return self.value
-
-class TermEncrypt(Term):
-    def __init__(self, value, key):
-        Term.__init__(self)
-        self.value = value
-        self.key = key
-
-    def deriveTerms(self,knowledge):
-        # In order to unpack an encrypted term we have to have the inverse key
-        inverse = knowledge.getInverseKey(self.key)
-        if knowledge.canDerive(inverse):
-            return [self] + [self.value] + self.value.deriveTerms(knowledge)
-        else:
-            return [self]
-        
-    def constructorTerms(self):
-        return [self.value,self.key]
-        
-    def __str__(self):
-        return "{%s}%s" % (self.value, self.key)
-
-class TermApply(Term):
-    def __init__(self, function, argument):
-        Term.__init__(self)
-        self.function = function
-        self.argument = argument
-
-    def constructorTerms(self):
-        return [self.function,self.argument]
-        
-    def deriveTerms(self,knowledge):
-        return [self]
-
-    def __str__(self):
-        return "%s(%s)" % (self.function, self.argument)
-
-class TermVariable(Term):
-    def __init__(self, name, value):
-        Term.__init__(self)
-        self.name = name
-        self.value = value
-
-    def isFree(self):
-        return self.value == None
-    
-    def constructorTerms(self):
-        if self.value != None:
-            return [self.value]
-        else:
-            return [self.name]
-    
-    def deriveTerms(self,knowledge):
-        if self.value != None:
-            return [self,self.value] + self.value.deriveTerms(knowledge)
-        else:
-            return [self,self.name]
-    
-    def __str__(self):
-        if (self.value != None):
-            return str(self.value)
-        else:
-            return str(self.name)
-
-class TermTuple(Term):
-    def __init__(self, op1, op2):
-        Term.__init__(self)
-        self.op1 = op1
-        self.op2 = op2
-
-    def __str__(self):
-        return "%s,%s" % (self.op1,self.op2)
-    
-    def constructorTerms(self):
-        return [self.op1,self.op2]
-        
-    def deriveTerms(self,knowledge):
-        return [self,self.op1,self.op2]+self.op1.deriveTerms(knowledge)+self.op2.deriveTerms(knowledge)
-        
-    def __getitem__(self,index):
-        if index == 0:
-            return self.op1
-        elif index == 1:
-            return self.op2
-        else:
-            return self.op2.__getitem__(index-1)
-
diff --git a/Vagrant Files/shared/scyther/Scyther/Trace.py b/Vagrant Files/shared/scyther/Scyther/Trace.py
deleted file mode 100644
index 31e31cc..0000000
--- a/Vagrant Files/shared/scyther/Scyther/Trace.py	
+++ /dev/null
@@ -1,358 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# Trace
-#
-from Misc import *
-
-class InvalidAction(TypeError):
-    "Exception used to indicate that a given action is invalid"
-    
-class InvalidEvent(TypeError):
-    "Exception used to indicate that a given event is invalid"
-
-class SemiTrace(object):
-    def __init__(self):
-        self.runs = []
-    
-    def totalCount(self):
-        count = 0
-        for run in self.runs:
-            count += len(run.eventList)
-        return count
-            
-    def sortActions(self,actionlist):
-        newlist = actionlist[:]
-        newlist.sort(lambda x,y: self.getOrder(x,y))
-        return newlist
-
-    def getEnabled(self,previous):
-        enabled = []
-        for run in self.runs:
-            for event in run:
-                if event in previous or event in enabled:
-                    continue
-                prec = self.getPrecedingEvents(event,previous)
-                if len(prec) == 0:
-                    enabled.append(event)
-        return enabled
-          
-    # Returns run,index tuples for all connections
-    def getConnections(self,event,removeIntruder=False):
-        if not removeIntruder:
-            return event.follows
-        result = []
-        if event.run.intruder:
-            for before in event.getBefore():
-                result.extend(self.getConnections(before,removeIntruder))
-
-        for x in event.follows:
-            fol = self.getEvent(x)
-            # If this is an intruder action descend into it
-            if fol.run.intruder:
-                result.extend(self.getConnections(fol,removeIntruder))
-            else:
-                result.append(x)
-        return uniq(result)
-        
-    # Return the minimum set of preceding events for a given event
-    # that is the events before this event in the same run and all
-    # actions required by the partional ordering
-    # If previous is non empty remove all events already in previous
-    def getPrecedingEvents(self,event,previous=[]):
-        # If it is cached return cached version
-        if event.preceding != None:
-            return filter(lambda x: x not in previous,event.preceding)
-        preceding = []
-        for prec in event.getBefore():
-            preceding.append(prec)
-            preceding.extend(self.getPrecedingEvents(prec))
-        for x in event.follows:
-            fol = self.getEvent(x)
-            preceding.append(fol)
-            preceding.extend(self.getPrecedingEvents(fol))
-        preceding = uniq(preceding)
-        event.preceding = preceding
-        preceding = filter(lambda x: x not in previous,preceding)
-        return preceding
-    
-    # Returns -1 if the first event has to be before the second one
-    #         +1 if the second event has to be before the first one
-    #          0 if there is no order defined on the two events 
-    def getOrder(self,event1,event2):
-        if (event1 in self.getPrecedingEvents(event2)):
-            return -1
-        if (event2 in self.getPrecedingEvents(event1)):
-            return 1
-        return 0
-    
-    # Get event by run id and index
-    def getEvent(self,idx):
-        (rid,index) = idx
-        for run in self.runs:
-            if run.id != rid:
-                continue
-            for event in run:
-                if event.index == index:
-                    return event
-        raise InvalidEvent
-    
-    # Get all claim events in the trace
-    def getClaims(self):
-        claims = []
-        for run in self.runs:
-            for event in run:
-                if isinstance(event,EventClaim):
-                    claims.append(event)
-        return claims
-
-    # Returns a list of all initiation events in the semitrace
-    def getInitiations(self):
-        initiations = []
-        for run in self.runs:
-            # Initiations are runs of honest agents
-            if (run.intruder):
-                continue
-            # Which contain no recvs before the first send
-            for action in run:
-                if (isinstance(action,EventRead)):
-                    break
-                elif (isinstance(action,EventSend)):
-                    initiations.append(action)
-                    break
-        return initiations
-
-    # Get all runs performed by a specific agent
-    def getAgentRuns(self,agent):
-        result = []
-        for run in self.runs:
-            if run.getAgent() == agent:
-                result.append(run)
-        return result
-
-    # Return a list of all runs that are parallel with this run
-    def getParallelRuns(self,run):
-        parallel = []
-        first = run.getFirstAction()
-        # Process all events that are before the end of the run
-        for event in self.getPrecedingEvents(run.getLastAction()):
-            # Only count those we haven't found yet
-            if event.run in parallel or event.run == run:
-                continue
-            # If the event is also after the beginning of the run it is
-            # parallel
-            if self.getOrder(event,first) == 1:
-                parallel.append(event.run)
-        return parallel
-
-    def getRun(self,runid):
-        for run in self.runs:
-            if run.id == runid:
-                return run
-        return None
-            
-class ProtocolDescription(object):
-    def __init__(self,protocol):
-        self.protocol = protocol
-        self.roledescr = {}
-
-    # Find event by label
-    def findEvent(self,eventlabel,eventType=None):
-        for (role,descr) in self.roledescr.items():
-            for event in descr:
-                if event.label == eventlabel:
-                    if eventType == None or isinstance(event,eventType):
-                        return event
-
-    # Return all events that should have occured before the given event
-    # if the protocol is executed exactly as specified 
-    # (i.e. all previous events in the same run and the preceding events
-    # of the matching sends of all reads)
-    def getPrecedingEvents(self,eventlabel,eventType=None):
-        event = self.findEvent(eventlabel,eventType)
-        if event.preceding != None:
-            return event.preceding
-        preceding = event.getBefore()+[event]
-        for prev in preceding:
-            # For this event and all events that are before it in the run
-            # description see if it is a read and if it is also add the
-            # precedinglabelset of the matching send
-            if (isinstance(prev,EventRead)):
-                match = self.findEvent(prev.label,EventSend)
-                if match:
-                    preceding.extend(self.getPrecedingEvents(match.label,EventSend))
-        preceding = uniq(preceding)
-        event.preceding = preceding
-        return preceding
-    
-    # Calculate the preceding labelset that is all read events
-    # that are in the precedingEvents of a certain event
-    def getPrecedingLabelSet(self,eventlabel):
-        events = self.getPrecedingEvents(eventlabel)
-        events = filter(lambda x: isinstance(x,EventRead),events)
-        return [x.label for x in events]
-
-    # Calculate the roles in preceding labelset that is all roles that
-    # that are in the precedingEvents of a certain event
-    def getPrecedingRoleSet(self,eventlabel):
-        events = self.getPrecedingEvents(eventlabel)
-        roles = uniq([x.run.role for x in events])
-        return roles
-    
-
-    def __str__(self):
-        s = ''
-        for x in self.roledescr.values():
-            for e in x:
-                s += str(e) + "\n"
-        return s
-
-class Run(object):
-    def __init__(self):
-        self.id = None
-        self.protocol = None
-        self.role = None
-        self.roleAgents = {}
-        self.eventList = []
-        self.intruder = False
-        self.attack = None
-        self.variables = []
-
-    def __iter__(self):
-        return iter(self.eventList)
-
-    def getAgent(self):
-        if self.intruder:
-            return None
-        return self.roleAgents[self.role]
-
-    def getFirstAction(self):
-        return self.eventList[0]
-
-    def getLastAction(self):
-        return self.eventList[-1]
-
-    def collapseIntruder(self):
-        """ TODO still working on this. """
-        if self.intruder:
-            shouldcollapse = False
-            for ev in self:
-                return
-
-class Event(object):
-    def __init__(self,index,label,follows):
-        self.index = index
-        self.label = label
-        self.follows = follows
-        self.run = None
-        self.preceding = None
-        self.rank = None
-    
-    def shortLabel(self):
-        try:
-            return self.label[len(self.label)-1]
-        except:
-            return str(self.label)
-
-    def getBefore(self):
-        result = []
-        for event in self.run:
-            if (event == self):
-                return result
-            result.append(event)
-        # This should never happen
-        assert(False)
-
-class EventSend(Event):
-    def __init__(self,index,label,follows,fr,to,message):
-        Event.__init__(self,index,label,follows)
-        self.fr = fr
-        self.to = to
-        self.message = message
-
-    def __str__(self):
-        if self.run.intruder:
-            return "SEND(%s)" % self.message
-        else:
-            return "SEND_%s(%s,%s)" % (self.shortLabel(),self.to,self.message)
-
-class EventRead(Event):
-    def __init__(self,index,label,follows,fr,to,message):
-        Event.__init__(self,index,label,follows)
-        self.fr = fr
-        self.to = to
-        self.message = message
-    
-    def __str__(self):
-        if self.run.intruder:
-            return "READ(%s)" % self.message
-        else:
-            return "READ_%s(%s,%s)" % (self.shortLabel(),self.fr, self.message)
-
-class EventClaim(Event):
-    def __init__(self,index,label,follows,role,type,argument):
-        Event.__init__(self,index,label,follows)
-        self.role = role
-        self.type = type
-        self.argument = argument
-        self.broken = None
-    
-    # A Claim should be ignored if there is an untrusted agent in the role
-    # agents
-    def ignore(self):
-        for untrusted in self.run.attack.untrusted:
-            if untrusted in self.run.roleAgents.values():
-                return True
-        return False
-        
-    # Return (protocol,role)
-    def protocolRole(self):
-        return "(%s,%s)" % (self.run.protocol,self.run.role)
-    
-    def argstr(self):
-        if self.argument == None:
-            return '*'
-        else:
-            return str(self.argument)
-            
-    def __str__(self):
-        return "CLAIM_%s(%s, %s)" % (self.shortLabel(),self.type,self.argstr())
-
-class EventIntruder(Event):
-    """
-    Intruder event extensions (allows for collapsing attacks later)
-    """
-    def __init__(self,follows,message,key,result):
-        Event.__init__(self,0,None,follows)
-        self.follows = follows
-        self.message = message
-        self.key = key
-        self.result = result
-        self.intruder = True
-
-class EventDecr(EventIntruder):
-    def __str__(self):
-        return "DECR(%s, %s, %s)" % (self.message, self.key, self.result)
-
-class EventEncr(EventIntruder):
-    def __str__(self):
-        return "ENCR(%s, %s, %s)" % (self.message, self.key, self.result)
-
-
diff --git a/Vagrant Files/shared/scyther/Scyther/XMLReader.py b/Vagrant Files/shared/scyther/Scyther/XMLReader.py
deleted file mode 100644
index ebafc47..0000000
--- a/Vagrant Files/shared/scyther/Scyther/XMLReader.py	
+++ /dev/null
@@ -1,357 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# XMLReader
-#
-# Note:
-# This requires python elementtree to work
-# See: http://effbot.org/zone/element-index.htm
-#
-# On Fedora Core you can install this by installing the python-elementtree rpm
-# Things will be a lot faster and consume less memory if you install the
-# cElementTree module
-#
-# In python 2.5 cElementTree is in the core, so you don't need to install
-# extra packages
-#
-
-import sys
-
-# Check for cElementTree presence. Otherwise use ElementTree.
-useiter = True
-try:
-    # python 2.5 has cElementTree in the core
-    import xml.etree.cElementTree as cElementTree
-except:
-    # try the old way
-    try:
-        import cElementTree
-    except ImportError:
-        useiter = False 
-        try:
-            from elementtree import ElementTree
-        except ImportError:
-            print """
-ERROR:
-
-Could not locate either the [elementtree] or the [cElementTree] package.
-Please install one of them in order to work with the Scyther python interface.
-The [cElementTree] packages can be found at http://effbot.org/zone/celementtree.htm
-
-Note that you can still use the Scyther binaries in the 'Bin' directory.
-        """
-            sys.exit(1)
-
-## Simply pick cElementTree
-#import cElementTree
-## Simply pick ElementTree
-#useiter = False 
-#from elementtree import ElementTree
-
-import Term
-import Attack
-import Trace
-import Claim
-        
-class XMLReader(object):
-    
-    def __init__ (self):
-        self.varlist = []
-        pass
-
-    def readXML(self, input):
-        # Use iter parse when possble so we can clear the attack after reading 
-        # it in order to preserve memory (this requires cElementTree)
-
-        attackbuffer = []
-        claims = []
-        
-        if useiter:
-            parser = cElementTree.iterparse(input)
-        else:
-            parser = ElementTree.parse(input).findall('*')
-
-        for elem in parser:
-            # The iter parser receives the input in tuples (event and element)
-            # we only need the event
-            if useiter:
-                elem = elem[1]
-
-            if elem.tag == 'state':
-                attack = self.readAttack(elem)
-                attackbuffer.append(attack)
-                if useiter:
-                    elem.clear()
-
-            if elem.tag == 'claimstatus':
-                claim = self.readClaim(elem)
-                claim.attacks = attackbuffer
-                claims.append(claim)
-
-                # link to parent
-                for attack in claim.attacks:
-                    attack.claim = claim
-
-                attackbuffer = []
-                if useiter:
-                    elem.clear()
-
-        return claims
-
-    # Read a term from XML
-    def readTerm(self,xml):
-        # If xml is None the term should also be none
-        if xml == None:
-            return None
-        # If this is a term variable read it directly
-        if (xml.tag in ('tuple','const','apply','encrypt','var')):
-            return self.readSubTerm(xml)
-        # Otherwise read from it's first child
-        children = xml.getchildren()
-        assert(len(children) == 1)
-        return self.readSubTerm(children[0])
-
-    def readSubTerm(self, tag):
-        if tag.tag == 'tuple':
-            return Term.TermTuple(self.readTerm(tag.find('op1')),self.readTerm(tag.find('op2')))
-        elif tag.tag == 'const':
-            return Term.TermConstant(tag.text)
-        elif tag.tag == 'apply':
-            return Term.TermApply(self.readTerm(tag.find('function')),self.readTerm(tag.find('arg')))
-        elif tag.tag == 'encrypt':
-            return Term.TermEncrypt(self.readTerm(tag.find('op')),self.readTerm(tag.find('key')))
-        elif tag.tag == 'var':
-            name = Term.TermConstant(tag.get('name'))
-            # Instantiate this variable if possible (note this list is empty while reading
-            # the variables section of the XML file)
-            for inst in self.varlist:
-                    if inst.name == name:
-                        return inst
-            # If it is not instantiated in varlist, just return a variable with this name and no
-            # value
-            return Term.TermVariable(name,None)
-        else:
-            raise Term.InvalidTerm, "Invalid term type in XML: %s" % tag.tag
-    
-    def readEvent(self,xml):
-        label = self.readTerm(xml.find('label'))
-        follows = xml.findall('follows')
-        followlist = []
-        for follow in follows: 
-            follow = follow.find('after')
-            if follow == None:
-                # Ignore follow definitions that do not contain after
-                continue
-            follow = (int(follow.get('run')),int(follow.get('index')))
-            followlist.append(follow)
-            
-        (etype,index) = (xml.get('type'),int(xml.get('index')))
-        if etype in ('send','read','recv'):
-            fr = self.readTerm(xml.find('from'))
-            to = self.readTerm(xml.find('to'))
-            message = self.readTerm(xml.find('message'))
-            if (etype == 'send'):
-                return Trace.EventSend(index,label,followlist,fr,to,message)
-            else:
-                return Trace.EventRead(index,label,followlist,fr,to,message)
-        elif xml.get('type') == 'claim':
-            role = self.readTerm(xml.find('role'))
-            etype = self.readTerm(xml.find('type'))
-            argument = self.readTerm(xml.find('argument'))
-            # Freshness claims are implemented as Empty claims with
-            # (Fresh,Value) as arguments
-            try:
-                if etype == 'Empty' and argument[0] == 'Fresh':
-                    etype = Term.TermConstant('Fresh')
-                    argument = argument[1]
-                elif etype == 'Empty' and argument[0] == 'Compromised':
-                    etype = Term.TermConstant('Compromised')
-                    argument = argument[1]
-            except:
-                pass
-            return Trace.EventClaim(index,label,followlist,role,etype,argument)
-        else:
-            raise Trace.InvalidAction, "Invalid action in XML: %s" % (xml.get('type'))
-
-    def readRun(self,xml):
-        assert(xml.tag == 'run')
-        run = Trace.Run()
-        run.id = int(xml.find('runid').text)
-        # TODO why is protocol name a term??
-        run.protocol = str(self.readTerm(xml.find('protocol')))
-        run.intruder = xml.find('protocol').get('intruder') == 'true'
-        run.role = xml.find('rolename').text
-        for role in xml.find('roleagents'):
-            name = role.find('rolename').text
-            agent = self.readTerm(role.find('agent'))
-            run.roleAgents[name] = agent
-        for eventxml in xml.find('eventlist'):
-            action = self.readEvent(eventxml)
-            action.run = run
-            run.eventList.append(action)
-        for variable in xml.find('variables'):
-            # Read the variables one by one
-            assert(variable.tag == 'variable')
-            var = self.readTerm(variable.find('name').find('term'))
-            var.types = self.readTypeList(variable.find('name'))
-            
-            substxml = variable.find('substitution')
-            # Read substitution if present
-            if substxml != None:
-                subst = self.readTerm(substxml.find('term'))
-                subst.types = self.readTypeList(substxml)
-                newvar = Term.TermVariable(var.name,subst)
-                newvar.types = var.types
-                var = newvar
-
-            run.variables.append(var)
-        return run
-            
-    # Read protocol description for a certain role
-    def readRoleDescr(self,xml):
-        assert(xml.tag == 'role')
-        run = Trace.Run()
-        # We will need the last label later on to see if a 
-        # run is complete
-        run.lastLabel = None
-        run.role = xml.find('rolename').text
-        for eventxml in xml.find('eventlist'):
-            action = self.readEvent(eventxml)
-            action.run = run
-            run.eventList.append(action)
-            run.lastLabel = action.label
-        return run
-    
-    def readTypeList(self,xml):
-        result = []
-        vartypes = xml.find('type').find('termlist')
-        for vartype in vartypes:
-            # We will assume that types are simple strings
-            result.append(str(self.readTerm(vartype)))
-        return result
-        
-    def readClaim(self, xml):
-        claim = Claim.Claim()
-        for event in xml.getchildren():
-            if event.tag == 'claimtype':
-                claim.claimtype = self.readTerm(event)
-            elif event.tag == 'label':
-                # We store the full protocol,label construct for
-                # consistency with the technical parts, so it is left to
-                # the __str__ of claim to select the right element
-                claim.label = self.readTerm(event)
-            elif event.tag == 'protocol':
-                claim.protocol = self.readTerm(event)
-            elif event.tag == 'role':
-                claim.role = self.readTerm(event)
-            elif event.tag == 'parameter':
-                claim.parameter = self.readTerm(event)
-
-            elif event.tag == 'failed':
-                claim.failed = int(event.text)
-            elif event.tag == 'count':
-                claim.count = int(event.text)
-            elif event.tag == 'states':
-                claim.states = int(event.text)
-
-            elif event.tag == 'complete':
-                claim.complete = True
-            elif event.tag == 'timebound':
-                claim.timebound = True
-            else:
-                print >>sys.stderr,"Warning unknown tag in claim: %s" % claim.tag
-
-        claim.analyze()
-        return claim
-
-    def readAttack(self, xml):
-        self.varlist = []
-        attack = Attack.Attack()
-        attack.id = int(xml.get('id'))
-        # A state contains 4 direct child nodes:
-        # broken, system, variables and semitrace
-        # optionally a fifth: dot
-        for event in xml.getchildren():
-            if event.tag == 'broken':
-                attack.broken.append((self.readTerm(event.find('claim')),
-                    self.readTerm(event.find('label'))))
-            elif event.tag == 'system':
-                attack.match = int(event.find('match').text)
-                for term in event.find('commandline'):
-                    if attack.commandline != '':
-                        attack.commandline += ' ' 
-                    attack.commandline += term.text 
-                for term in event.find('untrusted').find('termlist'):
-                    attack.untrusted.append(str(self.readTerm(term)))
-                for term in event.find('initialknowledge').find('termlist'):
-                    attack.initialKnowledge.append(self.readTerm(term))
-                for keypair in event.find('inversekeys'):
-                    inverse = []
-                    for term in keypair:
-                        inverse.append(self.readTerm(term))
-                    assert(len(inverse) == 0 or len(inverse) == 2)
-                    attack.inverseKeys.append(inverse)
-                # TODO why is protocol name a term??
-                for protocolxml in event.findall('protocol'):
-                    protocol = str(self.readTerm(protocolxml.find('name')))
-                    descr = Trace.ProtocolDescription(protocol)
-                    attack.protocoldescr[protocol] = descr
-                    for rolexml in protocolxml.findall('role'):
-                        roledescr = self.readRoleDescr(rolexml)
-                        descr.roledescr[roledescr.role] = roledescr
-                    
-            elif event.tag == 'semitrace':
-                for runxml in event:
-                    run = self.readRun(runxml)
-                    run.attack = attack
-                    attack.semiTrace.runs.append(run)
-
-            elif event.tag == 'dot':
-                # Apparently Scyther already generated dot output,
-                # store
-                attack.scytherDot = event.text
-
-            elif event.tag == 'variables':
-                # Read the variables one by one
-                for varxml in event:
-                    if varxml.get('typeflaw') == 'true':
-                        attack.typeflaws = True
-                    var = self.readTerm(varxml.find('name').find('term'))
-                    var.types = self.readTypeList(varxml.find('name'))
-                    
-                    substxml = varxml.find('substitution')
-                    # Read substitution if present
-                    if substxml != None:
-                        subst = self.readTerm(substxml.find('term'))
-                        subst.types = self.readTypeList(substxml)
-                        newvar = Term.TermVariable(var.name,subst)
-                        newvar.types = var.types
-                        var = newvar
-                        
-                    attack.variables.append(var)
-                    
-                # When all have been read set self.varlist so that when
-                # we read terms in the attacks they can be filled in using
-                # this list
-                self.varlist = attack.variables
-            else:
-                print >>sys.stderr,"Warning unknown tag in attack: %s" % event.tag
-        return attack
-
diff --git a/Vagrant Files/shared/scyther/Scyther/__init__.py b/Vagrant Files/shared/scyther/Scyther/__init__.py
deleted file mode 100644
index 1fa659c..0000000
--- a/Vagrant Files/shared/scyther/Scyther/__init__.py	
+++ /dev/null
@@ -1,29 +0,0 @@
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-#   Init this module
-#
-#   Set prefix for __all__
-#
-import Scyther
-
-#   Provide scope
-__all__ = ["Scyther"]
-
diff --git a/Vagrant Files/shared/scyther/Time/test.py b/Vagrant Files/shared/scyther/Time/test.py
deleted file mode 100644
index 50ea49e..0000000
--- a/Vagrant Files/shared/scyther/Time/test.py	
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2008 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# test.py
-# experimenting with the constraint solver
-#
-# Ubuntu package: python-constraint
-#
-# http://labix.org/python-constraint
-#
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import sys
-try:
-    from constraint import *
-except:
-    print "Could not import constraint solver module."
-    print "For more information, visit"
-    print "  http://labix.org/python-constraint"
-    sys.exit()
-
-#---------------------------------------------------------------------------
-
-def test():
-    problem = Problem()
-    problem.addVariables(range(0, 16), range(1, 16+1))
-    problem.addConstraint(AllDifferentConstraint(), range(0, 16))
-    problem.addConstraint(ExactSumConstraint(34), [0,5,10,15])
-    problem.addConstraint(ExactSumConstraint(34), [3,6,9,12])
-    for row in range(4):
-        problem.addConstraint(ExactSumConstraint(34),
-                              [row*4+i for i in range(4)])
-    for col in range(4):
-        problem.addConstraint(ExactSumConstraint(34),
-                              [col+4*i for i in range(4)])
-    solutions = problem.getSolutions()
-    print solutions
-
-#---------------------------------------------------------------------------
-
-if __name__ == '__main__':
-    test()
-
diff --git a/Vagrant Files/shared/scyther/batcher.sh b/Vagrant Files/shared/scyther/batcher.sh
deleted file mode 100644
index 6b430d3..0000000
--- a/Vagrant Files/shared/scyther/batcher.sh	
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-#
-# batcher.sh
-#
-# usage: ./batcher.sh TEST_MPA_ARGUMENTS
-#
-# Tries to parallellize the jobs, and sends a mail afterwards
-
-echo "================================="
-echo " Phase 0: Setup"
-echo "================================="
-AWKSCRIPT=" { srand(); print int(1000000 * rand()) } "
-RND=`echo | awk "$AWKSCRIPT"`
-
-JOBNAME="test$RND"
-JSONFILE="$PWD/$JOBNAME.json"
-BATCHFILE="$PWD/$JOBNAME.sh"
-
-echo $JOBNAME
-echo $JSONFILE
-echo $BATCHFILE
-
-echo "================================="
-echo " Phase 1: generate jobs list"
-echo "================================="
-bsub -I -N -W 8:00 -J $JOBNAME ./test-mpa.py --pickle $JSONFILE $*
-
-echo "================================="
-echo " Phase 2a: precompute job outputs"
-echo "================================="
-# Each verification has a time limit of 600 seconds = 10 minutes
-# To fit in the one hour queue, that means 5 jobs maximum.
-bsub -I -N -W 8:00 -J $JOBNAME -oo $BATCHFILE ./make-bsub.py $JSONFILE 5 -W 1:00 -J $JOBNAME
-# Due to pending etc. the below may take a while.
-sleep 10
-bash $BATCHFILE
-echo "================================="
-echo " Phase 2b: perfom actual job"
-echo " (after precomputation is done"
-echo "================================="
-bsub -I -N -W 8:00 -J after$JOBNAME -w "ended($JOBNAME)" ./test-mpa.py $*
-
-
-echo "================================="
-echo " Done."
-echo "================================="
diff --git a/Vagrant Files/shared/scyther/combos-book.sh b/Vagrant Files/shared/scyther/combos-book.sh
deleted file mode 100644
index 888db45..0000000
--- a/Vagrant Files/shared/scyther/combos-book.sh	
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-bsub -W 8:00 -Jd "book-aa-t" -N ./test-mpa.py -m 2 --plain                  --latex book-aa-t Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-aa-b" -N ./test-mpa.py -m 2 --plain -b               --latex book-aa-b Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-aa-u" -N ./test-mpa.py -m 2 --plain -u               --latex book-aa-u Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-ex-t" -N ./test-mpa.py -m 2 --plain    --extravert   --latex book-ex-t Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-ex-b" -N ./test-mpa.py -m 2 --plain -b --extravert   --latex book-ex-b Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-ex-u" -N ./test-mpa.py -m 2 --plain -u --extravert   --latex book-ex-u Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-iu-t" -N ./test-mpa.py -m 2 --plain    --init-unique --latex book-iu-t Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-iu-b" -N ./test-mpa.py -m 2 --plain -b --init-unique --latex book-iu-b Protocols/MultiProtocolAttacks/*.spdl
-bsub -W 8:00 -Jd "book-iu-u" -N ./test-mpa.py -m 2 --plain -u --init-unique --latex book-iu-u Protocols/MultiProtocolAttacks/*.spdl
diff --git a/Vagrant Files/shared/scyther/combos-ike.sh b/Vagrant Files/shared/scyther/combos-ike.sh
deleted file mode 100644
index 515b20e..0000000
--- a/Vagrant Files/shared/scyther/combos-ike.sh	
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Individual data
-./combos-ikev1.sh
-./combos-ikev2.sh
-
-# And combine
-./combos-ikev0.sh
diff --git a/Vagrant Files/shared/scyther/combos-ikev0.sh b/Vagrant Files/shared/scyther/combos-ikev0.sh
deleted file mode 100644
index 389835b..0000000
--- a/Vagrant Files/shared/scyther/combos-ikev0.sh	
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-bsub -W 8:00 -Jd "ike0-aa-t" -N ./test-mpa.py -m 2 --plain                  --latex ike0-aa-t ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-aa-b" -N ./test-mpa.py -m 2 --plain -b               --latex ike0-aa-b ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-aa-u" -N ./test-mpa.py -m 2 --plain -u               --latex ike0-aa-u ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-ex-t" -N ./test-mpa.py -m 2 --plain    --extravert   --latex ike0-ex-t ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-ex-b" -N ./test-mpa.py -m 2 --plain -b --extravert   --latex ike0-ex-b ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-ex-u" -N ./test-mpa.py -m 2 --plain -u --extravert   --latex ike0-ex-u ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-iu-t" -N ./test-mpa.py -m 2 --plain    --init-unique --latex ike0-iu-t ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-iu-b" -N ./test-mpa.py -m 2 --plain -b --init-unique --latex ike0-iu-b ~/src/ikev2/pp-results/mpa/ikev*.spdl
-bsub -W 8:00 -Jd "ike0-iu-u" -N ./test-mpa.py -m 2 --plain -u --init-unique --latex ike0-iu-u ~/src/ikev2/pp-results/mpa/ikev*.spdl
-
diff --git a/Vagrant Files/shared/scyther/combos-ikev1.sh b/Vagrant Files/shared/scyther/combos-ikev1.sh
deleted file mode 100644
index a5743b9..0000000
--- a/Vagrant Files/shared/scyther/combos-ikev1.sh	
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-bsub -W 8:00 -Jd "ike1-aa-t" -N ./test-mpa.py -m 2 --plain                  --latex ike1-aa-t ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-aa-b" -N ./test-mpa.py -m 2 --plain -b               --latex ike1-aa-b ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-aa-u" -N ./test-mpa.py -m 2 --plain -u               --latex ike1-aa-u ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-ex-t" -N ./test-mpa.py -m 2 --plain    --extravert   --latex ike1-ex-t ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-ex-b" -N ./test-mpa.py -m 2 --plain -b --extravert   --latex ike1-ex-b ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-ex-u" -N ./test-mpa.py -m 2 --plain -u --extravert   --latex ike1-ex-u ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-iu-t" -N ./test-mpa.py -m 2 --plain    --init-unique --latex ike1-iu-t ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-iu-b" -N ./test-mpa.py -m 2 --plain -b --init-unique --latex ike1-iu-b ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-bsub -W 8:00 -Jd "ike1-iu-u" -N ./test-mpa.py -m 2 --plain -u --init-unique --latex ike1-iu-u ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-
diff --git a/Vagrant Files/shared/scyther/combos-ikev2.sh b/Vagrant Files/shared/scyther/combos-ikev2.sh
deleted file mode 100644
index 1da0bb1..0000000
--- a/Vagrant Files/shared/scyther/combos-ikev2.sh	
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-bsub -W 8:00 -Jd "ike2-aa-t" -N ./test-mpa.py -m 2 --plain                  --latex ike2-aa-t ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-aa-b" -N ./test-mpa.py -m 2 --plain -b               --latex ike2-aa-b ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-aa-u" -N ./test-mpa.py -m 2 --plain -u               --latex ike2-aa-u ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-ex-t" -N ./test-mpa.py -m 2 --plain    --extravert   --latex ike2-ex-t ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-ex-b" -N ./test-mpa.py -m 2 --plain -b --extravert   --latex ike2-ex-b ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-ex-u" -N ./test-mpa.py -m 2 --plain -u --extravert   --latex ike2-ex-u ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-iu-t" -N ./test-mpa.py -m 2 --plain    --init-unique --latex ike2-iu-t ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-iu-b" -N ./test-mpa.py -m 2 --plain -b --init-unique --latex ike2-iu-b ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-bsub -W 8:00 -Jd "ike2-iu-u" -N ./test-mpa.py -m 2 --plain -u --init-unique --latex ike2-iu-u ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-
-
diff --git a/Vagrant Files/shared/scyther/combos-iso.sh b/Vagrant Files/shared/scyther/combos-iso.sh
deleted file mode 100644
index b9fb250..0000000
--- a/Vagrant Files/shared/scyther/combos-iso.sh	
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-bsub -W 8:00 -Jd "iso-aa-t" -N ./test-mpa.py -m 2 --plain                  --latex iso-aa-t ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-aa-b" -N ./test-mpa.py -m 2 --plain -b               --latex iso-aa-b ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-aa-u" -N ./test-mpa.py -m 2 --plain -u               --latex iso-aa-u ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-ex-t" -N ./test-mpa.py -m 2 --plain    --extravert   --latex iso-ex-t ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-ex-b" -N ./test-mpa.py -m 2 --plain -b --extravert   --latex iso-ex-b ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-ex-u" -N ./test-mpa.py -m 2 --plain -u --extravert   --latex iso-ex-u ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-iu-t" -N ./test-mpa.py -m 2 --plain    --init-unique --latex iso-iu-t ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-iu-b" -N ./test-mpa.py -m 2 --plain -b --init-unique --latex iso-iu-b ~/papers/iso9798/scyther-models/*.spdl
-bsub -W 8:00 -Jd "iso-iu-u" -N ./test-mpa.py -m 2 --plain -u --init-unique --latex iso-iu-u ~/papers/iso9798/scyther-models/*.spdl
diff --git a/Vagrant Files/shared/scyther/generate-attack-graphs.py b/Vagrant Files/shared/scyther/generate-attack-graphs.py
deleted file mode 100644
index bad12b1..0000000
--- a/Vagrant Files/shared/scyther/generate-attack-graphs.py	
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-"""
-Generate attacks for each claim
-
-To also generate resource usage details on linux, use something like:
-
-    xargs -a protocols.txt -n 1 -I {} /usr/bin/time -v -o {}.times ./generate-attack-graphs.py {}
-
-where 'protocols.txt' contains a protocol file per line.
-"""
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import sys
-
-#---------------------------------------------------------------------------
-
-""" Import scyther components """
-import Scyther.Scyther as Scyther
-
-#---------------------------------------------------------------------------
-
-def create_file_prefix(fn,cid):
-    """
-    Create a filename prefix for fn,cid without extension
-    """
-
-    tcid = cid
-    i = tcid.rfind(",")
-    if i > 0:
-        if fn.find(tcid[:i]) >= 0:
-            tcid = tcid[i+1:]
-
-    tfn = fn.replace(".spdl","")
-    i = tfn.rfind("/")
-    if i >= 0:
-        tfn = tfn[i+1:]
-
-    pref = "%s-%s" % (tfn,tcid)
-    pref = pref.replace(",","_")
-
-    return pref
-
-
-def render_dot(fn,gtype):
-    """
-    Render .dot file called fn into gtype file
-    """
-    from subprocess import call
-
-    if len(gtype) > 5:
-        # Something is fishy, abort
-        return
-
-    base_name = fn
-    i = base_name.rfind(".")
-    if i > 0:
-        base_name = base_name[:i]
-
-    cmd = ["dot","-T" + gtype,"-o%s.%s" % (base_name,gtype),fn]
-    #print cmd
-
-    call(cmd)
-
-
-def render_best_attack(fn,cid):
-    """
-    Extract the best attack for this claim and file name
-    """
-    x = Scyther.Scyther()
-    x.setFile(fn)
-
-    x.options = "-r4 -T60"
-    x.verifyOne(cid)
-
-    pref = create_file_prefix(fn,cid)
-
-    for cl in x.claims:
-        cln = cl.claimtype
-        if cln == "Commit":
-            cln = "Data_agree"
-
-        if len(cl.attacks) > 0:
-            dotfile = "attack-%s-%s.dot" % (pref,cln)
-            fp = open(dotfile,'w')
-            fp.write(cl.attacks[-1].scytherDot)
-            fp.close()
-
-            render_dot(dotfile,"png")
-            render_dot(dotfile,"pdf")
-
-        print "%s; %s" % (fn,cl)
-
-def main():
-
-    filelist = sys.argv[1:]
-    # Compute dict of filenames to claim id's
-    cl = Scyther.GetClaims(filelist)
-    
-    for fn in set(cl):
-        for cid in cl[fn]:
-
-            render_best_attack(fn,cid)
-
-
-
-if __name__ == '__main__':
-    main()
-
-#---------------------------------------------------------------------------
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/json-scyther.py b/Vagrant Files/shared/scyther/json-scyther.py
deleted file mode 100644
index b8e23bd..0000000
--- a/Vagrant Files/shared/scyther/json-scyther.py	
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-"""
-
-Author: Cas Cremers
-
-"""
-
-import sys
-import json
-from Scyther import Scyther
-
-
-def scyther_json(jsondata):
-    """
-    Decode json data into (protocollist,options,filter) and run scyther
-    """
-    s = Scyther.Scyther()
-
-    (protocollist,options,filter) = json.loads(jsondata)
-
-    s.options = str(options)
-    for protocol in sorted(protocollist):
-        s.addFile(protocol)
-    s.verifyOne(str(filter))
-
-def fileandline(fn,linenos):
-    fp = open(fn,"r")
-    ln = 1
-    done = 0
-    sz = len(linenos)
-    for l in fp.xreadlines():
-        if str(ln) in linenos:
-            print l
-            scyther_json(l)
-            done = done + 1
-            if done >= sz:
-                fp.close()
-                return
-        ln = ln + 1
-    fp.close()
-    return
-
-if __name__ == '__main__':
-    fileandline(sys.argv[1],set(sys.argv[2:]))
-
-    
diff --git a/Vagrant Files/shared/scyther/make-bsub.py b/Vagrant Files/shared/scyther/make-bsub.py
deleted file mode 100644
index 0897da1..0000000
--- a/Vagrant Files/shared/scyther/make-bsub.py	
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-#
-import sys
-import json
-import math
-
-"""
-Given a file of Scyther verification tests to do (json file), create a shell file to run them all using bsub.
-
-Arguments:
-
-  [1] Filename of json stuff
-  [2] Step count: how many verification tasks go into one job
-  [3] Additional commands to send to bsub (e.g. "-W 1:00")
-
-"""
-
-def countlines(fn):
-	count = 0
-	fh = open(fn,'r')
-	for l in fh.xreadlines():
-		count = count + 1
-	fh.close()
-	return count
-	
-def marker(jobcount,todo):
-	left = todo - jobcount
-	dperc = int((100 * jobcount) / todo)
-	print "echo \"Sent %i out of %i jobs, hence %i left. %i%% done.\"" % (jobcount,todo,left,dperc)
-
-def main(fn,step,optlist):
-
-	todo = math.ceil(countlines(fn) / int(step))
-
-	fh = open(fn,'r')
-	ln = 1
-	buf = 0
-	s = ""
-	jobcount = 0
-	done = 0
-
-	for l in fh.xreadlines():
-		if buf == 0:
-			s =  "bsub %s ./json-scyther.py %s" % (" ".join(optlist),fn)
-		s += " %i" % (ln)
-		buf = buf + 1
-		done = done + 1
-		if buf >= int(step):
-			print (s)
-			s = ""
-			buf = 0
-			jobcount = jobcount + 1
-			if jobcount % 10 == 0:
-				"""
-				After ten jobs, display progress info
-				"""
-				marker(jobcount,todo)
-			
-		ln = ln + 1
-	print (s)
-	marker(jobcount,todo)
-	fh.close()
-	
-	
-if __name__ == '__main__':
-	""" Usage: filename, step, options to send to bsub
-	"""
-	main(sys.argv[1],sys.argv[2],sys.argv[3:])
-
diff --git a/Vagrant Files/shared/scyther/mpa.spdl b/Vagrant Files/shared/scyther/mpa.spdl
deleted file mode 100644
index 4913029..0000000
--- a/Vagrant Files/shared/scyther/mpa.spdl	
+++ /dev/null
@@ -1,79 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol
- */
-
-// The protocol description
-
-protocol nsl3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,I}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,I}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
-/* 
- * Needham-Schroeder-Lowe protocol,
- * broken version (wrong role name in first message)
- */
-
-// The protocol description
-
-protocol nsl3-broken(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,R}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,R}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/notes-brutus-mpa.txt b/Vagrant Files/shared/scyther/notes-brutus-mpa.txt
deleted file mode 100644
index b89e393..0000000
--- a/Vagrant Files/shared/scyther/notes-brutus-mpa.txt	
+++ /dev/null
@@ -1,181 +0,0 @@
-run test-MPA with --pickle to some file FILE.
-
-Choose a STEP integer: how many verifications are batched into a single job.
-
-Then:
-
-./make-bsub.py FILE STEP -W 1:00 [OTHER BSUB OPTIONS] > tests.sh
-
-Then
-
-bash tests.sh
-
-
-When all is done, rerun the original thing without pickle.
-
-
-
-This invokes then:
-json-scyther.py
-in different batches
-
-
-
-
-
-Test run for real
-
-
-Fri Dec 31 16:33:20 CET 2010
-
-Login & screen on brutus3 node.
-
-bsub -W 2:00 ./test-mpa.py --pickle mpa-tests.json -A Protocols/MultiProtocolAttacks/*.spdl
-
-Fri Dec 31 18:48:29 CET 2010
-
-Given the 6 minutes timeout, decided to batch into the 1h queues. Thus 9
-verifications can safely go in a batch.
-
-./make-bsub.py mpa-tests.json 9 -W 1:00 >mpa-tests.sh
-
-bash mpa-tests.sh
-
-
-Hmm. For the 1h queue on Brutus, there is a 10.000 pending jobs limit. Thus my
-40.000+ jobs get stuck here.
-
-So I could have done the division such that the jobs can be pended at onces
-but it would have meant putting the jobs in the 8h or more queues.
-
-For the batching thing, it would be nice to print a counter every 10 bsubs so
-if it gets stuck, you can see where it is (or better: how much is left).
-
-The lsf.o* output files clog up the directory. Find a way to disable them!
-
-Woops, we get mail once in a while. Not good. Unclear under which conditions
-this occurs, it seems to be errors only. (Probably stale file pointers from
-the old watch & rm solution.)
-
-Sun Jan  2 10:54:23 CET 2011
-
-All jobs have been submitted, now only 3000 pending.
-
-There may be a limit for me of about 128 active jobs at the same time.
-
-Sun Jan  2 11:30:30 CET 2011
-
-2200 pending.
-
-Sun Jan  2 12:38:48 CET 2011
-
-1155 pending.
-(bjobs -p | grep PEND | wc -l)
-
-Sun Jan  2 13:59:04 CET 2011
-
-0 jobs pending, 32 jobs active.
-
-Sun Jan  2 14:18:11 CET 2011
-
-Done. Recomp started (without --pickle FILE above)
-Takes too long on login node. Killed at 14:40.
-
-Instead, rerunning with:
-
-bsub -I -N ./test-mpa.py  -A Protocols/MultiProtocolAttacks/*.spdl
-
--I for interactive, -N for mail at end.
-
-Sun Jan  2 14:45:04 CET 2011
-
-Above job is running. It also seems faster.
-
-Sun Jan  2 20:07:58 CET 2011
-
-Sigh. It got killed after one hour because no time limit was set.
-Rerunning with -W 6:00
-
-
-
-
-
-
-Sun Jan  2 14:30:19 CET 2011
-
-In parallel, starting new huge job; biggest possible using current script options.
-
-bsub -W 7:00 ./test-mpa.py --pickle test-full-mpa.json --self-communication -A Protocols/MultiProtocolAttacks/*.spdl 
-
-Actually, these big jobs should be started with finishing e-mail notification
-or the switch that makes the bsub command only return after the jobs has
-finished, otherwise we end up watching bjobs all the time, which is boring.
-
-Sun Jan  2 14:40:08 CET 2011
-
-The above test generation is now running.
-
-Sun Jan  2 20:09:42 CET 2011
-
-The test generation seems to have finished at 15:31.
-
-./make-bsub.py test-full-mpa.json 10 -W 1:00 >test-full-mpa.sh
-
-This finished at 20:11.
-So now running
-
-nice bash test-full-mpa.sh
-
-G
-
-
-
-Sun Jan  2 15:07:13 CET 2011
-
-A third parallel test:
-
-batcher.sh OPTIONS_AND_FILES_FOR_TEST_MPA_SCRIPT
-
-Running with -L5. This should automate all of the previous stuff.
-
-
-
-
-Wed Jan  5 15:37:11 CET 2011
-
-Running for cryptrec (with new Scyther version and new batches of 5 things)
-./batcher.sh ~/papers/iso/*.spdl
-
-
-
-Tue Jan 18 17:10:49 CET 2011
-
-./batcher.sh -m 1 --all-types --self-communication ~/papers/iso/*.spdl
-The batcher has jobid 930582
-
-(error, reverting to os.makedirs(path))
-
-Tue Jan 18 23:45:15 CET 2011
-
-./test-iso-combo.sh
-
-Tue Jan 18 23:49:15 CET 2011
-
-./batcher.sh -m 2 --all-types --self-communication ~/papers/iso/*.spdl
-
-Solved: do "watch -n 10 ./WIPER.sh 11"
-(wiper.sh finds lsf files accessed longer ago than 11 minutes and wipes them)
-
-./test-mpa-alltypes.sh 
-
-
-
-Mon Jan 24 14:55:23 CET 2011
-
-./batcher.sh -m 2 --all-types Protocols/MultiProtocolAttacks/*.spdl
-
-
-
-Sat Jan 29 13:35:22 CET 2011
-
-./batcher.sh -m 2 -A --self-communication Protocols/MultiProtocolAttacks/*.spdl
diff --git a/Vagrant Files/shared/scyther/ns3.spdl b/Vagrant Files/shared/scyther/ns3.spdl
deleted file mode 100644
index edde4ab..0000000
--- a/Vagrant Files/shared/scyther/ns3.spdl	
+++ /dev/null
@@ -1,47 +0,0 @@
-/* 
- * Needham-Schroeder protocol
- */
-
-// The protocol description
-
-protocol ns3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,I}pk(R) );
-		recv_2(R,I, {ni,nr}pk(I) );
-		claim(I,Running,R,ni,nr);
-		send_3(I,R, {nr}pk(R) );
-
-		claim(I,Secret,ni);
-		claim(I,Secret,nr);
-		claim(I,Alive);
-		claim(I,Weakagree);
-		claim(I,Commit,R,ni,nr);
-		claim(I,Niagree);
-		claim(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,I}pk(R) );
-		claim(R,Running,I,ni,nr);
-		send_2(R,I, {ni,nr}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim(R,Secret,ni);
-		claim(R,Secret,nr);
-		claim(R,Alive);
-		claim(R,Weakagree);
-		claim(R,Commit,I,ni,nr);
-		claim(R,Niagree);
-		claim(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/nsl3-broken.spdl b/Vagrant Files/shared/scyther/nsl3-broken.spdl
deleted file mode 100644
index 3681cd9..0000000
--- a/Vagrant Files/shared/scyther/nsl3-broken.spdl	
+++ /dev/null
@@ -1,40 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol,
- * broken version (wrong role name in first message)
- */
-
-// The protocol description
-
-protocol nsl3-broken(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,R}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		send_3(I,R, {nr}pk(R) );
-
-		claim_i1(I,Secret,ni);
-		claim_i2(I,Secret,nr);
-		claim_i3(I,Niagree);
-		claim_i4(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,R}pk(R) );
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim_r1(R,Secret,ni);
-		claim_r2(R,Secret,nr);
-		claim_r3(R,Niagree);
-		claim_r4(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/nsl3.spdl b/Vagrant Files/shared/scyther/nsl3.spdl
deleted file mode 100644
index c393e73..0000000
--- a/Vagrant Files/shared/scyther/nsl3.spdl	
+++ /dev/null
@@ -1,47 +0,0 @@
-/* 
- * Needham-Schroeder-Lowe protocol
- */
-
-// The protocol description
-
-protocol nsl3(I,R)
-{
-	role I
-	{
-		fresh ni: Nonce;
-		var nr: Nonce;
-
-		send_1(I,R, {ni,I}pk(R) );
-		recv_2(R,I, {ni,nr,R}pk(I) );
-		claim(I,Running,R,ni,nr);
-		send_3(I,R, {nr}pk(R) );
-
-		claim(I,Secret,ni);
-		claim(I,Secret,nr);
-		claim(I,Alive);
-		claim(I,Weakagree);
-		claim(I,Commit,R,ni,nr);
-		claim(I,Niagree);
-		claim(I,Nisynch);
-	}	
-	
-	role R
-	{
-		var ni: Nonce;
-		fresh nr: Nonce;
-
-		recv_1(I,R, {ni,I}pk(R) );
-		claim(R,Running,I,ni,nr);
-		send_2(R,I, {ni,nr,R}pk(I) );
-		recv_3(I,R, {nr}pk(R) );
-
-		claim(R,Secret,ni);
-		claim(R,Secret,nr);
-		claim(R,Alive);
-		claim(R,Weakagree);
-		claim(R,Commit,I,ni,nr);
-		claim(R,Niagree);
-		claim(R,Nisynch);
-	}
-}
-
diff --git a/Vagrant Files/shared/scyther/precompute-ike.sh b/Vagrant Files/shared/scyther/precompute-ike.sh
deleted file mode 100644
index 7b7652f..0000000
--- a/Vagrant Files/shared/scyther/precompute-ike.sh	
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-./batcher.sh -m 2 --all-types --self-communication ~/src/ikev2/pp-results/mpa/ikev1*.spdl
-./batcher.sh -m 2 --all-types --self-communication ~/src/ikev2/pp-results/mpa/ikev2*.spdl
-
diff --git a/Vagrant Files/shared/scyther/progressbarDummy.py b/Vagrant Files/shared/scyther/progressbarDummy.py
deleted file mode 100644
index 9ddd7e9..0000000
--- a/Vagrant Files/shared/scyther/progressbarDummy.py	
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-"""
-
-Dummy.
-
-Author: Cas Cremers
-
-"""
-
-class ProgressBar(object):
-
-    def __init__(self,widgets=[],maxval=100):
-        self.widgets = widgets
-        self.maxval = maxval
-
-    def start(self):
-        if self.widgets:
-            if len(self.widgets) > 0:
-                print self.widgets[0],
-
-    def update(self,count):
-        pass
-
-    def finish(self):
-        print " Done."
-
-
-def SimpleProgress():
-    return
-
-def ETA():
-    return
-
-def Percentage():
-    return
-
-def Bar(marker,left,right):
-    return
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/scyther-gui.py b/Vagrant Files/shared/scyther/scyther-gui.py
deleted file mode 100644
index d20be43..0000000
--- a/Vagrant Files/shared/scyther/scyther-gui.py	
+++ /dev/null
@@ -1,245 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-#---------------------------------------------------------------------------
-# Try to get wxPython
-try:
-    import wx
-except ImportError,err:
-    from Scyther import Misc
-
-    errmsg = "Problem with importing the required [wxPython] package."
-
-    if 'No module' in str(err):
-        errmsg = """Could not find the required [wxPython] package.
-Please install this package in order to use the graphical user
-interface of Scyther.
-The [wxPython] packages can be found at http://www.wxpython.org/
-
-Ubuntu users: the wxPython packages are called 'python-wxgtk' followed by the
-version number."""
-    elif ('32-bit mode' in str(err)) or ('no matching architecture' in str(err)):
-        import os
-
-        key = "VERSIONER_PYTHON_PREFER_32_BIT"
-        data = "yes"
-
-        keyfound = False
-        try:
-            if sys.environment[key] == data:
-                keyfound = True
-        except:
-            pass
-
-        if keyfound:
-            """
-            We already tried to set the environment variable, but it is still not working.
-            """
-            import sys
-            #print "Key found. good job. no success."
-
-            errmsg = """Problem with importing the required [wxPython] package.
-
-    Possibly the problem is caused by wxPython only working in 32-bit mode currently.
-    You can try the following on the command line:
-
-      $ export VERSIONER_PYTHON_PREFER_32_BIT=yes
-      $ ./scyther-gui.py"""
-
-        else:
-            """
-            Key not found. Try if that works.
-            """
-            import sys
-            from subprocess import call
-
-            #print "Key not found. Trying to set it now."
-            # TODO: check for MAC's if we need something like 'pythonw'
-            call(sys.argv, shell=True, env={key: data})
-            sys.exit(0)
-
-    
-    Misc.panic("""
-ERROR:
-
-%s
-
-Note that you can still use the Scyther binaries in the 'Scyther' directory.
-
-The exact error was:
---------------------------------------------------------------------------------
-%s
---------------------------------------------------------------------------------
-    """ % (errmsg,err))
-
-
-
-#---------------------------------------------------------------------------
-""" import externals """
-import sys
-import os
-from optparse import OptionParser, SUPPRESS_HELP
-from subprocess import *
-
-#---------------------------------------------------------------------------
-
-""" Import scyther-gui components """
-from Scyther import Scyther,Misc
-from Gui import About,Preference,Mainwindow
-
-#---------------------------------------------------------------------------
-
-def parseArgs():
-    usage = "usage: %s [options] [inputfile]" % sys.argv[0]
-    description = "scyther-gui is a graphical user interface for the scyther protocol verification tool."
-    parser = OptionParser(usage=usage,description=description)
-
-    # command
-    parser.add_option("-V","--verify",dest="command",default=None,action="store_const",const="verify",
-            help="Immediately verify the claims of the protocol (requires input file)")
-    parser.add_option("-s","--state-space",dest="command",default=None,action="store_const",const="statespace",
-            help="Immediately generate the complete characterization of the protocol (requires input file)")
-    parser.add_option("-a","--auto-claims",dest="command",default=None,action="store_const",const="autoverify",
-            help="Immediately verified protocol using default claims (requires input file)")
-    #parser.add_option("-c","--check",dest="command",default=None,action="store_const",const="check",
-    #        help="Immediately check protocol (requires input file)")
-
-    # License
-    parser.add_option("-l","--license",dest="license",default=False,action="store_const",const=True,
-            help="Show license")
-
-    # no-splash
-    parser.add_option("-N","--no-splash",dest="splashscreen",default=True,action="store_const",const=False,
-            help="Do not show the splash screen")
-
-    # misc debug etc (not shown in the --help output)
-    parser.add_option("","--test",dest="test",default=False,action="store_true",
-            help=SUPPRESS_HELP)
-
-    return parser.parse_args()
-
-#---------------------------------------------------------------------------
-
-class MySplashScreen(wx.SplashScreen):
-    def __init__(self,basedir):
-        path = os.path.join(basedir,"Images")
-        image = os.path.join(path,"scyther-splash.png")
-        bmp = wx.Image(image).ConvertToBitmap()
-        wx.SplashScreen.__init__(self, bmp,
-                                 wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT,
-                                 5000, None, -1)
-        self.Bind(wx.EVT_CLOSE, self.OnClose)
-        self.fc = wx.FutureCall(2000, self.ShowMain)
-
-    def OnClose(self, evt):
-        # Make sure the default handler runs too so this window gets
-        # destroyed
-        evt.Skip()
-        self.Hide()
-        
-        # if the timer is still running then go ahead and show the
-        # main frame now
-        if self.fc.IsRunning():
-            self.fc.Stop()
-            self.ShowMain()
-
-
-    def ShowMain(self):
-        if self.fc.IsRunning():
-            self.Raise()
-        
-
-#---------------------------------------------------------------------------
-
-def isSplashNeeded(opts):
-    if not opts.command:
-        if opts.splashscreen and not (Preference.get('splashscreen') in ['false','off','disable','0']):
-            return True
-    return False
-
-#---------------------------------------------------------------------------
-
-class ScytherApp(wx.App):
-    def OnInit(self):
-        import os, inspect
-
-        wx.GetApp().SetAppName("Scyther-gui")
-
-        # Determine base directory (taking symbolic links into account)
-        cmd_file = os.path.realpath(os.path.abspath(inspect.getfile( inspect.currentframe() )))
-        basedir = os.path.split(cmd_file)[0]
-
-        # Parse arguments
-        (opts,args) = parseArgs()
-
-        # License option may abort here
-        if opts.license:
-            print Scyther.GetLicense()
-            sys.exit(0)
-
-        # Load preferences file
-        Preference.init()
-
-        #"""
-        #Create and show the splash screen.  It will then create and show
-        #the main frame when it is time to do so.
-        #
-        #The splash screen is disabled for automatic commands, and also
-        #by a setting in the preferences file.
-        #"""
-        #if isSplashNeeded(opts):
-        #    splash = MySplashScreen(basedir)
-        #    splash.Show()
-
-        self.mainWindow = Mainwindow.MainWindow(opts,args)
-        self.SetTopWindow(self.mainWindow)
-        self.mainWindow.Show()
-
-        if isSplashNeeded(opts):
-            dlg = About.AboutScyther(self.mainWindow,basedir)
-            dlg.ShowModal()
-            dlg.Destroy()
-
-        return True
-
-    def OnExit(self):
-        """ Tear down """
-
-
-#---------------------------------------------------------------------------
-
-def CheckRequirements():
-    """ Check for any required programs """
-
-    """ We need 'dot', in the graphviz package """
-    from Scyther import FindDot
-
-    FindDot.findDot()   # If Graphviz is not found, this function will call panic to complain.
-
-#---------------------------------------------------------------------------
-
-
-if __name__ == '__main__':
-    CheckRequirements()
-    scythergui = ScytherApp()
-    scythergui.MainLoop()
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/scyther-gui.rc b/Vagrant Files/shared/scyther/scyther-gui.rc
deleted file mode 100644
index cd3a913..0000000
--- a/Vagrant Files/shared/scyther/scyther-gui.rc	
+++ /dev/null
@@ -1,4 +0,0 @@
-wxicon icon Images/scyther-gui-64.ico
-wxicon icon Images/scyther-gui-32.ico
-wxicon icon Images/scyther-gui-16.ico
-#include "wx/msw/wx.rc"
diff --git a/Vagrant Files/shared/scyther/scyther.py b/Vagrant Files/shared/scyther/scyther.py
deleted file mode 100644
index ef99d75..0000000
--- a/Vagrant Files/shared/scyther/scyther.py	
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-#
-# python wrapper for the Scyther command-line tool
-#
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import sys
-
-#---------------------------------------------------------------------------
-
-""" Import scyther components """
-import Scyther.Scyther as Scyther
-
-#---------------------------------------------------------------------------
-
-def usage():
-    x = Scyther.Scyther()
-    x.xml = False
-    x.options = "--help"
-    x.verify()
-    return x
-
-def simpleRun(args):
-    x = Scyther.Scyther()
-    x.options = args
-    x.verify()
-    return x
-
-if __name__ == '__main__':
-    pars = sys.argv[1:]
-    if len(pars) == 0:
-        print usage()
-    else:
-        print simpleRun(" ".join(pars))
-
-
diff --git a/Vagrant Files/shared/scyther/test-delta.py b/Vagrant Files/shared/scyther/test-delta.py
deleted file mode 100644
index 863d13b..0000000
--- a/Vagrant Files/shared/scyther/test-delta.py	
+++ /dev/null
@@ -1,181 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-"""
-
-Example script to show how to perform large-scale tests using the
-Scyther Python API (contained in the Scyther subdirectory)
-
-In this example, we find the differences between two different switch
-settings for a large set of protocols.
-
-The notification triggers if claim lists differ, or when a claim is okay
-in one test but not in the other. Hence, we ignore differences between
-complete/bounded verification.
-
-Author: Cas Cremers
-
-
-Define the strings below.
-
-TEST0 is used for both, TEST1/2 define the difference between
-the tests.
-"""
-#---------------------------------------------------------------------------
-
-TEST0 = ""
-TEST1 = "--max-runs=1"
-TEST2 = "--max-runs=4"
-
-#---------------------------------------------------------------------------
-
-""" Import externals """
-import commands
-
-#---------------------------------------------------------------------------
-
-""" Import scyther components """
-from Scyther import Scyther
-
-#---------------------------------------------------------------------------
-
-def filterProtocol(protocol):
-    """
-    We may want to filter out some protocols.
-    This function allows that. Return True if it is okay (and should be
-    included) or False otherwise.
-    """
-    include = True
-    return include
-
-def simpleRun(args):
-    x = Scyther.Scyther()
-    x.options = args
-    x.verify()
-    return x
-
-def ScytherRes(protocol,args=""):
-    """
-    Run Scyther on a protocol and return a tuple with the
-    resulting object and claim list.
-    """
-    global TEST0
-
-    args = "%s %s %s" % (TEST0, args, protocol)
-    s = simpleRun(args)
-    return (s,s.claims)
-
-
-def findSameClaim(cl,claim):
-    """
-    Find in claim list the claim that corresponds to claim
-    """
-    for claim2 in cl:
-        if claim2.id == claim.id:
-            return claim2
-    return None
-
-
-def ScytherDiff(protocol):
-    """
-    Check whether the two different switch settings yield a different
-    result.
-    """
-    global TEST1, TEST2
-
-    (s1,cl1) = ScytherRes(protocol,TEST1)
-    (s2,cl2) = ScytherRes(protocol,TEST2)
-
-    res = ""
-    if len(cl1) != len(cl2):
-        res += "Different claim lists:\n%s\n%s\n" % (cl1,cl2)
-    else:
-        for claim1 in cl1:
-            claim2 = findSameClaim(cl2,claim1)
-            if claim2 == None:
-                res += "%s not in second test.\n" % (claim1)
-            else:
-                if claim1.okay != claim2.okay:
-                    res += "Different results:\n%s\n%s\n" % (claim1,claim2)
-
-    if res == "":
-        return None
-    else:
-        return res
-
-
-def findProtocols():
-    """
-    Find a list of protocol names
-    """
-
-    cmd = "find -iname '*.spdl'"
-    plist = commands.getoutput(cmd).splitlines()
-    nlist = []
-    for prot in plist:
-        if filterProtocol(prot):
-            nlist.append(prot)
-    return nlist
-
-
-def main():
-    """
-    Simple test case with a few protocols
-    """
-    global TEST0,TEST1,TEST2
-
-    list = findProtocols()
-    print "Performing delta analysis"
-    print 
-    print "String 0 (used for both): '%s'" % TEST0
-    print "String 1: '%s'" % TEST1
-    print "String 2: '%s'" % TEST2
-    print
-    print "After filtering, we are left with the following protocols:", list
-    print
-    maxcount = len(list)
-    count = 1
-    delta = 0
-    for prot in list:
-        perc = (100 * count) / maxcount
-        print "[%i%%] %s: " % (perc,prot),
-        res = ScytherDiff(prot)
-        if res != None:
-            print
-            print "-" * 72
-            print prot
-            print "-" * 72
-            print res
-            delta = delta + 1
-        else:
-            print "No interesting delta found."
-        count = count + 1
-
-    print
-    print "Analysis complete."
-    print "%i out of %i protocols differed [%i%%]." % (delta,maxcount,(100 * delta)/maxcount)
-
-
-if __name__ == '__main__':
-    main()
-
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/test-mpa.py b/Vagrant Files/shared/scyther/test-mpa.py
deleted file mode 100644
index bf5a344..0000000
--- a/Vagrant Files/shared/scyther/test-mpa.py	
+++ /dev/null
@@ -1,896 +0,0 @@
-#!/usr/bin/env python
-"""
-	Scyther : An automatic verifier for security protocols.
-	Copyright (C) 2007-2013 Cas Cremers
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-"""
-
-
-"""
-
-Example script to show how to perform large-scale tests using the
-Scyther Python API (contained in the Scyther subdirectory)
-
-In this example, multi-protocol attack analysis is performed on a small
-test set.
-
-Author: Cas Cremers
-
-"""
-
-from Scyther import Scyther
-
-from optparse import OptionParser, OptionGroup, SUPPRESS_HELP
-import time
-import os.path
-import json
-
-try:
-    from progressbar import *
-    PROGRESSBAR = True
-except ImportError:
-    from progressbarDummy import *
-    PROGRESSBAR = False
-    print """
-Missing the progressbar library.
-
-It can be downloaded from:
-
-http://code.google.com/p/python-progressbar/
-
-"""
-
-FOUND = []
-ALLMPA = []
-ALLCLAIMS = []
-INVOLVED = []
-PROTFILETONAME = {}
-PROTNAMETOFILE = {}
-OPTS = None
-ARGS = None
-PICKLEDATA = set()
-
-
-#---------------------------------------------------------------------------
-
-def parseArgs():
-    usage = "usage: %prog [options] [inputfile]" 
-    description = "test-mpa.py is a test script to help with multi-protocol analysis."
-    parser = OptionParser(usage=usage,description=description, version="%prog 2.0")
-
-    group = OptionGroup(parser, "Bounding the search space")
-    group.add_option("-m","--max-protocols",type="int",dest="maxprotocols",default=3,
-            help="Define maximum number of protocols in a multi-protocol attack [3].")
-
-    group.add_option("-r","--max-runs",type="int",dest="maxruns",default=4,
-            help="Define maximum number of runs in the analysis [4].")
-
-    group.add_option("-T","--timeout",type="int",dest="timeout",default=600,
-            help="Timeout in seconds for each analysis [600].")
-
-    group.add_option("-L","--limit",type="int",dest="limit",default=0,
-            help="Limit the length of the list of protocols [None].")
-    parser.add_option_group(group)
-
-    group = OptionGroup(parser, "Matching type options")
-    group.add_option("-t","--typed",dest="defoptarray",default=[],action="append_const",const="--match=0",
-            help="Verify protocols with respect to a typed model (-m 0) [default]")
-    group.add_option("-b","--basic-types",dest="defoptarray",default=[],action="append_const",const="--match=1",
-            help="Verify protocols with respect to basic type flaws only (-m 1)")
-    group.add_option("-u","--untyped",dest="defoptarray",default=[],action="append_const",const="--match=2",
-            help="Verify protocols with respect to an untyped model (-m 2)")
-    group.add_option("-A","--all-types",dest="alltypes",default=False,action="store_true",
-            help="Verify protocols with respect to all matching types")
-    parser.add_option_group(group)
-
-    group = OptionGroup(parser, "Restricting self-communication")
-    group.add_option("-U","--init-unique",dest="defoptarray",default=[],action="append_const",const="--init-unique",
-            help="Use Scythers --init-unique switch to filter out initiators talking to themselves.")
-    group.add_option("-E","--extravert",dest="defoptarray",default=[],action="append_const",const="--extravert",
-            help="Use Scythers --extravert switch to filter out agents talking to themselves.")
-    group.add_option("","--self-communication",dest="selfcommunication",default=False,action="store_true",
-            help="Explore all self-communication restrictions (as MPA-only option).")
-    parser.add_option_group(group)
-
-    # Misc
-    parser.add_option("","--pickle",dest="pickle",
-            help="Do not invoke Scyther but write intended calls to a file with the given name.")   # action="store" and type="string" are defaults
-    parser.add_option("-l","--latex",dest="latex",
-            help="Output latex files with the given prefix.")   # action="store" and type="string" are defaults
-    parser.add_option("-v","--verbose",dest="verbose",default=False,action="store_true",
-            help="Be more verbose.")
-    parser.add_option("-D","--debug",dest="debug",default=False,action="store_true",
-            help="Enable debugging features.")
-    parser.add_option("-p","--plain",dest="plain",default=False,action="store_true",
-            help="Ensure plain output, e.g., no progress bars.")
-
-    return parser.parse_args()
-
-#---------------------------------------------------------------------------
-
-class Attack(object):
-
-    def __init__(self,claim,mpalist):
-
-        self.claim = claim
-        self.mpalist = mpalist
-
-    def protocol(self):
-        return self.claim.protocol
-
-    def mpashort(self):
-
-        s = []
-        for fn in self.mpalist:
-            ptn = os.path.normpath(fn)
-            (head,tail) = os.path.split(ptn)
-            s.append(tail)
-
-        return s
-
-    def claimid(self):
-        return "%s" % (self.claim.id)
-
-    def __str__(self):
-        s = "(%s,%s)" % (self.claim.id, self.mpashort())
-        return s
-
-    def fullstr(self):
-        s = "%s,%s" % (self.claim.id, self.mpalist)
-        return s
-
-    def __cmp__(self,other):
-        s1 = self.fullstr()
-        s2 = other.fullstr()
-        if (s1 == s2):
-            return 0
-        else:
-            if s1 < s2:
-                return -1
-            else:
-                return 1
-
-
-#---------------------------------------------------------------------------
-
-
-def uniq(l):
-
-    ll = []
-    for x in l:
-        if x not in ll:
-            ll.append(x)
-    return ll
-
-
-def powerset(s):
-    """
-    s is a set
-    returns the powerset
-    """
-    pws = set([frozenset()])
-    for el in s:
-        # Double old powerset by adding its elements and also new ones
-        for s2 in pws.copy():
-            if len(s2) == 0:
-                pws.add(frozenset([el]))
-            else:
-                pws.add(frozenset([el]).union(s2))
-    return pws
-    
-
-#---------------------------------------------------------------------------
-
-def MyScyther(protocollist,filt=None,options=[],checkpickle=True):
-    """
-    Evaluate the composition of the protocols in protocollist.
-    If there is a filter, i.e. "ns3,I1" then only this specific claim
-    will be evaluated.
-
-    By default, when Pickling, no evaluation is done (checkpickle=True).
-    Setting 'checkpickle' to False ignores this check and verifies anyway.
-    """
-    global OPTS
-    global PICKLEDATA
-
-    s = Scyther.Scyther()
-
-    # Standard
-    opts = OPTS.defoptarray + options
-
-    # Cover for caching issue where no --match= option is given (default to 0)
-    matchfound = False
-    for opt in opts:
-        if opt.startswith("--match="):
-            matchfound = True
-            break
-    if not matchfound:
-        opts.append("--match=0")
-
-    # Adding other command-line parameters (i.e. with arguments)
-    opts.append("-T %i" % (int(OPTS.timeout)))
-    opts.append("--max-runs=%i" % (int(OPTS.maxruns)))
-
-    # arguments to call
-    s.options = (" ".join(sorted(uniq(opts)))).strip()
-    if OPTS.debug:
-        print s.options
-
-    for protocol in sorted(protocollist):
-        s.addFile(protocol)
-    if checkpickle and OPTS.pickle:
-        # Do not really verify! Just dump request if not already known
-        if s.verifyOne(filt, checkKnown=True) == False:
-            PICKLEDATA.add((tuple(sorted(protocollist)),s.options,filt))
-    else:
-        # Verify results
-        s.verifyOne(filt)
-    return s
-    
-
-def getCorrectIsolatedClaims(protocolset,options=[]):
-    """
-    Given a set of protocols, determine the correct claims when run in
-    isolation.
-    Returns a tuple, consisting of
-    - a list of compiling protocols
-    - a list of tuples (protocol,claimid) wich denote correct claims
-    """
-    correctclaims = []
-    goodprotocols = []
-
-    if not OPTS.plain:
-        widgets = ['Scanning for claims that are correct in isolation: ', SimpleProgress(), ' protocols (', Percentage(), ') ',
-                   Bar(marker='#',left='[',right=']')
-                   ]
-        pbar = ProgressBar(widgets=widgets, maxval=len(protocolset))
-        pbar.start()
-    count = 0
-    cpcount = 0
-    for protocol in protocolset:
-        # verify protocol in isolation
-        s = MyScyther([protocol],options=options,checkpickle=False)
-        # investigate the results
-        goodprotocols.append(protocol)
-        allfalse = True
-        for claim in s.claims:
-            global ALLCLAIMS
-            global PROTFILETONAME
-            global PROTNAMETOFILE
-
-            if claim not in ALLCLAIMS:
-                ALLCLAIMS.append(claim)
-
-            if claim.okay:
-                correctclaims.append((protocol,claim.id))
-                allfalse = False
-
-            PROTFILETONAME[protocol] = str(claim.protocol)
-            PROTNAMETOFILE[str(claim.protocol)] = protocol
-
-        count += 1
-        if not allfalse:
-            cpcount += 1
-        if not OPTS.plain:
-            pbar.update(count)
-
-    if not OPTS.plain:
-        pbar.finish()
-    return (goodprotocols,correctclaims,cpcount)
-
-
-def verifyProtList(protlist,claimid,options=[]):
-    """
-    Check attacks on this protocol list.
-    Returns True if no attack ("correct") and False if an attack is found.
-    """
-    s = MyScyther(protlist,claimid,options)
-    claim = s.getClaim(claimid)
-    if claim:
-        if not claim.okay:
-            return False
-    return True
-
-
-
-def verifyProtSubSet(protlist,claimid,options=[]):
-    """
-    Check attacks on true subsets of this list.
-    Note subsets must include the claim id
-    """
-    global OPTS
-
-    ps = powerset(set(protlist))
-    for s in ps:
-        if (len(s) > 0) and (len(s) < len(protlist)):
-            res = verifyProtList(list(s),claimid,options)
-            if res == False:
-                """
-                If an attack is found we're actually done but for pickle we
-                make an exception to generate all possible variants.
-                """
-                if not OPTS.pickle:
-                    return False
-    return True
-
-
-def verifyMPAattack(mpalist,claimid,options=[]):
-    """
-    Check for Multi-Protocol Attacks on this protocol list.
-    Returns True if no attack ("correct") and False if an MPA attack is found.
-
-    First consider subsets, so if there is an attack there, don't consider others.
-    """
-    global OPTS
-
-    res = verifyProtSubSet(mpalist,claimid,options)
-    if res or OPTS.pickle:
-        """
-        Only really needed when no attack found but for pickle we make an
-        exception to generate all possible variants.
-        """
-        return verifyProtList(mpalist,claimid,options)
-    return True
-
-
-def verifyMPAlist(mpalist,claimid,options=[]):
-    """
-    Check the existence of a multi-protocol attack in this context
-
-    If an attack is found, we return False, otherwise True. This is
-    needed for the iteration later.
-    """
-    global OPTS, ARGS
-
-    if OPTS.debug:
-        print time.asctime(), mpalist, claimid, options
-
-    if not verifyMPAattack(mpalist,claimid,options):
-        global FOUND
-        global ALLFOUND
-        global INVOLVED
-
-        claim = claimidToClaim(claimid)
-
-        # This is an MPA attack!
-        if OPTS.debug:
-            print "I've found a multi-protocol attack on claim %s in the context %s." % (claimid,str(mpalist))
-        
-        att = Attack(claim,mpalist)
-        FOUND.append(att)
-        ALLFOUND.append(att)
-
-        inv = [claim.protocol]
-        for fn in mpalist:
-            global PROTFILETONAME
-            inv.append(PROTFILETONAME[fn])
-
-        for pn in inv:
-            if pn not in INVOLVED:
-                INVOLVED.append(pn)
-
-        #return False
-
-    return True
-
-
-def constructMPAlist(protocolset,claimid,mpalist,length,start,callback,options=[]):
-    """
-    Append a list of parallel protocols, without duplicates,
-    such that the added part is lexicographically ordered (from
-    index 'start' in the protocol list)
-    For each possible list, the function callback is called. If the
-    callback returns true, iteration proceeds (returning true in the
-    end), otherwise it aborts and returns false.
-    """
-    if len(mpalist) < length:
-        # list is not long enough yet
-        for pn in range(start,len(protocolset)):
-            p = protocolset[pn]
-            if p not in mpalist:
-                if not constructMPAlist(protocolset,claimid,mpalist + [p],length,pn+1,callback,options=options):
-                    return False
-        return True
-    else:
-        # list is long enough: callback
-        return callback(mpalist,claimid,options)
-    
-
-def findMPA(protocolset,protocol,claimid,options=[]):
-    """
-    The protocol claim is assumed to be correct. When does it break?
-    """
-    global OPTS
-
-    # First we examine 2-protocol attacks, and then increase the
-    # number of parallel protocols if we don't find any attacks on the
-    # claim.
-    maxcount = OPTS.maxprotocols
-    count = 2
-    if len(protocolset) < maxcount:
-        # we cannot have more protocols in parallel than there are
-        # protocols.
-        maxcount = len(protocolset)
-
-    # the actual incremental search loop
-    while count <= maxcount:
-        constructMPAlist(protocolset,claimid,[protocol],count,0,verifyMPAlist,options)
-        count += 1
-    return None
-
-
-def foundToDicts(attacklist = []):
-    """
-    Turn a list of attacks into a more structured dict of dicts
-    protocolname -> claimid -> P(attack)
-    """
-    res = {}
-    for att in attacklist:
-        pn = str(att.protocol())
-        cl = att.claimid()
-
-        if pn not in res.keys():
-            res[pn] = {}
-        if cl not in res[pn].keys():
-            res[pn][cl] = set()
-        res[pn][cl].add(att)
-    return res
-
-
-def findAllMPA(protocolset,options=[],mpaoptions=[]):
-    """
-    Given a set of protocols, find multi-protocol attacks
-    """
-
-    global FOUND
-    global OPTS, ARGS
-    global PROTNAMETOFILE
-    global ALLCLAIMS
-
-    FOUND = []
-
-    # Find all correct claims in each protocol
-    (protocolset,correct,cpcount) = getCorrectIsolatedClaims(protocolset,options)
-    print "Investigating %i correct claims in %i protocols." % (len(correct), cpcount)
-
-    mpaprots = []
-    res = []
-
-    if len(correct) == 0:
-        print "Nothing to do."
-        return res
-
-    if OPTS.verbose:
-        """
-        When verbose, list correct claims in protocols
-        """
-        pmapclaims = {}
-        for (protocol,claimid) in correct:
-            if protocol not in pmapclaims.keys():
-                pmapclaims[protocol] = set()
-            pmapclaims[protocol].add(claimid)
-        print "Protocols with correct claims:"
-        if len(pmapclaims.keys()) == 0:
-            print "  None."
-        else:
-            for pk in pmapclaims.keys():
-                print "  %s, %s" % (pk, pmapclaims[pk])
-        print
-        left = set()
-        for p in protocolset:
-            if p not in pmapclaims.keys():
-                left.add(p)
-        print "Protocols with no correct claims:"
-        if len(left) == 0:
-            print "  None."
-        else:
-            for p in left:
-                print "  %s" % (p)
-        print
-
-    # output of all claims (only if latex required)
-    
-    if OPTS.latex:
-        clset = set()
-        for claim in ALLCLAIMS:
-            prot = str(claim.protocol)
-            file = PROTNAMETOFILE[prot]
-            clid = claim.id
-            descr = claim.roledescribe()
-            
-            tup = (file,prot,clid,descr)
-            clset.add(tup)
-
-        fp = open("gen-%s-claims.txt" % (OPTS.latex),"w")
-
-        fp.write("%% OPTS: %s\n" % OPTS)
-        fp.write("%% ARGS: %s\n" % ARGS)
-
-        for (file,prot,clid,descr) in sorted(clset):
-            fp.write("%s; %s; %s; %s\n" % (file,prot,clid,descr))
-
-        fp.close()
-
-    # Latex output of protocols with correct claims
-    if OPTS.latex:
-        pmapclaims = {}
-        for (protocol,claimid) in correct:
-            if protocol not in pmapclaims.keys():
-                pmapclaims[protocol] = set()
-            pmapclaims[protocol].add(claimid)
-
-        fp = open("gen-%s-correctclaims.tex" % (OPTS.latex),"w")
-
-        fp.write("%% OPTS: %s\n" % OPTS)
-        fp.write("%% ARGS: %s\n" % ARGS)
-
-        fp.write("\\begin{tabular}{ll}\n")
-        fp.write("Protocol & Claims \\\\\n")
-        for protocol in sorted(pmapclaims.keys()):
-            fp.write("%s & " % (PROTFILETONAME[protocol]))
-            claims = sorted(pmapclaims[protocol])
-            latexcl = set()
-            for claimid in claims:
-                claim = claimidToClaim(claimid)
-                latexcl.add(claim.roledescribe())
-
-            fp.write("; ".join(sorted(latexcl)))
-            fp.write("\\\\\n")
-        fp.write("\\end{tabular}\n")
-        fp.close()
-
-    # For all these claims...
-    if not OPTS.plain:
-        widgets = ['Scanning for MPA attacks: ', SimpleProgress(), ' claims (', Percentage(), ') ',
-                   Bar(marker='#',left='[',right=']'),
-                   ETA()
-                   ]
-        pbar = ProgressBar(widgets=widgets, maxval=len(correct))
-        pbar.start()
-    count = 0
-
-    # Concatenate options but add space iff needed
-    alloptions = options + mpaoptions
-
-    for (protocol,claimid) in correct:
-        # Try to find multi-protocol attacks
-        findMPA(protocolset,protocol,claimid,options=alloptions)
-        count += 1
-        if not OPTS.plain:
-            pbar.update(count)
-    if not OPTS.plain:
-        pbar.finish()
-
-    """
-    The below computation assumes protocol names are unique to files, but if
-    they are not, some other errors should have been reported by the Scyther
-    backend anyway (conflicting protocol definitions in MPA analysis).
-    """
-    for att in FOUND:
-        pn = att.protocol()
-        if pn not in mpaprots:
-            mpaprots.append(pn)
-        res.append(att)
-
-    """
-    Latex table of attacks
-
-    TODO : map file names to protocol names, write out claim details
-
-    TODO : remove main protocol from list (it's: "MPA attacks when run in parallel with")
-
-    TODO : Check whether current tests stop after finding *one* MPA attack or whether they find *all*.
-
-    """
-    if OPTS.latex and not OPTS.pickle:
-        fp = open("gen-%s-mpaattacks.tex" % (OPTS.latex),"w")
-
-        fp.write("%% OPTS: %s\n" % OPTS)
-        fp.write("%% ARGS: %s\n" % ARGS)
-
-        fp.write("\\begin{tabular}{lll}\n")
-        fp.write("Protocol & Claim & MPA attacks \\\\ \n")
-
-        # Convert to more useful structure (maybe move one level up)
-        res = foundToDicts(FOUND)
-
-        """
-        Scan per protocol in mpaprots (maybe sorted?)
-        """
-        for prot in sorted(res.keys()):
-            """
-            List claim and then attack scenarios (to some max?)
-            """
-            ltprot = prot
-            for claimid in sorted(res[prot].keys()):
-
-                firstclaim = True
-                for att in sorted(res[prot][claimid]):
-
-                    if firstclaim:
-
-                        ltclaim = att.claim.roledescribe()
-                        firstclaim = False
-
-                    attl = att.mpalist
-                    ltattacks = []
-                    for attprot in attl:
-                        if PROTFILETONAME[attprot] != att.claim.protocol:
-                            ltattacks.append(PROTFILETONAME[attprot])
-
-                    fp.write("%s & %s & %s \\\\ \n" % (ltprot,ltclaim,sorted(ltattacks)))
-
-                    # Erase for cleaner table
-                    ltprot = ""
-                    ltclaim = ""
-
-        fp.write("\\end{tabular}\n")
-        fp.close()
-
-    print "-" * 70
-    print "Summary:"
-    print
-    print "We scanned %i protocols with options [%s]." % (len(protocolset),options)
-    print "We found %i correct claims." % (len(correct))
-    print "We then scanned combinations of at most %i protocols with options [%s]." % (OPTS.maxprotocols,alloptions)
-    if OPTS.pickle:
-        print "However, just precomputing now, hence we are not drawing any conclusions."
-    else:
-        print "We found %i MPA attacks." % (len(FOUND))
-        print "The attacks involve the claims of %i protocols." % (len(mpaprots))
-    print "-" * 70
-    print
-
-    return res
-
-
-def claimidToClaim(claimid):
-    """
-    Return claim object given a claim id
-    """
-    global ALLCLAIMS
-
-    for claim in ALLCLAIMS:
-        if claim.id == claimid:
-            return claim
-
-
-
-def showDiff(reslist):
-    """
-    Show difference between (opts,mpaopts,attacklist) tuples in list
-    """
-    if len(reslist) == 0:
-        print "Comparison list is empty"
-        return
-
-    (opt1,mpaopt1,al1) = reslist[0]
-    print "-" * 70
-    print "Base case: attacks for \n  [%s]:" % (opt1 + mpaopt1)
-    print
-    print len(al1)
-    for a in al1:
-        print "Base attack: %s" % (a)
-
-    print "-" * 70
-    print
-
-    for i in range(0,len(reslist)-1):
-        (opt1,mpaopt1,al1) = reslist[i]
-        (opt2,mpaopt2,al2) = reslist[i+1]
-
-        print "-" * 70
-        print "Comparing the attacks for \n  [%s] with\n  [%s]:" % (opt1 + mpaopt1, opt2 + mpaopt2)
-        print
-        print len(al1), len(al2)
-        for a in al2:
-            if a not in al1:
-                print "Added attack: %s" % (a)
-        for a in al1:
-            if a not in al2:
-                print "Removed attack: %s" % (a)
-
-        print "-" * 70
-        print
-
-
-
-
-
-
-def makeChoices():
-    """
-    Make choice grid.
-    Later options should (intuitively) give more attacks.
-
-    [ MPAonly, (text,switch)* ]
-    """
-
-    global OPTS, ARGS
-
-    choices = []
-
-    if OPTS.alltypes:
-        
-        choices.append([ False, \
-                ("no type flaws",["--match=0"]), \
-                ("basic type flaws",["--match=1"]), \
-                ("all type flaws",["--match=2"]), \
-                ])
-
-    if OPTS.selfcommunication:
-
-        choices.append([ True, \
-                ("Disallow A-A",["--extravert"]), \
-                ("Allow responder A-A",["--init-unique"]), \
-                ("Allow A-A",[]) \
-                ])
-
-    return choices
-
-
-def exploreTree( i, choices , l, options = [], mpaoptions = []):
-    """
-    Each choice[x] is an array again:
-
-        MPAonly, (txt,arg)*
-    """
-
-    if i >= len(choices):
-        return [(options,mpaoptions,findAllMPA(l, options = options, mpaoptions = mpaoptions))]
-
-    mpaonly = choices[i][0]
-    cl = choices[i][1:]
-
-    res = []
-    for (txt,arg) in cl:
-
-        print "For choice %i, selecting options %s" % (i,txt)
-        if mpaonly:
-            o1 = []
-            o2 = arg
-        else:
-            o1 = arg
-            o2 = []
-        res = res + exploreTree(i+1, choices, l, options = options + o1, mpaoptions = mpaoptions + o2)
-
-    return res
-
-
-
-def fullScan(l, options = [], mpaoptions = []):
-
-    global OPTS
-    global ALLFOUND
-    global ALLCLAIMS
-    global INVOLVED
-    global PROTNAMETOFILE
-    global PROTFILETONAME
-
-    ALLFOUND = []
-    ALLCLAIMS = []
-    INVOLVED = []
-
-    if OPTS.limit > 0:
-        l = l[:OPTS.limit]
-
-    choices = makeChoices()
-    if len(choices) == 0:
-        """
-        No choices, just evaluate
-        """
-        res = findAllMPA(l, options = options, mpaoptions = mpaoptions)
-
-    else:
-        lres = exploreTree(0, choices, l, options = options, mpaoptions = mpaoptions)
-        if len(lres) > 1:
-            if not OPTS.pickle:
-                showDiff(lres)
-
-    allprots = set()
-    attprots = set()
-    invprots = set()
-    for att in ALLFOUND:
-        attprots.add(str(att.protocol()))
-    for cl in ALLCLAIMS:
-        allprots.add(str(cl.protocol))
-    for prot in INVOLVED:
-        invprots.add(str(prot))
-
-    if not OPTS.pickle:
-        print "The bottom line: we found %i protocols with multi-protocol attacks from a set of %i protocols." % (len(attprots),len(allprots))
-        print
-
-        print "Multi-protocol attacks were found on:"
-        for prot in sorted(list(allprots & attprots)):
-            print "  %s" % (prot)
-        print
-
-        print "No multi-protocol attacks were found on these protocols, but they caused MPA attacks:"
-        for prot in sorted(list((allprots - attprots) & invprots)):
-            print "  %s" % (prot)
-        print
-
-        print "These protocols were not involved in any MPA attacks:"
-        for prot in sorted(list((allprots - attprots) - invprots)):
-            print "  %s\t[%s]" % (prot,PROTNAMETOFILE[prot])
-        print
-
-
-
-
-def bigTest():
-    """
-    Perform the tests as reported in the book.
-    """
-    import os
-
-    global OPTS, ARGS
-
-    l = []
-    nl = []
-
-    """
-    Check for any given filenames
-    """
-    if len(ARGS) == 0:
-        # No filenames given
-        testpath = "Protocols/MultiProtocolAttacks/"
-        fl = os.listdir(testpath)
-        for fn in fl:
-            if fn.endswith(".spdl"):
-                nl.append(fn)
-
-        # Prepend again the path
-        l = []
-        for fn in nl:
-            l.append(testpath+fn)
-    else:
-        for fn in ARGS:
-            l.append(fn)
-        nl = l
-
-    # Report list
-    print "Performing multi-protocol analysis for the following protocols:", nl
-
-    fullScan(l)
-
-
-
-def main():
-    global OPTS, ARGS, PICKLEDATA
-
-    (OPTS,ARGS) = parseArgs()
-    if OPTS.pickle:
-        PICKLEDATA = set()
-
-    bigTest()
-
-    #simpleTest()
-
-    if OPTS.pickle:
-        pf = open(OPTS.pickle,"wa")
-        for el in PICKLEDATA:
-            json.dump(el,pf)
-            pf.write("\n")
-        pf.close()
-
-
-if __name__ == '__main__':
-    main()
-
-
-# vim: set ts=4 sw=4 et list lcs=tab\:>-:
diff --git a/Vagrant Files/shared/scyther/todo.txt b/Vagrant Files/shared/scyther/todo.txt
deleted file mode 100644
index 60e05af..0000000
--- a/Vagrant Files/shared/scyther/todo.txt	
+++ /dev/null
@@ -1,29 +0,0 @@
-URGENT
-
--
-
-TO BE DONE
-
-- Config file should use Python's confParse module.
-- Save preferences in local file on close.
-
-WOULD LIKE TO HAVE
-
-- Font selector for graphs.
-- Nice graph scaling for all platforms (now only supported under Linux
-  using the Python Imaging Library through postscript; currently
-  wxPython does not support any cross-platform vector format out of the
-  box, as SVG is still only a non-default build option.)
-- Support for using an external editor.
-  - toggle for 'watch file'.
-    - toggle for 'auto-verify on change' or something like that.
-- Ideally we somehow color the correct/incorrect tags in the editor.
-- Line numbering is needed for the editor window otherwise you cannot
-  interpret attacks. Probably use wx.Py editor things.
-- Scyther executable should be able to be set by means of preferences.
-
-IN AN IDEAL WORLD...
-
-- Use Python modules to generate the attack graphs from the XML, also
-  allow for eg. ASCII output.
-
diff --git a/Vagrant Files/shared/scyther/wiper.sh b/Vagrant Files/shared/scyther/wiper.sh
deleted file mode 100644
index 11766f7..0000000
--- a/Vagrant Files/shared/scyther/wiper.sh	
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-#
-# Wipe Brutus artefacts.
-#
-# Run as 'watch -n 10 ./wiper.sh'
-
-find lsf.* -maxdepth 0 -amin +11 -print -delete 2>&1
-
-
diff --git a/Vagrant Files/shared/example.txt.txt b/Vagrant Files/shared/test folder/example.txt.txt
similarity index 100%
rename from Vagrant Files/shared/example.txt.txt
rename to Vagrant Files/shared/test folder/example.txt.txt
-- 
GitLab