package org.bouncycastle.crypto;

the interface stream ciphers conform to.
/** * the interface stream ciphers conform to. */
public interface StreamCipher {
Initialise the cipher.
Params:
  • forEncryption – if true the cipher is initialised for encryption, if false for decryption.
  • params – the key and other data required by the cipher.
Throws:
/** * Initialise the cipher. * * @param forEncryption if true the cipher is initialised for * encryption, if false for decryption. * @param params the key and other data required by the cipher. * @exception IllegalArgumentException if the params argument is * inappropriate. */
public void init(boolean forEncryption, CipherParameters params) throws IllegalArgumentException;
Return the name of the algorithm the cipher implements.
Returns:the name of the algorithm the cipher implements.
/** * Return the name of the algorithm the cipher implements. * * @return the name of the algorithm the cipher implements. */
public String getAlgorithmName();
encrypt/decrypt a single byte returning the result.
Params:
  • in – the byte to be processed.
Returns:the result of processing the input byte.
/** * encrypt/decrypt a single byte returning the result. * * @param in the byte to be processed. * @return the result of processing the input byte. */
public byte returnByte(byte in);
process a block of bytes from in putting the result into out.
Params:
  • 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.
Throws:
Returns:the number of bytes produced - should always be len.
/** * process a block of bytes from in putting the result into out. * * @param in the input byte array. * @param inOff the offset into the in array where the data to be processed starts. * @param len the number of bytes to be processed. * @param out the output buffer the processed bytes go into. * @param outOff the offset into the output byte array the processed data starts at. * @return the number of bytes produced - should always be len. * @exception DataLengthException if the output buffer is too small. */
public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) throws DataLengthException;
reset the cipher. This leaves it in the same state it was at after the last init (if there was one).
/** * reset the cipher. This leaves it in the same state * it was at after the last init (if there was one). */
public void reset(); }