Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

cryptix.jce.provider.key
Class RawKeyGenerator  view RawKeyGenerator download RawKeyGenerator.java

java.lang.Object
  extended byjavax.crypto.KeyGeneratorSpi
      extended bycryptix.jce.provider.key.RawKeyGenerator
Direct Known Subclasses:
BlowfishKeyGenerator, CAST5KeyGenerator, DESKeyGenerator, HMACKeyGenerator, IDEAKeyGenerator, MARSKeyGenerator, RC2KeyGenerator, RC4KeyGenerator, RC6KeyGenerator, RijndaelKeyGenerator, SerpentKeyGenerator, SKIPJACKKeyGenerator, SquareKeyGenerator, TripleDESKeyGenerator, TwofishKeyGenerator

abstract class RawKeyGenerator
extends javax.crypto.KeyGeneratorSpi

Version:
$Revision: 1.8 $

Field Summary
private  java.lang.String algorithm
           
private  int defaultKeySize
           
private  int keySize
           
private  java.security.SecureRandom random
           
 
Constructor Summary
protected RawKeyGenerator(java.lang.String algorithm, int defaultKeySize)
           
 
Method Summary
protected  javax.crypto.SecretKey engineGenerateKey()
          Generate a key, returning it as a javax.crypto.SecretKey.
protected  void engineInit(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
          Initialize this key generator with parameters and a source of randomness.
protected  void engineInit(int keysize, java.security.SecureRandom random)
          Initialize this key generator with a key size (in bits) and a source of randomness.
protected  void engineInit(java.security.SecureRandom random)
          Initialize this key generator with a source of randomness; the implementation should use reasonable default parameters (such as generated key size).
protected  byte[] fixUp(byte[] key)
          Fix up the generated and purely random bytes.
protected abstract  boolean isValidSize(int size)
          Is the given keysize valid for this algorithm?
protected abstract  boolean isWeak(byte[] keyBytes)
          Returns true if the given key is weak.
protected  int strengthToBits(int strength)
          Translates strength (complexity, 56 for DES) to bit length (64 for DES).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

algorithm

private final java.lang.String algorithm

defaultKeySize

private final int defaultKeySize

random

private java.security.SecureRandom random

keySize

private int keySize
Constructor Detail

RawKeyGenerator

protected RawKeyGenerator(java.lang.String algorithm,
                          int defaultKeySize)
Method Detail

engineInit

protected void engineInit(java.security.SecureRandom random)
Description copied from class: javax.crypto.KeyGeneratorSpi
Initialize this key generator with a source of randomness; the implementation should use reasonable default parameters (such as generated key size).


engineInit

protected void engineInit(java.security.spec.AlgorithmParameterSpec params,
                          java.security.SecureRandom random)
                   throws java.security.InvalidAlgorithmParameterException
Description copied from class: javax.crypto.KeyGeneratorSpi
Initialize this key generator with parameters and a source of randomness.


engineInit

protected void engineInit(int keysize,
                          java.security.SecureRandom random)
Description copied from class: javax.crypto.KeyGeneratorSpi
Initialize this key generator with a key size (in bits) and a source of randomness.


engineGenerateKey

protected javax.crypto.SecretKey engineGenerateKey()
Description copied from class: javax.crypto.KeyGeneratorSpi
Generate a key, returning it as a javax.crypto.SecretKey.


strengthToBits

protected int strengthToBits(int strength)
Translates strength (complexity, 56 for DES) to bit length (64 for DES).


fixUp

protected byte[] fixUp(byte[] key)
Fix up the generated and purely random bytes. For DES this would fix the parity.


isWeak

protected abstract boolean isWeak(byte[] keyBytes)
Returns true if the given key is weak.


isValidSize

protected abstract boolean isValidSize(int size)
Is the given keysize valid for this algorithm?