CrypTool: experiment with cryptographic algorithms

Martin Brinkmann
Oct 27, 2014
Updated • Aug 13, 2019
Software, Windows software

Have you ever asked yourself how cryptographic algorithms work? What algorithms such as AES or Twofish do, or how cryptography was handled in the past?

How Julius Caesar used encryption to protect messages or how the German Enigma machine worked?

While there are plenty of books and online resources available that teach you everything there is to know about that, not many let you experience it first hand.

CrypTool is a free program for Windows -- there is also a cross-platform version available called JCryptTool which requires Java to run and an online version -- that you can use to understand and visualize cryptographic algorithms.

The main interface displays various options on start. One of the best to get started is to run the wizard.  It displays options to learn more about cryptographic topics such as encryption and decryption, hash functions or cryptoanalysis.

If you select encryption and decryption for example, you are asked to choose between classic or modern on the next screen. Classic lists nine algorithms used in the past, from Caesar and Vigenere to Enigma and Playfair.

Each algorithm is explained briefly so that you know how it works. You can then test it out yourself on the next two pages by entering text that you want decrypted and other information that may be required.

The original message and the decrypted version of it are displayed on the final page.

The software supports symmetric and asymmetric modern algorithms. They are not as well explained on that page so that you may need to consult the documentation where each algorithm is explained in detail.

The same is true for Hash functions, supported are MD5, SHA-256, RIPEMD160 and others.

The second major feature of CrypTool is the playground. Here you can create workflows to test ciphers or hash functions.

This works by dragging and dropping modules to the work area. Here is a basic example: you drag and drop the Caesar cipher to the work area, click on a blank spot afterwards to create a text input field and add text to it. You connect the text input to Caesar, and click again on a blank location to create a text output field and connect Caesar to it.

Type text into the input field, click on Caesar to modify the cipher, and click start to see how the input text is encrypted.

The interesting thing here is that you can combine modules on the same screen, and that you have additional ciphers at your disposal which are not provided by the wizard.

visualize ciphers

Closing Words

CrypTool is a great educational program not only for computer science or math students but for anyone who is interested in cryptography. Users who don't want to install Java on their machines to run the program may check out the online version of Cryptool which offers similar educational material; it requires just a modern web browser to get started.

software image
Author Rating
no rating based on 0 votes
Software Name
Landing Page

Tutorials & Tips

Previous Post: «
Next Post: «


  1. zahra said on January 6, 2017 at 6:51 pm

    Hello Martin
    I have a question. Is there any way to create a new cipher by Cryptool?

  2. Sven said on October 29, 2014 at 1:10 am

    Hallo Martin,

    danke für die gute Einführung in CT2.

    Es gibt einen ausführlichen, tiefer gehenden Artikel in Deutsch. Wenn Sie ihn in Englisch publizieren wollen, schreiben Sie mir eine E-Mail und ich gebe den Autoren gerne Bescheid.

    Best regards, Sven

  3. jimboo said on October 28, 2014 at 3:36 pm

    Cryptool is one of the best.I am using Cryptool to solve mysterytwisterc3 problems.

  4. Ed said on October 28, 2014 at 2:56 am

    Thanks Martin! You always come through with stuff I haven’t known of (and I read tons of tech sites).

  5. CHEF-KOCH said on October 27, 2014 at 7:31 pm


Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.