The interfaces in the javax.crypto.interfaces package define the methods that must be supported by the Diffie-Hellman public/private key pairs used in the Diffie-Hellman key-agreement protocol. These interfaces are typically of interest only to programmers who are implementing a cryptographic provider or who want to implement cryptographic algorithms themselves. Use of this package requires basic familiarity with the Diffie-Hellman key-agreement algorithm and the mathematics that underlie it. Figure 27-1 shows the class hierarchy of this package. Note that the javax.crypto.spec package also contains classes that provide algorithm-specific details about Diffie-Hellman keys.
DHKey | JCE 1.2 | |
|
||
javax.crypto.interfaces |
This interface represents a Diffie-Hellman key. The javax.crypto.spec.DHParameterSpec returned by getParams() specifies the parameters that generate the key; they define a key family. See the subinterfaces DHPublicKey and DHPrivateKey for the actual key values.
public abstract interface DHKey { | ||
// | Public Instance Methods | |
public abstract javax.crypto.spec.DHParameterSpec getParams (); | ||
} |
Implementations: DHPrivateKey, DHPublicKey
DHPrivateKey | JCE 1.2 | |
|
||
javax.crypto.interfaces | serializable |
This interface represents a Diffie-Hellman private key. Note that it extends two interfaces: DHKey and java.security.PrivateKey. getX() returns the private-key value. If you are working with a PrivateKey you know is a Diffie-Hellman key, you can cast your PrivateKey to a DHPrivateKey.
public abstract interface DHPrivateKey extends DHKey, java.security.PrivateKey { | ||
// | Public Instance Methods | |
public abstract java.math.BigInteger getX (); | ||
} |
Hierarchy: (DHPrivateKey(DHKey,java.security.PrivateKey(java.security.Key(Serializable))))
DHPublicKey | JCE 1.2 | |
|
||
javax.crypto.interfaces | serializable |
This interface represents a Diffie-Hellman public key. Note that it extends two interfaces: DHKey and java.security.PublicKey. getY() returns the public-key value. If you are working with a PublicKey you know is a Diffie-Hellman key, you can cast your PublicKey to a DHPublicKey.
public abstract interface DHPublicKey extends DHKey, java.security.PublicKey { | ||
// | Public Instance Methods | |
public abstract java.math.BigInteger getY (); | ||
} |
Hierarchy: (DHPublicKey(DHKey,java.security.PublicKey(java.security.Key(Serializable))))
Copyright © 2001 O'Reilly & Associates. All rights reserved.