DSAParameterGenerationParameters (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.params

## Class DSAParameterGenerationParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.DSAParameterGenerationParameters

-     public class DSAParameterGenerationParameters
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DIGITAL_SIGNATURE_USAGE`
    `static int` | `KEY_ESTABLISHMENT_USAGE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DSAParameterGenerationParameters(int L, int N, int certainty, java.security.SecureRandom random)` Construct without a usage index, this will do a random construction of G.
    `DSAParameterGenerationParameters(int L, int N, int certainty, java.security.SecureRandom random, int usageIndex)` Construct for a specific usage index - this has the effect of using verifiable canonical generation of G.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCertainty()`
    `int` | `getL()`
    `int` | `getN()`
    `java.security.SecureRandom` | `getRandom()`
    `int` | `getUsageIndex()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DIGITAL_SIGNATURE_USAGE

          public static final int DIGITAL_SIGNATURE_USAGE

      See Also:
        Constant Field Values

    - #### KEY_ESTABLISHMENT_USAGE

          public static final int KEY_ESTABLISHMENT_USAGE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DSAParameterGenerationParameters

          public DSAParameterGenerationParameters(int L,
                                                  int N,
                                                  int certainty,
                                                  java.security.SecureRandom random)

      Construct without a usage index, this will do a random construction of G.
      Parameters:
        `L` - desired length of prime P in bits (the effective key size).
        `N` - desired length of prime Q in bits.
        `certainty` - certainty level for prime number generation.
        `random` - the source of randomness to use.

    - #### DSAParameterGenerationParameters

          public DSAParameterGenerationParameters(int L,
                                                  int N,
                                                  int certainty,
                                                  java.security.SecureRandom random,
                                                  int usageIndex)

      Construct for a specific usage index - this has the effect of using verifiable canonical generation of G.
      Parameters:
        `L` - desired length of prime P in bits (the effective key size).
        `N` - desired length of prime Q in bits.
        `certainty` - certainty level for prime number generation.
        `random` - the source of randomness to use.
        `usageIndex` - a valid usage index.

  - ### Method Detail

    - #### getL

          public int getL()

    - #### getN

          public int getN()

    - #### getCertainty

          public int getCertainty()

    - #### getRandom

          public java.security.SecureRandom getRandom()

    - #### getUsageIndex

          public int getUsageIndex()