gnu.crypto.pad
Class TLS1
- IPad
The padding scheme used by the Transport Layer Security protocol,
version 1. This padding scheme is used in the block-ciphered struct,
e.g.:
block-ciphered struct {
opaque content[TLSCompressed.length];
opaque MAC[CipherSpec.hash_size];
uint8 padding[GenericBlockCipher.padding_length];
uint8 padding_length;
} GenericBlockCipher;
Where
padding_length is any multiple of
cipher_block_size -
((
SSLCompressed.length +
CipherSpec.hash_size)
%
cipher_block_size) - 1 that is less than 255. Every byte of the
padding must be equal to
padding_length. That is, the end of the
plaintext is
n + 1 copies of the unsigned byte
n.
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.