Class TBCPadding

java.lang.Object
org.bouncycastle.crypto.paddings.TBCPadding
All Implemented Interfaces:
BlockCipherPadding

public class TBCPadding extends Object implements BlockCipherPadding
A padder that adds Trailing-Bit-Compliment padding to a block.

This padding pads the block out with the compliment of the last bit of the plain text.

  • Constructor Details

    • TBCPadding

      public TBCPadding()
  • Method Details

    • init

      public void init(SecureRandom random) throws IllegalArgumentException
      Initialise the padder.
      Specified by:
      init in interface BlockCipherPadding
      Parameters:
      random - - a SecureRandom if available.
      Throws:
      IllegalArgumentException
    • getPaddingName

      public String getPaddingName()
      Return the name of the algorithm the padder implements.
      Specified by:
      getPaddingName in interface BlockCipherPadding
      Returns:
      the name of the algorithm the padder implements.
    • addPadding

      public int addPadding(byte[] in, int inOff)
      add the pad bytes to the passed in block, returning the number of bytes added.

      Note: this assumes that the last block of plain text is always passed to it inside in. i.e. if inOff is zero, indicating the entire block is to be overwritten with padding the value of in should be the same as the last block of plain text.

      Specified by:
      addPadding in interface BlockCipherPadding
    • padCount

      public int padCount(byte[] in) throws InvalidCipherTextException
      return the number of pad bytes present in the block.
      Specified by:
      padCount in interface BlockCipherPadding
      Throws:
      InvalidCipherTextException - if the padding is badly formed or invalid.