com.maverick.ssh.components.jce
Class AbstractJCECipher

java.lang.Object
  extended bycom.maverick.ssh.components.SshCipher
      extended bycom.maverick.ssh.components.jce.AbstractJCECipher
Direct Known Subclasses:
AES128Cbc, AES128Ctr, AES192Cbc, AES192Ctr, AES256Cbc, AES256Ctr, ArcFour, ArcFour128, ArcFour256, BlowfishCbc, Ssh1Des, TripleDesCbc, TripleDesCtr

public class AbstractJCECipher
extends SshCipher

An abstract base class for defining SSH ciphers which use a JCE provider instead of the internal Maverick Crypto provider.

Author:
Lee David Painter

Field Summary
 
Fields inherited from class com.maverick.ssh.components.SshCipher
DECRYPT_MODE, ENCRYPT_MODE
 
Constructor Summary
AbstractJCECipher(java.lang.String spec, java.lang.String keyspec, int keylength, java.lang.String algorithm)
           
 
Method Summary
 int getBlockSize()
          Get the cipher block size.
 java.lang.String getProvider()
           
 void init(int mode, byte[] iv, byte[] keydata)
          Initialize the cipher with up to 40 bytes of iv and key data.
 void transform(byte[] buf, int start, byte[] output, int off, int len)
          Transform the byte array according to the cipher mode; it is legal for the source and destination arrays to reference the same physical array so care should be taken in the transformation process to safeguard this rule.
 
Methods inherited from class com.maverick.ssh.components.SshCipher
getAlgorithm, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractJCECipher

public AbstractJCECipher(java.lang.String spec,
                         java.lang.String keyspec,
                         int keylength,
                         java.lang.String algorithm)
                  throws java.io.IOException
Parameters:
spec - the value passed into Cipher.getInstance() that specifies the specification of the cipher; for example "Blowfish/CBC/NoPadding"
keyspec - the value passed into the constructor of SecretKeySpec.
keylength - int the length in bytes of the key
Method Detail

transform

public void transform(byte[] buf,
                      int start,
                      byte[] output,
                      int off,
                      int len)
               throws java.io.IOException
Description copied from class: SshCipher
Transform the byte array according to the cipher mode; it is legal for the source and destination arrays to reference the same physical array so care should be taken in the transformation process to safeguard this rule.

Specified by:
transform in class SshCipher
Parameters:
buf -
start -
output -
off -
len -
Throws:
java.io.IOException

getProvider

public java.lang.String getProvider()

init

public void init(int mode,
                 byte[] iv,
                 byte[] keydata)
          throws java.io.IOException
Description copied from class: SshCipher
Initialize the cipher with up to 40 bytes of iv and key data. Each implementation should take as much data from the initialization as it needs ignoring any data that it does not require.

Specified by:
init in class SshCipher
Parameters:
mode - the mode to operate
iv - the initiaization vector
keydata - the key data
Throws:
java.io.IOException

getBlockSize

public int getBlockSize()
Description copied from class: SshCipher
Get the cipher block size.

Specified by:
getBlockSize in class SshCipher
Returns:
the block size in bytes.


Copyright © 2003-2008 SSHTools LTD. All Rights Reserved.