Questions tagged [key-schedule]

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.
66 questions
13
votes
1 answer

What are the requirements of a key schedule?

In the first block cipher I designed I used a CSPRNG to generate the round keys. The purpose was to at least have a chance of creating a (hopefully!) secure cipher on the first try (but please don't use it in production). One criticism I got was…
Demi
  • 4,793
  • 1
  • 19
  • 39
3
votes
2 answers

Security of key schedule that only XORs a key with constants

Suppose that: $MK \in \{0, 1\}^{n}$ and the main key of a block cipher. $RK_{r} \in \{0, 1\}^{n}$ and is the $r$th round key. $RC_{r} \in \{0, 1\}^{n}$ and is the $r$th round constant. $RK_{r} = MK \oplus RC_{r}$ What's the security of this key…
Melab
  • 3,655
  • 2
  • 22
  • 44
0
votes
0 answers

How big could be nothing-up-my-sleeve numbers to initialize key schedule?

Is it fine if algoritm will have $32$ 128-bit numbers that will be nothing-up-my-sleeve numbers to initialize key schedule? As I know from wikipedia the Hasty Pudding Cipher was criticized for its performance on smartcards. Specifically, some…
Tom
  • 1,221
  • 6
  • 16
0
votes
0 answers

Is there a two-way key-stretching function which is infinite?

Only for hobby I made some ciphers, it is not my intention to use them in the real world but I am trying to compare them with existing ciphers. An important function of my ciphers is a key stretching function with the following properties: Kn =…
john-a
  • 1
  • 3