In cryptography, the so-called product ciphers are a certain kind of ciphers, where the decryption of data is done in ""rounds"". The general setup of each "round" is the same, except for some hard-coded 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". 