RFC 2144 (rfc2144) - Page 2 of 15


The CAST-128 Encryption Algorithm



Alternative Format: Original Text Document



RFC 2144             CAST-128 Encryption Algorithms             May 1997


   candidate for general-purpose use throughout the Internet community
   wherever a cryptographically-strong, freely-available encryption
   algorithm is required.

   Adams [Adams] discusses the CAST design procedure in some detail;
   analyses can also be obtained on-line (see, for example, [Web1] or
   [Web2]).

2. Description of Algorithm

   CAST-128 belongs to the class of encryption algorithms known as
   Feistel ciphers; overall operation is thus similar to the Data
   Encryption Standard (DES).  The full encryption algorithm is given in
   the following four steps.

   INPUT:  plaintext m1...m64; key K = k1...k128.
   OUTPUT: ciphertext c1...c64.

   1. (key schedule) Compute 16 pairs of subkeys {Kmi, Kri} from K
      (see Sections 2.1 and 2.4).
   2. (L0,R0)