Top Description Inners Fields Constructors Methods
org.bouncycastle.crypto.general

public final Class PBKD

extends Object
Class Inheritance
Imports
java.util.HashMap, .Map, org.bouncycastle.crypto.Algorithm, .DigestAlgorithm, .PasswordBasedDeriver, .PasswordBasedDeriverFactory, .PasswordConverter, org.bouncycastle.crypto.fips.FipsSHS, org.bouncycastle.util.Arrays

Source class for implementations of Password-Based Key Derivation Algorithms

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
PBKD.DeriverFactory

Factory for password based key derivation functions.

private static class
PBKD.OpenSSLDeriverFactory

Factory for password based key derivation functions that are based on the algorithm used by OpenSSL.

public static class
PBKD.OpenSSLParametersBuilder

Initial builder for OpenSSL

public static class
PBKD.Parameters

PBKD parameters.

public static class
PBKD.ParametersBuilder

Initial builder for general PBKD parameters.

private static class
PBKD.PBKDF1DeriverFactory

Factory for password based key derivation functions that are based on PBKDF1 (PKCS#5 scheme 1).

private static class
PBKD.PBKDF2DeriverFactory

Factory for password based key derivation functions.

private static class
PBKD.PKCS12DeriverFactory

Factory for password based key derivation functions that are based on PKCS#12.

Field Summary

Modifier and TypeField and Description
private static final GeneralAlgorithm
ALGORITHM_OpenSSL

Algorithm ID for OpenSSL

private static final GeneralAlgorithm
ALGORITHM_PBKDF1

Algorithm ID for PBKDF2 (PKCS#5 scheme 1)

private static final GeneralAlgorithm
ALGORITHM_PBKDF2

Algorithm ID for PBKDF2 (PKCS#5 scheme 2)

private static final GeneralAlgorithm
ALGORITHM_PKCS12

Algorithm ID for PKCS#12

private static Map<Algorithm, PasswordBasedDeriverFactory<PBKD.Parameters>>
public static final PBKD.OpenSSLParametersBuilder
OpenSSL

OpenSSL PBE algorithm parameter source - PRF is MD5

public static final PBKD.ParametersBuilder
PBKDF1

PBKDF1 algorithm parameter source - default PRF is SHA-1

public static final PBKD.ParametersBuilder
PBKDF2

PBKDF2 algorithm parameter source - default PRF is HMAC(SHA-1)

public static final PBKD.ParametersBuilder
PKCS12

PKCS#12 PBE algorithm parameter source - default PRF is SHA-1

Constructor Summary

AccessConstructor and Description
private
PBKD()

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ALGORITHM_OpenSSLback to summary
private static final GeneralAlgorithm ALGORITHM_OpenSSL

Algorithm ID for OpenSSL

ALGORITHM_PBKDF1back to summary
private static final GeneralAlgorithm ALGORITHM_PBKDF1

Algorithm ID for PBKDF2 (PKCS#5 scheme 1)

ALGORITHM_PBKDF2back to summary
private static final GeneralAlgorithm ALGORITHM_PBKDF2

Algorithm ID for PBKDF2 (PKCS#5 scheme 2)

ALGORITHM_PKCS12back to summary
private static final GeneralAlgorithm ALGORITHM_PKCS12

Algorithm ID for PKCS#12

deriverTableback to summary
private static Map<Algorithm, PasswordBasedDeriverFactory<PBKD.Parameters>> deriverTable
OpenSSLback to summary
public static final PBKD.OpenSSLParametersBuilder OpenSSL

OpenSSL PBE algorithm parameter source - PRF is MD5

PBKDF1back to summary
public static final PBKD.ParametersBuilder PBKDF1

PBKDF1 algorithm parameter source - default PRF is SHA-1

PBKDF2back to summary
public static final PBKD.ParametersBuilder PBKDF2

PBKDF2 algorithm parameter source - default PRF is HMAC(SHA-1)

PKCS12back to summary
public static final PBKD.ParametersBuilder PKCS12

PKCS#12 PBE algorithm parameter source - default PRF is SHA-1

Constructor Detail

PBKDback to summary
private PBKD()
org.bouncycastle.crypto.general back to summary

public Class PBKD.DeriverFactory

extends GuardedPasswordBasedDeriverFactory<PBKD.Parameters>
Class Inheritance

Factory for password based key derivation functions.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public PasswordBasedDeriver<PBKD.Parameters>
createDeriver(final PBKD.Parameters
the parameter details for the deriver to create.
parameters
)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Constructor Detail

DeriverFactoryback to summary
public DeriverFactory()

Method Detail

createDeriverback to summary
public PasswordBasedDeriver<PBKD.Parameters> createDeriver(final PBKD.Parameters parameters)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Doc from org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Parameters
parameters:PBKD.Parameters

the parameter details for the deriver to create.

Returns:PasswordBasedDeriver<PBKD.Parameters>

a deriver.

org.bouncycastle.crypto.general back to summary

private Class PBKD.OpenSSLDeriverFactory

extends GuardedPasswordBasedDeriverFactory<PBKD.Parameters>
Class Inheritance

Factory for password based key derivation functions that are based on the algorithm used by OpenSSL.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public PasswordBasedDeriver<PBKD.Parameters>
createDeriver(final PBKD.Parameters
the parameter details for the deriver to create.
parameters
)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Constructor Detail

OpenSSLDeriverFactoryback to summary
private OpenSSLDeriverFactory()

Method Detail

createDeriverback to summary
public PasswordBasedDeriver<PBKD.Parameters> createDeriver(final PBKD.Parameters parameters)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Doc from org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Parameters
parameters:PBKD.Parameters

the parameter details for the deriver to create.

Returns:PasswordBasedDeriver<PBKD.Parameters>

a deriver.

org.bouncycastle.crypto.general back to summary

public final Class PBKD.OpenSSLParametersBuilder

extends GeneralParameters
Class Inheritance

Initial builder for OpenSSL

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public PBKD.Parameters
using(byte[] password)

public PBKD.Parameters
using(PasswordConverter converter, char[] password)

Inherited from org.bouncycastle.crypto.general.GeneralParameters:
getAlgorithm

Constructor Detail

OpenSSLParametersBuilderback to summary
pack-priv OpenSSLParametersBuilder()

Method Detail

usingback to summary
public PBKD.Parameters using(byte[] password)
usingback to summary
public PBKD.Parameters using(PasswordConverter converter, char[] password)
org.bouncycastle.crypto.general back to summary

public final Class PBKD.Parameters

extends GeneralParameters<Algorithm>
Class Inheritance

PBKD parameters.

Field Summary

Modifier and TypeField and Description
private final PasswordConverter
private final DigestAlgorithm
private final int
private final byte[]
private final byte[]

Constructor Summary

AccessConstructor and Description
private
Parameters(GeneralAlgorithm algorithm, DigestAlgorithm digestAlgorithm, PasswordConverter converter, byte[] password, int iterationCount, byte[] salt)

private
Parameters(GeneralAlgorithm algorithm, DigestAlgorithm digestAlgorithm, PasswordConverter converter, char[] password)

Method Summary

Modifier and TypeMethod and Description
protected void
finalize()

Overrides java.lang.Object.finalize.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
public PasswordConverter
public int
pack-priv byte[]
public DigestAlgorithm
public byte[]
public PBKD.Parameters
withIterationCount(int iterationCount)

public PBKD.Parameters
withSalt(byte[] salt)

Inherited from org.bouncycastle.crypto.general.GeneralParameters:
getAlgorithm

Field Detail

converterback to summary
private final PasswordConverter converter
digestAlgorithmback to summary
private final DigestAlgorithm digestAlgorithm
iterationCountback to summary
private final int iterationCount
passwordback to summary
private final byte[] password
saltback to summary
private final byte[] salt

Constructor Detail

Parametersback to summary
private Parameters(GeneralAlgorithm algorithm, DigestAlgorithm digestAlgorithm, PasswordConverter converter, byte[] password, int iterationCount, byte[] salt)
Parametersback to summary
private Parameters(GeneralAlgorithm algorithm, DigestAlgorithm digestAlgorithm, PasswordConverter converter, char[] password)

Method Detail

finalizeback to summary
protected void finalize() throws Throwable

Overrides java.lang.Object.finalize.

Doc from java.lang.Object.finalize.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

When running in a Java virtual machine in which finalization has been disabled or removed, the garbage collector will never call finalize(). In a Java virtual machine in which finalization is enabled, the garbage collector might call finalize only after an indefinite delay.

The general contract of finalize is that it is invoked if and when the Java virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.

Annotations
@Override
Exceptions
Throwable:
the Exception raised by this method
getConverterback to summary
public PasswordConverter getConverter()
getIterationCountback to summary
public int getIterationCount()
getPasswordback to summary
pack-priv byte[] getPassword()
getPRFback to summary
public DigestAlgorithm getPRF()
getSaltback to summary
public byte[] getSalt()
withIterationCountback to summary
public PBKD.Parameters withIterationCount(int iterationCount)
withSaltback to summary
public PBKD.Parameters withSalt(byte[] salt)
org.bouncycastle.crypto.general back to summary

public final Class PBKD.ParametersBuilder

extends GeneralParameters
Class Inheritance

Initial builder for general PBKD parameters.

Field Summary

Modifier and TypeField and Description
private final DigestAlgorithm

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public PBKD.Parameters
using(byte[] password)

public PBKD.Parameters
using(DigestAlgorithm digestAlgorithm, byte[] password)

public PBKD.Parameters
using(PasswordConverter converter, char[] password)

public PBKD.Parameters
using(DigestAlgorithm digestAlgorithm, PasswordConverter converter, char[] password)

Inherited from org.bouncycastle.crypto.general.GeneralParameters:
getAlgorithm

Field Detail

defaultPrfback to summary
private final DigestAlgorithm defaultPrf

Constructor Detail

ParametersBuilderback to summary
pack-priv ParametersBuilder(GeneralAlgorithm algorithm, DigestAlgorithm defaultPrf)

Method Detail

usingback to summary
public PBKD.Parameters using(byte[] password)
usingback to summary
public PBKD.Parameters using(DigestAlgorithm digestAlgorithm, byte[] password)
usingback to summary
public PBKD.Parameters using(PasswordConverter converter, char[] password)
usingback to summary
public PBKD.Parameters using(DigestAlgorithm digestAlgorithm, PasswordConverter converter, char[] password)
org.bouncycastle.crypto.general back to summary

private Class PBKD.PBKDF1DeriverFactory

extends GuardedPasswordBasedDeriverFactory<PBKD.Parameters>
Class Inheritance

Factory for password based key derivation functions that are based on PBKDF1 (PKCS#5 scheme 1).

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public PasswordBasedDeriver<PBKD.Parameters>
createDeriver(final PBKD.Parameters
the parameter details for the deriver to create.
parameters
)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Constructor Detail

PBKDF1DeriverFactoryback to summary
private PBKDF1DeriverFactory()

Method Detail

createDeriverback to summary
public PasswordBasedDeriver<PBKD.Parameters> createDeriver(final PBKD.Parameters parameters)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Doc from org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Parameters
parameters:PBKD.Parameters

the parameter details for the deriver to create.

Returns:PasswordBasedDeriver<PBKD.Parameters>

a deriver.

org.bouncycastle.crypto.general back to summary

private Class PBKD.PBKDF2DeriverFactory

extends GuardedPasswordBasedDeriverFactory<PBKD.Parameters>
Class Inheritance

Factory for password based key derivation functions.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public PasswordBasedDeriver<PBKD.Parameters>
createDeriver(final PBKD.Parameters
the parameter details for the deriver to create.
parameters
)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Constructor Detail

PBKDF2DeriverFactoryback to summary
private PBKDF2DeriverFactory()

Method Detail

createDeriverback to summary
public PasswordBasedDeriver<PBKD.Parameters> createDeriver(final PBKD.Parameters parameters)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Doc from org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Parameters
parameters:PBKD.Parameters

the parameter details for the deriver to create.

Returns:PasswordBasedDeriver<PBKD.Parameters>

a deriver.

org.bouncycastle.crypto.general back to summary

private Class PBKD.PKCS12DeriverFactory

extends GuardedPasswordBasedDeriverFactory<PBKD.Parameters>
Class Inheritance

Factory for password based key derivation functions that are based on PKCS#12.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public PasswordBasedDeriver<PBKD.Parameters>
createDeriver(final PBKD.Parameters
the parameter details for the deriver to create.
parameters
)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Constructor Detail

PKCS12DeriverFactoryback to summary
private PKCS12DeriverFactory()

Method Detail

createDeriverback to summary
public PasswordBasedDeriver<PBKD.Parameters> createDeriver(final PBKD.Parameters parameters)

Implements org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Doc from org.bouncycastle.crypto.PasswordBasedDeriverFactory.createDeriver.

Create a deriver appropriate to the passed in parameters.

Parameters
parameters:PBKD.Parameters

the parameter details for the deriver to create.

Returns:PasswordBasedDeriver<PBKD.Parameters>

a deriver.