In cryptography, CAST-128 (alternatively CAST5) is a symmetric-key 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 Government of Canada use by the Communications Security Establishment. The algorithm was created in 1996 by Carlisle Adams and Stafford Tavares using the CAST design procedure.[1]
General | |
---|---|
Designers | Carlisle Adams and Stafford Tavares |
First published | 1996 |
Successors | CAST-256 |
Cipher detail | |
Key sizes | 40 to 128 bits |
Block sizes | 64 bits |
Structure | Feistel network |
Rounds | 12 or 16 |
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".[2]
CAST-128 is a 12- or 16-round Feistel network with a 64-bit block size and a key size of between 40 and 128 bits (but only in 8-bit increments). The full 16 rounds are used when the key size is longer than 80 bits.[3]
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.
See also
editReferences
edit- ^ Carlisle M. Adams (1997). "Constructing Symmetric Ciphers Using the CAST Design Procedure" (PDF). Designs, Codes, and Cryptography (12): 283–316.
- ^ Bruce Schneier (1996). Applied Cryptography (2nd ed.). John Wiley & Sons. pp. 334–335. ISBN 0-471-11709-9.
- ^ Carlisle M. Adams (1997-05-12). "CAST Design Procedure Addendum" (PDF). Entrust. Archived from the original (PDF) on 2012-07-14. Retrieved 2013-01-15.
External links
edit- RFC 2144 The CAST-128 Encryption Algorithm
- "CAST Encryption Algorithm Related Publications". Archived from the original on 2007-12-17. Retrieved 2013-01-15.
- "Standard Cryptographic Algorithm Naming: Symmetric Ciphers - CAST-128". Retrieved 2013-01-14.
- "CSEC Approved Cryptographic Algorithms for the Protection of Sensitive Information and for Electronic Authentication and Authorization Applications within GC". Communications Security Establishment Canada. 2011-03-01. Archived from the original on 2014-08-07. Retrieved 2014-12-04.