Class DHDomainParameterSpec

java.lang.Object
javax.crypto.spec.DHParameterSpec
org.bouncycastle.jcajce.spec.DHDomainParameterSpec
All Implemented Interfaces:
AlgorithmParameterSpec

public class DHDomainParameterSpec extends DHParameterSpec
Extension class for DHParameterSpec that wraps a DHDomainParameters object and provides the q domain parameter.
  • Constructor Details

    • DHDomainParameterSpec

      public DHDomainParameterSpec(DHParameters domainParameters)
      Base constructor - use the values in an existing set of domain parameters.
      Parameters:
      domainParameters - the Diffie-Hellman domain parameters to wrap.
    • DHDomainParameterSpec

      public DHDomainParameterSpec(BigInteger p, BigInteger q, BigInteger g)
      Minimal constructor for parameters able to be used to verify a public key, or use with MQV.
      Parameters:
      p - the prime p defining the Galois field.
      g - the generator of the multiplicative subgroup of order g.
      q - specifies the prime factor of p - 1
    • DHDomainParameterSpec

      public DHDomainParameterSpec(BigInteger p, BigInteger q, BigInteger g, int l)
      Minimal constructor for parameters able to be used to verify a public key, or use with MQV, and a private value length.
      Parameters:
      p - the prime p defining the Galois field.
      g - the generator of the multiplicative subgroup of order g.
      q - specifies the prime factor of p - 1
      l - the maximum bit length for the private value.
    • DHDomainParameterSpec

      public DHDomainParameterSpec(BigInteger p, BigInteger q, BigInteger g, BigInteger j, int l)
      X9.42 parameters with private value length.
      Parameters:
      p - the prime p defining the Galois field.
      g - the generator of the multiplicative subgroup of order g.
      q - specifies the prime factor of p - 1
      j - optionally specifies the value that satisfies the equation p = jq+1
      l - the maximum bit length for the private value.
    • DHDomainParameterSpec

      public DHDomainParameterSpec(BigInteger p, BigInteger q, BigInteger g, BigInteger j, int m, int l)
      Base constructor - the full domain parameter set.
      Parameters:
      p - the prime p defining the Galois field.
      g - the generator of the multiplicative subgroup of order g.
      q - specifies the prime factor of p - 1
      j - optionally specifies the value that satisfies the equation p = jq+1
      m - the minimum bit length for the private value.
      l - the maximum bit length for the private value.
  • Method Details

    • getQ

      public BigInteger getQ()
      Return the Q value for the domain parameter set.
      Returns:
      the value Q.
    • getJ

      public BigInteger getJ()
      Return the J value for the domain parameter set if available.
      Returns:
      the value J, null otherwise.
    • getM

      public int getM()
      Return the minimum bitlength for a private value to be generated from these parameters, 0 if not set.
      Returns:
      minimum bitlength for private value.
    • getDomainParameters

      public DHParameters getDomainParameters()
      Return the DHDomainParameters object we represent.
      Returns:
      the internal DHDomainParameters.