Contents
Navigation
PatiSoftware Other Documents Related Topics

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 .





Characteristics
Type:Class
Hierarchy: →
Availability:QDLPluginEncryptionPS 1.0 or later
Console Safe

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:

()
This is the default constructor. The property is set to an empty string and the value of the property is set to 128.
(other as QDLPlgSerpent)
This is the copy constructor. The properties of the object to be copied will be used to initialize the new class instance properties
(key as string)
Initializes the of the new object with the passed key parameter. The value of the property will be automatically set to the value that best fits the length of the given key.