Top Description Fields Constructors Methods
org.bouncycastle.crypto.generators

public Class PKCS5S1ParametersGenerator

extends PBEParametersGenerator
Class Inheritance
Imports
org.bouncycastle.crypto.CipherParameters, .Digest, .PBEParametersGenerator, org.bouncycastle.crypto.params.KeyParameter, .ParametersWithIV

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

Field Summary

Modifier and TypeField and Description
private Digest
Inherited from org.bouncycastle.crypto.PBEParametersGenerator:
iterationCountpasswordsalt

Constructor Summary

AccessConstructor and Description
public
PKCS5S1ParametersGenerator(Digest
the digest to be used as the source of derived keys.
digest
)

Construct a PKCS 5 Scheme 1 Parameters generator.

Method Summary

Modifier and TypeMethod and Description
private byte[]
generateDerivedKey()

the derived key function, the ith hash of the password and the salt.

public CipherParameters

Returns:

a KeyParameter object.
generateDerivedMacParameters
(int
the size of the key we want (in bits)
keySize
)

Implements abstract org.bouncycastle.crypto.PBEParametersGenerator.generateDerivedMacParameters.

Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.

public CipherParameters

Returns:

a KeyParameter object.
generateDerivedParameters
(int
the size of the key we want (in bits)
keySize
)

Implements abstract org.bouncycastle.crypto.PBEParametersGenerator.generateDerivedParameters.

Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.

public CipherParameters

Returns:

a ParametersWithIV object.
generateDerivedParameters
(int
the size of the key we want (in bits)
keySize
,
int
the size of the iv we want (in bits)
ivSize
)

Implements abstract org.bouncycastle.crypto.PBEParametersGenerator.generateDerivedParameters.

Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Inherited from org.bouncycastle.crypto.PBEParametersGenerator:
getIterationCountgetPasswordgetSaltinitPKCS12PasswordToBytesPKCS5PasswordToBytesPKCS5PasswordToUTF8Bytes

Field Detail

digestback to summary
private Digest digest

Constructor Detail

PKCS5S1ParametersGeneratorback to summary
public PKCS5S1ParametersGenerator(Digest digest)

Construct a PKCS 5 Scheme 1 Parameters generator.

Parameters
digest:Digest

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

Method Detail

generateDerivedKeyback to summary
private byte[] generateDerivedKey()

the derived key function, the ith hash of the password and the salt.

generateDerivedMacParametersback to summary
public CipherParameters generateDerivedMacParameters(int keySize)

Implements abstract org.bouncycastle.crypto.PBEParametersGenerator.generateDerivedMacParameters.

Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.

Parameters
keySize:int

the size of the key we want (in bits)

Returns:CipherParameters

a KeyParameter object.

Exceptions
IllegalArgumentException:
if the key length larger than the base hash size.
generateDerivedParametersback to summary
public CipherParameters generateDerivedParameters(int keySize)

Implements abstract org.bouncycastle.crypto.PBEParametersGenerator.generateDerivedParameters.

Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.

Parameters
keySize:int

the size of the key we want (in bits)

Returns:CipherParameters

a KeyParameter object.

Exceptions
IllegalArgumentException:
if the key length larger than the base hash size.
generateDerivedParametersback to summary
public CipherParameters generateDerivedParameters(int keySize, int ivSize)

Implements abstract org.bouncycastle.crypto.PBEParametersGenerator.generateDerivedParameters.

Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Parameters
keySize:int

the size of the key we want (in bits)

ivSize:int

the size of the iv we want (in bits)

Returns:CipherParameters

a ParametersWithIV object.

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