org.bouncycastle.crypto.generators

Class OpenSSLPBEParametersGenerator


public class OpenSSLPBEParametersGenerator
extends PBEParametersGenerator

Generator for PBE derived keys and ivs as usd by OpenSSL.

The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an iteration count of 1.

Field Summary

Fields inherited from class org.bouncycastle.crypto.PBEParametersGenerator

iterationCount, password, salt

Constructor Summary

OpenSSLPBEParametersGenerator()
Construct a OpenSSL Parameters generator.

Method Summary

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.
CipherParameters
generateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
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.
void
init(byte[] password, byte[] salt)
Initialise - note the iteration count for this algorithm is fixed at 1.

Methods inherited from class org.bouncycastle.crypto.PBEParametersGenerator

PKCS12PasswordToBytes, PKCS5PasswordToBytes, generateDerivedMacParameters, generateDerivedParameters, generateDerivedParameters, getIterationCount, getPassword, getSalt, init

Constructor Details

OpenSSLPBEParametersGenerator

public OpenSSLPBEParametersGenerator()
Construct a OpenSSL Parameters generator.

Method Details

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.
Overrides:
generateDerivedMacParameters in interface PBEParametersGenerator
Parameters:
keySize - the size of the key we want (in bits)
Returns:
a KeyParameter object.

generateDerivedParameters

public CipherParameters generateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
Overrides:
generateDerivedParameters in interface PBEParametersGenerator
Parameters:
keySize - the size of the key we want (in bits)
Returns:
a KeyParameter object.

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.
Overrides:
generateDerivedParameters in interface PBEParametersGenerator
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.

init

public void init(byte[] password,
                 byte[] salt)
Initialise - note the iteration count for this algorithm is fixed at 1.
Parameters:
password - password to use.
salt - salt to use.