org.bouncycastle.crypto.paddings

Class TBCPadding

Implemented Interfaces:
BlockCipherPadding

public class TBCPadding
extends java.lang.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.

Method Summary

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

Method Details

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

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.

init

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

padCount

public int padCount(byte[] in)
            throws InvalidCipherTextException
return the number of pad bytes present in the block.
Specified by:
padCount in interface BlockCipherPadding