The Decryption component is used for decrypting data, based on a key (that is entered by the user) and an algorithm. To decrypt the data accurately, the user must know the correct key and algorithm, using which the data has been encrypted.

The supported algorithms are DES, PGP, PGP_RFC4880, Base64, TripleDES, AES256, AES128, RC2-40, RC2-64, and RC2-128.

Icon

The Decryption component uses Cryptix as the Security provider. Hence you have to configure the JRE so that the JVM can pick up the Cryptix security provider.

Configuration

Interaction Configurations

The component has the attributes mentioned below which can be configured from its Configuration Property sheet (CPS). Figure 1 displays the CPS with Binary Output Required property and Binary Input Required property disabled, and Read input from file and Read output to file properties enabled.


Figure 1: Configurable properties for Decryption component

Decryption Configuration

Decryption Details consists Data Encryption Details and Verification Details.

Data Decryption Details

 
Figure 2: Decryption Algorithm Details

Decryption Algorithm Name

The supported algorithms that are available are DES, PGP, PGP_RFC4880, Base64, TripleDES, AES256, AES128, RC2-40, RC2-64, and RC2-128.

The configuration for each algorithm is mentioned in the sections below.

DES Decryption Algorithm Configuration

For DES, the configuration panel is as shown in Figure 2. Set the following fields accordingly.

  • Encryption Key: Specify key which is used to encrypt the incoming data. Specify 32 digit key for AES256, 16 digit key for AES128, 16 digit key for DES, 24 digit key for TripleDES, 5 digit key for RC2_40, 8 digit key for RC2_64 and 16 digit key for RC2_128
  • Allow Padding: Choose yes to allow padding to the key to make exactly the value required for the mentioned algorithm. It has to be chosen only when we know that the encrypted data key is also padded.
  • Transformation: Transformation always includes the name of a cryptographic algorithm (e.g., AES), and may be followed by a feedback mode and padding scheme.
  • Allow Password Based Encryption: Enable this property to create strong secret keys based on encryption key, salt value and iteration count provided.
    • Salt Value (Base64 Encoded): Specify Base64 encoded salt value for password based encryption.
    • Iteration Count: Specify iteration count for password based encryption.
     
AES256, AES192, AES128, TripleDES Decryption Algorithm configurations


Figure 3: AES256 , AES192 , AES128,TripleDES Decryption configuration

Set the Encryption key and the Padding key details similar to the DES algorithm.

  • Key Encoded Format: Specify appropriate encoding format for the key. Examples: (UTF-8), (ISO-8859-1).
  • Key Conversion Type: Select Key Conversion Type in the following ways :
    • None: Select if the Encryption key is a simple string.

    • Base64: Select if the Encryption key is Base64 Encoded.

    • Hex: Select if the Encryption key is Hexadecimal Encoded.

  • Allow padding to key: Enable this property to allow padding to the key to make exactly the value required for the mentioned algorithm. It has to be chosen only when the encrypted data key is also padded.

    Icon

    This button will be disabled in the case of Base64 and Hex.

  • InitializationVector: Mention the unique 64-bit input used in the encryption.
  • Transformation: Transformation always includes the name of a cryptographic algorithm (e.g., AES), and may be followed by a feedback mode and padding scheme. By default this property is set to AES/CBC/PKCSSPadding. You can use ECB by providing the following as the parameter value : AES/ECB/PKSSPadding.

  • Allow Password Based Encryption: Enable this property to create strong secret keys based on encryption key, salt value and iteration count provided.
    • Salt Value (Base64 Encoded): Specify Base64 encoded salt value for password based encryption.
    • Iteration Count: Specify iteration count for password based encryption.
RC2_40, RC2_64,RC2_128 Decryption Algorithm Configurations


Figure 4: RC2_40, RC2_64,RC2_128 Algorithm Decryption

Provide the decryption in the same way as for the DES algorithm.

PGP Decryption Configuration


Figure 5: PGP, PGP_RFC4880 Algorithm Decryption

  • Verify: Select this option to sign the message when the algorithm used is PGP.
  • Public Key File: Specify public key file used in case of PGP Algorithm
  • Private Key File: Specify private key file used in case of PGP Algorithm
  • Passphrase: Required for signing in case of PGP algorithm.
RSA Decryption Configuration


Figure 6: RSA Algorithm Decryption

Key Source: There are four options under Key Source :

  1. Text: This requires the Decryption Key details
    • Encryption Key: Specify the appropriate Encryption Key for the selected algorithm to be used to decrypt the incoming data..
  2. PublicKeyFile: The public Key File field has to be filled for this.
    • Public Key File: Provide the file containing the public key.
  3. PrivateKeyFileThe Private Key Password and the Private Key File are the active fields under this.
    • Private Key password: Provide the private key password.
    • Private Key File: Provide the file containing the Private Key.
  4. Certificate: Certificate File is the active field when the key source is Certificate.
    • Certificate File: provide the path of the X509 Certificate.

Digest Decryption Details

 
Figure 7: Digest type for verifying digested data can be provided as given above.

  • VerifySigned Data: Select to verify only when you know that encrypted data has been signed.
  • Digest Type: The supported algorithms for signing/digesting data are are MD5 and SHA-1.
  • Decryption Algorithm Name: Specify the encryption details which are used to encrypt the signed data. It is done in the same way as shown in Data Encryption Details. The algorithm for data encryption and digest data encryption need not be the same.
Decrytion Algorithm Name

Specify the encryption details which are used to encrypt the signed data. It is done in the same way as shown in Data Encryption Details. The algorithm for data encryption and digest data encryption need not be the same.

The following Encryption Algorithms are available:

  • DES
  • AES256
  • AES128
  • AES192
  • RC2_40
  • RC2_64
  • RC2_128
  • TripleDES
  • PGP
  • Base64Encoding
  • RSA

The individual configurations are similar to that of Data Encryption Details.

Binary Output Required

Enable this property if a Binary output is needed. Else decrypted data will be in string format.

Icon

When this property is enabled, properties other than Binary Input Required, Only Sign Data and Read input from file mentioned below are not applicable.

Binary Input Required

Enable if the input is Binary.

Read Input From File?

Enable this option to read input from a file instead of the component input port.

Input File Directory

The absolute path of the directory where the input file is located.

Input File Name

Name of the Input File.

Write output to File?

Select this option if the output is to be written into a file.

Output File Directory

The absolute path of the directory where the output file needs to be stored.

Output File Name

Name of the output file.

Action if same file exist

If the file with same name exists in the target folder, choose the action to be taken from the below options:

  • Overwrite: Overwrites the existing file and hence the old file gets replaced with the new one.
  • Rename: Renames the file with "filename + MMddyyHHmmss + counter(optional)".

Decode Data

Decode Data before decrypting using the Base64 scheme. This option has to be enabled if the encrypted data is encoded using the Base64 scheme as in the case of Encryption component when the Binary Output is not selected and the Encoded Data option is used.

Only Verify Signed Data

Check this option when the signed message needs to be verified without decrypting the data.

Hex Output Required

Enable if a Hex string output is required.

Delimiter

Messages get decoded based on the delimiter configured.

The Hex string delimiter can be chosen from ("", " ", "0x", "0X", "\0x", "\0X", "\x", "\X").

Hex Input Required

Enable if a Hex string input is required.

Monitoring Configuration

Please refer to the Monitoring Configuration section in Common Configurations page.

Expert Properties

Enable the Expert Properties view to configure these properties.

Icon

Expert properties are meant for advanced users; use with caution.


Figure 8: Decryption CPS with the Expert properties highlighted

Process Message Based on Property

The property helps components to skip certain messages from processing.

Refer to the Process Message Based On a Property section under the Common Configurations page.

Cleanup resources (excluding connection) after each document

This closes all the resources except for the connection after every request. If the less processing time is more important the less memory usage, then it is recommended to disable this property and vice versa.

For more details, refer to the respective section under the Common Configurations page.

Target Namespace

Refer to the Target Namespace section under the Common Configurations page.

Testing

Configure the Decryption component as described in the Configuration and Testing section and use the feeder and display component to send sample input and check the response respectively.


Figure 9: Sample input


Figure 10: Sample output

Functional Demonstration

Scenario 1

Decryption of data received from the input.

Configure the Decryption component as described in the Configuration and Testing section and use the feeder and display component to send sample input and check the response respectively.


Figure 11: Demonstrating Scenario 1 with sample input and output

Use Case Scenario

In a bond trading scenario, request for quotes (RFQ) is sent in encrypted form to the appropriate exchanges and the received encrypted responses are decrypted at the user end


Figure 12: Bond Trading Scenario

The event process that demonstrates this scenario is bundled with the installer. Note encryption and decryption components may not be present.

Documentation of the scenario and instructions to run the flow can be found in the Help tab of the flow present in eStudio.

 

Adaptavist ThemeBuilder EngineAtlassian Confluence