gnu.crypto.sig.dss
Class DSSKey
java.lang.Object
|
+--gnu.crypto.sig.dss.DSSKey
- All Implemented Interfaces:
- java.security.interfaces.DSAKey, java.security.Key, java.io.Serializable
- Direct Known Subclasses:
- DSSPrivateKey, DSSPublicKey
- 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.
- Version:
- $Revision: 1.2 $
- See Also:
DSSPrivateKey.getEncoded()
,
DSSPublicKey.getEncoded()
, Serialized Form
Field Summary |
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 . |
Fields inherited from interface java.security.Key |
serialVersionUID |
Constructor Summary |
protected |
DSSKey(java.math.BigInteger p,
java.math.BigInteger q,
java.math.BigInteger g)
Trivial protected constructor. |
Method Summary |
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()
|
java.lang.String |
getFormat()
|
java.security.interfaces.DSAParams |
getParams()
|
Methods inherited from class java.lang.Object |
, clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.security.Key |
getEncoded |
p
protected final java.math.BigInteger p
- A prime modulus, where
2L-1 < p < 2L
for 512 <= L <= 1024
and L
a multiple of
64
.
q
protected final java.math.BigInteger q
- A prime divisor of
p - 1
, where 2159 < q
< 2160
.
g
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
).
DSSKey
protected DSSKey(java.math.BigInteger p,
java.math.BigInteger q,
java.math.BigInteger g)
- Trivial protected constructor.
- Parameters:
p
- the DSS parameter p
.q
- the DSS parameter q
.g
- the DSS parameter g
.
getParams
public java.security.interfaces.DSAParams getParams()
- Specified by:
getParams
in interface java.security.interfaces.DSAKey
getAlgorithm
public java.lang.String getAlgorithm()
- Specified by:
getAlgorithm
in interface java.security.Key
getFormat
public java.lang.String getFormat()
- Specified by:
getFormat
in interface java.security.Key
equals
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.
- Overrides:
equals
in class java.lang.Object
- 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.
Copyright ©2001-2002
Free Software Foundation, Inc.. All Rights Reserved.