Interface StreamCipher

All Known Subinterfaces:
CFBModeCipher, CTRModeCipher, 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

    Modifier and Type
    Method
    Description
    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 the cipher.
    byte
    returnByte(byte in)
    encrypt/decrypt a single byte returning the result.
  • Method Details

    • init

      void init(boolean forEncryption, CipherParameters params) throws 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:
      IllegalArgumentException - if the params argument is inappropriate.
    • getAlgorithmName

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