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

public Class PKCS5S2ParametersGenerator

extends PBEParametersGenerator
Class Inheritance
Imports
org.bouncycastle.crypto.CipherParameters, .Digest, .Mac, .PBEParametersGenerator, org.bouncycastle.crypto.macs.HMac, org.bouncycastle.crypto.params.KeyParameter, .ParametersWithIV, org.bouncycastle.crypto.util.DigestFactory

Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 2. This generator uses a SHA-1 HMac as the calculation function.

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

Field Summary

Modifier and TypeField and Description
private Mac
private byte[]
Inherited from org.bouncycastle.crypto.PBEParametersGenerator:
iterationCountpasswordsalt

Constructor Summary

AccessConstructor and Description
public
PKCS5S2ParametersGenerator()

construct a PKCS5 Scheme 2 Parameters generator.

public

Method Summary

Modifier and TypeMethod and Description
private void
F(byte[] S, int c, byte[] iBuf, byte[] out, int outOff)

private byte[]
generateDerivedKey(int dkLen)

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

hMacback to summary
private Mac hMac
stateback to summary
private byte[] state

Constructor Detail

PKCS5S2ParametersGeneratorback to summary
public PKCS5S2ParametersGenerator()

construct a PKCS5 Scheme 2 Parameters generator.

PKCS5S2ParametersGeneratorback to summary
public PKCS5S2ParametersGenerator(Digest digest)

Method Detail

Fback to summary
private void F(byte[] S, int c, byte[] iBuf, byte[] out, int outOff)
generateDerivedKeyback to summary
private byte[] generateDerivedKey(int dkLen)
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.

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.

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.