Package org.gudy.bouncycastle.crypto
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.void
init
(boolean forEncryption, CipherParameters params) initialise the underlying cipher.void
processBytes
(byte[] in, int inOff, int len, byte[] out, int outOff) process a block of bytes from in putting the result into out.void
reset()
reset the underlying cipher.byte
returnByte
(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:
init
in 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:
getAlgorithmName
in 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:
returnByte
in 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:
processBytes
in 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:
reset
in interfaceStreamCipher
-