Implementations of
lightweight block ciphers on a WSN430
sensor
Results concerning cycle count and memory using compilation option -O3
Cycle count for encryption and decryption
Function |
Block Size (bits) |
Encryption: cycle count |
Encryption : cycles/byte |
Decryption: cycle Count |
Decryption: cycles/byte |
AES |
128 |
11936 |
746 |
15504 |
969 |
CLEFIA128 |
128 |
27390 |
1711 |
24052 |
1503 |
CLEFIA192 |
128 |
39377 |
2461 |
28949 |
1809 |
CLEFIA256 |
128 |
42123 |
2632 |
34269 |
2141 |
DESXL |
64 |
30281 |
3785 |
64090 |
8011 |
DIRnoekeon |
128 |
12598 |
787 |
12903 |
806 |
HIGHT |
64 |
13174 |
1646 |
13227 |
1653 |
IDEA |
64 |
24578 |
3072 |
132536 |
16567 |
INDnoekeon |
128 |
25189 |
1574 |
25526 |
1595 |
KATAN32 |
32 |
332153 |
83038 |
333346 |
83336 |
KATAN48 |
48 |
494443 |
82407 |
504853 |
84142 |
KATAN64 |
64 |
701962 |
87745 |
695966 |
86995 |
KLEIN64 |
64 |
8605 |
1075 |
13276 |
1659 |
KLEIN80 |
64 |
11961 |
1495 |
18232 |
2279 |
KLEIN96 |
64 |
14677 |
1834 |
22958 |
2869 |
KTANTAN32 |
32 |
7284266 |
1821066 |
7205517 |
1801379 |
KTANTAN48 |
48 |
7376065 |
1229344 |
7378511 |
1229751 |
KTANTAN64 |
64 |
7563306 |
945413 |
7569655 |
946206 |
LBlock |
64 |
21467 |
2683 |
10779 |
1347 |
LED128 |
64 |
197976 |
24747 |
200309 |
25038 |
LED128_tcalc |
64 |
53427 |
6678 |
64666 |
8083 |
LED128_tdur |
64 |
45825 |
5728 |
54204 |
6775 |
LED64 |
64 |
132136 |
16517 |
133441 |
16680 |
LED64_tcalc |
64 |
37841 |
4730 |
46726 |
5840 |
LED64_tdur |
64 |
30996 |
3874 |
36280 |
4535 |
MCRYPTON64 |
64 |
16221 |
2027 |
22755 |
2844 |
MCRYPTON96 |
64 |
16343 |
2042 |
23256 |
2907 |
MCRYPTON128 |
64 |
16389 |
2048 |
23344 |
2918 |
MIBS64 |
64 |
24531 |
3066 |
28853 |
3606 |
MIBS80 |
64 |
31254 |
3906 |
32952 |
4119 |
PRESENT_SIZE |
64 |
195894 |
24486 |
193313 |
24164 |
PRESENT_SPEED |
64 |
172091 |
21511 |
170844 |
21355 |
Piccolo128 |
64 |
18664 |
2333 |
19953 |
2494 |
Piccolo80 |
64 |
17434 |
2179 |
18486 |
2310 |
SEA |
96 |
19469 |
1622 |
19609 |
1634 |
SKIPJACK |
64 |
44834 |
5604 |
44834 |
5604 |
TWINE80 |
64 |
17208 |
2151 |
10589 |
1323 |
TWINE128 |
64 |
21599 |
2699 |
10604 |
1325 |
SIMON64_96 |
64 |
11062 |
1382 |
11112 |
1389 |
SIMON64_128 |
64 |
13120 |
1640 |
18881 |
2360 |
SIMON96_96 |
96 |
47806 |
3983 |
48005 |
4000 |
SIMON96_144 |
96 |
49637 |
4136 |
49857 |
4154 |
SIMON128_128 |
128 |
39370 |
2460 |
39657 |
2478 |
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 |
44 |
CLEFIA128 |
195 |
CLEFIA192 |
295 |
CLEFIA256 |
294 |
DESXL |
81 |
DIRnoekeon |
21 |
HIGHT |
12 |
IDEA |
87 |
INDnoekeon |
21 |
KATAN32 |
1911 |
KATAN48 |
1949 |
KATAN64 |
308 |
KLEIN64 |
33 |
KLEIN80 |
32 |
KLEIN96 |
34 |
KTANTAN32 |
934 |
KTANTAN48 |
992 |
KTANTAN64 |
1062 |
LBlock |
14 |
LED128 |
72 |
LED128_tcalc |
50 |
LED128_tdur |
50 |
LED64 |
72 |
LED64_tcalc |
50 |
LED64_tdur |
49 |
MCRYPTON64 |
18 |
MCRYPTON96 |
21 |
MCRYPTON128 |
18 |
MIBS64 |
26 |
MIBS80 |
23 |
PRESENT_SIZE |
139 |
PRESENT_SPEED |
137 |
Piccolo128 |
90 |
Piccolo80 |
78 |
SEA |
16 |
SKIPJACK |
21 |
TWINE80 |
26 |
TWINE128 |
39 |
SIMON64_96 |
16 |
SIMON64_128 |
36 |
SIMON96_96 |
65 |
SIMON96_144 |
85 |
SIMON128_128 |
54 |
SPECK64_96 |
10 |
SPECK64_128 |
10 |
SPECK96_96 |
31 |
SPECK96_144 |
29 |
SPECK128_128 |
27 |