A block of plaintext consists of 64 bits. The key has 56 bits, but is expressed as a 64-bit string. The 8th, 16th, 24th, ..., bits are parity bits, arranged so that each block of eight bits has an odd number of 1s. This is for error detection purposes. The output of the encryption is a 64-bit ciphertext.
The DES algorithm, depicted in Figure 7.4, starts with a plaintext of 64 bits, and consists of three stages:
The bits of are permuted by a fixed initial permutation to obtain . Write , where is the first 32 bits of and is the last 32 bits.
For , perform the following:
where is a string of 48 bits obtained from the key and is a function to be described later.