de.flexiprovider.core.mars
Class MARSKeyGenerator

java.lang.Object
  |
  +--javax.crypto.KeyGeneratorSpi
        |
        +--de.flexiprovider.api.keys.SecretKeyGenerator
              |
              +--de.flexiprovider.core.mars.MARSKeyGenerator

public class MARSKeyGenerator
extends SecretKeyGenerator

This class is used to generate keys for the MARS block cipher. Values for the key are 128, 192, 256, 320, 384, and 448 bits, with the default being 128 bits.

Author:
Katja Rauch

Constructor Summary
MARSKeyGenerator()
           
 
Method Summary
 SecretKey generateKey()
          Generate a MARS key.
 void init(AlgorithmParameterSpec params, SecureRandom random)
          Initialize the key generator with the given parameters (which have to be an instance of MARSKeyGenParameterSpec) and a source of randomness.
 void init(int keySize, SecureRandom random)
          Initialize the key generator with the given key size and source of randomness.
 void init(SecureRandom random)
          Initialize the key generator with the given source of randomness.
 
Methods inherited from class de.flexiprovider.api.keys.SecretKeyGenerator
engineGenerateKey, engineInit, engineInit, engineInit, init, init, init
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MARSKeyGenerator

public MARSKeyGenerator()
Method Detail

init

public void init(AlgorithmParameterSpec params,
                 SecureRandom random)
          throws InvalidAlgorithmParameterException
Initialize the key generator with the given parameters (which have to be an instance of MARSKeyGenParameterSpec) and a source of randomness. If the parameters are null, the default parameters are used.
Overrides:
init in class SecretKeyGenerator
Parameters:
params - the parameters
random - the source of randomness
Throws:
InvalidAlgorithmParameterException - if the parameters are not an instance of MARSKeyGenParameterSpec.

init

public void init(int keySize,
                 SecureRandom random)
Initialize the key generator with the given key size and source of randomness.
Overrides:
init in class SecretKeyGenerator
Parameters:
keySize - the key size
random - the source of randomness

init

public void init(SecureRandom random)
Initialize the key generator with the given source of randomness. The default key size is chosen (see MARSKeyGenParameterSpec).
Overrides:
init in class SecretKeyGenerator
Parameters:
random - the source of randomness

generateKey

public SecretKey generateKey()
Generate a MARS key.
Overrides:
generateKey in class SecretKeyGenerator
Returns:
the generated MARSKey