Energy Consumption of Post-Quantum Cryptography on Constrained and General-Purpose Architectures
Abstract
1. Introduction
2. Literature Review
2.1. Context
2.2. Foundational Work
2.3. Related PQC Benchmarking Literature
3. Implementation
3.1. Hardware
3.1.1. The Pis
3.1.2. The FNIRSI FNB58
3.1.3. Laptops and Desktop Machines
3.2. Software
3.2.1. OSes
3.2.2. OpenSSL 3.5
Key Generation
- openssl genpkey –algorithm [ALGORITHM] –out private.key
- openssl genrsa –out private.key 2048
- openssl pkey –in private.key –pubout –out public.key
Signing
- openssl pkeyutl –sign –inkey private.key –in README.md \
- –out signature.bin
Verification
- openssl pkeyutl –verify –pubin –inkey public.key \
- –in README.md –sigfile signature.bin
3.2.3. USB-Meter and .cfn Format Conversion
3.3. Measurement Procedures and Data Collection
3.3.1. Power Readings
3.3.2. Python Wrappers Programs
3.3.3. Time Metrics Readings
3.3.4. Running the Tests
4. Evaluation
4.1. Viability of ML-KEM on Constrained Hardware Compared to ECDH and X25519 for Key-Generation
4.2. SLH-DSA vs. ML-DSA Performance and Energy Costs for Signatures
4.3. Energy vs. Speed: Key-Generation ML-KEM-768 and Signing SLH-DSA-SHAKE-192s
4.4. Timing Performance on x86 and ARM Laptop vs. Pi4
4.5. Summary of Findings
5. Conclusions
5.1. Limitations
5.2. Future Work
Supplementary Materials
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A. Power Readings and Detailed Results
| Pi Zero | Pi Zero 2 | Pi 1 | Pi 2 1.1 | Pi 2 1.2 | Pi 3 | Pi 4 | |
|---|---|---|---|---|---|---|---|
| Baseline | 0.5638 | 0.6451 | 2.2873 | 1.7490 | 1.7382 | 0.9592 | 1.5706 |
| Key generation | |||||||
| RSA-2048 | 0.9475 | 1.1074 | 2.4858 | 2.1170 | 2.0870 | 1.8235 | 2.5783 |
| ECDSA P-256 | 0.9013 | 1.2514 | 2.4986 | 2.1694 | 2.2446 | 1.9868 | 2.8906 |
| X25519 | 0.9096 | 1.2753 | 2.4997 | 2.1659 | 2.2503 | 1.9644 | 2.9676 |
| ECDH P-256 | 0.9064 | 1.3255 | 2.5011 | 2.1599 | 2.2700 | 1.9531 | 2.8855 |
| ML-KEM-512 | 0.9102 | 1.3219 | 2.5101 | 2.1710 | 2.2691 | 1.9093 | 2.9648 |
| ML-KEM-768 | 0.9157 | 1.2938 | 2.5028 | 2.1884 | 2.2686 | 1.9153 | 2.9834 |
| ML-KEM-1024 | 0.9136 | 1.3007 | 2.5259 | 2.1604 | 2.2525 | 1.9225 | 2.9777 |
| ML-DSA-44 | 0.9019 | 1.2714 | 2.5080 | 2.1665 | 2.2618 | 1.9145 | 2.9314 |
| ML-DSA-65 | 0.9171 | 1.2829 | 2.5050 | 2.2254 | 2.2733 | 1.9342 | 3.0068 |
| ML-DSA-87 | 0.9046 | 1.2858 | 2.5088 | 2.1589 | 2.2646 | 1.9359 | 2.9242 |
| SLH-DSA-SHA2-128s | 0.8988 | 1.3265 | 2.4817 | 2.0828 | 2.2725 | 1.9152 | 2.9935 |
| SLH-DSA-SHA2-128f | 0.9052 | 1.3017 | 2.4980 | 2.1500 | 2.2644 | 1.9153 | 2.9401 |
| SLH-DSA-SHAKE-128s | 0.9410 | 1.2568 | 2.4831 | 2.1033 | 2.2233 | 1.9080 | 2.8038 |
| SLH-DSA-SHA2-192s | 0.9176 | 1.3331 | 2.4768 | 2.0826 | 2.2763 | 1.9414 | 2.9744 |
| SLH-DSA-SHA2-192f | 0.9015 | 1.2858 | 2.4958 | 2.1395 | 2.2671 | 1.9324 | 2.9594 |
| SLH-DSA-SHAKE-192s | 0.9426 | 1.2693 | 2.4825 | 2.1015 | 2.2241 | 1.9301 | 2.8161 |
| SLH-DSA-SHA2-256s | 0.9024 | 1.3304 | 2.4713 | 2.0862 | 2.2780 | 1.9450 | 3.0044 |
| SLH-DSA-SHA2-256f | 0.9100 | 1.3067 | 2.4884 | 2.1248 | 2.2763 | 1.9594 | 3.0189 |
| SLH-DSA-SHAKE-256s | 0.9355 | 1.2653 | 2.4825 | 2.0989 | 2.2278 | 1.9495 | 2.8711 |
| Signatures—Signing | |||||||
| RSA-2048 | 0.9159 | 1.2496 | 2.4991 | 2.1701 | 2.2118 | 1.9317 | 2.8780 |
| ECDSA P-256 | 0.9035 | 1.2939 | 2.5049 | 2.1757 | 2.2780 | 1.9897 | 3.0196 |
| ML-DSA-44 | 0.9191 | 1.2603 | 2.5093 | 2.1641 | 2.2627 | 1.9858 | 2.8545 |
| ML-DSA-65 | 0.9060 | 1.2583 | 2.5059 | 2.1516 | 2.2410 | 1.9243 | 2.9670 |
| ML-DSA-87 | 0.9184 | 1.2492 | 2.5158 | 2.1395 | 2.2286 | 1.9441 | 2.9321 |
| SLH-DSA-SHA2-128s | 0.9027 | 1.3312 | 2.4760 | 2.0770 | 2.2812 | 1.9409 | 2.9777 |
| SLH-DSA-SHA2-128f | 0.9034 | 1.3307 | 2.4822 | 2.0868 | 2.2810 | 1.9255 | 2.9724 |
| SLH-DSA-SHAKE-128s | 0.9558 | 1.2763 | 2.4919 | 2.0974 | 2.2230 | 1.9218 | 2.8303 |
| SLH-DSA-SHA2-192s | 0.9032 | 1.3479 | 2.4699 | 2.0800 | 2.2797 | 1.9253 | 3.0154 |
| SLH-DSA-SHA2-192f | 0.9076 | 1.3190 | 2.4765 | 2.0831 | 2.2774 | 1.9507 | 2.9516 |
| SLH-DSA-SHAKE-192s | 0.9383 | 1.2665 | 2.4837 | 2.0898 | 2.2243 | 1.9436 | 2.8117 |
| SLH-DSA-SHA2-256s | 0.9072 | 1.3373 | 2.4728 | 2.0754 | 2.2798 | 1.9704 | 3.0005 |
| SLH-DSA-SHA2-256f | 0.9143 | 1.4109 | 2.4749 | 2.0802 | 2.2815 | 1.9412 | 2.9627 |
| SLH-DSA-SHAKE-256s | 0.9402 | 1.2814 | 2.4866 | 2.0894 | 2.2255 | 1.9317 | 2.8072 |
| Signatures—Verification | |||||||
| RSA-2048 | 0.8844 | 1.2424 | 2.4910 | 2.1477 | 2.2447 | 1.9633 | 2.7396 |
| ECDSA P-256 | 0.8932 | 1.2398 | 2.4956 | 2.1386 | 2.2496 | 1.9345 | 2.7338 |
| ML-DSA-44 | 0.8812 | 1.2506 | 2.4935 | 2.1498 | 2.2641 | 1.9497 | 2.7280 |
| ML-DSA-65 | 0.8877 | 1.2458 | 2.4998 | 2.1419 | 2.2570 | 1.9593 | 2.7572 |
| ML-DSA-87 | 0.8950 | 1.2572 | 2.5059 | 2.1437 | 2.2396 | 1.9385 | 2.7394 |
| SLH-DSA-SHA2-128s | 0.8839 | 1.2557 | 2.4959 | 2.1484 | 2.2536 | 1.9372 | 2.7623 |
| SLH-DSA-SHA2-128f | 0.8811 | 1.2803 | 2.4946 | 2.1161 | 2.2629 | 1.9433 | 2.8013 |
| SLH-DSA-SHAKE-128s | 0.8958 | 1.2501 | 2.4978 | 2.1282 | 2.2594 | 1.9630 | 2.7784 |
| SLH-DSA-SHA2-192s | 0.8861 | 1.2810 | 2.4985 | 2.1235 | 2.2635 | 1.9620 | 2.8333 |
| SLH-DSA-SHA2-192f | 0.8948 | 1.2761 | 2.4935 | 2.1112 | 2.2702 | 1.9582 | 2.8332 |
| SLH-DSA-SHAKE-192s | 0.9078 | 1.2552 | 2.4973 | 2.1368 | 2.2579 | 1.9421 | 2.7552 |
| SLH-DSA-SHA2-256s | 0.8893 | 1.2829 | 2.5000 | 2.1353 | 2.2565 | 1.9477 | 2.8197 |
| SLH-DSA-SHA2-256f | 0.9243 | 1.2735 | 2.4961 | 2.1219 | 2.2603 | 1.9557 | 2.8592 |
| SLH-DSA-SHAKE-256s | 0.9081 | 1.2795 | 2.5000 | 2.1347 | 2.2556 | 1.9182 | 2.7490 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 4.0040 | 1.5364 | 0.6509 |
| ECDSA P-256 | KeyGen | 0.1456 | 0.0491 | 20.3537 |
| X25519 | KeyGen | 0.1446 | 0.0500 | 20.0023 |
| ECDH P-256 | KeyGen | 0.1459 | 0.0500 | 20.0049 |
| ML-KEM-512 | KeyGen | 0.1492 | 0.0517 | 19.3462 |
| ML-DSA-44 | KeyGen | 0.1536 | 0.0519 | 19.2577 |
| SLH-DSA-SHA2-128f | KeyGen | 0.1887 | 0.0644 | 15.5202 |
| SLH-DSA-SHA2-128s | KeyGen | 2.7403 | 0.9182 | 1.0890 |
| SLH-DSA-SHAKE-192s | KeyGen | 6.8872 | 2.6092 | 0.3833 |
| Signing | ||||
| RSA-2048 | Sign | 0.1360 | 0.0479 | 20.8875 |
| ECDSA P-256 | Sign | 0.0760 | 0.0258 | 38.7387 |
| ML-DSA-44 | Sign | 0.0899 | 0.0320 | 31.2894 |
| SLH-DSA-SHA2-128f | Sign | 1.0298 | 0.3776 | 2.6485 |
| SLH-DSA-SHA2-128s | Sign | 19.7340 | 7.2222 | 0.1385 |
| SLH-DSA-SHAKE-192s | Sign | 61.6652 | 24.7630 | 0.0404 |
| Verification | ||||
| RSA-2048 | Verify | 0.0595 | 0.0207 | 48.3240 |
| ECDSA P-256 | Verify | 0.0618 | 0.0220 | 45.3843 |
| ML-DSA-44 | Verify | 0.0634 | 0.0218 | 45.7896 |
| SLH-DSA-SHA2-128f | Verify | 0.1188 | 0.0409 | 24.4461 |
| SLH-DSA-SHA2-128s | Verify | 0.0802 | 0.0278 | 35.9228 |
| SLH-DSA-SHAKE-192s | Verify | 0.1125 | 0.0417 | 23.9628 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 0.7825 | 0.3617 | 2.7645 |
| ECDSA P-256 | KeyGen | 0.0564 | 0.0342 | 29.2711 |
| X25519 | KeyGen | 0.0553 | 0.0348 | 28.7125 |
| ECDH P-256 | KeyGen | 0.0561 | 0.0382 | 26.1859 |
| ML-KEM-512 | KeyGen | 0.0574 | 0.0388 | 25.7429 |
| ML-DSA-44 | KeyGen | 0.0592 | 0.0371 | 26.9736 |
| SLH-DSA-SHA2-128f | KeyGen | 0.0706 | 0.0464 | 21.5619 |
| SLH-DSA-SHA2-128s | KeyGen | 0.9195 | 0.6265 | 1.5961 |
| SLH-DSA-SHAKE-192s | KeyGen | 1.2198 | 0.7613 | 1.3135 |
| Signing | ||||
| RSA-2048 | Sign | 0.0426 | 0.0257 | 38.8494 |
| ECDSA P-256 | Sign | 0.0296 | 0.0192 | 52.1412 |
| ML-DSA-44 | Sign | 0.0348 | 0.0214 | 46.6919 |
| SLH-DSA-SHA2-128f | Sign | 0.3441 | 0.2359 | 4.2387 |
| SLH-DSA-SHA2-128s | Sign | 6.5766 | 4.5117 | 0.2216 |
| SLH-DSA-SHAKE-192s | Sign | 10.5073 | 6.5288 | 0.1532 |
| Verification | ||||
| RSA-2048 | Verify | 0.0229 | 0.0137 | 73.0033 |
| ECDSA P-256 | Verify | 0.0238 | 0.0142 | 70.6107 |
| ML-DSA-44 | Verify | 0.0249 | 0.0151 | 66.3558 |
| SLH-DSA-SHA2-128f | Verify | 0.0429 | 0.0272 | 36.7106 |
| SLH-DSA-SHA2-128s | Verify | 0.0301 | 0.0184 | 54.4766 |
| SLH-DSA-SHAKE-192s | Verify | 0.0325 | 0.0198 | 50.4402 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 6.3753 | 1.2655 | 0.7902 |
| ECDSA P-256 | KeyGen | 0.2252 | 0.0476 | 21.0158 |
| X25519 | KeyGen | 0.2263 | 0.0481 | 20.8074 |
| ECDH P-256 | KeyGen | 0.2257 | 0.0483 | 20.7230 |
| ML-KEM-512 | KeyGen | 0.2328 | 0.0519 | 19.2843 |
| ML-DSA-44 | KeyGen | 0.2379 | 0.0525 | 19.0437 |
| SLH-DSA-SHA2-128f | KeyGen | 0.2854 | 0.0601 | 16.6319 |
| SLH-DSA-SHA2-128s | KeyGen | 3.7332 | 0.7259 | 1.3777 |
| SLH-DSA-SHAKE-192s | KeyGen | 10.5211 | 2.0534 | 0.4870 |
| Signing | ||||
| RSA-2048 | Sign | 0.2059 | 0.0436 | 22.9370 |
| ECDSA P-256 | Sign | 0.1167 | 0.0254 | 39.3977 |
| ML-DSA-44 | Sign | 0.1366 | 0.0303 | 32.9924 |
| SLH-DSA-SHA2-128f | Sign | 1.4149 | 0.2757 | 3.6269 |
| SLH-DSA-SHA2-128s | Sign | 27.2156 | 5.1354 | 0.1947 |
| SLH-DSA-SHAKE-192s | Sign | 95.5478 | 18.7602 | 0.0533 |
| Verification | ||||
| RSA-2048 | Verify | 0.0915 | 0.0186 | 53.6424 |
| ECDSA P-256 | Verify | 0.0945 | 0.0197 | 50.7856 |
| ML-DSA-44 | Verify | 0.0969 | 0.0200 | 50.0614 |
| SLH-DSA-SHA2-128f | Verify | 0.1727 | 0.0358 | 27.9336 |
| SLH-DSA-SHA2-128s | Verify | 0.1198 | 0.0250 | 40.0089 |
| SLH-DSA-SHAKE-192s | Verify | 0.1716 | 0.0360 | 27.7494 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 3.4957 | 1.2864 | 0.7773 |
| ECDSA P-256 | KeyGen | 0.0938 | 0.0393 | 25.4235 |
| X25519 | KeyGen | 0.0911 | 0.0380 | 26.3417 |
| ECDH P-256 | KeyGen | 0.0925 | 0.0380 | 26.3194 |
| ML-KEM-512 | KeyGen | 0.0942 | 0.0398 | 25.1484 |
| ML-DSA-44 | KeyGen | 0.0986 | 0.0412 | 24.2826 |
| SLH-DSA-SHA2-128f | KeyGen | 0.1253 | 0.0503 | 19.8998 |
| SLH-DSA-SHA2-128s | KeyGen | 2.1249 | 0.7093 | 1.4098 |
| SLH-DSA-SHAKE-192s | KeyGen | 6.5216 | 2.2992 | 0.4349 |
| Signing | ||||
| RSA-2048 | Sign | 0.1023 | 0.0431 | 23.2172 |
| ECDSA P-256 | Sign | 0.0483 | 0.0206 | 48.5266 |
| ML-DSA-44 | Sign | 0.0605 | 0.0251 | 39.7828 |
| SLH-DSA-SHA2-128f | Sign | 0.8025 | 0.2711 | 3.6888 |
| SLH-DSA-SHA2-128s | Sign | 15.6621 | 5.1381 | 0.1946 |
| SLH-DSA-SHAKE-192s | Sign | 57.6643 | 19.6558 | 0.0509 |
| Verification | ||||
| RSA-2048 | Verify | 0.0394 | 0.0157 | 63.5858 |
| ECDSA P-256 | Verify | 0.0429 | 0.0167 | 59.8806 |
| ML-DSA-44 | Verify | 0.0434 | 0.0174 | 57.4843 |
| SLH-DSA-SHA2-128f | Verify | 0.0842 | 0.0309 | 32.3551 |
| SLH-DSA-SHA2-128s | Verify | 0.0549 | 0.0219 | 45.5920 |
| SLH-DSA-SHAKE-192s | Verify | 0.0903 | 0.0350 | 28.5602 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 0.9099 | 0.3173 | 3.1513 |
| ECDSA P-256 | KeyGen | 0.0655 | 0.0332 | 30.1633 |
| X25519 | KeyGen | 0.0644 | 0.0330 | 30.3016 |
| ECDH P-256 | KeyGen | 0.0650 | 0.0346 | 28.9230 |
| ML-KEM-512 | KeyGen | 0.0672 | 0.0357 | 28.0464 |
| ML-DSA-44 | KeyGen | 0.0689 | 0.0361 | 27.7302 |
| SLH-DSA-SHA2-128f | KeyGen | 0.0820 | 0.0431 | 23.1852 |
| SLH-DSA-SHA2-128s | KeyGen | 1.0335 | 0.5521 | 1.8111 |
| SLH-DSA-SHAKE-192s | KeyGen | 1.3695 | 0.6654 | 1.5028 |
| Signing | ||||
| RSA-2048 | Sign | 0.0491 | 0.0232 | 43.0179 |
| ECDSA P-256 | Sign | 0.0341 | 0.0184 | 54.3523 |
| ML-DSA-44 | Sign | 0.0416 | 0.0218 | 45.8454 |
| SLH-DSA-SHA2-128f | Sign | 0.3875 | 0.2103 | 4.7543 |
| SLH-DSA-SHA2-128s | Sign | 7.3566 | 3.9943 | 0.2504 |
| SLH-DSA-SHAKE-192s | Sign | 11.7895 | 5.7308 | 0.1745 |
| Verification | ||||
| RSA-2048 | Verify | 0.0267 | 0.0135 | 73.9650 |
| ECDSA P-256 | Verify | 0.0275 | 0.0141 | 71.0128 |
| ML-DSA-44 | Verify | 0.0289 | 0.0152 | 65.8137 |
| SLH-DSA-SHA2-128f | Verify | 0.0482 | 0.0253 | 39.5586 |
| SLH-DSA-SHA2-128s | Verify | 0.0381 | 0.0196 | 50.9929 |
| SLH-DSA-SHAKE-192s | Verify | 0.0373 | 0.0194 | 51.5813 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 0.5702 | 0.4928 | 2.0292 |
| ECDSA P-256 | KeyGen | 0.0442 | 0.0454 | 22.0284 |
| X25519 | KeyGen | 0.0432 | 0.0435 | 23.0061 |
| ECDH P-256 | KeyGen | 0.0439 | 0.0436 | 22.9434 |
| ML-KEM-512 | KeyGen | 0.0450 | 0.0428 | 23.3784 |
| ML-DSA-44 | KeyGen | 0.0464 | 0.0444 | 22.5447 |
| SLH-DSA-SHA2-128f | KeyGen | 0.0549 | 0.0525 | 19.0351 |
| SLH-DSA-SHA2-128s | KeyGen | 0.6594 | 0.6304 | 1.5862 |
| SLH-DSA-SHAKE-192s | KeyGen | 0.8739 | 0.8485 | 1.1786 |
| Signing | ||||
| RSA-2048 | Sign | 0.0326 | 0.0317 | 31.5857 |
| ECDSA P-256 | Sign | 0.0234 | 0.0241 | 41.4915 |
| ML-DSA-44 | Sign | 0.0277 | 0.0284 | 35.2079 |
| SLH-DSA-SHA2-128f | Sign | 0.2480 | 0.2396 | 4.1731 |
| SLH-DSA-SHA2-128s | Sign | 4.6841 | 4.5984 | 0.2175 |
| SLH-DSA-SHAKE-192s | Sign | 7.4921 | 7.3749 | 0.1356 |
| Verification | ||||
| RSA-2048 | Verify | 0.0186 | 0.0187 | 53.5543 |
| ECDSA P-256 | Verify | 0.0189 | 0.0184 | 54.3356 |
| ML-DSA-44 | Verify | 0.0200 | 0.0198 | 50.4455 |
| SLH-DSA-SHA2-128f | Verify | 0.0324 | 0.0319 | 31.3875 |
| SLH-DSA-SHA2-128s | Verify | 0.0238 | 0.0232 | 43.0466 |
| SLH-DSA-SHAKE-192s | Verify | 0.0246 | 0.0242 | 41.3491 |
| Algorithm | Operation | Time/Iter (s) | J/Iter | Iter/J |
|---|---|---|---|---|
| Key Generation | ||||
| RSA-2048 | KeyGen | 0.3526 | 0.3553 | 2.8141 |
| ECDSA P-256 | KeyGen | 0.0247 | 0.0326 | 30.7203 |
| X25519 | KeyGen | 0.0239 | 0.0334 | 29.9306 |
| ECDH P-256 | KeyGen | 0.0243 | 0.0319 | 31.3277 |
| ML-KEM-512 | KeyGen | 0.0248 | 0.0345 | 28.9628 |
| ML-DSA-44 | KeyGen | 0.0255 | 0.0347 | 28.8221 |
| SLH-DSA-SHA2-128f | KeyGen | 0.0297 | 0.0407 | 24.5891 |
| SLH-DSA-SHA2-128s | KeyGen | 0.3241 | 0.4612 | 2.1682 |
| SLH-DSA-SHAKE-192s | KeyGen | 0.5114 | 0.6370 | 1.5699 |
| Signing | ||||
| RSA-2048 | Sign | 0.0194 | 0.0254 | 39.3510 |
| ECDSA P-256 | Sign | 0.0136 | 0.0197 | 50.6943 |
| ML-DSA-44 | Sign | 0.0156 | 0.0200 | 50.0352 |
| SLH-DSA-SHA2-128f | Sign | 0.1234 | 0.1730 | 5.7811 |
| SLH-DSA-SHA2-128s | Sign | 2.2925 | 3.2258 | 0.3100 |
| SLH-DSA-SHAKE-192s | Sign | 4.4086 | 5.4714 | 0.1828 |
| Verification | ||||
| RSA-2048 | Verify | 0.0101 | 0.0118 | 85.0453 |
| ECDSA P-256 | Verify | 0.0112 | 0.0130 | 76.8576 |
| ML-DSA-44 | Verify | 0.0124 | 0.0143 | 69.8455 |
| SLH-DSA-SHA2-128f | Verify | 0.0170 | 0.0210 | 47.6736 |
| SLH-DSA-SHA2-128s | Verify | 0.0125 | 0.0149 | 67.0421 |
| SLH-DSA-SHAKE-192s | Verify | 0.0138 | 0.0164 | 61.0741 |
References
- Thompson, C. HTTPS by Default. Google Security Blog. 28 October 2025. Available online: https://blog.google/security/https-by-defau/ (accessed on 4 May 2026).
- Kleinman, Z. UK Government Demands Access to Apple Users’ Encrypted Data. BBC News. 7 February 2025. Available online: https://www.bbc.co.uk/news/articles/c20g288yldko (accessed on 4 May 2026).
- Buchanan, B. How Will Quantum Impact Cryptography? BCS. 8 January 2025. Available online: https://www.bcs.org/articles-opinion-and-research/how-will-quantum-impact-cryptography/ (accessed on 4 May 2026).
- Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science; IEEE: New York, NY, USA, 1994; pp. 124–134. [Google Scholar]
- Buchanan, B. Q-Day Gets Nearer? Medium. 8 March 2026. Available online: https://billatnapier.medium.com/q-day-gets-nearer-25fee3efdd90 (accessed on 2 May 2026).
- Buchanan, B. Why is 128-bit AES Insecure for a Quantum Computer, But 256-bit Is Not? Medium—ASecuritySite: When Bob Met Alice. 11 July 2023. Available online: https://medium.com/asecuritysite-when-bob-met-alice/why-is-128-bit-aes-insecure-for-a-quantum-computer-but-256-bit-is-not-814a8a9d6500 (accessed on 4 May 2026).
- Beullens, W.; D’Anvers, J.-P.; Hülsing, A.; Lange, T.; Panny, L.; de Saint Guilhem, C.; Smart, N.P. Post-Quantum Cryptography: Current State and Quantum Mitigation. ENISA. May 2021. Available online: https://www.enisa.europa.eu/publications/post-quantum-cryptography-current-state-and-quantum-mitigation (accessed on 3 May 2026).
- National Cyber Security Centre. Migrating to Post-Quantum Cryptography. NCSC, 14 October 2025. Available online: https://www.ncsc.gov.uk/collection/ncsc-annual-review-2025/chapter-03-keeping-pace-with-evolving-technology/migrating-to-post-quantum-cryptography (accessed on 3 May 2026).
- European Commission. A Coordinated Implementation Roadmap for the Transition to Post-Quantum Cryptography. Shaping Europe’s Digital Future. 23 June 2025. Available online: https://digital-strategy.ec.europa.eu/en/library/coordinated-implementation-roadmap-transition-post-quantum-cryptography (accessed on 3 May 2026).
- CSRC, N. Post-Quantum Cryptography FIPS Approved. Computer Security Resource Center. 13 August 2024. Available online: https://csrc.nist.gov/news/2024/postquantum-cryptography-fips-approved (accessed on 3 May 2026).
- Patterson, J.C.; Buchanan, W.J.; Turino, C. Energy Consumption Framework and Analysis of Post-Quantum Key-Generation on Embedded Devices. J. Cybersecur. Priv. 2025, 5, 42. [Google Scholar] [CrossRef]
- Turino, C.; Buchanan, W.J.; Lo, O.; Thümmler, C. PQC-LEO: An Evaluation Framework for Post-Quantum Cryptographic Algorithms. In Proceedings of the 2025 IEEE 7th International Conference on Trust, Privacy and Security in Intelligent Systems, and Applications (TPS-ISA); IEEE: New York, NY, USA, 2025; pp. 237–247. [Google Scholar]
- OpenSSL Foundation. The Features of 3.5: Post-Quantum Cryptography. OpenSSL Foundation. 22 April 2025. Available online: https://openssl.foundation/news/the-features-of-3-5-post-quantum-cryptography (accessed on 2 May 2026).
- Webster, P.; Berent, L.; Chandra, O.; Hockings, E.T.; Baspin, N.; Thomsen, F.; Smith, S.C.; Cohen, L.Z. The Pinnacle Architecture: Reducing the cost of breaking RSA-2048 to 100 000 physical qubits using quantum LDPC codes. arXiv 2026, arXiv:2602.11457. [Google Scholar]
- Gidney, C. How to factor 2048 bit RSA integers with less than a million noisy qubits. arXiv 2025, arXiv:2505.15917. [Google Scholar]
- Moody, D.; Perlner, R.; Regenscheid, A.; Robinson, A.; Cooper, D. Transition to Post-Quantum Cryptography Standards; Technical Report; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2024. [Google Scholar]
- Moody, D. NIST PQC: The Road Ahead. NIST, 25 March 2025. Available online: https://csrc.nist.gov/csrc/media/Presentations/2025/nist-pqc-the-road-ahead/images-media/rwcpqc-march2025-moody.pdf (accessed on 3 May 2026).
- National Cyber Security Centre. Timelines for Migration to Post-Quantum Cryptography. NCSC, 20 March 2025. Available online: https://www.ncsc.gov.uk/guidance/pqc-migration-timelines (accessed on 3 May 2026).
- Tasopoulos, G.; Dimopoulos, C.; Fournaris, A.P.; Zhao, R.K.; Sakzad, A.; Steinfeld, R. Energy consumption evaluation of post-quantum TLS 1.3 for resource-constrained embedded devices. In Proceedings of the 20th ACM International Conference on Computing Frontiers; ACM: New York, NY, USA, 2023; pp. 366–374. [Google Scholar]
- Paquin, C.; Stebila, D.; Tamvada, G. Benchmarking post-quantum cryptography in TLS. In Proceedings of the International Conference on Post-Quantum Cryptography; Springer: Berlin/Heidelberg, Germany, 2020; pp. 72–91. [Google Scholar]
- Schöffel, M.; Lauer, F.; Rheinländer, C.C.; Wehn, N. On the energy costs of post-quantum KEMs in TLS-based low-power secure IoT. In Proceedings of the International Conference on Internet-of-Things Design and Implementation; ACM: New York, NY, USA, 2021; pp. 158–168. [Google Scholar]
- Sarıbaş, S.; Tonyalı, S. Performance Evaluation of TLS 1.3 Handshake on Resource-Constrained Devices Using NIST’s Third Round Post-Quantum Key Encapsulation Mechanisms and Digital Signatures. In Proceedings of the 2022 7th International Conference on Computer Science and Engineering (UBMK); IEEE: New York, NY, USA, 2022; pp. 294–299. [Google Scholar]
- Bozhko, J.; Hanna, Y.; Harrilal-Parchment, R.; Tonyali, S.; Akkaya, K. Performance evaluation of quantum-resistant TLS for consumer IoT devices. In Proceedings of the 2023 IEEE 20th Consumer Communications & Networking Conference (CCNC); IEEE: New York, NY, USA, 2023; pp. 230–235. [Google Scholar]
- Roma, C.A.; Tai, C.E.A.; Hasan, M.A. Energy efficiency analysis of post-quantum cryptographic algorithms. IEEE Access 2021, 9, 71295–71317. [Google Scholar] [CrossRef]
- Algar-Fernandez, J.; Villacís-Vanegas, A.; Amaro-Aular, Y.; Cano, M.D. Benchmarking Post-Quantum Signatures and KEMs on General-Purpose CPUs Using a TCP Client–Server Testbed. Computers 2026, 15, 116. [Google Scholar] [CrossRef]
- The Pi Hut. LetsTrust TPM for Raspberry Pi, 2026. Available online: https://thepihut.com/products/letstrust-tpm-for-raspberry-pi (accessed on 4 June 2026).
- Simon, J.-F. FNIRSI FNB58 USB Tester (Review). Elektor. 14 November 2023. Available online: https://www.elektormagazine.com/review/fnirsi-fnb58-review (accessed on 3 May 2026).
- FNIRSI. Software Downloads. FNIRSI. Available online: https://www.fnirsi.com/pages/software-downloads (accessed on 3 May 2026).
- Volkov, A. usbmeter-utils: Utilities for WITRN and FNIRSI Meter Software. GitHub. Available online: https://github.com/didim99/usbmeter-utils (accessed on 3 May 2026).







| Model | OS | CPU | Memory | Arch |
|---|---|---|---|---|
| Raspberry Pi 1 Model B | Debian Bookworm | 700 MHz single-core ARM1176 | 512 MB LPDDR2 | 32-bit (ARM) |
| Raspberry Pi 2 Model B v1.1 | Debian Bookworm | 900 MHz quad-core ARM Cortex-A7 (ARMv7) | 1 GB SDRAM (450 MHz) | 32-bit (ARM) |
| Raspberry Pi 2 Model B v1.2 | Debian Bookworm | 900 MHz quad-core ARM Cortex-A53 (ARMv8) | 1 GB SDRAM (450 MHz) | 64-bit (ARM) |
| Raspberry Pi Zero WH | Debian Bookworm | 1 GHz single-core ARM1176 | 512 MB LPDDR2 | 32-bit (ARM) |
| Raspberry Pi Zero 2 WH | Debian Bookworm | 1 GHz quad-core ARM Cortex-A53 | 512 MB LPDDR2 | 64-bit (ARM) |
| Raspberry Pi 3A+ | Debian Bookworm | 1.4 GHz quad-core ARM Cortex-A53 | 512 MB LPDDR2 | 64-bit (ARM) |
| Raspberry Pi 4 | Debian Bookworm | 1.5 GHz quad-core Cortex-A72 | 8 GB LPDDR4 | 64-bit (ARM) |
| Thinkpad T480s Intel | MacBookAir M1 | Thinkpad P14s Gen5 AMD | |
|---|---|---|---|
| OS | Ubuntu 25.10 | macOS Tahoe 26.3 | Ubuntu 24.04 |
| CPU | Intel Core i7-8550U | Apple M1 (ARM) | AMD Ryzen 5 PRO 8640HS |
| Memory | 40 GB DDR4 | 8 GB LPDDR4X | 16 GB DDR5 |
| Arch | 64-bit (x86-64 Intel) | 64-bit (ARM-M1) | 64-bit (x86-64 AMD) |
| Algorithm | Type | FIPS | Pub Key (B) | Priv Key (B) | Signature (B) | NIST Level |
|---|---|---|---|---|---|---|
| RSA-2048 | Sign/KEM | — | 256 | 256 | 256 | — |
| ECDSA P-256 | Signature | — | 64 | 32 | 64 | — |
| ECDH P-256 | KEM | — | 64 | 32 | N/A | — |
| X25519 | KEM | — | 32 | 32 | N/A | — |
| ML-KEM-512 | KEM | 203 | 800 | 1632 | N/A | 1 |
| ML-KEM-768 | KEM | 203 | 1184 | 2400 | N/A | 3 |
| ML-KEM-1024 | KEM | 203 | 1568 | 3168 | N/A | 5 |
| ML-DSA-44 | Signature | 204 | 1312 | 2528 | 2420 | 2 |
| ML-DSA-65 | Signature | 204 | 1952 | 4000 | 3309 | 3 |
| ML-DSA-87 | Signature | 204 | 2592 | 4864 | 4627 | 5 |
| SLH-DSA-SHA2-128s | Signature | 205 | 32 | 64 | 7856 | 1 |
| SLH-DSA-SHA2-128f | Signature | 205 | 32 | 64 | 17,088 | 1 |
| SLH-DSA-SHAKE-128s | Signature | 205 | 32 | 64 | 7856 | 1 |
| SLH-DSA-SHA2-192s | Signature | 205 | 48 | 96 | 16,224 | 3 |
| SLH-DSA-SHA2-192f | Signature | 205 | 48 | 96 | 35,664 | 3 |
| SLH-DSA-SHAKE-192s | Signature | 205 | 48 | 96 | 16,224 | 3 |
| SLH-DSA-SHA2-256s | Signature | 205 | 64 | 128 | 29,792 | 5 |
| SLH-DSA-SHA2-256f | Signature | 205 | 64 | 128 | 49,856 | 5 |
| SLH-DSA-SHAKE-256s | Signature | 205 | 64 | 128 | 29,792 | 5 |
| pi1 | Pizero | pi2 | pi2b | Pizero2 | pi3 | pi4 | |
|---|---|---|---|---|---|---|---|
| Keys | |||||||
| ecdh | 0.0483 | 0.0500 | 0.0380 | 0.0346 | 0.0382 | 0.0436 | 0.0319 |
| ml-kem-512 | 0.0519 | 0.0517 | 0.0398 | 0.0357 | 0.0388 | 0.0428 | 0.0345 |
| ml-dsa-44 | 0.0525 | 0.0519 | 0.0412 | 0.0361 | 0.0371 | 0.0444 | 0.0347 |
| slh-dsa-sha2-128f | 0.0601 | 0.0644 | 0.0503 | 0.0431 | 0.0464 | 0.0525 | 0.0407 |
| slh-dsa-sha2-128s | 0.7259 | 0.9182 | 0.7093 | 0.5521 | 0.6265 | 0.6304 | 0.4612 |
| slh-dsa-shake-192s | 2.0534 | 2.6092 | 2.2992 | 0.6654 | 0.7613 | 0.8485 | 0.6370 |
| Signing | |||||||
| ecdsa | 0.0254 | 0.0258 | 0.0206 | 0.0184 | 0.0192 | 0.0241 | 0.0197 |
| ml-dsa-44 | 0.0303 | 0.0320 | 0.0251 | 0.0218 | 0.0214 | 0.0284 | 0.0200 |
| slh-dsa-sha2-128f | 0.2757 | 0.3776 | 0.2711 | 0.2103 | 0.2359 | 0.2396 | 0.1730 |
| slh-dsa-sha2-128s | 5.1354 | 7.2222 | 5.1381 | 3.9943 | 4.5117 | 4.5984 | 3.2258 |
| slh-dsa-shake-192s | 18.7602 | 24.7630 | 19.6558 | 5.7308 | 6.5288 | 7.3749 | 5.4714 |
| Algorithm | Operation | Pi 4 | MacBook Air M1 | ThinkPad Intel | ThinkPad AMD | MacBook Pro M4 |
|---|---|---|---|---|---|---|
| Key Generation | ||||||
| RSA-2048 | KeyGen | 0.3526 | 0.0576 | 0.0538 | 0.0408 | 0.0868 |
| ECDSA P-256 | KeyGen | 0.0247 | 0.0124 | 0.0104 | 0.0072 | 0.0333 |
| X25519 | KeyGen | 0.0239 | 0.0118 | 0.0111 | 0.0073 | 0.0328 |
| ECDH P-256 | KeyGen | 0.0243 | 0.0123 | 0.0114 | 0.0074 | 0.0333 |
| ML-KEM-512 | KeyGen | 0.0248 | 0.0123 | 0.0108 | 0.0077 | 0.0341 |
| ML-DSA-44 | KeyGen | 0.0255 | 0.0125 | 0.0099 | 0.0078 | 0.0324 |
| SLH-DSA-SHA2-128f | KeyGen | 0.0297 | 0.0127 | 0.0142 | 0.0080 | 0.0352 |
| SLH-DSA-SHA2-128s | KeyGen | 0.3241 | 0.0390 | 0.1177 | 0.0330 | 0.1270 |
| SLH-DSA-SHAKE-192s | KeyGen | 0.5114 | 0.1200 | 0.1885 | 0.1161 | 0.1487 |
| Signing | ||||||
| RSA-2048 | Sign | 0.0194 | 0.0072 | 0.0049 | 0.0033 | 0.0199 |
| ECDSA P-256 | Sign | 0.0136 | 0.0064 | 0.0051 | 0.0036 | 0.0377 |
| ML-DSA-44 | Sign | 0.0156 | 0.0069 | 0.0074 | 0.0047 | 0.0305 |
| SLH-DSA-SHA2-128f | Sign | 0.1234 | 0.0162 | 0.0450 | 0.0129 | 0.0518 |
| SLH-DSA-SHA2-128s | Sign | 2.2925 | 0.2096 | 0.8240 | 0.1945 | 0.7278 |
| SLH-DSA-SHAKE-192s | Sign | 4.4086 | 0.9783 | 1.6120 | 0.9871 | 1.0484 |
| Verification | ||||||
| RSA-2048 | Verify | 0.0101 | 0.0059 | 0.0045 | 0.0033 | N/A |
| ECDSA P-256 | Verify | 0.0112 | 0.0060 | 0.0057 | 0.0033 | N/A |
| ML-DSA-44 | Verify | 0.0124 | 0.0061 | 0.0047 | 0.0037 | N/A |
| SLH-DSA-SHA2-128f | Verify | 0.0170 | 0.0066 | 0.0085 | 0.0040 | N/A |
| SLH-DSA-SHA2-128s | Verify | 0.0125 | 0.0062 | 0.0063 | 0.0038 | N/A |
| SLH-DSA-SHAKE-192s | Verify | 0.0138 | 0.0068 | 0.0065 | 0.0042 | N/A |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Gillot, O.; Buchanan, W.J.; Tehrani, M.G. Energy Consumption of Post-Quantum Cryptography on Constrained and General-Purpose Architectures. Cryptography 2026, 10, 55. https://doi.org/10.3390/cryptography10040055
Gillot O, Buchanan WJ, Tehrani MG. Energy Consumption of Post-Quantum Cryptography on Constrained and General-Purpose Architectures. Cryptography. 2026; 10(4):55. https://doi.org/10.3390/cryptography10040055
Chicago/Turabian StyleGillot, Olivier, William J. Buchanan, and Madjid G. Tehrani. 2026. "Energy Consumption of Post-Quantum Cryptography on Constrained and General-Purpose Architectures" Cryptography 10, no. 4: 55. https://doi.org/10.3390/cryptography10040055
APA StyleGillot, O., Buchanan, W. J., & Tehrani, M. G. (2026). Energy Consumption of Post-Quantum Cryptography on Constrained and General-Purpose Architectures. Cryptography, 10(4), 55. https://doi.org/10.3390/cryptography10040055

