Class StreamBlockCipher
java.lang.Object
org.gudy.bouncycastle.crypto.StreamBlockCipher
- All Implemented Interfaces:
StreamCipher
a wrapper for block ciphers with a single byte block size, so that they
can be treated like stream ciphers.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionreturn 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.
-
Field Details
-
cipher
-
oneByte
private byte[] oneByte
-
-
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.param- 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 DataLengthException process 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
-