Implementations of
lightweight block ciphers on a WSN430
sensor
Results concerning cycle count and memory using compilation option -O1
Cycle count for encryption and decryption
Function |
Block Size (bits) |
Encryption: cycle count |
Encryption : cycles/byte |
Decryption: cycle Count |
Decryption: cycles/byte |
AES |
128 |
12624 |
789 |
16742 |
1046 |
CLEFIA128 |
128 |
29493 |
1843 |
27648 |
1728 |
CLEFIA192 |
128 |
44427 |
2776 |
33490 |
2093 |
CLEFIA256 |
128 |
46406 |
2900 |
39386 |
2461 |
DESXL |
64 |
28431 |
3553 |
63257 |
7907 |
DIRnoekeon |
128 |
13977 |
873 |
14331 |
895 |
HIGHT |
64 |
16724 |
2090 |
16521 |
2065 |
IDEA |
64 |
26122 |
3265 |
134242 |
16780 |
INDnoekeon |
128 |
27945 |
1746 |
28337 |
1771 |
KATAN32 |
32 |
317938 |
79484 |
329209 |
82302 |
KATAN48 |
48 |
533089 |
88848 |
537351 |
89558 |
KATAN64 |
64 |
708869 |
88608 |
722293 |
90286 |
KLEIN64 |
64 |
14141 |
1767 |
19532 |
2441 |
KLEIN80 |
64 |
18817 |
2352 |
25987 |
3248 |
KLEIN96 |
64 |
24113 |
3014 |
33060 |
4132 |
KTANTAN32 |
32 |
7491399 |
1872849 |
7499395 |
1874848 |
KTANTAN48 |
48 |
7683949 |
1280658 |
7700593 |
1283432 |
KTANTAN64 |
64 |
7849571 |
981196 |
7880081 |
985010 |
LBlock |
64 |
21744 |
2718 |
10557 |
1319 |
LED128 |
64 |
628449 |
78556 |
630036 |
78754 |
LED128_tcalc |
64 |
124249 |
15531 |
138435 |
17304 |
LED128_tdur |
64 |
77777 |
9722 |
87984 |
10998 |
LED64 |
64 |
419408 |
52426 |
420448 |
52556 |
LED64_tcalc |
64 |
98709 |
12338 |
109499 |
13687 |
LED64_tdur |
64 |
52392 |
6549 |
59048 |
7381 |
MCRYPTON64 |
64 |
42426 |
5303 |
116866 |
14608 |
MCRYPTON96 |
64 |
42626 |
5328 |
117138 |
14642 |
MCRYPTON128 |
64 |
42879 |
5359 |
117213 |
14651 |
MIBS64 |
64 |
29540 |
3692 |
25642 |
3205 |
MIBS80 |
64 |
32356 |
4044 |
34380 |
4297 |
PRESENT_SIZE |
64 |
203700 |
25462 |
202223 |
25277 |
PRESENT_SPEED |
64 |
175271 |
21908 |
175543 |
21942 |
Piccolo128 |
64 |
20937 |
2617 |
22226 |
2778 |
Piccolo80 |
64 |
19174 |
2396 |
20226 |
2528 |
SEA |
96 |
29531 |
2460 |
29671 |
2472 |
SKIPJACK |
64 |
44914 |
5614 |
44866 |
5608 |
TWINE80 |
64 |
35911 |
4488 |
28989 |
3623 |
TWINE128 |
64 |
40513 |
5064 |
29004 |
3625 |
SIMON64_96 |
64 |
11688 |
1461 |
12459 |
1557 |
SIMON64_128 |
64 |
12778 |
1597 |
19099 |
2387 |
SIMON96_96 |
96 |
40699 |
3391 |
44264 |
3688 |
SIMON96_144 |
96 |
41994 |
3499 |
45710 |
3809 |
SIMON128_128 |
128 |
38895 |
2430 |
39644 |
2477 |
SPECK64_96 |
64 |
6764 |
845 |
5896 |
737 |
SPECK64_128 |
64 |
7023 |
877 |
6166 |
770 |
SPECK96_96 |
96 |
18113 |
1509 |
13471 |
1122 |
SPECK96_144 |
96 |
19557 |
1629 |
16651 |
1387 |
SPECK128_128 |
128 |
14529 |
908 |
12343 |
771 |
Memory usage
Function |
Stack size (bytes) |
hline
AES |
19 |
CLEFIA128 |
175 |
CLEFIA192 |
262 |
CLEFIA256 |
264 |
DESXL |
88 |
DIRnoekeon |
22 |
HIGHT |
14 |
IDEA |
76 |
INDnoekeon |
22 |
KATAN32 |
1865 |
KATAN48 |
1949 |
KATAN64 |
308 |
KLEIN64 |
39 |
KLEIN80 |
38 |
KLEIN96 |
41 |
KTANTAN32 |
591 |
KTANTAN48 |
673 |
KTANTAN64 |
740 |
LBlock |
13 |
LED128 |
39 |
LED128_tcalc |
39 |
LED128_tdur |
39 |
LED64 |
39 |
LED64_tcalc |
39 |
LED64_tdur |
39 |
MCRYPTON64 |
21 |
MCRYPTON96 |
24 |
MCRYPTON128 |
21 |
MIBS64 |
20 |
MIBS80 |
20 |
PRESENT_SIZE |
139 |
PRESENT_SPEED |
139 |
Piccolo128 |
86 |
Piccolo80 |
74 |
SEA |
15 |
SKIPJACK |
22 |
TWINE80 |
26 |
TWINE128 |
40 |
SIMON64_96 |
15 |
SIMON64_128 |
15 |
SIMON96_96 |
40 |
SIMON96_144 |
40 |
SIMON128_128 |
39 |
SPECK64_96 |
12 |
SPECK64_128 |
12 |
SPECK96_96 |
34 |
SPECK96_144 |
31 |
SPECK128_128 |
24 |