# ElgamalKey Type

Contains the typical parameters for the Elgamal algorithm.

## Remarks

This type is made up of fields that represent the private and public key parameters used by the Elgamal algorithm.

An Elgamal key is made up of a number of individual parameters.

The public key consists of the following parameters:

The class also includes the PublicKey field which holds the PEM formatted public key for ease of use. This is helpful if you are in control of both signature creation and verification process. When sending the public key to a recipient note that not all implementations will support using the PEM formatted value in PublicKey in which case the individual parameters must be sent.

The private key consists of the following parameters:

The class also include the PrivateKey field which holds the PEM formatted private key for ease of use. This is helpful for storing the private key more easily.## Fields

GString |
Represents the G parameter for the Elgamal algorithm. |

GBbyte[] |
Represents the G parameter for the Elgamal algorithm. |

PString |
Represents the P parameter for the Elgamal algorithm. |

PBbyte[] |
Represents the P parameter for the Elgamal algorithm. |

PrivateKeyString |
This field is a PEM formatted private key. The purpose of this field is to allow easier management of the private key parameters by using only a single value. |

PublicKeyString |
This field is a PEM formatted public key. The purpose of this field is to allow easier management of the public key parameters by using only a single value. |

XString |
Represents the X parameter for the Elgamal algorithm. |

XBbyte[] |
Represents the X parameter for the Elgamal algorithm. |

YString |
Represents the Y parameter for the Elgamal algorithm. |

YBbyte[] |
Represents the Y parameter for the Elgamal algorithm. |

## Constructors

publicElgamalKey();

The default constructor creates a new ElgamalKey instance but does not assign a public or private key.

publicElgamalKey(byte[]P,byte[]G,byte[]Y);

The public key constructor assigns an existing public key.

publicElgamalKey(byte[]P,byte[]G,byte[]Y,byte[]X);

The private key constructor assigns an existing private key.