How does the LED light encryption algorithm work?

9

I would like to better understand the operation of the algorithm LED step by step, mainly the process of substitution and permutation of the blocks and mainly the use of the keys in each round.

Are the keys in each round expansions of a single key or are they different keys?

I already consulted the sources

  • link
  • link
  • link
  • But I could not find if each round were expansions or if they were different keys.

        
    asked by anonymous 30.05.2015 / 00:10

    1 answer

    1

    I'm also researching the subject and reading in [crypto.SO] I found this interesting answer, so I'll fit it here, I hope it caters to us.

    On page 3 of the LED Algorithm Proposal says:

      

    "Note that for 64-bit key K , all subkeys are equal to K , while for 128-bit key K , the subkeys are alternately equal to the left part K^1 and to the right part K^2 of K . "

    Translating:

      

    Note that for a 64-bit k key, all subkeys are equal to $ k $, while for a 128-bit k key, the subkeys are alternately equal to the left of k^1 and the right part k^2 of k .

    Basically, the main key entry is divided into nibbles sorted lists, and when the algorithm needs material for subkeys it uses exactly the nibbles directly from the sorted list - moving each nibble to the end of the line, so that all nibbles are used in succession. Since the algorithm handles 64 bits of subkeys at one time, for a 64-bit master key each subkey is simply the primary key, and for 128-bit keys the algorithm will use the first 16 nibbles of the master key, and then the second part, the remaining 16 , and then the first 16 again, and so on. At the top of page 4 shows the diagram of how this works for an 80-bit master key.

    Considering the original question in which this response was applied, the response author points out that unused subkeys in ' round ' as highlighted in the question, but that between each step , while each step is composed of 4 rounds. Each round consists of 4 operations, very similar to the one used in the AES algorithm - first you run a xor in one round, then you replace each nibble using a non- linear (the cipher s-box), you transpose the nibbles and then pass through the highest linear fuzzy permutation with a high branching factor (similar to MixColumns in AES , but optimized for nibbles ).

    Based on response: link

        
    13.04.2017 / 14:48