This document describes the QDLPlgSerpent class of the QDLPluginEncryptionPS plugin for Xojo/RealStudio.This class implements the Serpent block cipher.
Serpent is a symmetric key block cipher which was a finalist in the Advanced Encryption Standard contest, where it came second to . Serpent was designed by Ross Anderson, Eli Biham, and Lars Knudsen. Like other AES submissions, Serpent has a block size of 128 bits and supports a of 128, 192 or 256 bits. The cipher is a 32–round substitution–permutation network operating on a block of four 32–bit words. Serpent was designed so that all operations can be executed in parallel, using 32 1–bit slices. This maximizes parallelism, but also allows use of the extensive cryptanalysis work performed on DES. Serpent took a more conservative approach to security than the other AES finalists, opting for a larger security margin: the designers deemed 16 rounds to be sufficient against known types of attack, but specified 32 rounds as insurance against future discoveries in cryptanalysis (src. Wikipedia).
The Serpent cipher is in the public domain and has not been patented. There are no restrictions or encumbrances whatsoever regarding its use. As a result, anyone is free to incorporate Serpent in their software (or hardware implementations) without paying license fees.
The QDLPlgSerpent class can use 128–bit, 192–bit or 256–bit .
The QDLPlgSerpent class constructors are called when you create a new instance of the class, while the ˜QDLPlgSerpent 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 QDLPlgSerpent class implements the following initializers: