Package org.bouncycastle.crypto
Interface StreamCipher
-
- All Known Subinterfaces:
SkippingStreamCipher
- All Known Implementing Classes:
CFBBlockCipher
,ChaCha7539Engine
,ChaChaEngine
,G3413CFBBlockCipher
,G3413CTRBlockCipher
,G3413OFBBlockCipher
,GCFBBlockCipher
,GOFBBlockCipher
,Grain128Engine
,Grainv1Engine
,HC128Engine
,HC256Engine
,ISAACEngine
,KCTRBlockCipher
,OFBBlockCipher
,RC4Engine
,Salsa20Engine
,SICBlockCipher
,StreamBlockCipher
,VMPCEngine
,VMPCKSA3Engine
,XSalsa20Engine
,Zuc128CoreEngine
,Zuc128Engine
,Zuc256CoreEngine
,Zuc256Engine
public interface StreamCipher
the interface stream ciphers conform to.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String
getAlgorithmName()
Return the name of the algorithm the cipher implements.void
init(boolean forEncryption, CipherParameters params)
Initialise the cipher.int
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 cipher.byte
returnByte(byte in)
encrypt/decrypt a single byte returning the result.
-
-
-
Method Detail
-
init
void init(boolean forEncryption, CipherParameters params) throws java.lang.IllegalArgumentException
Initialise the cipher.- Parameters:
forEncryption
- if true the cipher is initialised for encryption, if false for decryption.params
- the key and other data required by the cipher.- Throws:
java.lang.IllegalArgumentException
- if the params argument is inappropriate.
-
getAlgorithmName
java.lang.String getAlgorithmName()
Return the name of the algorithm the cipher implements.- Returns:
- the name of the algorithm the cipher implements.
-
returnByte
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.
-
processBytes
int 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.- 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 starts at.- Returns:
- the number of bytes produced - should always be len.
- Throws:
DataLengthException
- if the output buffer is too small.
-
reset
void reset()
reset the cipher. This leaves it in the same state it was at after the last init (if there was one).
-
-