Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| For the latest news and information visit The GNU Crypto project
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## gnu.crypto.key.dh
Class DHKeyPairRawCodec

    java.lang.Object
      |
      +--gnu.crypto.key.dh.DHKeyPairRawCodec

All Implemented Interfaces:
  IKeyPairCodec

public class DHKeyPairRawCodec
extends java.lang.Object
implements IKeyPairCodec

An object that implements the `IKeyPairCodec` operations for the Raw format to use with Diffie-Hellman keypairs.

Field Summary

Fields inherited from interface gnu.crypto.key.IKeyPairCodec
`RAW_FORMAT`

Constructor Summary
`DHKeyPairRawCodec()`

Method Summary
`java.security.PrivateKey` | `decodePrivateKey(byte[] k)` Decodes an instance of an external private key into its native Java representation.
`java.security.PublicKey` | `decodePublicKey(byte[] k)` Decodes an instance of an external public key into its native Java representation.
`byte[]` | `encodePrivateKey(java.security.PrivateKey key)` Returns the encoded form of the designated Diffie-Hellman private key according to the Raw format supported by this library.
`byte[]` | `encodePublicKey(java.security.PublicKey key)` Returns the encoded form of the designated Diffie-Hellman public key according to the Raw format supported by this library.
`int` | `getFormatID()` Returns the unique identifier (within this library) of the format used to externalise public and private keys.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DHKeyPairRawCodec

    public DHKeyPairRawCodec()

Method Detail

### getFormatID

    public int getFormatID()

  Description copied from interface: `IKeyPairCodec`

  Returns the unique identifier (within this library) of the format used to externalise public and private keys.

  Specified by:
    `getFormatID` in interface `IKeyPairCodec`
  Returns:
    the identifier of the format, the object supports.

### encodePublicKey

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

  Specified by:
    `encodePublicKey` in interface `IKeyPairCodec`
  Parameters:
    `key` - the key to encode.
  Returns:
    the Raw format encoding of the designated key.
  Throws:
    `java.lang.IllegalArgumentException` - if the designated key is not a DH one.
  See Also:
    `Registry.MAGIC_RAW_DH_PUBLIC_KEY`

### decodePublicKey

    public java.security.PublicKey decodePublicKey(byte[] k)

  Description copied from interface: `IKeyPairCodec`

  Decodes an instance of an external public key into its native Java representation.

  Specified by:
    `decodePublicKey` in interface `IKeyPairCodec`
  Parameters:
    `k` - the source of the externalised key to decode.
  Returns:
    a concrete instance of a public key, reconstructed from the designated input.

### encodePrivateKey

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

  Specified by:
    `encodePrivateKey` in interface `IKeyPairCodec`
  Parameters:
    `key` - the key to encode.
  Returns:
    the Raw format encoding of the designated key.
  Throws:
    `java.lang.IllegalArgumentException` - if the designated key is not a DH one.
  See Also:
    `Registry.MAGIC_RAW_DH_PRIVATE_KEY`

### decodePrivateKey

    public java.security.PrivateKey decodePrivateKey(byte[] k)

  Description copied from interface: `IKeyPairCodec`

  Decodes an instance of an external private key into its native Java representation.

  Specified by:
    `decodePrivateKey` in interface `IKeyPairCodec`
  Parameters:
    `k` - the source of the externalised key to decode.
  Returns:
    a concrete instance of a private key, reconstructed from the designated input.

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| For the latest news and information visit The GNU Crypto project
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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