public abstract class DSSKey
extends java.lang.Object
implements java.security.Key, java.security.interfaces.DSAKey
A base asbtract class for both public and private DSS (Digital Signature
Standard) keys. It encapsulates the three DSS numbers: p
,
q
and g
.
According to the JDK, cryptographic Keys all have a format.
The format used in this implementation is called Raw, and basically
consists of the raw byte sequences of algorithm parameters. The exact order
of the byte sequences and the implementation details are given in each of
the relevant getEncoded()
methods of each of the private and
public keys.
DSSPrivateKey.getEncoded(int)
,
DSSPublicKey.getEncoded(int)
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected java.math.BigInteger |
g
g = h(p-1)/q mod p , where h is any
integer with 1 < h < p - 1 such that h
(p-1)/q mod p > 1 (g has order q mod p
). |
protected java.math.BigInteger |
p
A prime modulus, where
2L-1 < p < 2L
for 512 <= L <= 1024 and L a multiple of
64 . |
protected java.math.BigInteger |
q
A prime divisor of
p - 1 , where 2159 < q
< 2160 . |
Modifier | Constructor and Description |
---|---|
protected |
DSSKey(java.math.BigInteger p,
java.math.BigInteger q,
java.math.BigInteger g)
Trivial protected constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
Returns
true if the designated object is an instance of
DSAKey and has the same DSS (Digital Signature Standard) parameter
values as this one. |
java.lang.String |
getAlgorithm() |
byte[] |
getEncoded()
Deprecated.
see getEncoded(int).
|
abstract byte[] |
getEncoded(int format) |
java.lang.String |
getFormat() |
java.security.interfaces.DSAParams |
getParams() |
protected final java.math.BigInteger p
2L-1 < p < 2L
for 512 <= L <= 1024
and L
a multiple of
64
.protected final java.math.BigInteger q
p - 1
, where 2159 < q
< 2160
.protected final java.math.BigInteger g
g = h(p-1)/q mod p
, where h
is any
integer with 1 < h < p - 1
such that h
(p-1)/q mod p > 1
(g
has order q mod p
).protected DSSKey(java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g)
Trivial protected constructor.
p
- the DSS parameter p
.q
- the DSS parameter q
.g
- the DSS parameter g
.public java.security.interfaces.DSAParams getParams()
getParams
in interface java.security.interfaces.DSAKey
public java.lang.String getAlgorithm()
getAlgorithm
in interface java.security.Key
public byte[] getEncoded()
getEncoded
in interface java.security.Key
public java.lang.String getFormat()
getFormat
in interface java.security.Key
public boolean equals(java.lang.Object obj)
Returns true
if the designated object is an instance of
DSAKey
and has the same DSS (Digital Signature Standard) parameter
values as this one.
equals
in class java.lang.Object
obj
- the other non-null DSS key to compare to.true
if the designated object is of the same type and
value as this one.public abstract byte[] getEncoded(int format)
Copyright © 2025. All rights reserved.