public interface

BlockCipherPadding

org.bouncycastle.crypto.paddings.BlockCipherPadding
Known Indirect Subclasses

Class Overview

Block cipher padders are expected to conform to this interface

Summary

Public Methods
abstract int addPadding(byte[] in, int inOff)
add the pad bytes to the passed in block, returning the number of bytes added.
abstract String getPaddingName()
Return the name of the algorithm the cipher implements.
abstract void init(SecureRandom random)
Initialise the padder.
abstract int padCount(byte[] in)
return the number of pad bytes present in the block.

Public Methods

public abstract 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. The reason for this is that some modes such as "trailing bit compliment" base the padding on the last byte of plain text.

public abstract String getPaddingName ()

Return the name of the algorithm the cipher implements.

Returns
  • the name of the algorithm the cipher implements.

public abstract void init (SecureRandom random)

Initialise the padder.

Parameters
random the source of randomness for the padding, if required.

public abstract int padCount (byte[] in)

return the number of pad bytes present in the block.

Throws
InvalidCipherTextException if the padding is badly formed or invalid.