This document describes the QDLPlgCast class of the QDLPluginEncryptionPS plugin for Xojo/RealStudio.This class implements the CAST–256 (or CAST6) block cipher.
CAST–256 is a symmetric–key block cipher published in June 1998. It was submitted as a candidate for the Advanced Encryption Standard; however, it was not among the five AES finalists. It is an extension of an earlier cipher, CAST–128 (not implemented by the plugin); both were designed according to the "CAST" design methodology invented by Carlisle Adams and Stafford Tavares. Howard Heys and Michael Wiener also contributed to the design. CAST–256 uses the same elements as CAST–128 but is adapted for a block size of 128 bits — twice the size of its 64–bit predecessor (A similar construction occurred in the evolution of into RC6). CAST–256 is composed of 48 rounds, sometimes described as 12 "quad–rounds", arranged in a generalised Feistel network (src. Wikipedia).
In RFC 2612, it is stated that "The CAST–256 cipher described in this document is available worldwide on a royalty–free and licence–free basis for commercial and non–commercial uses."
The QDLPlgCast class can use 128–bit, 192–bit or 256–bit .
The QDLPlgCast class constructors are called when you create a new instance of the class, while the ˜QDLPlgCast class destructor, is called automatically when the class is no more in use. Also, you can invoke the class destructor by setting the instance of the class to nil.
The QDLPlgCast class implements the following initializers: