HcryptoJ Features v1.2
HCryptoJ is a Java Application Programming Interface (API) for historical
cryptography. It is modelled after the Java Cryptography Extension (JCE).
Encryption/Decryption
Supports the encryption of strings (Java String objects) or
ASCII files.
Ciphers
Can be used to implement any historical cipher that can be defined
as a function from a String to a String.
Default Ciphers
A default Provider class is supplied which contains implementations
of Caesar, Simple Substitution (passphrase), Vigenere,
Playfair, Affine, and Transposition ciphers.
Keys
All Cipher objects are defined with a Key class which can
accomodate a wide range of key types.
Alphabets
Supports a wide range of alphabets including: az, AZ, azAZ, azAZ09,
printable ASCII and the full ASCII character set.
Applications
HcryptoJ comes with a couple of very simple applications that
illustrate how to use it. TestCipher is a command-line test
program which encrypts or decrypts a string entered on the command
line. FileCipher is a command-line program that encrypts or
decrypts a file named on the command line. CryptoToolJ is a GUI
program that encrypts and decrypts text entered interactively or via
File I/O. CryptoAppletJ
is a Java applet that supports interactive encryption/decryption of
text for Java 1.1 enabled browsers.
Service Providers
Like the JCE, HcryptoJ enables cryptographic service providers to
develop their own implementations of a new or existing cipher. A service
provider can install a cipher algorithm by defining a Cipher
subclass, a HistoricalKey subclass and a
Provider subclass.
Object Oriented Design
HcryptoJ is modeled after the JCE and is organized into three
packages. For details on the design, see the online
documentation.