Implementation of the CAST-128 algorithm as a standard component for
the .NET security framework.
In cryptography, CAST5 (alternatively CAST-128) is a block cipher used in a number of products,
notably as the default cipher in some versions of GPG and PGP. It has also been approved for
Canadian government use by the Communications Security Establishment. The algorithm was created
in 1996 by Carlisle Adams and Stafford Tavares using the CAST design procedure; another member
of the CAST family of ciphers, CAST-256 (a former AES candidate) was derived from CAST-128.
According to some sources, the "CAST" name is based on the initials of its inventors, though
Bruce Schneier reports the authors' claim that "the name should conjure up images of randomness" (Schneier, 1996).
CAST-128 is a 12- or 16-round Feistel network with a 64-bit block size and a key
size of between 40 to 128 bits (but only in 8-bit increments). The full 16 rounds are used when
the key size is longer than 80 bits. Components include large 8×32-bit S-boxes based on bent
functions, key-dependent rotations, modular addition and subtraction, and XOR operations.
There are three alternating types of round function, but they are similar in structure and
differ only in the choice of the exact operation (addition, subtraction or XOR) at various points.
Although Entrust holds a patent on the CAST design procedure, CAST-128 is available worldwide
on a royalty-free basis for commercial and non-commercial uses.
Namespace: LLCryptoLib.CryptoAssembly: LLCryptoLib (in LLCryptoLib.dll) Version: 2.0.1024.0 (2.0.1024)
Syntax
C# |
---|
public class Cast5Managed : SymmetricAlgorithm, ICryptoTransform, IDisposable |
Visual Basic |
---|
Public Class Cast5Managed _ Inherits SymmetricAlgorithm _ Implements ICryptoTransform, IDisposable |
Visual C++ |
---|
public ref class Cast5Managed : public SymmetricAlgorithm, ICryptoTransform, IDisposable |
Inheritance Hierarchy
System..::..Object
System.Security.Cryptography..::..SymmetricAlgorithm
LLCryptoLib.Crypto..::..Cast5Managed
System.Security.Cryptography..::..SymmetricAlgorithm
LLCryptoLib.Crypto..::..Cast5Managed