Abstract
In ICISC 2020, 64-bit PIPO lightweight block cipher was presented. The main design goals of PIPO are the implementation-friendly and the ease of designing side-channel protection techniques. Until now, the performance of PIPO has been investigated only on 8-bit AVR environment. Thus, optimization strategies on various embedded devices need to be investigated for PIPO’s wide usage in various IoT applications. For filling this gap, in this paper, we present an optimized software implementation of PIPO cipher on 32-bit RISC-V processor being widely considered as an alternative embedded processor for ARM processors. For optimal performance, we propose several novel techniques: optimal register scheduling for minimizing the number of memory accesses, data parallel processing approach by using 32-bit register set, and combined internal process. In result, our software shows 128.5% improved performance on PIPO-64/128 basis than the simple ported version of RISC-V. In addition, our implementation showed 393.52% improvement over the encryption performance of the PIPO reference code, despite including the key scheduling process. As far as we know, this is the first optimal implementation of PIPO block cipher on RISC-V environment.
This work was partly supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) (No. A2021-0270, 6G autonomous security internalization-based technology research to ensure security quality at all times, 50%) and the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. 2019R1F1A1058494, 50%).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Kim, H., et al.: PIPO: a lightweight block cipher with efficient higher-order masking software implementations. In: Hong, D. (ed.) ICISC 2020. LNCS, vol. 12593, pp. 99–122. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-68890-5_6
Kim, H.: A new method for designing lightweight S-boxes with high differential and linear branch numbers, and its application. Cryptology ePrint Archive, Report 2020/1582 (2020). https://eprint.iacr.org/2020/1582
Stoffelen, K.: Efficient cryptography on the RISC-V architecture. IACR Cryptol. ePrint Arch. 2019, 794 (2019)
Hong, D., Lee, J.-K., Kim, D.-C., Kwon, D., Ryu, K.H., Lee, D.-G.: LEA: a 128-bit block cipher for fast encryption on common processors. In: Kim, Y., Lee, H., Perrig, A. (eds.) WISA 2013. LNCS, vol. 8267, pp. 3–27. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-05149-9_1
Hong, D., et al.: HIGHT: a new block cipher suitable for low-resource device. In: Goubin, L., Matsui, M. (eds.) CHES 2006. LNCS, vol. 4249, pp. 46–59. Springer, Heidelberg (2006). https://doi.org/10.1007/11894063_4
Roh, D., et al.: Revised version of block cipher CHAM. In: Seo, J.H. (ed.) ICISC 2019. LNCS, vol. 11975, pp. 1–19. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-40921-0_1
Kizhvatov, I.: Side channel analysis of AVR XMEGA crypto engine. In: Serpanos, D.N., Wolf, W.H. (eds.) Proceedings of the 4th Workshop on Embedded Systems Security, WESS 2009, Grenoble, France, 15 October 2009. ACM (2009)
Golder, A., Das, D., Danial, J., Ghosh, S., Sen, S., Raychowdhury, A.: Practical approaches toward deep-learning-based cross-device power side-channel attack. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 27(12), 2720–2733 (2019)
Reinbrecht, C., Susin, A., Bossuet, L., Sigl, G., Sepúlveda, J.: Side channel attack on NoC-based MPSoCs are practical: NoC Prime+ Probe attack. In: 2016 29th Symposium on Integrated Circuits and Systems Design (SBCCI), pp. 1–6 (2016)
Schwarz, M.: Keydrown: eliminating keystroke timing side-channel attacks. CoRR, abs/1706.06381 (2017)
Campos, F., Jellema, L., Lemmen, M., Müller, L., Sprenkels, D., Viguier, B.: Assembly or optimized C for lightweight cryptography on RISC-V? In: Krenn, S., Shulman, H., Vaudenay, S. (eds.) CANS 2020. LNCS, vol. 12579, pp. 526–545. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-65411-5_26
Marshall, B., Newell, G.R., Page, D., Saarinen, M.J.O., Wolf, C.: The design of scalar AES instruction set extensions for RISC-V. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2021(1), 109–136 (2021)
Tehrani, E., Graba, T., Si-Merabet, A., Danger, J.-L.: RISC-V extension for lightweight cryptography. In: 23rd Euromicro Conference on Digital System Design, DSD 2020, Kranj, Slovenia, 26–28 August 2020, pp. 222–228. IEEE (2020)
Kwak, Y., Kim, Y., Seo, S.C.: Benchmarking Korean block ciphers on 32-bit RISC-V processor. J. Korea Inst. Inf. Secur. Cryptol. (JKIISC) 31(3), 331–340 (2021)
Waterman, A., Lee, Y., Patterson, D.A., Asanovic, K.: The RISC-V instruction set manual. Volume I: Base user-level ISA. EECS Department, UC Berkeley, Technical report, UCB/EECS-2011-62, 116 (2011)
Waterman, A.S.: Design of the RISC-V instruction set architecture. Ph.D. thesis, UC Berkeley (2016)
Lee, J.: Simulation and synthesis of RISC-V processor. J. Inst. Internet Broadcast. Commun. 19(1), 239–245 (2019)
Chat Room. RISC-V architecture. Image (2017)
Seo, H., An, K., Kwon, H.: Compact LEA and HIGHT implementations on 8-Bit AVR and 16-Bit MSP processors. In: Kang, B.B.H., Jang, J.S. (eds.) WISA 2018. LNCS, vol. 11402, pp. 253–265. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17982-3_20
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Kwak, Y., Kim, Y., Seo, S.C. (2021). Parallel Implementation of PIPO Block Cipher on 32-bit RISC-V Processor. In: Kim, H. (eds) Information Security Applications. WISA 2021. Lecture Notes in Computer Science(), vol 13009. Springer, Cham. https://doi.org/10.1007/978-3-030-89432-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-89432-0_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-89431-3
Online ISBN: 978-3-030-89432-0
eBook Packages: Computer ScienceComputer Science (R0)