au.net.aba.crypto.provider
Class BlowfishKeyGenerator

java.lang.Object
  |
  +--javax.crypto.KeyGeneratorSpi
        |
        +--au.net.aba.crypto.provider.BlowfishKeyGenerator

public class BlowfishKeyGenerator
extends KeyGeneratorSpi

This class is used for generating random Blowfish keys. This class should not be instantiated directly, instead use the javax.crypto.KeyGenerator interface.

There is no AlgorithmParameterSpec class defined for Blowfish so this generator can only be initialised using the keysize,random initialisation.

The default keysize is 192 bits and can be any multiple of 8 up to 448 bits.


Field Summary
static java.lang.String ident
           
 
Fields inherited from class javax.crypto.KeyGeneratorSpi
ident
 
Constructor Summary
BlowfishKeyGenerator()
           
 
Method Summary
protected  SecretKey engineGenerateKey()
          Generates a random secret key of the currently configured keysize and using the configured random source.
protected  void engineInit(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
          This method is not implemented as there is no AlgorithmParameterSpec defined for Blowfish.
protected  void engineInit(int strength, java.security.SecureRandom random)
          Initialises this key generator for a certain strength, using the given source of randomness.
protected  void engineInit(java.security.SecureRandom random)
          Initialises the key generator with the given random number source.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ident

public static final java.lang.String ident
Constructor Detail

BlowfishKeyGenerator

public BlowfishKeyGenerator()
Method Detail

engineInit

protected void engineInit(java.security.spec.AlgorithmParameterSpec params,
                          java.security.SecureRandom random)
                   throws java.security.InvalidAlgorithmParameterException
This method is not implemented as there is no AlgorithmParameterSpec defined for Blowfish. (Use one of the other initialisation methods!)
Parameters:
params - The algorithm parameter specs for this generator.
random - A source of random numbers for this generator.
Throws:
java.security.InvalidAlgorithmParameterException - An invalid parameter specification is provided.
Overrides:
engineInit in class KeyGeneratorSpi

engineInit

protected void engineInit(int strength,
                          java.security.SecureRandom random)
Initialises this key generator for a certain strength, using the given source of randomness.
Parameters:
strength - the strength of the key. This is an algorithm-specific metric specified in number of bits.
random - the source of randomness for this key generator
Overrides:
engineInit in class KeyGeneratorSpi

engineInit

protected void engineInit(java.security.SecureRandom random)
Initialises the key generator with the given random number source.
Parameters:
random - a source of random numbers for this generator.
Overrides:
engineInit in class KeyGeneratorSpi

engineGenerateKey

protected SecretKey engineGenerateKey()
Generates a random secret key of the currently configured keysize and using the configured random source.
Returns:
a secret key representing a Blowfish key.
Overrides:
engineGenerateKey in class KeyGeneratorSpi