How does the LED lightweight encryption algorithm work?

Asked

Viewed 285 times

9

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

Keys in each round are expansions of a single key or are different keys?

I’ve consulted the sources

  1. https://www.cryptolux.org/index.php/Lightweight_Block_Ciphers#Zorro
  2. https://sites.google.com/site/ledblockcipher/design
  3. https://eprint.iacr.org/2012/600.pdf

But I couldn’t find out if each round is expansions or if they’re different keys.

  • Welcome to Stackoverflow in English =)

  • Valeu @Avelino :D

  • 1

    I do not know this algorithm, but the first reference cited (on the same LED, above the description of Zorro) makes it clear that unlike most block ciphers the LED does not have key expansion: "An interesting feature of this design is key scheduling (or absence of it): a 64-bit key as it is does the 'or exclusive' - xor - with the internal state, while a 128-bit key is divided in half into two sub-bits64-bit keys that are used alternately."

  • Thanks for the remark @mgibsonbr

1 answer

1


I’m also researching on the subject and reading on [Crypto.SO] I found this answer interesting, so I’ll adjust here, I hope it meets us.

On page 3 of Proposal for the LED Algorithm says:

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

Translating:

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

Basically the main key entry is divided into ordered list of Nibbles, 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 a time (16 Nibbles), for a 64-bit main key each subkey will simply be the main key, and for 128-bit keys the algorithm will use the first 16 Nibbles of the master key, and then the second part, the 16 Nibbles remaining, 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 author of the answer points out that the subkeys not used in 'round' as highlighted in the question, but that between each footstep, while each step consists 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 a round, then you replace each Nibble using a non-linear substitution operation (the s-box of the Cipher), you transpose the Nibbles then passing through the highest linear diffuse permutation, with a high branching factor (similar to Mixcolumns in AES, but optimized for Nibbles).

On the basis of the reply: https://crypto.stackexchange.com/a/26013

Browser other questions tagged

You are not signed in. Login or sign up in order to post.