A key schedule is an algorithm that expands a relatively short master key to a relatively large expanded key for later use in an encryption and decryption algorithm.
A key schedule is an algorithm that expands a relatively short master key (typically between 40 and 256 bits long) to a relatively large expanded key (typically several hundred or thousand bits) for later use in an encryption and decryption algorithm. Key schedules are used in several ways:
- To specify the round keys of a product cipher. DES [NBS77] uses its key schedule in this way, as do many other product ciphers.
- To initialize some fixed elements of a cryptographic transform. Khufu [Mer91], Blowfish [Sch94], and SEAL [RC94] use a key schedule this way.
- To initialize the state of a stream cipher prior to generating keystream. RC4 [Sch96] uses a key schedule in this way.