org.bouncycastle.crypto.generators

Class PKCS5S1ParametersGenerator

public class PKCS5S1ParametersGenerator extends PBEParametersGenerator

Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 1. Note this generator is limited to the size of the hash produced by the digest used to drive it.

The document this implementation is based on can be found at RSA's PKCS5 Page

Constructor Summary
PKCS5S1ParametersGenerator(Digest digest)
Construct a PKCS 5 Scheme 1 Parameters generator.
Method Summary
CipherParametersgenerateDerivedMacParameters(int keySize)
Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.
CipherParametersgenerateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
CipherParametersgenerateDerivedParameters(int keySize, int ivSize)
Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Constructor Detail

PKCS5S1ParametersGenerator

public PKCS5S1ParametersGenerator(Digest digest)
Construct a PKCS 5 Scheme 1 Parameters generator.

Parameters: digest the digest to be used as the source of derived keys.

Method Detail

generateDerivedMacParameters

public CipherParameters generateDerivedMacParameters(int keySize)
Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.

Parameters: keySize the size of the key we want (in bits)

Returns: a KeyParameter object.

Throws: IllegalArgumentException if the key length larger than the base hash size.

generateDerivedParameters

public CipherParameters generateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.

Parameters: keySize the size of the key we want (in bits)

Returns: a KeyParameter object.

Throws: IllegalArgumentException if the key length larger than the base hash size.

generateDerivedParameters

public CipherParameters generateDerivedParameters(int keySize, int ivSize)
Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Parameters: keySize the size of the key we want (in bits) ivSize the size of the iv we want (in bits)

Returns: a ParametersWithIV object.

Throws: IllegalArgumentException if keySize + ivSize is larger than the base hash size.