gnu.crypto.key.dh
Class DHKeyPairRawCodec
public
class
DHKeyPairRawCodec
extends Object
implements IKeyPairCodec
An object that implements the IKeyPairCodec operations for the
Raw format to use with Diffie-Hellman keypairs.
Version: $Revision: 1.2 $
Method Summary |
PrivateKey | decodePrivateKey(byte[] k) |
PublicKey | decodePublicKey(byte[] k) |
byte[] | encodePrivateKey(PrivateKey key)
Returns the encoded form of the designated Diffie-Hellman private key
according to the Raw format supported by this library.
The Raw format for a DH private key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_DH_PRIVATE_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DH parameter
q ,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter q ,
- 4-byte count of following bytes representing the DH parameter
p in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter p ,
- 4-byte count of following bytes representing the DH parameter
g ,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter g ,
- 4-byte count of following bytes representing the DH parameter
x ,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter x ,
|
byte[] | encodePublicKey(PublicKey key)
Returns the encoded form of the designated Diffie-Hellman public key
according to the Raw format supported by this library.
The Raw format for a DH public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_DH_PUBLIC_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DH parameter
q in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter q ,
- 4-byte count of following bytes representing the DH parameter
p in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter p ,
- 4-byte count of following bytes representing the DH parameter
g ,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter g ,
- 4-byte count of following bytes representing the DH parameter
y ,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the DH parameter y ,
|
int | getFormatID() |
public PrivateKey decodePrivateKey(byte[] k)
public PublicKey decodePublicKey(byte[] k)
public byte[] encodePrivateKey(PrivateKey key)
Returns the encoded form of the designated Diffie-Hellman private key
according to the Raw format supported by this library.
The Raw format for a DH private key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_DH_PRIVATE_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DH parameter
q
,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter q
,
- 4-byte count of following bytes representing the DH parameter
p
in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter p
,
- 4-byte count of following bytes representing the DH parameter
g
,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter g
,
- 4-byte count of following bytes representing the DH parameter
x
,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter x
,
Parameters: key the key to encode.
Returns: the Raw format encoding of the designated key.
Throws: IllegalArgumentException if the designated key is not a DH one.
See Also: MAGIC_RAW_DH_PRIVATE_KEY
public byte[] encodePublicKey(PublicKey key)
Returns the encoded form of the designated Diffie-Hellman public key
according to the Raw format supported by this library.
The Raw format for a DH public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_DH_PUBLIC_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the DH parameter
q
in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter q
,
- 4-byte count of following bytes representing the DH parameter
p
in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter p
,
- 4-byte count of following bytes representing the DH parameter
g
,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter g
,
- 4-byte count of following bytes representing the DH parameter
y
,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the DH parameter y
,
Parameters: key the key to encode.
Returns: the Raw format encoding of the designated key.
Throws: IllegalArgumentException if the designated key is not a DH one.
See Also: MAGIC_RAW_DH_PUBLIC_KEY
public int getFormatID()