
|
Bouncy Castle Cryptography 1.11 API Specification: Class CBCBlockCipher
org.bouncycastle.crypto.modes
Class CBCBlockCipher
java.lang.Object
|
+--org.bouncycastle.crypto.modes.CBCBlockCipher
- All Implemented Interfaces:
- BlockCipher
- public class CBCBlockCipher
- extends java.lang.Object
- implements BlockCipher
implements Cipher-Block-Chaining (CBC) mode on top of a simple cipher.
Method Summary |
java.lang.String |
getAlgorithmName()
return the algorithm name and mode. |
int |
getBlockSize()
return the block size of the underlying cipher. |
BlockCipher |
getUnderlyingCipher()
return the underlying block cipher that we are wrapping. |
void |
init(boolean encrypting,
CipherParameters params)
Initialise the cipher and, possibly, the initialisation vector (IV). |
int |
processBlock(byte[] in,
int inOff,
byte[] out,
int outOff)
Process one block of input from the array in and write it to
the out array. |
void |
reset()
reset the chaining vector back to the IV and reset the underlying
cipher. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CBCBlockCipher
public CBCBlockCipher(BlockCipher cipher)
- Basic constructor.
- Parameters:
cipher - the block cipher to be used as the basis of chaining.
getUnderlyingCipher
public BlockCipher getUnderlyingCipher()
- return the underlying block cipher that we are wrapping.
- Returns:
- the underlying block cipher that we are wrapping.
init
public void init(boolean encrypting,
CipherParameters params)
throws java.lang.IllegalArgumentException
- Initialise the cipher and, possibly, the initialisation vector (IV).
If an IV isn't passed as part of the parameter, the IV will be all zeros.
- Specified by:
init in interface BlockCipher
- Parameters:
forEncryption - if true the cipher is initialised for
encryption, if false for decryption.param - the key and other data required by the cipher.- Throws:
java.lang.IllegalArgumentException - if the params argument is
inappropriate.
getAlgorithmName
public java.lang.String getAlgorithmName()
- return the algorithm name and mode.
- Specified by:
getAlgorithmName in interface BlockCipher
- Returns:
- the name of the underlying algorithm followed by "/CBC".
getBlockSize
public int getBlockSize()
- return the block size of the underlying cipher.
- Specified by:
getBlockSize in interface BlockCipher
- Returns:
- the block size of the underlying cipher.
processBlock
public int processBlock(byte[] in,
int inOff,
byte[] out,
int outOff)
throws DataLengthException,
java.lang.IllegalStateException
- Process one block of input from the array in and write it to
the out array.
- Specified by:
processBlock in interface BlockCipher
- Parameters:
in - the array containing the input data.inOff - offset into the in array the data starts at.out - the array the output data will be copied into.outOff - the offset into the out array the output will start at.- Returns:
- the number of bytes processed and produced.
- Throws:
DataLengthException - if there isn't enough data in in, or
space in out.java.lang.IllegalStateException - if the cipher isn't initialised.
reset
public void reset()
- reset the chaining vector back to the IV and reset the underlying
cipher.
- Specified by:
reset in interface BlockCipher
|