Software

The LED block cipher also has good software performances, with measurement in cycles per byte. In this page we list the best table-based software implementations of LED (benchmarks done on an Intel(R) Core(TM) i7 CPU Q 720 cadenced at 1.60GHz). The best speed record up to now are 12 and 18 cycles per byte for LED-64 and LED-128 respectively, achieved by a bit-slice implementation with 32 parallelism at Core i3-2367M @ 1.4GHz. More implementation results and source codes are available here.


 32-bit Reference Implementation
 32-bit Table-Based implementation
32-bit optimized
implementation

LED-64 4.9k
215
57
LED-128 7.3k
318
86


Following are the implementation figures for a 4-bit micro-controller --  Epson S1C63003 1.5V model, with/without masking.


Optimization Code Percentage Instuction Clock Clk Cycles Low speed @ 32.768Khz High speed (63003 @ 500KHz)




size ROM Cycles Cycles per per T'put Energy/blk Energy/bit T'put Energy/blk Energy/bit
Frequency 32.768 500 KHz
(Bytes) used(%)

Byte Round [Kbits/s] [µJ] [nJ] [Kbits/s] [µJ] [µJ]
Current 2.3 220 µA


LED-64
Code Opt 858 12.94% 44220 88440 1381 2763 0.0232 18.623 290.983 0.3533 116.74 1.824
Volt 3 V
Speed Opt 1495 22.55% 35835 71670 1119 2239 0.0286 15.092 235.807 0.4360 94.60 1.478
Coding area 6630 Byte
Speed Opt LUT 4470 67.42% 24885 49770 777 1555 0.0411 10.480 163.752 0.6279 65.69 1.027
Total ROM 6656 Byte

LED‑128
Code Opt 975 14.71% 66313 132626 2072 2763 0.0154 27.927 436.363 0.2356 175.06 2.735




Speed Opt 1671 25.20% 53719 107438 1678 2238 0.0191 22.623 353.490 0.2909 141.81 2.216




Speed Opt LUT 4645 70.06% 37306 74612 1165 1554 0.0274 15.711 245.487 0.4188 98.48 1.539








Masking Optimized Code Percentage Instuction Clock Cycles T'put Energy/blk Energy/bit T'put Energy/blk Energy/bit




LED size ROM Cycles cycles per (@32.768KHz) (@32.768KHz) (@32.768KHz) (@500KHz) (@500KHz) (@500KHz)





(Bytes) used(%)

Byte [Kbits/s] [µJ] [nJ] [Kbits/s] [µJ] [µJ]
Frequency 32.768 500 KHz

LED-64
Code 1435 21.64% 93718 187436 2928 0.0109 39.46 616.69 0.1667 247.41 3.8659
Current 2.3 220 µA
Speed 2128 32.10% 74805 149610 2337 0.0137 31.50 492.24 0.2089 197.48 3.0857
Volt 3 V
Speed-LUT 5460 82.35% 52563 105126 1642 0.0195 22.13 345.88 0.2973 138.76 2.1682
Coding area 6630 Byte


LED‑128
Code 1559 23.51% 140535 281070 4391 0.0073 59.18 924.76 0.1112 371.01 5.7971
Total ROM 6656 Byte
Speed 2303 34.74% 112129 224258 3504 0.0091 47.22 737.84 0.1393 296.02 4.6253




Speed-LUT 5636 85.01% 78792 157584 2462 0.0130 33.18 518.47 0.1983 208.01 3.2502