gnu.crypto.pad
Class SSL3
- IPad
The padding scheme used by the Secure Sockets Layer, version 3. This
padding scheme is used in the block-ciphered struct, e.g.:
block-ciphered struct {
opaque content[SSLCompressed.length];
opaque MAC[CipherSpec.hash_size];
uint8 padding[GenericBlockCipher.padding_length];
uint8 padding_length;
} GenericBlockCipher;
Where
padding_length is
cipher_block_size -
((
SSLCompressed.length +
CipherSpec.hash_size)
%
cipher_block_size) - 1. That is, the padding is enough bytes
to make the plaintext a multiple of the block size minus one, plus one
additional byte for the padding length. The padding can be any arbitrary
data.
byte[] | pad(byte[] in, int off, int len) - Returns the byte sequence that should be appended to the designated input.
|
void | setup()
|
int | unpad(byte[] in, int off, int len) - Returns the number of bytes to discard from a designated input buffer.
|
pad
public byte[] pad(byte[] in,
int off,
int len)
Returns the byte sequence that should be appended to the designated input.
- pad in interface IPad
- pad in interface BasePad
in
- the input buffer containing the bytes to pad.
- the possibly 0-byte long sequence to be appended to the designated
input.
unpad
public int unpad(byte[] in,
int off,
int len)
throws WrongPaddingException
Returns the number of bytes to discard from a designated input buffer.
- unpad in interface IPad
- unpad in interface BasePad
in
- the input buffer containing the bytes to unpad.
- 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.
Copyright © 2001, 2002, 2003
Free Software Foundation,
Inc. All Rights Reserved.