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
PrivateKeydecodePrivateKey(byte[] k)
PublicKeydecodePublicKey(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:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DH_PRIVATE_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DH parameter q,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter q,
  5. 4-byte count of following bytes representing the DH parameter p in internet order,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter p,
  7. 4-byte count of following bytes representing the DH parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter g,
  9. 4-byte count of following bytes representing the DH parameter x,
  10. 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:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DH_PUBLIC_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DH parameter q in internet order,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter q,
  5. 4-byte count of following bytes representing the DH parameter p in internet order,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter p,
  7. 4-byte count of following bytes representing the DH parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter g,
  9. 4-byte count of following bytes representing the DH parameter y,
  10. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter y,
intgetFormatID()

Method Detail

decodePrivateKey

public PrivateKey decodePrivateKey(byte[] k)

decodePublicKey

public PublicKey decodePublicKey(byte[] k)

encodePrivateKey

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:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DH_PRIVATE_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DH parameter q,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter q,
  5. 4-byte count of following bytes representing the DH parameter p in internet order,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter p,
  7. 4-byte count of following bytes representing the DH parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter g,
  9. 4-byte count of following bytes representing the DH parameter x,
  10. 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

encodePublicKey

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:

  1. 4-byte magic consisting of the value of the literal MAGIC_RAW_DH_PUBLIC_KEY,
  2. 1-byte version consisting of the constant: 0x01,
  3. 4-byte count of following bytes representing the DH parameter q in internet order,
  4. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter q,
  5. 4-byte count of following bytes representing the DH parameter p in internet order,
  6. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter p,
  7. 4-byte count of following bytes representing the DH parameter g,
  8. n-bytes representation of a BigInteger obtained by invoking the toByteArray() method on the DH parameter g,
  9. 4-byte count of following bytes representing the DH parameter y,
  10. 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

getFormatID

public int getFormatID()
Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.