I've read in many papers something that looks an specialisation of the block ciphers calling them with a lightweight tag, but I couldn't found a definition.

If I understand correctly, those lightweight block ciphers are ciphers that due to their characteristics, are particularly interesting environments like embedded and small memory resources.

But how can be them defined formally to trace a clear line to distinguish which algorithms are, and which not, in this lightweight block ciphers set?

  • are you talking about lightweight cipher algorithms for wireless sensor network devices, like RFID? – user37696 Jan 22 '14 at 6:26
  • The rfids is one of the research fields where often the block ciphers had a prefix lightweight. But my confusion came from sometimes it is said as a requirement sometime no, giving me the false impression that they where different sets of algorithms. – srgblnch Jan 23 '14 at 7:53

Block ciphers are very simple. They are designed to be light weight and I have never heard of anyone having resource consumption problems with their use. (Maybe 30+ years ago this was problem?)

All NIST approved block ciphers are very light weight. You should benchmark these algorithms on your platform to find the best one. (Don't even try DES/3DES, AES-128 is probably what you want.)

This question is kind of funny because the most common problem is that block ciphers are too fast and that you need to use a KDF to protect the key.


There is no absolute notion of "lightweightness": by definition, this is a relative notion: on a given architecture, a specific algorithm may be "lighter" than another. Depending on the usage context, this may be "light enough" or not. Moreover, there are several metrics:

  • On software platforms, we consider CPU usage and RAM usage (both L1 cache for code, depending on code size, and L1 cache for data, exercised by lookup tables).
  • On hardware platforms (FPGA, ASIC...), silicon area, latency, bandwidth, enery consumption... are important values and neither is "more important" generically than any other.

An algorithm can be lighter than another for one of these metrics, and heavier for another. For instance, with typical implementations, on software platforms, AES will use less CPU than 3DES, but will need from RAM (about 4 kB for constant lookup tables; usually, this cache usage is perfectly tolerable, which is why AES is almost invariably "much faster" than 3DES).

Every researcher eager on touting the performance characteristics of his pet cipher will define his own formal line of weight, his creation being, of course, in the "light" side.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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