For the latest news and information visit
The GNU Crypto project

gnu.crypto.key.dh
Class GnuDHKey

java.lang.Object
  |
  +--gnu.crypto.key.dh.GnuDHKey
All Implemented Interfaces:
DHKey, java.security.Key, java.io.Serializable
Direct Known Subclasses:
GnuDHPrivateKey, GnuDHPublicKey

public abstract class GnuDHKey
extends java.lang.Object
implements java.security.Key, DHKey

A base asbtract class for both public and private Diffie-Hellman keys. It encapsulates the two DH numbers: p, 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.

Reference:

  1. Diffie-Hellman Key Agreement Method
    Eric Rescorla.

See Also:
Serialized Form

Field Summary
protected  java.math.BigInteger g
          The generator g.
protected  java.math.BigInteger p
          The public prime p.
protected  java.math.BigInteger q
          The public prime q.
 
Fields inherited from interface java.security.Key
serialVersionUID
 
Constructor Summary
protected GnuDHKey(java.math.BigInteger q, java.math.BigInteger p, 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 DHKey and has the same Diffie-Hellman parameter values as this one.
 java.lang.String getAlgorithm()
           
 java.lang.String getFormat()
           
 DHParameterSpec getParams()
          Returns the key parameters.
 java.math.BigInteger getQ()
           
 
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
 

Field Detail

q

protected java.math.BigInteger q
The public prime q. A prime divisor of p-1.


p

protected java.math.BigInteger p
The public prime p.


g

protected java.math.BigInteger g
The generator g.

Constructor Detail

GnuDHKey

protected GnuDHKey(java.math.BigInteger q,
                   java.math.BigInteger p,
                   java.math.BigInteger g)

Trivial protected constructor.

Parameters:
q - a prime divisor of p-1.
p - the public prime.
g - the generator of the group.
Method Detail

getParams

public DHParameterSpec getParams()
Description copied from interface: DHKey
Returns the key parameters.

Specified by:
getParams in interface DHKey
Returns:
the key parameters

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

getQ

public java.math.BigInteger getQ()

equals

public boolean equals(java.lang.Object obj)

Returns true if the designated object is an instance of DHKey and has the same Diffie-Hellman parameter values as this one.

Overrides:
equals in class java.lang.Object
Parameters:
obj - the other non-null DH key to compare to.
Returns:
true if the designated object is of the same type and value as this one.

For the latest news and information visit
The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.