public class DSAParametersGenerator
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private int |
certainty |
private int |
L |
private int |
N |
private static java.math.BigInteger |
ONE |
private java.security.SecureRandom |
random |
private static java.math.BigInteger |
TWO |
private static java.math.BigInteger |
ZERO |
Constructor and Description |
---|
DSAParametersGenerator() |
Modifier and Type | Method and Description |
---|---|
private static java.math.BigInteger |
calculateGenerator_FIPS186_2(java.math.BigInteger p,
java.math.BigInteger q,
java.security.SecureRandom r) |
private static java.math.BigInteger |
calculateGenerator_FIPS186_3_Unverifiable(java.math.BigInteger p,
java.math.BigInteger q,
java.security.SecureRandom r) |
private DSAParameters |
generateParameters_FIPS186_2() |
private DSAParameters |
generateParameters_FIPS186_3()
generate suitable parameters for DSA, in line with
FIPS 186-3 A.1 Generation of the FFC Primes p and q.
|
DSAParameters |
generateParameters()
which generates the p and g values from the given parameters,
returning the DSAParameters object.
|
private static int |
getDefaultN(int L) |
private static void |
hash(Digest d,
byte[] input,
byte[] output) |
private static void |
inc(byte[] buf) |
private void |
init(int L,
int N,
int certainty,
java.security.SecureRandom random) |
void |
init(int size,
int certainty,
java.security.SecureRandom random)
initialise the key generator.
|
private int L
private int N
private int certainty
private java.security.SecureRandom random
private static final java.math.BigInteger ZERO
private static final java.math.BigInteger ONE
private static final java.math.BigInteger TWO
public void init(int size, int certainty, java.security.SecureRandom random)
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.private void init(int L, int N, int certainty, java.security.SecureRandom random)
public DSAParameters generateParameters()
Note: can take a while...
private DSAParameters generateParameters_FIPS186_2()
private static java.math.BigInteger calculateGenerator_FIPS186_2(java.math.BigInteger p, java.math.BigInteger q, java.security.SecureRandom r)
private DSAParameters generateParameters_FIPS186_3()
private static java.math.BigInteger calculateGenerator_FIPS186_3_Unverifiable(java.math.BigInteger p, java.math.BigInteger q, java.security.SecureRandom r)
private static void hash(Digest d, byte[] input, byte[] output)
private static int getDefaultN(int L)
private static void inc(byte[] buf)