IPWorks Encrypt 2020 .NET Edition

Questions / Feedback?

Elgamal Component

Properties   Methods   Events   Configuration Settings   Errors  

Encrypt and decrypt data with the Elgamal asymmetric key encryption algorithm for public-key cryptography.

Syntax

nsoftware.IPWorksEncrypt.Elgamal

Remarks

The ElGamal component is used to encrypt/decrypt data with the Elgamal asymmetric key encryption algorithm for public-key cryptography.

To begin you must either specify an existing key or create a new key. Existing public or private keys may be specified by setting Key. To create a new key pair call CreateKey.

After specifying a key, specify the data you wish to encrypt or decrypt. Call the Encrypt or Decrypt method to perform the operation.

Input and Output Properties

The component will determine the source and destination of the input and output based on which properties are set.

The order in which the input properties are checked is as follows:

When a valid source is found the search stops. The order in which the output properties are checked is as follows:

  • SetOutputStream
  • OutputFile
  • OutputMessage: The output data is written to this property if no other destination is specified.

When using streams you may need to additionally set CloseInputStreamAfterProcessing or CloseOutputStreamAfterProcessing.

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

The public key consists of the following parameters:

The component 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 component 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.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

InputFileThe file to process.
InputMessageThe message to process.
KeyThe Elgamal key used for decryption.
OutputFileThe output file when encrypting or decrypting.
OutputMessageThe output message after processing.
OverwriteIndicates whether or not the component should overwrite files.
RecipientKeyThe recipient's public key used when encrypting.
UseHexWhether input or output is hex encoded.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
CreateKeyCreates a new key.
DecryptDecrypts the input data using the specified private key.
EncryptEncrypts the input data using the recipient's public key.
ResetResets the component.
SetInputStreamSets the stream from which the component will read data to encrypt or decrypt.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ErrorInformation about errors during data delivery.

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.

CloseInputStreamAfterProcessingDetermines whether or not the input stream is closed after processing.
CloseOutputStreamAfterProcessingDetermines whether or not the output stream is closed after processing.
KeySizeThe size, in bits, of the secret key.
BuildInfoInformation about the product's build.
GUIAvailableTells the component whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks Encrypt 2020 .NET Edition - Version 20.0 [Build 8286]