About JCrypTool

JCrypTool enables students, teachers, developers, and anyone else interested in cryptography to apply and analyze cryptographic algorithms in a modern, easy-to-use application.

JCrypTool includes a wealth of cryptographic mechanisms including classic, symmetric, and asymmetric encryption, hash functions, analysis tools, visualizations and crypto games.

The JCT plaform creates a new way of e-learning by not just encouraging users to learn about cryptography and apply the algorithms themselves, but also to develop their own cryptographic plug-ins and extend the JCrypTool platform in new directions.

JCrypTool reached the stable version 1.0.0 in November 2020. Most of its functionality is implemented in over 100 different plugins.

Visit the JCrypTool Core Project on GitHub for the source code (available via Git), developer documentation, wiki and further information about the project. For our cryptographic plug-ins visit the JCrypTool Crypto Project. Our wiki is a good place for new developers to get started and to find additional information, such as our release schedule and a huge list of project ideas.

What is JCrypTool?

JCrypTool is an open-source e-learning platform, developed to not only let everybody experiment with cryptography, but to develop and extend the JCrypTool platform in various ways with their own crypto plug-ins.

JCrypTool is an extensive open-source development project, separated into two parts: JCrypTool Core and JCrypTool Crypto.

The JCrypTool Core Project takes care of the JCrypTool platform itself. This contains the bare runtime, editors, crypto providers as well as core functionality like the Crypto Explorer view or the Actions view. About half a dozen experienced team members are working on the core project. Constant communication with the members of the crypto project is our most important job, e.g. to integrate new extensions for crypto plug-ins in the platform or the develop new extension points.

The JCrypTool Crypto Project is open to everybody. It has an active community and its aim is to develop new crypto plug-ins (algorithms, analysis, games, visualizations) and integrate them into the JCrypTool project. The plug-in projects team members' change frequently; not everybody stays in the team after finishing a plug-in (although everybody is very welcome to do so).

JCrypTool is bundled with the advanced cryptographic libraries BouncyCastle and FlexiProvider; other libraries can be easily added to the project. FlexiProvider is the initial default provider, but users can freely change to a different default provider. A fall-through functionality searches top-down for an implementation of any given cryptographic algorithm so that even a specialized provider with only a small subset of algorithms can be selected as the default.