Package org.bouncycastle.crypto
Class StreamBlockCipher
java.lang.Object
org.bouncycastle.crypto.StreamBlockCipher
- All Implemented Interfaces:
StreamCipher
public class StreamBlockCipher extends Object implements StreamCipher
a wrapper for block ciphers with a single byte block size, so that they
can be treated like stream ciphers.
-
Constructor Summary
Constructors Constructor Description StreamBlockCipher(BlockCipher cipher)basic constructor. -
Method Summary
Modifier and Type Method Description StringgetAlgorithmName()return the name of the algorithm we are wrapping.voidinit(boolean forEncryption, CipherParameters params)initialise the underlying cipher.voidprocessBytes(byte[] in, int inOff, int len, byte[] out, int outOff)process a block of bytes from in putting the result into out.voidreset()reset the underlying cipher.bytereturnByte(byte in)encrypt/decrypt a single byte returning the result.
-
Constructor Details
-
StreamBlockCipher
basic constructor.- Parameters:
cipher- the block cipher to be wrapped.- Throws:
IllegalArgumentException- if the cipher has a block size other than one.
-
-
Method Details
-
init
initialise the underlying cipher.- Specified by:
initin interfaceStreamCipher- Parameters:
forEncryption- true if we are setting up for encryption, false otherwise.params- the necessary parameters for the underlying cipher to be initialised.
-
getAlgorithmName
return the name of the algorithm we are wrapping.- Specified by:
getAlgorithmNamein interfaceStreamCipher- Returns:
- the name of the algorithm we are wrapping.
-
returnByte
public byte returnByte(byte in)encrypt/decrypt a single byte returning the result.- Specified by:
returnBytein interfaceStreamCipher- Parameters:
in- the byte to be processed.- Returns:
- the result of processing the input byte.
-
processBytes
public void processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) throws DataLengthExceptionprocess a block of bytes from in putting the result into out.- Specified by:
processBytesin interfaceStreamCipher- Parameters:
in- the input byte array.inOff- the offset into the in array where the data to be processed starts.len- the number of bytes to be processed.out- the output buffer the processed bytes go into.outOff- the offset into the output byte array the processed data stars at.- Throws:
DataLengthException- if the output buffer is too small.
-
reset
public void reset()reset the underlying cipher. This leaves it in the same state it was at after the last init (if there was one).- Specified by:
resetin interfaceStreamCipher
-