Implementations of
lightweight block ciphers on a WSN430
sensor
Results concerning cycle count and memory using compilation option -O2
Cycle count for encryption and decryption
Function |
Block Size (bits) |
Encryption: cycle count |
Encryption : cycles/byte |
Decryption: cycle Count |
Decryption: cycles/byte |
AES |
128 |
10711 |
669 |
12918 |
807 |
CLEFIA128 |
128 |
29885 |
1867 |
29480 |
1842 |
CLEFIA192 |
128 |
45387 |
2836 |
35489 |
2218 |
CLEFIA256 |
128 |
47538 |
2971 |
41905 |
2619 |
DESXL |
64 |
30343 |
3792 |
64195 |
8024 |
DIRnoekeon |
128 |
12663 |
791 |
12980 |
811 |
HIGHT |
64 |
14040 |
1755 |
14091 |
1761 |
IDEA |
64 |
26106 |
3263 |
134077 |
16759 |
INDnoekeon |
128 |
25319 |
1582 |
25668 |
1604 |
KATAN32 |
32 |
329230 |
82307 |
337715 |
84428 |
KATAN48 |
48 |
508364 |
84727 |
529251 |
88208 |
KATAN64 |
64 |
702235 |
87779 |
695966 |
86995 |
KLEIN64 |
64 |
13490 |
1686 |
18571 |
2321 |
KLEIN80 |
64 |
18370 |
2296 |
24989 |
3123 |
KLEIN96 |
64 |
23498 |
2937 |
31739 |
3967 |
KTANTAN32 |
32 |
7343573 |
1835893 |
7339235 |
1834808 |
KTANTAN48 |
48 |
7535185 |
1255864 |
7530079 |
1255013 |
KTANTAN64 |
64 |
7702898 |
962862 |
7702385 |
962798 |
LBlock |
64 |
21467 |
2683 |
10779 |
1347 |
LED128 |
64 |
624159 |
78019 |
624765 |
78095 |
LED128_tcalc |
64 |
121668 |
15208 |
135853 |
16981 |
LED128_tdur |
64 |
74941 |
9367 |
85222 |
10652 |
LED64 |
64 |
416546 |
52068 |
416933 |
52116 |
LED64_tcalc |
64 |
97064 |
12133 |
107829 |
13478 |
LED64_tdur |
64 |
50492 |
6311 |
57198 |
7149 |
MCRYPTON64 |
64 |
41954 |
5244 |
115488 |
14436 |
MCRYPTON96 |
64 |
42154 |
5269 |
115650 |
14456 |
MCRYPTON128 |
64 |
42224 |
5278 |
115751 |
14468 |
MIBS64 |
64 |
29162 |
3645 |
25231 |
3153 |
MIBS80 |
64 |
31914 |
3989 |
33868 |
4233 |
PRESENT_SIZE |
64 |
195894 |
24486 |
193300 |
24162 |
PRESENT_SPEED |
64 |
172091 |
21511 |
170830 |
21353 |
Piccolo128 |
64 |
19898 |
2487 |
21187 |
2648 |
Piccolo80 |
64 |
18416 |
2302 |
19468 |
2433 |
SEA |
96 |
27524 |
2293 |
27564 |
2297 |
SKIPJACK |
64 |
44834 |
5604 |
44834 |
5604 |
TWINE80 |
64 |
35535 |
4441 |
28742 |
3592 |
TWINE128 |
64 |
39926 |
4990 |
28757 |
3594 |
SIMON64_96 |
64 |
11669 |
1458 |
11719 |
1464 |
SIMON64_128 |
64 |
12437 |
1554 |
17515 |
2189 |
SIMON96_96 |
96 |
47817 |
3984 |
48016 |
4001 |
SIMON96_144 |
96 |
49260 |
4105 |
49480 |
4123 |
SIMON128_128 |
128 |
38489 |
2405 |
38776 |
2423 |
SPECK64_96 |
64 |
6143 |
767 |
5744 |
718 |
SPECK64_128 |
64 |
6378 |
797 |
6008 |
751 |
SPECK96_96 |
96 |
17911 |
1492 |
12286 |
1023 |
SPECK96_144 |
96 |
18687 |
1557 |
14537 |
1211 |
SPECK128_128 |
128 |
13376 |
836 |
11806 |
737 |
Memory usage
Function |
Stack size (bytes) |
hline
AES |
19 |
CLEFIA128 |
176 |
CLEFIA192 |
263 |
CLEFIA256 |
265 |
DESXL |
82 |
DIRnoekeon |
22 |
HIGHT |
12 |
IDEA |
89 |
INDnoekeon |
22 |
KATAN32 |
1865 |
KATAN48 |
1949 |
KATAN64 |
308 |
KLEIN64 |
35 |
KLEIN80 |
34 |
KLEIN96 |
37 |
KTANTAN32 |
602 |
KTANTAN48 |
673 |
KTANTAN64 |
740 |
LBlock |
14 |
LED128 |
43 |
LED128_tcalc |
39 |
LED128_tdur |
39 |
LED64 |
43 |
LED64_tcalc |
39 |
LED64_tdur |
39 |
MCRYPTON64 |
18 |
MCRYPTON96 |
22 |
MCRYPTON128 |
18 |
MIBS64 |
20 |
MIBS80 |
20 |
PRESENT_SIZE |
139 |
PRESENT_SPEED |
137 |
Piccolo128 |
86 |
Piccolo80 |
74 |
SEA |
15 |
SKIPJACK |
21 |
TWINE80 |
26 |
TWINE128 |
39 |
SIMON64_96 |
15 |
SIMON64_128 |
15 |
SIMON96_96 |
42 |
SIMON96_144 |
42 |
SIMON128_128 |
41 |
SPECK64_96 |
10 |
SPECK64_128 |
10 |
SPECK96_96 |
31 |
SPECK96_144 |
29 |
SPECK128_128 |
27 |