Class KXTSBlockCipher


public class KXTSBlockCipher extends DefaultBufferedBlockCipher
Implementation of DSTU7624 XTS mode
  • Constructor Details

    • KXTSBlockCipher

      public KXTSBlockCipher(BlockCipher cipher)
  • Method Details

    • getReductionPolynomial

      protected static long getReductionPolynomial(int blockSize)
    • getOutputSize

      public int getOutputSize(int length)
      Description copied from class: DefaultBufferedBlockCipher
      return the size of the output buffer required for an update plus a doFinal with an input of 'length' bytes.
      Overrides:
      getOutputSize in class DefaultBufferedBlockCipher
      Parameters:
      length - the length of the input.
      Returns:
      the space required to accommodate a call to update and doFinal with 'length' bytes of input.
    • getUpdateOutputSize

      public int getUpdateOutputSize(int len)
      Description copied from class: DefaultBufferedBlockCipher
      return the size of the output buffer required for an update an input of len bytes.
      Overrides:
      getUpdateOutputSize in class DefaultBufferedBlockCipher
      Parameters:
      len - the length of the input.
      Returns:
      the space required to accommodate a call to update with len bytes of input.
    • init

      public void init(boolean forEncryption, CipherParameters parameters)
      Description copied from class: DefaultBufferedBlockCipher
      initialise the cipher.
      Overrides:
      init in class DefaultBufferedBlockCipher
      Parameters:
      forEncryption - if true the cipher is initialised for encryption, if false for decryption.
      parameters - the key and other data required by the cipher.
    • processByte

      public int processByte(byte in, byte[] out, int outOff)
      Description copied from class: DefaultBufferedBlockCipher
      process a single byte, producing an output block if necessary.
      Overrides:
      processByte in class DefaultBufferedBlockCipher
      Parameters:
      in - the input byte.
      out - the space for any output that might be produced.
      outOff - the offset from which the output will be copied.
      Returns:
      the number of output bytes copied to out.
    • processBytes

      public int processBytes(byte[] input, int inOff, int len, byte[] output, int outOff)
      Description copied from class: DefaultBufferedBlockCipher
      process an array of bytes, producing output if necessary.
      Overrides:
      processBytes in class DefaultBufferedBlockCipher
      Parameters:
      input - the input byte array.
      inOff - the offset at which the input data starts.
      len - the number of bytes to be copied out of the input array.
      output - the space for any output that might be produced.
      outOff - the offset from which the output will be copied.
      Returns:
      the number of output bytes copied to out.
    • doFinal

      public int doFinal(byte[] output, int outOff)
      Description copied from class: DefaultBufferedBlockCipher
      Process the last block in the buffer.
      Overrides:
      doFinal in class DefaultBufferedBlockCipher
      Parameters:
      output - the array the block currently being held is copied into.
      outOff - the offset at which the copying starts.
      Returns:
      the number of output bytes copied to out.
    • reset

      public void reset()
      Description copied from class: DefaultBufferedBlockCipher
      Reset the buffer and cipher. After resetting the object is in the same state as it was after the last init (if there was one).
      Overrides:
      reset in class DefaultBufferedBlockCipher