org.bouncycastle.crypto

Class StreamBlockCipher

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
StreamBlockCipher(BlockCipher cipher)
basic constructor.
Method Summary
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 Detail

StreamBlockCipher

public StreamBlockCipher(BlockCipher cipher)
basic constructor.

Parameters: cipher the block cipher to be wrapped.

Throws: IllegalArgumentException if the cipher has a block size other than one.

Method Detail

getAlgorithmName

public String getAlgorithmName()
return the name of the algorithm we are wrapping.

Returns: the name of the algorithm we are wrapping.

init

public void init(boolean forEncryption, CipherParameters params)
initialise the underlying cipher.

Parameters: forEncryption true if we are setting up for encryption, false otherwise. params the necessary parameters for the underlying cipher to be initialised.

processBytes

public void processBytes(byte[] in, int inOff, int len, byte[] out, int outOff)
process a block of bytes from in putting the result into out.

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).

returnByte

public byte returnByte(byte in)
encrypt/decrypt a single byte returning the result.

Parameters: in the byte to be processed.

Returns: the result of processing the input byte.