Documente Academic
Documente Profesional
Documente Cultură
M. P. Singh
Prabhat Kumar
ABSTRACT
Ubiquitous and pervasive computing are new era of computing
and it needs lightweight cryptographic algorithms for security.
Lightweight cryptography is used for resource constrained devices
(which have limited memory, limited power and less processing
capability) such as radio frequency identification (RFID) tags, contactless smart cards, wireless sensor network, health care devices
and internet of things (IoT). The design of lightweight block cipher has been active research topic over the years. The comparative evaluations of these block ciphers (which actually reach
low cost goal) on any platform is hard. In this paper comparative evaluation of selected symmetric key lightweight block ciphers such as PRINT, PRESENT, EPCBC, DESL, TWINE, Puffin,
KLEIN, KATAN, LED, LBLOCK and RECTANGLE is presented.
General Terms:
Cryptography, Symmetric key.
Keywords:
1.
INTRODUCTION
2.
2.1
7 2 11 8 1 15
8 15 14 3 2 12
2 14 8 7 13 0
15 5 3 8 4 11
0
11
10
7
10
7
12
1
9
6
15
12
4
9
1
2
6
13
5
0
13
4
11
14
12
1
3
10
3
10
6
13
2.2
5
0
9
6
PRESENT
scheduling.
In key scheduling for EPCBC (48, 96), the left half of 96 bits key
forms the first subkey and applies variant-Feistel structure for 8
rounds. Each variant-Feistel structure is 4 rounds of PR96 cipher
structure without key addition. For EPCBC (96, 96), all 96 bits of
key is the first subkey and applies 32 rounds of PR96 cipher structure without key addition for 32 sub-keys.
2.4
2.5
TWINE
2.3
EPCBC
2.6
Puffin
2.7
KLEIN
ki =
Ki
for i = 0...79
ki80 ki61 ki50 ki13
otherwise
2.9
LED
In key scheduling for 64 bits key, all subkeys are same while for
128 bits key, subkeys are alternatively equaled to left part and right
part.
2.8
2.10
LBLOCK
14
4
1
7
14
2
11
13
8
11
9
11
14
6
5
13
9
10
7
5
15
14
7
8
15
11
4
15
14
15
0
9
12
11
0
12
14
0
5
0
13
15
15
0
7
15
0
14
15
7
4
13
13
15
2
14
15
4
13
2
10
0
0
3
12
0
10
9
0
9
11
10
6
14
13
9
13
11
6
13
1
7
11
9
1
7
6
2
11
4
2 8 3
12 5 6
5 9 3
10 12 13
8 4 9
10 6 3
12 5 7
1 8 3
12 9 10
8 1 12
7
2
2
5
11
1
3
7
2
14
6
8
4
2
10
8
8
5
4
10
12
1
8
4
6
4
1
12
1
3
5
3
10
1
3
5
2
6
3
6
2.11
RECTANGLE
s(x)={9, 4, F, A, E, 1, 0, 6, C, 7, 3, 8, 2, B, 5, D}
At any round, the 64 bits round subkey consists of the 16 rightmost
columns of the current key and updated as follows: Applying the
S-box to the 0th column. Row 0 is left rotated 7 bits , row 1 is left
rotated 9 bits, row 2 is left rotated 11 bits, row 3 is left rotated 13
bits and 5 bits round-constant (RC) is XORed with the rightmost 5
bits of row 0.
3.
COMPARISONS
Function
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc+Dec
Enc.
Enc+Dec
Enc+Dec
Enc+Dec
Enc+Dec
Enc+Dec
Enc+Dec
Enc+Dec
Enc+Dec
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Enc.
Architecture
Serialized
Round-based
Serialized
Round-based
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Round-based
Serialized
Round-based
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Round-based
Serialized
Round-based
Round-based
Round-based
Round-based
Round-based
Round-based
Round-based
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Serialized
Round-based
Serialized
Round-based
Round-based
Serialized
Structure
SPN
SPN
SPN
SPN
SPN
SPN
SPN
SPN
LFSR
LFSR
LFSR
SPN
SPN
SPN
SPN
SPN
SPN
Feistel
Feistel
Feistel
Feistel
Feistel
Feistel
Feistel
Feistel
Feistel
SPN
SPN
SPN
SPN
SPN
SPN
SPN
LFSR
LFSR
LFSR
SPN
SPN
SPN
SPN
Feistel
Feistel
SPN
SPN
SPN
Key size
80
80
160
160
64
80
96
128
80
80
80
80
80
128
128
96
96
56
56
184
184
80
80
80
128
128
128
64
80
96
64
80
96
80
80
80
64
80
96
128
80
80
80
128
80
128 bits key size LED has lesser area than PRESENT but the
throughput of the PRESENT is more then LED and shown in fig 3.
For 96 bits key size EPCBC and LED are used, for 32 or 48 bits
block size KATAN is used and for 56 or 184 bit key size DESL or
DESXL is used.
TWINE, Puffin and KLEIN have both encryption and decryption
function with various key size. For 80 bits key size KLEIN has
lesser area (Gate Equivalents) than TWINE but the throughput of
the TWINE is more then KLEIN. For 128 bits key size TWINE has
lesser area than Puffin but the throughput of the Puffin is more then
Block size
48
48
96
96
64
64
64
64
32
48
64
64
64
64
64
48
96
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
32
48
64
64
64
64
64
64
64
64
64
64
Rounds
48
48
96
96
32
48
48
48
254
254
254
32
32
32
32
32
32
16
16
16
16
36
36
36
36
36
32
12
16
20
12
16
20
254
254
254
32
48
48
48
32
32
25
25
25
Cycles / Block
768
48
3072
96
1248
1872
1872
1872
255
255
255
516
32
528
32
396
792
144
144
144
144
36
540
36
36
36
32
13
17
21
207
271
335
255
255
255
1248
1872
1872
1872
32
576
26
26
461
Throughput
6.25
100
3.13
100
5.1
3.4
3.4
3.4
12.5
18.8
25.1
12.4
200
12.12
200
12.12
12.12
5.55
5.55
5.55
5.55
178
11.8
178
178
178
194
492.3
376.5
304.8
30.9
23.6
19.1
12.5
18.8
25.1
5.1
3.4
3.4
3.4
200
11.1
246
246
13.9
Area (GEs)
402
503
726
967
688
690
695
700
462
588
688
1030
1570
1339
1886
1008
1333
2309
1848
2629
2168
1503
1116
1799
1866
2285
2577
2475
2629
2769
1220
1478
1528
802
927
1054
966
1040
1116
1265
1320
866
1467
1787
1066
TWINE and shown in fig 4. For 64 and 96 bits key size KLEIN is
used.
4.
CONCLUSION
5.
REFERENCES
[1] http://en.wikipedia.org/wiki/KeeLoq.
[2] http://en.wikipedia.org/wiki/Data_Encryption_
Standard.
[3] Andrey Bogdanov, Lars R. Knudsen, Gregor Leander,
Christof Paar, Axel Poschmann, Matthew J. B. Robshaw, Yannick Seurin, and C. Vikkelsoe. Present: An ultra-lightweight
block cipher. In Cryptographic Hardware and Embedded Systems - CHES 2007, 9th International Workshop, Vienna, Austria, September 10-13, 2007, Proceedings, volume 4727 of
Lecture Notes in Computer Science, pages 450466. Springer,
2007.
[4] Christophe Cannire, Orr Dunkelman, and Miroslav Kneevi.
Katan and ktantan a family of small and efficient hardwareoriented block ciphers. In Christophe Clavier and Kris Gaj,
editors, Cryptographic Hardware and Embedded Systems CHES 2009, volume 5747 of Lecture Notes in Computer Science, pages 272288. Springer Berlin Heidelberg, 2009.