Version 15 (modified by krauss, 6 years ago) (diff)

changed CrypTool 2.0 to CrypTool 2 and Visual Studio 2010 to Visual Studio 2013

CrypTool 2 Plugin Developer Howto Checklist

This document is intended for plugin developers who want to contribute a new plugin to CrypTool 2. Plugins implement a cryptographic algorithm or similar functionality. Please note that CrypTool 2 is an alive project - certain information here may not be up-to-date. Feel free to contact us, if you are missing something.

All steps that should be done before the development process starts can be found in a very compact way at this page. But if you’re developing your first plugin it is recommended to read the Plugin Developer Manual first.


  1. Install Microsoft Visual Studio 2013 or newer or the free Microsoft Visual Studio Community 2015
  2. Install at least the Microsoft .NET 4.0
  3. Install a SVN-Client (either use TortoiseSVN (recommended) or use a command line SVN)

Project Setup

  1. Check out the sources from using anonymous as username and leave password blank
  2. Add obj bin debug release *.pdb *.suo *.exe *.dll *.aux *.dvi *.log *.bak *.bbl *.blg *.user to the global ignore pattern of your SVN-Client
  3. Open the CrypTool 2.0.sln Visual Studio solution from the trunk directory
  4. Look for the project CrypWin and make sure it is selected as startup project
  5. Build your version of CrypTool 2
  6. Download the CrypTool 2 plugin template from
  7. Save the CrypTool 2 to Libraries\Documents\Visual Studio 2013\Templates\ProjectTemplates\ (Do not unpack the zip file)
  8. Restart Visual Studio

Plugin Implementation

  1. Add a new project for your plugin through right click in the solution explorer (Add --> New Project)
  2. Select Visual C# --> CrypTool 2 Plugin as project template in the dialog window
  3. Enter a unique name for your new plugin project (for example the name of the cryptographic algorithm)
  4. Select the subdirectory CrypPluginsExperimental as the location of your project
  5. Rename the files ExamplePluginCT2.cs and ExamplePluginCT2Settings.cs in the solution explorer to something more meaningful (replace the Part ExamplePluginCT2 with the name of the algorithm)
  6. Adapt the plugin skeleton while following the HOWTO comments within the code
  7. Add meaningful comments in your code and write them only in English (if possible)
  8. For more explanations about the implementation read the Plugin Developer Manual beginning with section 2.3 Defining the attributes of the Caesar class

Further Information

More information can be found for example in one of the following Howtos: