These parameters can be adjusted to meet different goals for security, performance, and exportability. This memo is a restatement of existing published material. The ciphers will be explained in a bottom up object-oriented fashion. First, RC5 keys will be presented along with the key expansion algorithm. For brevity, only the encryption process is described.
Decryption is achieved by inverting the steps of encryption.
The object-oriented description found here should make it easier to implement interoperable systems, though it is not as terse as the functional descriptions found in the references. There are two classes of objects, keys and cipher algorithms. Both classes share operations that create and destroy these objects in a manner that ensures that secret information is not returned to the memory manager. There are four operations for the cipher objects described in this memo. A 32 bit word will produce a 64 bit block size.