org.bouncycastle.crypto.generators
Class DSAParametersGenerator

java.lang.Object
  extended by org.bouncycastle.crypto.generators.DSAParametersGenerator

public class DSAParametersGenerator
extends java.lang.Object

generate suitable parameters for DSA, in line with FIPS 186-2.


Field Summary
private  int certainty
           
private static java.math.BigInteger ONE
           
private  java.security.SecureRandom random
           
private  int size
           
private static java.math.BigInteger TWO
           
 
Constructor Summary
DSAParametersGenerator()
           
 
Method Summary
private  void add(byte[] a, byte[] b, int value)
          add value to b, returning the result in a.
 DSAParameters generateParameters()
          which generates the p and g values from the given parameters, returning the DSAParameters object.
 void init(int size, int certainty, java.security.SecureRandom random)
          initialise the key generator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

size

private int size

certainty

private int certainty

random

private java.security.SecureRandom random

ONE

private static final java.math.BigInteger ONE

TWO

private static final java.math.BigInteger TWO
Constructor Detail

DSAParametersGenerator

public DSAParametersGenerator()
Method Detail

init

public void init(int size,
                 int certainty,
                 java.security.SecureRandom random)
initialise the key generator.

Parameters:
size - size of the key (range 2^512 -> 2^1024 - 64 bit increments)
certainty - measure of robustness of prime (for FIPS 186-2 compliance this should be at least 80).
random - random byte source.

add

private void add(byte[] a,
                 byte[] b,
                 int value)
add value to b, returning the result in a. The a value is treated as a BigInteger of length (a.length * 8) bits. The result is modulo 2^a.length in case of overflow.


generateParameters

public DSAParameters generateParameters()
which generates the p and g values from the given parameters, returning the DSAParameters object.

Note: can take a while...