gnu.crypto.key.dss
public abstract class DSSKey extends Object implements Key, 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.
Version: $Revision: 1.2 $
See Also: DSSPrivateKey DSSPublicKey
Field Summary | |
---|---|
protected BigInteger | gg = 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 BigInteger | p
A prime modulus, where 2L-1 < p < 2L
for 512 <= L <= 1024 and L a multiple of
64 . |
protected BigInteger | q
A prime divisor of p - 1 , where 2159 < q
< 2160 . |
Constructor Summary | |
---|---|
protected | DSSKey(BigInteger p, BigInteger q, BigInteger g) Trivial protected constructor. |
Method Summary | |
---|---|
boolean | equals(Object obj) Returns |
String | getAlgorithm() |
byte[] | getEncoded() |
abstract byte[] | getEncoded(int format) |
String | getFormat() |
DSAParams | getParams() |
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
).2L-1 < p < 2L
for 512 <= L <= 1024
and L
a multiple of
64
.p - 1
, where 2159 < q
< 2160
.Trivial protected constructor.
Parameters: p the DSS parameter p
. q the DSS parameter q
. g the DSS parameter g
.
Returns true
if the designated object is an instance of
DSAKey and has the same DSS (Digital Signature Standard) parameter
values as this one.
Parameters: obj the other non-null DSS key to compare to.
Returns: true
if the designated object is of the same type and
value as this one.
Deprecated: see getEncoded(int).