IPWorks Encrypt 2020 Java Edition

Questions / Feedback?

TEA Class

Properties   Methods   Events   Configuration Settings   Errors  

Encrypt and decrypt data with the TEA (Tiny Encryption Algorithm) block cipher.

Syntax

ipworksencrypt.Tea

Remarks

The TEA component is used to encrypt and decrypt data with the TEA (Tiny Encryption Algorithm) block cipher.

To begin simply specify the data you wish to encrypt or decrypt.

Input and Output Properties

The class 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:

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

Before encrypting you must have a valid Key and IV. There are a few options available to you in regards to key management. The easiest option is to simply set KeyPassword. When KeyPassword is set the component will automatically create a Key and IV using the PKCS5 password digest algorithm. This means there is only one value you need to keep track of.

If you wish to have more control over the Key and IV values you may specify the properties yourself. If IV is left empty, one will be created for you when you call Encrypt or Decrypt.

A simple example:

Component.InputFile = "C:\MyFile.txt";
Component.OutputFile = "C:\Encrypted.txt";
Component.KeyPassword = "password";
Component.Encrypt();

BlockSize Notes

When the BlockSize is larger than 2048, PaddingMode must be set to either 1 (pmZeros) or 2 (pmNone). Other padding modes are not supported when BlockSize is larger than 2048.

Property List


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

AlgorithmThe TEA algorithm.
CipherModeThe cipher mode of operation.
InputFileThe file to process.
InputMessageThe message to process.
IVThe initialization vector (IV).
KeyThe secret key for the symmetric algorithm.
KeyPasswordA password to generate the Key and IV .
OutputFileThe output file when encrypting or decrypting.
OutputMessageThe output message after processing.
OverwriteIndicates whether or not the class should overwrite files.
PaddingModeThe padding mode.
UseHexWhether input or output is hex encoded.

Method List


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

ConfigSets or retrieves a configuration setting.
DecryptDecrypts the data.
DecryptBlockDecrypts a block and returns the decrypted data.
EncryptEncrypts the data.
EncryptBlockEncrypts data and returns the encrypted block.
ResetResets the class.
SetInputStreamSets the stream from which the class will read data to encrypt or decrypt.
SetOutputStreamSets the stream to which the class will write encrypted or decrypted data.

Event List


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

ErrorInformation about errors during data delivery.
ProgressFired as progress is made.

Configuration Settings


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

BlockSizeThe block size, in bits, of the cryptographic operation.
CloseInputStreamAfterProcessingDetermines whether or not the input stream is closed after processing.
CloseOutputStreamAfterProcessingDetermines whether or not the output stream is closed after processing.
IncludeIVWhether to prepend the IV to the output data and read the IV from the input data.
KeyPasswordAlgorithmThe hash algorithm used to derive the Key and IV from the KeyPassword property.
KeyPasswordIterationsThe number of iterations performed when using KeyPassword to derive the Key and IV.
KeyPasswordSaltThe salt value used in conjunction with the KeyPassword to derive the Key and IV.
KeySizeThe size, in bits, of secret key for the symmetric algorithm.
TEARoundsThe number of rounds for TEA and XTEA.
XTEAAlgorithmThe XTEA algorithm.
BuildInfoInformation about the product's build.
GUIAvailableTells the class whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
UseDaemonThreadsWhether threads created by the class are daemon threads.
UseInternalSecurityAPITells the class 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 Java Edition - Version 20.0 [Build 8161]