com.maverick.ssh.components.standalone
Class AES256Cbc

java.lang.Object
  extended bycom.maverick.ssh.components.SshCipher
      extended bycom.maverick.ssh.components.standalone.CbcBlockCipher
          extended bycom.maverick.ssh.components.standalone.AES256Cbc

public class AES256Cbc
extends com.maverick.ssh.components.standalone.CbcBlockCipher

This cipher can optionally be added to the J2SSH Maverick API. To add the ciphers from this package simply add them to the com.maverick.ssh2.Ssh2Context using the following code.

  import com.sshtools.cipher.*;

 SshConnector con = SshConnector.getInstance();
 Ssh2Context context = (Ssh2Context)con.getContext(SshConnector.SSH2);

 // Add AES
 context.supportedCiphers().add(AES128Cbc.AES128_CBC, AES128Cbc.class);
 context.supportedCiphers().add(AES192Cbc.AES192_CBC, AES192Cbc.class);
 context.supportedCiphers().add(AES256Cbc.AES256_CBC, AES256Cbc.class);

 // Add Twofish - note the 256 bit cipher has two different entries to maintain backwards compatibility
 context.supportedCiphers().add(Twofish128Cbc.TWOFISH128_CBC, Twofish128Cbc.class);
 context.supportedCiphers().add(Twofish192Cbc.TWOFISH192_CBC, Twofish192Cbc.class);
 context.supportedCiphers().add(Twofish256Cbc.TWOFISH256_CBC, Twofish256Cbc.class);
 context.supportedCiphers().add(Twofish256Cbc.TWOFISH_CBC, Twofish256Cbc.class);

 // Add CAST
  context.supportedCiphers().add(CAST128Cbc.CAST128_CBC, CAST128Cbc.class);

 


Field Summary
static java.lang.String AES256_CBC
           
 
Fields inherited from class com.maverick.ssh.components.SshCipher
DECRYPT_MODE, ENCRYPT_MODE
 
Constructor Summary
AES256Cbc()
           
 
Method Summary
 int getBlockSize()
          Get the block size of the cipher
 void init(int mode, byte[] iv, byte[] keydata)
          Initialize the CBC block cipher.
 void transform(byte[] in, int start, byte[] output, int offset, int length)
          Transform the data
 
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
 

Field Detail

AES256_CBC

public static final java.lang.String AES256_CBC
See Also:
Constant Field Values
Constructor Detail

AES256Cbc

public AES256Cbc()
Method Detail

init

public void init(int mode,
                 byte[] iv,
                 byte[] keydata)
Initialize the CBC block cipher.

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

getBlockSize

public int getBlockSize()
Get the block size of the cipher

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

transform

public void transform(byte[] in,
                      int start,
                      byte[] output,
                      int offset,
                      int length)
               throws java.io.IOException
Transform the data

Specified by:
transform in class SshCipher
Parameters:
in - input byte[]
start -
output - byte[]
offset -
length -
Throws:
java.io.IOException


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