HCryptoJ
An Application Programming Interface for Historical Cryptology


What is HcryptoJ?

HcryptoJ: A Java Platform for Education and Research in Historical Cryptology

Abstract. HcryptoJ (Historical cryptology in Java) is a Java based programming library for implementing and analyzing historical ciphers. HcryptoJ is designed to support research and teaching in historical cryptography and computer science. It is suitable for use by novice and intermediate level Java programmers as well as by nonprogrammers and has been used in a variety of undergraduate research and teaching projects. HcryptoJ is general enough to implement any symmetric key cipher system that translates plaintext strings into ciphertext strings and vice versa. This paper provides a brief overview of the HcryptoJ project and shows how it is being used to support undergraduate teaching and research. The HcryptoJ library, including source code and documentation, is available for free download.

Version 0.51-alpha (FOSS version, December 13, 2009)

Based on version number this might look like a step backward, but it is actually a big step forward. HcryptoJ has been now been published as free and open source software under a GNU GPL license. The project is hosted on Sourceforge. The features remain pretty much the same but we are hoping that other programmers and users will join the project and help improve the code and it usability.

Version 1.3 (old)

In addition to the features contained in Version 1.2, Version 1.3 of HCryptoJ contains a Java programming interface for analyzing historical ciphers. It contains analyzers that provide automatic decryption of Simple Substitution, Caesar, Vigenere, and other historical ciphers. It also contains tools for building one's own analyzers.

Version 1.2 (older)

Version 1.2 of HCryptoJ is a Java programming interface for historical cryptography. It contains cipher engines for Simple Substitution, Caesar, Transposition, Vigenere, RailFence, Playfair, and other historical ciphers. These can be used to build Java application programs. Or they can be used as examples to easily develop one's own cipher engines. Version 1.2 also comes with several simple application programs that incorporate its built-in cipher engines.

Send comments to ralph.morelli@trincoll.edu.