ch.ethz.ssh2.crypto.cipher
Class CBCMode

java.lang.Object
  extended by ch.ethz.ssh2.crypto.cipher.CBCMode
All Implemented Interfaces:
BlockCipher

public class CBCMode
extends java.lang.Object
implements BlockCipher

CBCMode.

Version:
$Id: CBCMode.java,v 1.2 2005/12/05 17:13:27 cplattne Exp $
Author:
Christian Plattner, plattner@inf.ethz.ch

Field Summary
(package private)  int blockSize
           
(package private)  byte[] cbc_vector
           
(package private)  boolean doEncrypt
           
(package private)  BlockCipher tc
           
(package private)  byte[] tmp_vector
           
 
Constructor Summary
CBCMode(BlockCipher tc, byte[] iv, boolean doEncrypt)
           
 
Method Summary
private  void decryptBlock(byte[] src, int srcoff, byte[] dst, int dstoff)
           
private  void encryptBlock(byte[] src, int srcoff, byte[] dst, int dstoff)
           
 int getBlockSize()
           
 void init(boolean forEncryption, byte[] key)
           
 void transformBlock(byte[] src, int srcoff, byte[] dst, int dstoff)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tc

BlockCipher tc

blockSize

int blockSize

doEncrypt

boolean doEncrypt

cbc_vector

byte[] cbc_vector

tmp_vector

byte[] tmp_vector
Constructor Detail

CBCMode

public CBCMode(BlockCipher tc,
               byte[] iv,
               boolean doEncrypt)
        throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException
Method Detail

init

public void init(boolean forEncryption,
                 byte[] key)
Specified by:
init in interface BlockCipher

getBlockSize

public int getBlockSize()
Specified by:
getBlockSize in interface BlockCipher

encryptBlock

private void encryptBlock(byte[] src,
                          int srcoff,
                          byte[] dst,
                          int dstoff)

decryptBlock

private void decryptBlock(byte[] src,
                          int srcoff,
                          byte[] dst,
                          int dstoff)

transformBlock

public void transformBlock(byte[] src,
                           int srcoff,
                           byte[] dst,
                           int dstoff)
Specified by:
transformBlock in interface BlockCipher