CrypTool is a freeware program which enables you to apply and analyze cryptographic mechanisms. It has the typical look-and-feel of a modern Windows application. CrypTool contains exhaustive online help, which can be understood without extensive knowledge of cryptography. CrypTool is available in English, German, Polish, Spanish, and Serbian. CrypTool includes every state-of-the-art cryptographic function and allows you to learn about and use cryptography within the same environment.
The algorithms available include both classic and modern cryptosystems:
- classic methods: the Caesar cipher, the ADFGVX cipher, the double-column transposition (permutation), the Enigma encryption algorithm, etc.
- modern methods: the RSA and AES algorithms, hybrid encryption, algorithms based on lattice reduction and elliptic curves, etc.
A summary of all the encryption algorithms implemented in CrypTool is available in the online help page for the Encrypt/Decrypt menu. Additionally many screenshots can be found on this hyperlink and in the associated CrypTool presentation, which will help acquaint you with the operation of the program.
Upon encrypting a document, the result will be shown in a new sub-window, whose title contains both the name of the original document and the encryption key used. The usage of keys is supported by two special icons: Clicking the icon Show key allows you to store a copy of the key used to encrypt a message into an internal storage. If you then encrypt another document with the same encryption method, then the icon Insert key will be active in the key entry dialog box. This can be particularly helpful for complex keys.
Automatic analysis tools for the classic encryption algorithms are provided for obtaining the key of the encrypted document (possibly using additional information, such as the unencrypted document or the language of the document). For additional information on automatic analysis, go to the help screen for the Analysis menu within CrypTool and choose the encryption algorithm to be analyzed there.
To support your manual analysis of documents, CrypTool can display a histogram of the document, determine the statistics of any N-gram, and calculate entropy and autocorrelation.
The encryption functions within the menu Encrypt/Decrypt are implemented in a way that they can be called upon and performed efficiently. On the other hand, the functions in the menu Indiv. Procedures are implemented in a way that they can be performed step by step and interactively. In this second menu, the main focus is on e-learning.
In the menu Indiv. Procedures, several different individual methods and protocols are offered, such as:
- calculation of hash values and analysis of their sensitivity
- creation of Message Authentication Codes (MACs)
- geneartion of strongkeys for passwords according to the PKCS#5 standard
- compression and decompression documents, which enables the study of file compression prior to the actual encryption of a given document
- generation and analysis of pseudo-random numbers
- demonstration of protocols for authentication und key exchange (DH)
- step-by-step demonstration (forwards and backwards) of various ciphers using the ANIMAL animation software
- application of common encodings like base64 and uuencode
Which menu items can be selected depends on the type of the active document. The menus and sub-menus of CrypTool are dynamically generated, depending on if a document is open in the main window, and if so, the document's type (binary or text). All menu items are always visible, but only the ones which are appropriate for the current document type can be selected. The remaining menu items are disabled. An overview of all menu items within CrypTool (the menu tree) can be found in appendix A of the script.
Modern algorithms are implemented in CrypTool according to international standards. The authors of CrypTool have not implemented cryptographic functionality where good free programs are already available on the internet: for example, dictionary attacks against password files (see John the Ripper) are not included in CrypTool. Instead, CrypTool contains a tool to test the quality of your passwords.
The RSA Cryptosystem
The RSA cryptosystem (see menu Indiv. Procedures \ RSA Cryptosystem \ RSA demonstration) is covered comprehensively in CrypTool; the program supports a variety of codings, block sizes, and alphabets. The RSA key can also be generated from prime numbers selected by the user. Key generation, encryption, and decryption can all be followed step-by-step.
Factorization of numbers is also an important application of cryptography. Simple RSA cryptosystems can be easily cracked using the factorization algorithms presented in CrypTool, which will help you consider the minimum key length necessary for a secure system.
Interactive Demonstrations / Visualizations
CrypTool includes many interactive demonstrations and visualizations to help improve the understanding of various cryptographic topics. These include the following:
- creating an electronic signature (menu Digital Signatures/PKI \ Sign Message)
- processing hybrid encryption (menu Encrypt/Decrypt \ Hybrid \ RSA-AES Encryption)
- analysis of the effect of modifications to a document on the resulting hash value
- sensitivity of hash algorithms (menu Indiv. Procedures \ Hash \ Hash Demonstration)
- generation of hash value collisions (birthday paradox) (menu Analysis \ Hash \ Attack on the Hash Value of the Digital Signature)
- Diffie-Hellman (DH) key exchange (menu Indiv. Procedures \ Protocols \ Diffie-Hellman Demonstration)
- demonstration of encryption and digital signing according to the S/MIME standard (menu Indiv. Procedures \ Protocols \ Secure Emails with S/MIME)
- side-channel attack (menu Analysis \ Asymmetric Encryption \ Side-Channel Attack on Textbook RSA)
- authentication protocols (menu Indiv. Procedures \ Protocols \ Network Authentication)
- shared secrets using the Chinese Remainder Theorem (menu Indiv. Procedures \ Chinese Remainder Theorem Applications \ Secret Sharing by CRT) and Shamir (menu Indiv. Procedures \ Secret Sharing Demonstration (Shamir))
- visualizations of many algorithms (Vigenère(Vigenere), AES, Enigma, etc.) (menu Indiv. Procedures \ Visualization of Algorithms)
- applications of an ancient number theoretic theorem (Chinese Remainder Theorem) (e.g., analysis of the alignment of the planets of our solar system) (menu Indiv. Procedures \ Chinese Remainder Theorem Applications \ Astronomy and Planetary Motion)
- 3D visualization of large sets of random numbers (menu Analysis \ Analyse Randomness \ 3D Visualization)
- password strength tests
- evaluation of existing passwords (menu Indiv. Procedures \ Tools \ Password Quality Meter)
- generation of a password with a given minimum entropy (menu Indiv. Procedures \ Tools \ Password Entropy)
- computer-based training for number theory (menu Indiv. Procedures \ Number Theory - Interactive \ Learning Tool for Number Theory)
- point addition on elliptic curves (menu Indiv. Procedures \ Number Theory - Interactive \ Point Addition on Elliptic Curves)
In addition to the interactive demonstrations, the CrypTool package also contains the educational game The Number Shark, which trains young students to calculate factors of integer numbers.
Online help, documentation, and tutorials
In developing CrypTool, much care was taken to ensure that context-sensitive help is available at any point by pressing the F1 key. To get a fast overview of the program's functionality, you can simply move through the menus and click F1 to get further information about any item that looks interesting.
The extensive online help comprises:
- explanations of all basic cryptographic terms
- a short list of cryptography references
- a chronology of the development of cryptography
- scenarios (tutorials) for an easy introduction
- a well-sorted index of cryptographic topics
Besides the online help, CrypTool also includes the following documents:
- The readme file contains all important elements of the CrypTool package, new features in this version, a description of the whole project, and information on installing and using CrypTool
- The CrypTool presentation, with over 100 slides, which gives an overview of the CrypTool project and CrypTool's features
- A detailed script(a PDF file with about 300 pages), focusing on mathematically-oriented information about
- cryptographic methods
- prime numbers
- elementary number theory (with many examples)
- current results of cryptanalytic research
- The fantasy story The Dialogue of the Sisters by Dr. Carsten Elsner, in which two sisters in a psychiatric hospital use a variant of the RSA cryptosystem
- The fantasy story The Chinese Labyrinth by Dr. Carsten Elsner, in which Marco Polo has to solve some number theoretic problems to become a chief advisor of the Great Khan
We are appreciative for the support of the following companies and projects:
For hash functions, symmetric and asymmetric ciphers, and key management, CrypTool 1.x uses the Secude Toolkit. That toolkit has been made available for us by the Secude IT Security GmbH. In the enclosed Secude toolkit the support for smartcards has been deactivated. However, if you hold a valid license for the Secude library, you can use your ticket file to activate smartcard support in CrypTool 1.x.
- For the demonstration of ECC-AES hybrid encryption, we leverage the cv act library from cryptovision.
- For the demonstration of the RSA cryptosystem and number factorization, CrypTool uses the Miracl library for arbitrary precision arithmetic. The Miracl library is provided by Shamus Software Ltd.
- For the demonstration of hash collisions (birthday paradox), CrypTool uses the OpenSSL library libeay32.dll.
- For the lattice basis reduction (LLL) attacks against RSA, CrypTool uses the number theory library NTL from Victor Shoup.
- CrypTool uses the GMP/MPIR library for primality tests.

