hcrypto.engines
Class RailfenceKey

java.lang.Object
  extended by hcrypto.cipher.HistoricalKey
      extended by hcrypto.engines.RailfenceKey

public class RailfenceKey
extends HistoricalKey

Implements the Railfence Key The keyspec, described in TestCipher.java is passed to this file where the blocksize, key and alphabet range is extracted. The key determines the encryption of the cipher The blockszie determines how many characters are encrypted at one time.


Field Summary
static java.lang.String DEFAULT_KEY_DESCRIPTOR_PROMPT_STRING
          A description for a RailFence Key.
static java.lang.String DEFAULT_KEYWORD_STRING
          A default key value.
 
Constructor Summary
RailfenceKey()
           
 
Method Summary
 java.lang.String getAlgorithm()
          Returns the name of the algorithm "RailFence".
 void init(java.lang.String keyspec)
          Creates a RailFenceKey with the specified keyspec.
 void init(java.lang.String keyword, Alphabet alpha1, Alphabet alpha2)
          Initializes the RailfenceKey given a keyword and one or more alphabets.
 
Methods inherited from class hcrypto.cipher.HistoricalKey
getAlphabet, getBlocksize, getCipherKey, getCTAlphabet, getInstance, getKeyDescriptorPrompt, getKeyword, getPlainKey, initKey, initKey, invertKey, printAlphabets, removeDuplicateChars
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_KEY_DESCRIPTOR_PROMPT_STRING

public static final java.lang.String DEFAULT_KEY_DESCRIPTOR_PROMPT_STRING
A description for a RailFence Key.

See Also:
Constant Field Values

DEFAULT_KEYWORD_STRING

public static final java.lang.String DEFAULT_KEYWORD_STRING
A default key value.

See Also:
Constant Field Values
Constructor Detail

RailfenceKey

public RailfenceKey()
Method Detail

init

public void init(java.lang.String keyspec)
          throws java.lang.Exception
Creates a RailFenceKey with the specified keyspec.

Specified by:
init in class HistoricalKey
Parameters:
keySpec - takes the form "keyword/alphabet", i.e. "5/az+AZ" for example, which would be mapped into the instance keyword = 5 and sets the alphabet as a String with the value "az+AZ".
Throws:
java.lang.Exception

init

public void init(java.lang.String keyword,
                 Alphabet alpha1,
                 Alphabet alpha2)
          throws java.lang.Exception
Initializes the RailfenceKey given a keyword and one or more alphabets.

Specified by:
init in class HistoricalKey
Parameters:
keyword - -- a string version of the keyword
alpha1, - alpha2 -- Alphabets for plain/ciphertext respectively. May be identical.
Throws:
java.lang.Exception

getAlgorithm

public java.lang.String getAlgorithm()
Returns the name of the algorithm "RailFence".

Specified by:
getAlgorithm in class HistoricalKey