Implementations
Software Implementations: first results
These results have been collected using FELICS-AE, our fork of
CryptoLUX’s FELICS framework dedicated to AEAD ciphers.
Performance results for 128-bit key algorithms on AVR ATmega128.
ACORN-128 |
8bitfast |
-O3 |
3558 |
231 |
238989 |
AES-128-GCM |
ref |
-O3 |
5850 |
701 |
5533470 |
Ascon-128 |
ref |
-O3 |
5838 |
265 |
193031 |
Ascon-128a |
ref |
-O3 |
6098 |
281 |
163965 |
Lilliput-I-128 |
felicsref |
-O3 |
5258 |
265 |
111041 |
Lilliput-I-128 |
threshold |
-O3 |
10376 |
425 |
645533 |
Lilliput-II-128 |
felicsref |
-O3 |
4484 |
231 |
132532 |
Lilliput-II-128 |
threshold |
-O3 |
9656 |
383 |
850022 |
ACORN-128 |
8bitfast |
-Os |
2506 |
207 |
222697 |
AES-128-GCM |
ref |
-Os |
2852 |
710 |
17514449 |
Ascon-128 |
ref |
-Os |
4202 |
324 |
248533 |
Ascon-128a |
ref |
-Os |
4204 |
340 |
210041 |
Lilliput-I-128 |
felicsref |
-Os |
2606 |
259 |
250646 |
Lilliput-I-128 |
threshold |
-Os |
4482 |
426 |
1016558 |
Lilliput-II-128 |
felicsref |
-Os |
2558 |
244 |
276702 |
Lilliput-II-128 |
threshold |
-Os |
4398 |
386 |
1325602 |
Performance of Lilliput-AE on AVR ATmega128.
Lilliput-I-128 |
felicsref |
-O3 |
5258 |
265 |
111041 |
Lilliput-I-128 |
threshold |
-O3 |
10376 |
425 |
645533 |
Lilliput-I-192 |
felicsref |
-O3 |
5422 |
281 |
138767 |
Lilliput-I-192 |
threshold |
-O3 |
10780 |
449 |
760121 |
Lilliput-I-256 |
felicsref |
-O3 |
5634 |
297 |
181229 |
Lilliput-I-256 |
threshold |
-O3 |
11458 |
473 |
935669 |
Lilliput-II-128 |
felicsref |
-O3 |
4484 |
231 |
132532 |
Lilliput-II-128 |
threshold |
-O3 |
9656 |
383 |
850022 |
Lilliput-II-192 |
felicsref |
-O3 |
4622 |
247 |
165808 |
Lilliput-II-192 |
threshold |
-O3 |
9872 |
407 |
997902 |
Lilliput-II-256 |
felicsref |
-O3 |
4786 |
263 |
215024 |
Lilliput-II-256 |
threshold |
-O3 |
10424 |
431 |
1215707 |
Lilliput-I-128 |
felicsref |
-Os |
2606 |
259 |
250646 |
Lilliput-I-128 |
threshold |
-Os |
4482 |
426 |
1016558 |
Lilliput-I-192 |
felicsref |
-Os |
2750 |
275 |
314882 |
Lilliput-I-192 |
threshold |
-Os |
4628 |
450 |
1207550 |
Lilliput-I-256 |
felicsref |
-Os |
2928 |
291 |
407912 |
Lilliput-I-256 |
threshold |
-Os |
4814 |
474 |
1489814 |
Lilliput-II-128 |
felicsref |
-Os |
2558 |
244 |
276702 |
Lilliput-II-128 |
threshold |
-Os |
4398 |
386 |
1325602 |
Lilliput-II-192 |
felicsref |
-Os |
2672 |
264 |
352146 |
Lilliput-II-192 |
threshold |
-Os |
4510 |
410 |
1570682 |
Lilliput-II-256 |
felicsref |
-Os |
2828 |
279 |
466082 |
Lilliput-II-256 |
threshold |
-Os |
4666 |
434 |
1935234 |
Performance results for 128-bit key algorithms on MSP430F1611.
ACORN-128 |
8bitfast |
-O3 |
3296 |
280 |
394058 |
AES-128-GCM |
ref |
-O3 |
6602 |
708 |
9936368 |
Ascon-128 |
ref |
-O3 |
7638 |
258 |
475222 |
Ascon-128a |
ref |
-O3 |
7914 |
276 |
398238 |
Lilliput-I-128 |
felicsref |
-O3 |
5048 |
352 |
151472 |
Lilliput-I-128 |
msp-fast |
-O3 |
4066 |
278 |
75311 |
Lilliput-I-128 |
msp-threshold |
-O3 |
7002 |
420 |
442670 |
Lilliput-I-128 |
threshold |
-O3 |
8622 |
502 |
581609 |
Lilliput-II-128 |
felicsref |
-O3 |
4296 |
298 |
178331 |
Lilliput-II-128 |
msp-fast |
-O3 |
3428 |
232 |
90987 |
Lilliput-II-128 |
msp-threshold |
-O3 |
6408 |
366 |
583511 |
Lilliput-II-128 |
threshold |
-O3 |
7934 |
448 |
759463 |
ACORN-128 |
8bitfast |
-Os |
2438 |
220 |
543077 |
AES-128-GCM |
ref |
-Os |
2020 |
700 |
20038829 |
Ascon-128 |
ref |
-Os |
3348 |
326 |
490172 |
Ascon-128a |
ref |
-Os |
3352 |
344 |
410514 |
Lilliput-I-128 |
felicsref |
-Os |
2354 |
304 |
300051 |
Lilliput-I-128 |
msp-fast |
-Os |
2144 |
250 |
77328 |
Lilliput-I-128 |
msp-smallrom |
-Os |
1780 |
248 |
121938 |
Lilliput-I-128 |
msp-threshold |
-Os |
3862 |
400 |
567345 |
Lilliput-I-128 |
threshold |
-Os |
3842 |
426 |
968208 |
Lilliput-II-128 |
felicsref |
-Os |
2284 |
290 |
357630 |
Lilliput-II-128 |
msp-fast |
-Os |
2074 |
224 |
92954 |
Lilliput-II-128 |
msp-smallrom |
-Os |
1702 |
222 |
150438 |
Lilliput-II-128 |
msp-threshold |
-Os |
3798 |
366 |
748898 |
Lilliput-II-128 |
threshold |
-Os |
3686 |
394 |
1254310 |
Performance of Lilliput-AE on MSP430F1611.
Lilliput-I-128 |
felicsref |
-O3 |
5048 |
352 |
151472 |
Lilliput-I-128 |
msp-fast |
-O3 |
4066 |
278 |
75311 |
Lilliput-I-128 |
msp-threshold |
-O3 |
7002 |
420 |
442670 |
Lilliput-I-128 |
threshold |
-O3 |
8622 |
502 |
581609 |
Lilliput-I-192 |
felicsref |
-O3 |
5286 |
376 |
194009 |
Lilliput-I-192 |
msp-fast |
-O3 |
4172 |
294 |
92981 |
Lilliput-I-192 |
msp-threshold |
-O3 |
7274 |
444 |
524453 |
Lilliput-I-192 |
threshold |
-O3 |
9052 |
542 |
704651 |
Lilliput-I-256 |
felicsref |
-O3 |
5570 |
402 |
258905 |
Lilliput-I-256 |
msp-fast |
-O3 |
4318 |
310 |
120794 |
Lilliput-I-256 |
msp-threshold |
-O3 |
7500 |
468 |
625502 |
Lilliput-I-256 |
threshold |
-O3 |
9718 |
584 |
890714 |
Lilliput-II-128 |
felicsref |
-O3 |
4296 |
298 |
178331 |
Lilliput-II-128 |
msp-fast |
-O3 |
3428 |
232 |
90987 |
Lilliput-II-128 |
msp-threshold |
-O3 |
6408 |
366 |
583511 |
Lilliput-II-128 |
threshold |
-O3 |
7934 |
448 |
759463 |
Lilliput-II-192 |
felicsref |
-O3 |
4492 |
322 |
226643 |
Lilliput-II-192 |
msp-fast |
-O3 |
3510 |
248 |
112151 |
Lilliput-II-192 |
msp-threshold |
-O3 |
6494 |
390 |
676263 |
Lilliput-II-192 |
threshold |
-O3 |
8272 |
480 |
909699 |
Lilliput-II-256 |
felicsref |
-O3 |
4730 |
346 |
301159 |
Lilliput-II-256 |
msp-fast |
-O3 |
3616 |
264 |
143607 |
Lilliput-II-256 |
msp-threshold |
-O3 |
6778 |
414 |
814911 |
Lilliput-II-256 |
threshold |
-O3 |
8852 |
520 |
1139907 |
Lilliput-I-128 |
felicsref |
-Os |
2354 |
304 |
300051 |
Lilliput-I-128 |
msp-fast |
-Os |
2144 |
250 |
77328 |
Lilliput-I-128 |
msp-smallrom |
-Os |
1780 |
248 |
121938 |
Lilliput-I-128 |
msp-threshold |
-Os |
3862 |
400 |
567345 |
Lilliput-I-128 |
threshold |
-Os |
3842 |
426 |
968208 |
Lilliput-I-192 |
felicsref |
-Os |
2496 |
288 |
407448 |
Lilliput-I-192 |
msp-fast |
-Os |
2250 |
266 |
95022 |
Lilliput-I-192 |
msp-smallrom |
-Os |
1790 |
264 |
153777 |
Lilliput-I-192 |
msp-threshold |
-Os |
4212 |
424 |
664362 |
Lilliput-I-192 |
threshold |
-Os |
3996 |
450 |
1182246 |
Lilliput-I-256 |
felicsref |
-Os |
2680 |
304 |
537270 |
Lilliput-I-256 |
msp-fast |
-Os |
2396 |
282 |
122871 |
Lilliput-I-256 |
msp-smallrom |
-Os |
1804 |
280 |
207669 |
Lilliput-I-256 |
msp-threshold |
-Os |
4366 |
448 |
787947 |
Lilliput-I-256 |
threshold |
-Os |
4192 |
474 |
1503162 |
Lilliput-II-128 |
felicsref |
-Os |
2284 |
290 |
357630 |
Lilliput-II-128 |
msp-fast |
-Os |
2074 |
224 |
92954 |
Lilliput-II-128 |
msp-smallrom |
-Os |
1702 |
222 |
150438 |
Lilliput-II-128 |
msp-threshold |
-Os |
3798 |
366 |
748898 |
Lilliput-II-128 |
threshold |
-Os |
3686 |
394 |
1254310 |
Lilliput-II-192 |
felicsref |
-Os |
2344 |
314 |
443902 |
Lilliput-II-192 |
msp-fast |
-Os |
2156 |
240 |
114150 |
Lilliput-II-192 |
msp-smallrom |
-Os |
1792 |
238 |
181278 |
Lilliput-II-192 |
msp-threshold |
-Os |
3962 |
390 |
861962 |
Lilliput-II-192 |
threshold |
-Os |
3800 |
418 |
1519286 |
Lilliput-II-256 |
felicsref |
-Os |
2486 |
298 |
627042 |
Lilliput-II-256 |
msp-fast |
-Os |
2262 |
256 |
145654 |
Lilliput-II-256 |
msp-smallrom |
-Os |
1802 |
254 |
237386 |
Lilliput-II-256 |
msp-threshold |
-Os |
4174 |
414 |
1030658 |
Lilliput-II-256 |
threshold |
-Os |
3962 |
442 |
1919726 |
Performance results for 128-bit key algorithms on ARM Cortex-M3.
ACORN-128 |
opt1 |
-O3 |
11664 |
656 |
58026 |
AES-128-GCM |
ref |
-O3 |
4416 |
784 |
5153075 |
Ascon-128 |
opt32 |
-O3 |
19744 |
280 |
13378 |
Ascon-128 |
ref |
-O3 |
3256 |
584 |
35346 |
Ascon-128a |
opt32 |
-O3 |
25036 |
280 |
12085 |
Ascon-128a |
ref |
-O3 |
3488 |
600 |
28550 |
Lilliput-I-128 |
felicsref |
-O3 |
3788 |
412 |
75210 |
Lilliput-I-128 |
threshold |
-O3 |
6080 |
664 |
353444 |
Lilliput-II-128 |
felicsref |
-O3 |
3744 |
388 |
90528 |
Lilliput-II-128 |
threshold |
-O3 |
6052 |
632 |
467421 |
ACORN-128 |
opt1 |
-Os |
2454 |
352 |
47013 |
AES-128-GCM |
ref |
-Os |
1528 |
736 |
15898496 |
Ascon-128 |
opt32 |
-Os |
16024 |
252 |
10713 |
Ascon-128 |
ref |
-Os |
1492 |
448 |
50934 |
Ascon-128a |
opt32 |
-Os |
19028 |
264 |
9598 |
Ascon-128a |
ref |
-Os |
1490 |
464 |
42492 |
Lilliput-I-128 |
felicsref |
-Os |
1648 |
304 |
201539 |
Lilliput-I-128 |
threshold |
-Os |
2652 |
520 |
579934 |
Lilliput-II-128 |
felicsref |
-Os |
1678 |
300 |
206597 |
Lilliput-II-128 |
threshold |
-Os |
2650 |
488 |
653045 |
Performance of Lilliput-AE on ARM Cortex-M3.
Lilliput-I-128 |
felicsref |
-O3 |
3788 |
412 |
75210 |
Lilliput-I-128 |
threshold |
-O3 |
6080 |
664 |
353444 |
Lilliput-I-192 |
felicsref |
-O3 |
3960 |
436 |
94915 |
Lilliput-I-192 |
threshold |
-O3 |
6300 |
688 |
417550 |
Lilliput-I-256 |
felicsref |
-O3 |
4160 |
444 |
124526 |
Lilliput-I-256 |
threshold |
-O3 |
6664 |
712 |
512205 |
Lilliput-II-128 |
felicsref |
-O3 |
3744 |
388 |
90528 |
Lilliput-II-128 |
threshold |
-O3 |
6052 |
632 |
467421 |
Lilliput-II-192 |
felicsref |
-O3 |
3928 |
404 |
112707 |
Lilliput-II-192 |
threshold |
-O3 |
6256 |
656 |
544237 |
Lilliput-II-256 |
felicsref |
-O3 |
4100 |
428 |
147512 |
Lilliput-II-256 |
threshold |
-O3 |
6588 |
680 |
651244 |
Lilliput-I-128 |
felicsref |
-Os |
1648 |
304 |
201539 |
Lilliput-I-128 |
threshold |
-Os |
2652 |
520 |
579934 |
Lilliput-I-192 |
felicsref |
-Os |
1732 |
320 |
229566 |
Lilliput-I-192 |
threshold |
-Os |
2742 |
544 |
611021 |
Lilliput-I-256 |
felicsref |
-Os |
1832 |
336 |
271472 |
Lilliput-I-256 |
threshold |
-Os |
2854 |
568 |
802275 |
Lilliput-II-128 |
felicsref |
-Os |
1678 |
300 |
206597 |
Lilliput-II-128 |
threshold |
-Os |
2650 |
488 |
653045 |
Lilliput-II-192 |
felicsref |
-Os |
1746 |
320 |
296521 |
Lilliput-II-192 |
threshold |
-Os |
2724 |
512 |
888085 |
Lilliput-II-256 |
felicsref |
-Os |
1830 |
336 |
358946 |
Lilliput-II-256 |
threshold |
-Os |
2820 |
536 |
1027173 |
Performance results for 128-bit key algorithms on PC.
ACORN-128 |
opt1 |
-O3 |
6988 |
488 |
4680 |
AES-128-GCM |
aes-ni |
-O3 |
9176 |
1144 |
1200 |
AES-128-GCM |
ref |
-O3 |
6654 |
844 |
608790 |
Ascon-128 |
opt64 |
-O3 |
9906 |
204 |
2584 |
Ascon-128 |
ref |
-O3 |
2113 |
344 |
2404 |
Ascon-128a |
opt64 |
-O3 |
12762 |
212 |
2200 |
Ascon-128a |
ref |
-O3 |
2208 |
344 |
2024 |
Lilliput-I-128 |
felicsref |
-O3 |
5811 |
608 |
14152 |
Lilliput-I-128 |
threshold |
-O3 |
8453 |
808 |
80584 |
Lilliput-II-128 |
felicsref |
-O3 |
5359 |
560 |
16784 |
Lilliput-II-128 |
threshold |
-O3 |
8047 |
744 |
105130 |
ACORN-128 |
opt1 |
-Os |
2924 |
432 |
5556 |
AES-128-GCM |
aes-ni |
-Os |
4240 |
720 |
1688 |
AES-128-GCM |
ref |
-Os |
2775 |
848 |
2023124 |
Ascon-128 |
opt64 |
-Os |
9197 |
224 |
1896 |
Ascon-128 |
ref |
-Os |
1534 |
448 |
5552 |
Ascon-128a |
opt64 |
-Os |
10506 |
216 |
2556 |
Ascon-128a |
ref |
-Os |
1510 |
448 |
4720 |
Lilliput-I-128 |
felicsref |
-Os |
2705 |
448 |
29784 |
Lilliput-I-128 |
threshold |
-Os |
4566 |
736 |
127344 |
Lilliput-II-128 |
felicsref |
-Os |
2590 |
432 |
35732 |
Lilliput-II-128 |
threshold |
-Os |
4343 |
652 |
159358 |
Performance of Lilliput-AE on PC.
Lilliput-I-128 |
felicsref |
-O3 |
5811 |
608 |
14152 |
Lilliput-I-128 |
threshold |
-O3 |
8453 |
808 |
80584 |
Lilliput-I-192 |
felicsref |
-O3 |
6004 |
632 |
17548 |
Lilliput-I-192 |
threshold |
-O3 |
8814 |
832 |
93798 |
Lilliput-I-256 |
felicsref |
-O3 |
6216 |
640 |
22796 |
Lilliput-I-256 |
threshold |
-O3 |
9169 |
856 |
114572 |
Lilliput-II-128 |
felicsref |
-O3 |
5359 |
560 |
16784 |
Lilliput-II-128 |
threshold |
-O3 |
8047 |
744 |
105130 |
Lilliput-II-192 |
felicsref |
-O3 |
5520 |
568 |
21312 |
Lilliput-II-192 |
threshold |
-O3 |
8338 |
768 |
122530 |
Lilliput-II-256 |
felicsref |
-O3 |
5706 |
592 |
27030 |
Lilliput-II-256 |
threshold |
-O3 |
8639 |
792 |
149086 |
Lilliput-I-128 |
felicsref |
-Os |
2705 |
448 |
29784 |
Lilliput-I-128 |
threshold |
-Os |
4566 |
736 |
127344 |
Lilliput-I-192 |
felicsref |
-Os |
2901 |
472 |
41032 |
Lilliput-I-192 |
threshold |
-Os |
4719 |
760 |
147688 |
Lilliput-I-256 |
felicsref |
-Os |
3051 |
496 |
51740 |
Lilliput-I-256 |
threshold |
-Os |
4876 |
784 |
180710 |
Lilliput-II-128 |
felicsref |
-Os |
2590 |
432 |
35732 |
Lilliput-II-128 |
threshold |
-Os |
4343 |
652 |
159358 |
Lilliput-II-192 |
felicsref |
-Os |
2705 |
456 |
43332 |
Lilliput-II-192 |
threshold |
-Os |
4469 |
676 |
187828 |
Lilliput-II-256 |
felicsref |
-Os |
2893 |
480 |
61700 |
Lilliput-II-256 |
threshold |
-Os |
4604 |
700 |
229360 |
Hardware Implementations: first estimations
Nb. Lanes |
Registers |
Round Function |
Tweakey Schedule |
Total |
Relative Perf. |
4 |
384 |
8 S-boxes + 29×8 XORs |
440 XORs |
4530 GEs |
1 |
5 |
448 |
8 S-boxes + 29×8 XORs |
507 XORs |
5050 GEs |
1.15 |
6 |
512 |
8 S-boxes + 29×8 XORs |
577 XORs |
5626 GEs |
1.24 |
7 |
576 |
8 S-boxes + 29×8 XORs |
650 XORs |
6115 GEs |
1.35 |