In cryptography, the socalled product ciphers are a certain kind of ciphers, where the (de)ciphering of data is done in "rounds". The general setup of each round is the same, except for some hardcoded parameters and a part of the cipher key, called a subkey. A key schedule is an algorithm that, given the key, calculates the subkeys for these rounds.
Some types of key schedules Edit
 Some ciphers have simple key schedules. For example, the block cipher TEA simply splits the 128bit key into four 32bit pieces and uses them repeatedly in successive rounds.
 DES uses a key schedule where the 56 bit key is divided into two 28bit halves; each half is thereafter treated separately. In successive rounds, both halves are rotated left by one or two bits (specified for each round), and then 48 subkey bits are selected by Permuted Choice 2 (PC2) — 24 bits from the left half, and 24 from the right. The rotations mean that a different set of bits is used in each subkey; each bit is used in approximately 14 out of the 16 subkeys.
 In an effort to avoid simple relationships between the cipher key and the subkeys, to resist such forms of cryptanalysis as relatedkey attacks and slide attacks, many modern ciphers use much more elaborate key schedules, algorithms that use a oneway function to generate an "expanded key" from which subkeys are drawn. Some ciphers, such as Rijndael (AES) and Blowfish, use parts of the cipher algorithm itself for this key expansion, sometimes initialized with some "nothing up my sleeve numbers". Other ciphers, such as RC5, expand keys with functions that are somewhat or completely different from the encryption functions.
Notes Edit
Knudsen and Mathiassen (2004) give some experimental evidence that indicate that the key schedule plays a part in providing strength against linear and differential cryptanalysis. For toy Feistel ciphers, it was observed that those with complex and welldesigned key schedules can reach a uniform distribution for the probabilities of differentials and linear hulls faster than those with poorlydesigned key schedules.
ReferencesEdit
 Lars R. Knudsen and John Erik Mathiassen, On the Role of Key Schedules in Attacks on Iterated Ciphers, ESORICS 2004, pp322–334.
 Uri Blumenthal and Steven M. Bellovin, A Better Key Schedule for DESlike Ciphers, Proceedings of PRAGOCRYPT '96.
