RFC 2268 (rfc2268) - Page 2 of 11
A Description of the RC2(r) Encryption Algorithm
Alternative Format: Original Text Document
RFC 2268 RC2(r) Encryption Algorithm March 1998
Encryption. This takes a 64-bit input quantity stored in words
R[0], ..., R[3] and encrypts it "in place" (the result is left in
R[0], ..., R[3]).
Decryption. The inverse operation to encryption.
2. Key expansion
Since we will be dealing with eight-bit byte operations as well as
16-bit word operations, we will use two alternative notations
for referring to the key buffer:
For word operations, we will refer to the positions of the
buffer as K[0], ..., K[63]; each K[i] is a 16-bit word.
For byte operations, we will refer to the key buffer as
L[0], ..., L[127]; each L[i] is an eight-bit byte.
These are alternative views of the same data buffer. At all times it
will be true that
K[i] = L[2*i] + 256*L[2*i+1].
(Note that the low-order byte of each K word is given before the
high-order byte.)
We will assume that exactly T bytes of key are supplied, for some T
in the range 1