Abstract
We present an implementation of the hash-based post-quantum signature scheme SPHINCS\(^+\) that enables heavily memory-restricted devices to sign messages by streaming-out a signature during its computation and to verify messages by streaming-in a signature. We demonstrate our implementation in the context of Trusted Platform Modules (TPMs) by proposing a SPHINCS\(^+\) integration and a streaming extension for the TPM specification. We evaluate the overhead of our signature-streaming approach for a stand-alone SPHINCS\(^+\) implementation and for its integration in a proof-of-concept TPM with the proposed streaming extension running on an ARM Cortex-M4 platform. Our streaming interface greatly reduces the memory requirements without introducing a performance penalty. This is achieved not only by removing the need to store an entire signature but also by reducing the stack requirements of the key generation, sign, and verify operations. Therefore, our streaming interface enables small embedded devices that do not have sufficient memory to store an entire SPHINCS\(^+\) signature or that previously were only able to use a parameter set that results in smaller signatures to sign and verify messages using all SPHINCS\(^+\) variants.
Keywords
- SPHINCS+
- PQC
- Signature streaming
- ARM Cortex-M4
- TPM
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Amiet, D., Curiger, A., Zbinden, P.: FPGA-based accelerator for SPHINCS-256. 2018(1), 18–39 (2018)
Buchmann, J., Dahmen, E., Hülsing, A.: XMSS - a practical forward secure signature scheme based on minimal security assumptions. In: Yang, B.-Y. (ed.) PQCrypto 2011. LNCS, vol. 7071, pp. 117–129. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25405-5_8
Bernstein, D.J., et al.: SPHINCS: practical stateless hash-based signatures. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9056, pp. 368–397. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46800-5_15
Bernstein, D.J., Hülsing, A., Kölbl, S., Niederhagen, R., Rijneveld, J., Schwabe, P.: The SPHINCS+ signature framework, pp. 2129–2146 (2019)
Campos, F., Kohlstadt, T., Reith, S., Stöttinger, M.: LMS vs XMSS: comparison of stateful hash-based signature schemes on ARM cortex-M4. In: Nitaj, A., Youssef, A. (eds.) AFRICACRYPT 2020. LNCS, vol. 12174, pp. 258–277. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51938-4_13
Chen, L., et al.: Final demonstrators implementation report (2021). https://futuretpm.eu/images/Deliverables/FutureTPM-D65-Final-Demonstrators-Implementation-Report-PU-M36.pdf
Gonzalez, R., et al.: Verifying post-quantum signatures in 8 kB of RAM. In: Cheon, J.H., Tillich, J.-P. (eds.) PQCrypto 2021 2021. LNCS, vol. 12841, pp. 215–233. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-81293-5_12
Genêt, A., Kannwischer, M.J., Pelletier, H., McLauchlan, A.: Practical fault injection attacks on SPHINCS. Cryptology ePrint Archive, Report 2018/674 (2018)
Hülsing, A., et al.: SPHINCS+. techreport. National Institute of Standards and Technology (2020)
Hülsing, A., Butin, D., Gazdag, S.-L., Rijneveld, J., Mohaisen, A.: XMSS: eXtended Merkle Signature Scheme. RFC 8391, 1–74 (2018)
Hülsing, A., Rijneveld, J., Schwabe, P.: ARMed SPHINCS - computing a 41 KB signature in 16 KB of RAM, pp. 446–470 (2016)
Kölbl, S.: Putting wings on SPHINCS. In: Lange, T., Steinwandt, R. (eds.) PQCrypto 2018. LNCS, vol. 10786, pp. 205–226. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-79063-3_10
Kannwischer, M.J., Rijneveld, J., Schwabe, P., Stoffelen, K.: PQM4: post-quantum crypto library for the ARM Cortex-M4. https://github.com/mupq/pqm4/
Kannwischer, M.J., Rijneveld, J., Schwabe, P., Stoffelen, K.: pqm4: testing and benchmarking NIST PQC on ARM Cortex-M4. Cryptology ePrint Archive, Report 2019/844 (2019)
Moody, D., et al.: Status report on the second round of the NIST post-quantum cryptography standardization process (2020)
McGrew, D., Curcio, M., Fluhrer, S.: Hash-based signatures. IETF Crypto Forum Research Group (2019). https://datatracker.ietf.org/doc/html/draft-mcgrew-hash-sigs-15/
Merkle, R.C.: A certified digital signature. In: Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 218–238. Springer, New York (1990). https://doi.org/10.1007/0-387-34805-0_21
Paul, S., Schick, F., Seedorf, J.: TPM-based post-quantum cryptography: a case study on quantum-resistant and mutually authenticated TLS for IoT environments. In: Reinhardt, D., Müller, T. (eds.) ARES 2021, pp. 3:1–3:10. ACM (2021)
Roth, J., Karatsiolis, E., Krämer, J.: Classic McEliece implementation with low memory footprint. In: Liardet, P.-Y., Mentens, N. (eds.) CARDIS 2020. LNCS, vol. 12609, pp. 34–49. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-68487-7_3
Trusted Computing Group. TCG PC client specific TPM interface specification (TIS). Specification Version 1.3, 1 (2013). https://trustedcomputinggroup.org/resource/pc-client-platform-tpm-profile-ptp-specification/
Trusted Computing Group. Trusted Platform Module Library, Part 1: Architecture. Specification version: 1.59 Family 2.0, 1 (2019a). https://trustedcomputinggroup.org/resource/tpm-library/
Trusted Computing Group. Trusted Platform Module Library, Part 3: Commands. Specification version: 1.59 Family 2.0, 1 (2019b)
Wang, W., et al.: XMSS and embedded systems. In: Paterson, K.G., Stebila, D. (eds.) SAC 2019. LNCS, vol. 11959, pp. 523–550. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-38471-5_21
Acknowledgements
We would like to thank Aymeric Genêt and anonymous reviewers for their valuable feedback on earlier versions of this paper. This work has been partially funded by the German Federal Ministry of Education and Research (BMBF) under the project “QuantumRISC” (IDs 16KIS1033K and 16KIS1037) and by the Taiwanese Ministry of Science and Technology (MOST) under the project 109-2221-E-001-009-MY3.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Niederhagen, R., Roth, J., Wälde, J. (2022). Streaming SPHINCS+ for Embedded Devices Using the Example of TPMs. In: Batina, L., Daemen, J. (eds) Progress in Cryptology - AFRICACRYPT 2022. AFRICACRYPT 2022. Lecture Notes in Computer Science, vol 13503. Springer, Cham. https://doi.org/10.1007/978-3-031-17433-9_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-17433-9_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-17432-2
Online ISBN: 978-3-031-17433-9
eBook Packages: Computer ScienceComputer Science (R0)