DHParameterSpec (Java SE 11 & JDK 11 ) (original) (raw)
- javax.crypto.spec.DHParameterSpec
All Implemented Interfaces:
[AlgorithmParameterSpec](../../../java/security/spec/AlgorithmParameterSpec.html "interface in java.security.spec")
public class DHParameterSpec
extends Object
implements AlgorithmParameterSpec
This class specifies the set of parameters used with the Diffie-Hellman algorithm, as specified in PKCS #3: Diffie-Hellman Key-Agreement Standard.
A central authority generates parameters and gives them to the two entities seeking to generate a secret key. The parameters are a primep
, a base g
, and optionally the length in bits of the private value, l
.
It is possible that more than one instance of parameters may be generated by a given central authority, and that there may be more than one central authority. Indeed, each individual may be its own central authority, with different entities having different parameters.
Note that this class does not perform any validation on specified parameters. Thus, the specified values are returned directly even if they are null.
Since:
1.4
See Also:
KeyAgreement
Constructor Summary
Constructors
Constructor Description DHParameterSpec(BigInteger p,BigInteger g) Constructs a parameter set for Diffie-Hellman, using a prime modulusp and a base generator g. DHParameterSpec(BigInteger p,BigInteger g, int l) Constructs a parameter set for Diffie-Hellman, using a prime modulusp, a base generator g, and the size in bits, l, of the random exponent (private value). Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method Description BigInteger getG() Returns the base generator g. int getL() Returns the size in bits, l, of the random exponent (private value). BigInteger getP() Returns the prime modulus p. * ### Methods declared in class java.lang.[Object](../../../java/lang/Object.html "class in java.lang") `[clone](../../../java/lang/Object.html#clone%28%29), [equals](../../../java/lang/Object.html#equals%28java.lang.Object%29), [finalize](../../../java/lang/Object.html#finalize%28%29), [getClass](../../../java/lang/Object.html#getClass%28%29), [hashCode](../../../java/lang/Object.html#hashCode%28%29), [notify](../../../java/lang/Object.html#notify%28%29), [notifyAll](../../../java/lang/Object.html#notifyAll%28%29), [toString](../../../java/lang/Object.html#toString%28%29), [wait](../../../java/lang/Object.html#wait%28%29), [wait](../../../java/lang/Object.html#wait%28long%29), [wait](../../../java/lang/Object.html#wait%28long,int%29)`
Constructor Detail
* #### DHParameterSpec public DHParameterSpec([BigInteger](../../../java/math/BigInteger.html "class in java.math") p, [BigInteger](../../../java/math/BigInteger.html "class in java.math") g) Constructs a parameter set for Diffie-Hellman, using a prime modulus`p` and a base generator `g`. Parameters: `p` \- the prime modulus `g` \- the base generator * #### DHParameterSpec public DHParameterSpec([BigInteger](../../../java/math/BigInteger.html "class in java.math") p, [BigInteger](../../../java/math/BigInteger.html "class in java.math") g, int l) Constructs a parameter set for Diffie-Hellman, using a prime modulus`p`, a base generator `g`, and the size in bits, `l`, of the random exponent (private value). Parameters: `p` \- the prime modulus `g` \- the base generator `l` \- the size in bits of the random exponent (private value)
Method Detail
* #### getP public [BigInteger](../../../java/math/BigInteger.html "class in java.math") getP() Returns the prime modulus `p`. Returns: the prime modulus `p` * #### getG public [BigInteger](../../../java/math/BigInteger.html "class in java.math") getG() Returns the base generator `g`. Returns: the base generator `g` * #### getL public int getL() Returns the size in bits, `l`, of the random exponent (private value). Returns: the size in bits, `l`, of the random exponent (private value), or 0 if this size has not been set
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.