gnu.crypto.pad

Class SSL3

public class SSL3 extends BasePad

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.

Constructor Summary
SSL3()
Method Summary
byte[]pad(byte[] in, int off, int len)
voidsetup()
intunpad(byte[] in, int off, int len)

Constructor Detail

SSL3

public SSL3()

Method Detail

pad

public byte[] pad(byte[] in, int off, int len)

setup

public void setup()

unpad

public int unpad(byte[] in, int off, int len)
Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.