Top Description Fields Constructors Methods
org.bouncycastle.crypto.fips

pack-priv Class DsaParametersGenerator

extends Object
Class Inheritance
Imports
java.math.BigInteger, java.security.SecureRandom, org.bouncycastle.crypto.internal.Digest, org.bouncycastle.crypto.internal.params.DsaParameterGenerationParameters, .DsaParameters, .DsaValidationParameters, org.bouncycastle.math.internal.Primes, org.bouncycastle.util.Arrays, .BigIntegers, org.bouncycastle.util.encoders.Hex

Generate suitable parameters for DSA, in line with FIPS 186-2, or FIPS 186-3.

Field Summary

Modifier and TypeField and Description
private int
private Digest
private int
private int
L

private int
N

private static final BigInteger
private SecureRandom
private static final BigInteger
private int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static BigInteger
pack-priv static BigInteger
pack-priv static BigInteger
public DsaParameters
generateParameters()

which generates the p and g values from the given parameters, returning the DSAParameters object.

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.

private static int
private static void
hash(Digest d, byte[] input, byte[] output, int outputPos)

private static void
inc(byte[] buf)

public void
init(DsaParameterGenerationParameters
DSA 2 key generation parameters.
params
)

Initialise the key generator for DSA 2.

private boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

certaintyback to summary
private int certainty
digestback to summary
private Digest digest
iterationsback to summary
private int iterations
Lback to summary
private int L
Nback to summary
private int N
ONEback to summary
private static final BigInteger ONE
randomback to summary
private SecureRandom random
TWOback to summary
private static final BigInteger TWO
usageIndexback to summary
private int usageIndex

Constructor Detail

DsaParametersGeneratorback to summary
public DsaParametersGenerator(Digest digest)

Method Detail

calculateGenerator_FIPS186_2back to summary
private static BigInteger calculateGenerator_FIPS186_2(BigInteger p, BigInteger q, SecureRandom r)
calculateGenerator_FIPS186_3_Unverifiableback to summary
pack-priv static BigInteger calculateGenerator_FIPS186_3_Unverifiable(BigInteger p, BigInteger q, SecureRandom r)
calculateGenerator_FIPS186_3_Verifiableback to summary
pack-priv static BigInteger calculateGenerator_FIPS186_3_Verifiable(Digest d, BigInteger p, BigInteger q, byte[] seed, int index)
generateParametersback to summary
public DsaParameters generateParameters()

which generates the p and g values from the given parameters, returning the DSAParameters object.

Note

can take a while...

generateParameters_FIPS186_3back to summary
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.

getMinimumIterationsback to summary
private static int getMinimumIterations(int L)
hashback to summary
private static void hash(Digest d, byte[] input, byte[] output, int outputPos)
incback to summary
private static void inc(byte[] buf)
initback to summary
public void init(DsaParameterGenerationParameters params)

Initialise the key generator for DSA 2.

Use this init method if you need to generate parameters for DSA 2 keys.

Parameters
params:DsaParameterGenerationParameters

DSA 2 key generation parameters.

isProbablePrimeback to summary
private boolean isProbablePrime(BigInteger x)