How is key scheduling done in the International Data Encryption Algorithm (IDEA). I did some research, but to no avail.

I could not understand this statement from Wikipedia:

...further groups of eight keys are created by rotating the main key left 25 bits between each group of eight."

Could someone explain this to me?


2 Answers 2


Have a look at the corresponding paper.

The key is a 128-bit string $K$. The round keys for round $r=1,...,8$ are derived as follows:

  • take the version of $K$ cyclically rotated to the left $25\cdot r$ times;
  • split the string obtained into eight substrings and call them $Z_1^{(r)}$, ..., $Z_8^{(r)}$.

The keys $Z_7^{(r)}$ and $Z_8^{(r)}$ are never used. The subkeys $Z_1^{(9)}$, ..., $Z_4^{(9)}$ are used to mask the output.


To generate a key we 128 bit master key:0110101010101 up to 128. 1 key= 16 bit chunks so in this case we generate 8 keys of 16 bits. but one thing the most important while generating keys when we reach to 25th bit means from start to 25 bit then we do LS-25.

1101 Ls-1= 1011 only one left bit is shift to right. 1101 ls-2= 0111 two bits are shift to right. So in case of ls-25 ...25 bits are shift to right.

At last we to complete 7 rounds to finish the process.

  • $\begingroup$ "To generate a key we 128 bit master key" --> we what? $\endgroup$ Apr 28, 2017 at 9:05
  • $\begingroup$ "At last we to complete" --> what does "we to" mean? $\endgroup$ Apr 28, 2017 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.