public class FIPS186
extends java.lang.Object
An implementation of the DSA parameters generation as described in FIPS-186.
References:| Modifier and Type | Field and Description |
|---|---|
static int |
DSA_PARAMS_COUNTER |
static int |
DSA_PARAMS_E |
static int |
DSA_PARAMS_G |
static int |
DSA_PARAMS_P |
static int |
DSA_PARAMS_Q |
static int |
DSA_PARAMS_SEED |
| Constructor and Description |
|---|
FIPS186(int L,
java.security.SecureRandom rnd) |
| Modifier and Type | Method and Description |
|---|---|
java.math.BigInteger[] |
generateParameters()
This method generates the DSS
p, q, and
g parameters only when L (the modulus length)
is not one of the following: 512, 768 and
1024. |
public static final int DSA_PARAMS_SEED
public static final int DSA_PARAMS_COUNTER
public static final int DSA_PARAMS_Q
public static final int DSA_PARAMS_P
public static final int DSA_PARAMS_E
public static final int DSA_PARAMS_G
public java.math.BigInteger[] generateParameters()
p, q, and
g parameters only when L (the modulus length)
is not one of the following: 512, 768 and
1024. For those values of L, this implementation
uses pre-computed values of p, q, and
g given in the document CryptoSpec included in the
security guide documentation of the standard JDK distribution.
The DSS requires two primes , p and q,
satisfying the following three conditions:
2159 < q < 21602L-1 < p < 2L for a
specified L, where L = 512 + 64j for some
0 <= j <= 8Sha160 and a user supplied SEED
to construct a prime, q, in the range 2159 < q
< 2160. Once this is accomplished, the same SEED
value is used to construct an X in the range 2L-1
< X < 2L. The prime, p, is then
formed by rounding X to a number congruent to 1 mod
2q. In this implementation we use the same SEED value given
in FIPS-186, Appendix 5.Copyright © 2025. All rights reserved.