# Package org.bouncycastle.jcajce.io

- Class Summary
  Class | Description
  --- | ---
  CipherInputStream | A CipherInputStream is composed of an InputStream and a cipher so that read() methods return data that are read in from the underlying InputStream but have been additionally processed by the Cipher.
  CipherOutputStream | A CipherOutputStream is composed of an OutputStream and a cipher so that write() methods process the written data with the cipher, and the output of the cipher is in turn written to the underlying OutputStream.
  MacOutputStream | An output stream which calculates a MAC based on the data that is written to it.
  OutputStreamFactory | Utility class for creating OutputStreams from different JCA/JCE operators.