This class implements an Affine cipher algorithm (a special case of a Substitution Cipher that
encrypts and decrypts a character based on two Affine functions) for any of three alphabet
ranges including az, AZ, azAZ.
Creates an AffineEngine and sets the alphabetRangeOptions instance variable
to "110000", which translates to the "az+AZ"alphabet option for both the
plaintext and ciphertext alphabets.
Creates a CaesarEngine and sets the alphabetRangeOptions instance variable
to "111111", which translates to all six alphabet options for both the plaintext
and ciphertext alphabets.
The constructor sets the name of the provider
and puts an entry into the main provider's internal
lists for the engine and the key of each algorithm it implements.
To find the find the keyword we break the cryptogram into
keyLen monoalphabetic cryptograms, each of which is obtained
by a Caesar shift from the standard alphabet.
searches for a provider that provides an
implementation of the algorithm named in its parameter,
throwing a "no such algorithm" exception if none is found.
This abstract class provides a partial implementation of the
HistoricalKey interface by providing default implementations
of the getKeyword(), getAlphabet(), and
getBlocksize() methods.
This method inserts a bigram into a table of repeated bigrams
where ch1 is the first character of the bigram, ch2 is
the second character, and displ is the displacement from the
previous occurrence of this bigram.
A keyspec takes the form keydata/plainalphabetspec/cipheralphabetspec,
where plainalphabetspec is a sepcification for the plaintext
alphabet, and cipheralphabetspec is a specification for the
ciphertext alphabet.
Creates a PlayfairEngine and sets the alphabetRangeOptions instance variable
to "100000", which translates to the "az" alphabet option only for both plaintext
and ciphertext.
Creates a RailFenceEngine and sets the alphabetRangeOptions instance variable
to "111111", which translates to all six alphabet options for both the plaintext
and ciphertext alphabets.
This class implements a keyword-based Substitution cipher algorithm for any
range of alphabets, including az, AZ, azAZ, azAZ09, printable characters, all ASCII,
and any of the Unicode character sets.
This class implements a Transposition cipher algorithm for any
range of alphabets, including az, AZ, azAZ, azAZ09, printable characters, and all ASCII.
VigenereEngine.java implements a traditional Vigenere Cipher for
the full range of alphabets -- az, AZ, azAZ, azAZ09, printable characters, and all ASCII.