org.gudy.bouncycastle.crypto
Class PBEParametersGenerator

java.lang.Object
  extended by org.gudy.bouncycastle.crypto.PBEParametersGenerator
Direct Known Subclasses:
OpenSSLPBEParametersGenerator, PKCS12ParametersGenerator, PKCS5S1ParametersGenerator

public abstract class PBEParametersGenerator
extends java.lang.Object

super class for all Password Based Encyrption (PBE) parameter generator classes.


Field Summary
protected  int iterationCount
           
protected  byte[] password
           
protected  byte[] salt
           
 
Constructor Summary
protected PBEParametersGenerator()
          base constructor.
 
Method Summary
abstract  CipherParameters generateDerivedMacParameters(int keySize)
          generate derived parameters for a key of length keySize, specifically for use with a MAC.
abstract  CipherParameters generateDerivedParameters(int keySize)
          generate derived parameters for a key of length keySize.
abstract  CipherParameters generateDerivedParameters(int keySize, int ivSize)
          generate derived parameters for a key of length keySize, and an initialisation vector (IV) of length ivSize.
 int getIterationCount()
          return the iteration count.
 byte[] getPassword()
          return the password byte array.
 byte[] getSalt()
          return the salt byte array.
 void init(byte[] password, byte[] salt, int iterationCount)
          initialise the PBE generator.
static byte[] PKCS12PasswordToBytes(char[] password)
          converts a password to a byte array according to the scheme in PKCS12 (unicode, big endian, 2 zero pad bytes at the end).
static byte[] PKCS5PasswordToBytes(char[] password)
          converts a password to a byte array according to the scheme in PKCS5 (ascii, no padding)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

password

protected byte[] password

salt

protected byte[] salt

iterationCount

protected int iterationCount
Constructor Detail

PBEParametersGenerator

protected PBEParametersGenerator()
base constructor.

Method Detail

init

public void init(byte[] password,
                 byte[] salt,
                 int iterationCount)
initialise the PBE generator.

Parameters:
password - the password converted into bytes (see below).
salt - the salt to be mixed with the password.
iterationCount - the number of iterations the "mixing" function is to be applied for.

getPassword

public byte[] getPassword()
return the password byte array.

Returns:
the password byte array.

getSalt

public byte[] getSalt()
return the salt byte array.

Returns:
the salt byte array.

getIterationCount

public int getIterationCount()
return the iteration count.

Returns:
the iteration count.

generateDerivedParameters

public abstract CipherParameters generateDerivedParameters(int keySize)
generate derived parameters for a key of length keySize.

Parameters:
keySize - the length, in bits, of the key required.
Returns:
a parameters object representing a key.

generateDerivedParameters

public abstract CipherParameters generateDerivedParameters(int keySize,
                                                           int ivSize)
generate derived parameters for a key of length keySize, and an initialisation vector (IV) of length ivSize.

Parameters:
keySize - the length, in bits, of the key required.
ivSize - the length, in bits, of the iv required.
Returns:
a parameters object representing a key and an IV.

generateDerivedMacParameters

public abstract CipherParameters generateDerivedMacParameters(int keySize)
generate derived parameters for a key of length keySize, specifically for use with a MAC.

Parameters:
keySize - the length, in bits, of the key required.
Returns:
a parameters object representing a key.

PKCS5PasswordToBytes

public static byte[] PKCS5PasswordToBytes(char[] password)
converts a password to a byte array according to the scheme in PKCS5 (ascii, no padding)

Parameters:
password - a character array reqpresenting the password.
Returns:
a byte array representing the password.

PKCS12PasswordToBytes

public static byte[] PKCS12PasswordToBytes(char[] password)
converts a password to a byte array according to the scheme in PKCS12 (unicode, big endian, 2 zero pad bytes at the end).

Parameters:
password - a character array reqpresenting the password.
Returns:
a byte array representing the password.