Key Scheduling of International Data Encryption Algorithm (IDEA)

How to perform the key scheduling in International Data Encryption Algorithm (IDEA), I took a research but I can't understand how to perform it,

"further groups of eight keys are created by rotating the main key left 25 bits between each group of eight.", this is the part where I cannot understand the key scheduling of IDEA

-

– calccrypto Oct 16 '12 at 13:39

1 Answer

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.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 10, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": false, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9340927004814148, "perplexity_flag": "middle"}