gnu.crypto.pad
public interface IPad
The basic visible methods of any padding algorithm.
Padding algorithms serve to pad and unpad byte arrays usually as the last step in an encryption or respectively a decryption operation. Their input buffers are usually those processed by instances of IMode and/or IBlockCipher.
Version: $Revision: 1.4 $
Method Summary | |
---|---|
void | init(int bs)
Initialises the padding scheme with a designated block size.
|
String | name() |
byte[] | pad(byte[] in, int offset, int length)
Returns the byte sequence that should be appended to the designated input.
|
void | reset()
Resets the scheme instance for re-initialisation and use with other
characteristics. |
boolean | selfTest()
A basic symmetric pad/unpad test.
|
int | unpad(byte[] in, int offset, int length)
Returns the number of bytes to discard from a designated input buffer.
|
Parameters: bs the designated block size.
Throws: IllegalStateException if the instance is already initialised. IllegalArgumentException if the block size value is invalid.
Returns: the canonical name of this instance.
Parameters: in the input buffer containing the bytes to pad. offset the starting index of meaningful data in in. length the number of meaningful bytes in in.
Returns: the possibly 0-byte long sequence to be appended to the designated input.
Returns: true if the implementation passes a basic symmetric self-test. Returns false otherwise.
Parameters: in the input buffer containing the bytes to unpad. offset the starting index of meaningful data in in. length the number of meaningful bytes in in.
Returns: the number of bytes to discard, to the left of index position offset + length in in. In other words, if the return value of a successful invocation of this method is result, then the unpadded byte sequence will be offset + length - result bytes in in, starting from index position offset.
Throws: WrongPaddingException if the data is not terminated with the expected padding bytes.