java.lang.Object
org.refcodes.security.alt.chaos.ChaosDecrypter
All Implemented Interfaces:
org.refcodes.mixin.Disposable, org.refcodes.security.Decrypter<byte[],byte[],org.refcodes.security.DecryptionException>

public class ChaosDecrypter extends Object implements org.refcodes.security.Decrypter<byte[],byte[],org.refcodes.security.DecryptionException>
The ChaosDecrypter will use byte arrays as input and output types.
  • Constructor Details

    • ChaosDecrypter

      public ChaosDecrypter(ChaosKey aKey)
      Instantiates a new ChaosDecrypter using the given ChaosKey for decrypting.
      Parameters:
      aKey - The ChaosKey to use for decrypting.
    • ChaosDecrypter

      public ChaosDecrypter(ChaosKey aKey, int aChildDepth)
      Instantiates a new ChaosDecrypter using the given ChaosKey for decrypting.
      Parameters:
      aKey - The ChaosKey to use for decrypting.
      aChildDepth - The number of children to consider when creating the ChaosDecrypter.
    • ChaosDecrypter

      protected ChaosDecrypter(ChaosKey aKey, int aChildDepth, ChaosDecrypter aChildDecrypter)
      Instantiates a new ChaosDecrypter using the given ChaosKey for encrypting and the given ChaosDecrypter as _child encrypter: TThe ChaosKey must therefore have no child ChaosKey as the child ChaosDecrypter then cannot unambiguously be determined! Attention: This constructor usually only is used by libraries which retrieve the various keys in different processing steps (see ChaosDecryptionInputStream).
      Parameters:
      aKey - The ChaosKey to use for decrypting.
      aChildDepth - The number of children to consider when creating the ChaosDecrypter.
      aChildDecrypter - The child ChaosDecrypter to be used as child decrypter.
      Throws:
      IllegalArgumentException - thrown in case the chaos key has a child key and a child decrypter is provided as well (either the one or the other only is allowed).
  • Method Details

    • toDecrypted

      public byte[] toDecrypted(byte[] aEncrypted) throws org.refcodes.security.DecryptionException
      Specified by:
      toDecrypted in interface org.refcodes.security.Decrypter<byte[],byte[],org.refcodes.security.DecryptionException>
      Throws:
      org.refcodes.security.DecryptionException
    • toDecrypted

      public int toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset) throws org.refcodes.security.DecryptionException
      Specified by:
      toDecrypted in interface org.refcodes.security.Decrypter<byte[],byte[],org.refcodes.security.DecryptionException>
      Throws:
      org.refcodes.security.DecryptionException
    • dispose

      public void dispose()
      Specified by:
      dispose in interface org.refcodes.mixin.Disposable
    • toString

      public String toString()
      Overrides:
      toString in class Object