Implementations of
lightweight block ciphers on a WSN430
sensor
Results concerning cycle count and memory using compilation option -Os
Cycle count for encryption and decryption| Function |
Block Size (bits) |
Encryption: cycle count |
Encryption : cycles/byte |
Decryption: cycle Count |
Decryption: cycles/byte |
| AES |
128 |
11850 |
740 |
15713 |
982 |
| CLEFIA128 |
128 |
35680 |
2230 |
30871 |
1929 |
| CLEFIA192 |
128 |
53199 |
3324 |
37369 |
2335 |
| CLEFIA256 |
128 |
55859 |
3491 |
43921 |
2745 |
| DESXL |
64 |
30425 |
3803 |
77628 |
9703 |
| DIRnoekeon |
128 |
15406 |
962 |
15971 |
998 |
| HIGHT |
64 |
21726 |
2715 |
21678 |
2709 |
| IDEA |
64 |
27644 |
3455 |
136239 |
17029 |
| INDnoekeon |
128 |
30805 |
1925 |
31513 |
1969 |
| KATAN32 |
32 |
343102 |
85775 |
355933 |
88983 |
| KATAN48 |
48 |
540107 |
90017 |
539364 |
89894 |
| KATAN64 |
64 |
729479 |
91184 |
711570 |
88946 |
| KLEIN64 |
64 |
13564 |
1695 |
19183 |
2397 |
| KLEIN80 |
64 |
18052 |
2256 |
25420 |
3177 |
| KLEIN96 |
64 |
23160 |
2895 |
32259 |
4032 |
| KTANTAN32 |
32 |
7486539 |
1871634 |
7500003 |
1875000 |
| KTANTAN48 |
48 |
7654327 |
1275721 |
7687624 |
1281270 |
| KTANTAN64 |
64 |
7841413 |
980176 |
7864529 |
983066 |
| LBlock |
64 |
22270 |
2783 |
10930 |
1366 |
| LED128 |
64 |
701106 |
87638 |
703066 |
87883 |
| LED128_tcalc |
64 |
128146 |
16018 |
144289 |
18036 |
| LED128_tdur |
64 |
75506 |
9438 |
87766 |
10970 |
| LED64 |
64 |
467558 |
58444 |
468950 |
58618 |
| LED64_tcalc |
64 |
103230 |
12903 |
115241 |
14405 |
| LED64_tdur |
64 |
50590 |
6323 |
58718 |
7339 |
| MCRYPTON64 |
64 |
44084 |
5510 |
139964 |
17495 |
| MCRYPTON96 |
64 |
44284 |
5535 |
140158 |
17519 |
| MCRYPTON128 |
64 |
44354 |
5544 |
140295 |
17536 |
| MIBS64 |
64 |
30436 |
3804 |
26905 |
3363 |
| MIBS80 |
64 |
32996 |
4124 |
35281 |
4410 |
| PRESENT_SIZE |
64 |
222066 |
27758 |
234468 |
29308 |
| PRESENT_SPEED |
64 |
194165 |
24270 |
195399 |
24424 |
| Piccolo128 |
64 |
19973 |
2496 |
21600 |
2700 |
| Piccolo80 |
64 |
18820 |
2352 |
20218 |
2527 |
| SEA |
96 |
29645 |
2470 |
29729 |
2477 |
| SKIPJACK |
64 |
44847 |
5605 |
44847 |
5605 |
| TWINE80 |
64 |
36290 |
4536 |
28634 |
3579 |
| TWINE128 |
64 |
40688 |
5086 |
28649 |
3581 |
| SIMON64_96 |
64 |
14063 |
1757 |
14266 |
1783 |
| SIMON64_128 |
64 |
14775 |
1846 |
20207 |
2525 |
| SIMON96_96 |
96 |
50328 |
4194 |
50620 |
4218 |
| SIMON96_144 |
96 |
51879 |
4323 |
52192 |
4349 |
| SIMON128_128 |
128 |
42317 |
2644 |
42629 |
2664 |
| SPECK64_96 |
64 |
6662 |
832 |
5971 |
746 |
| SPECK64_128 |
64 |
6917 |
864 |
6241 |
780 |
| SPECK96_96 |
96 |
21812 |
1817 |
15064 |
1255 |
| SPECK96_144 |
96 |
22260 |
1855 |
16785 |
1398 |
| SPECK128_128 |
128 |
18033 |
1127 |
15479 |
967 |
Memory usage
| Function |
Stack size (bytes) |
| hline
AES |
18 |
| CLEFIA128 |
175 |
| CLEFIA192 |
264 |
| CLEFIA256 |
264 |
| DESXL |
82 |
| DIRnoekeon |
21 |
| HIGHT |
14 |
| IDEA |
78 |
| INDnoekeon |
21 |
| KATAN32 |
1867 |
| KATAN48 |
1947 |
| KATAN64 |
306 |
| KLEIN64 |
35 |
| KLEIN80 |
34 |
| KLEIN96 |
37 |
| KTANTAN32 |
582 |
| KTANTAN48 |
643 |
| KTANTAN64 |
715 |
| LBlock |
14 |
| LED128 |
39 |
| LED128_tcalc |
39 |
| LED128_tdur |
39 |
| LED64 |
39 |
| LED64_tcalc |
39 |
| LED64_tdur |
39 |
| MCRYPTON64 |
20 |
| MCRYPTON96 |
24 |
| MCRYPTON128 |
20 |
| MIBS64 |
20 |
| MIBS80 |
20 |
| PRESENT_SIZE |
137 |
| PRESENT_SPEED |
137 |
| Piccolo128 |
85 |
| Piccolo80 |
73 |
| SEA |
14 |
| SKIPJACK |
21 |
| TWINE80 |
26 |
| TWINE128 |
39 |
| SIMON64_96 |
13 |
| SIMON64_128 |
13 |
| SIMON96_96 |
40 |
| SIMON96_144 |
40 |
| SIMON128_128 |
37 |
| SPECK64_96 |
11 |
| SPECK64_128 |
11 |
| SPECK96_96 |
34 |
| SPECK96_144 |
31 |
| SPECK128_128 |
29 |