CrypTool: experiment with cryptographic algorithms
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.
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.Advertisement