Abstract
The modular addition is a popular building block when designing lightweight ciphers. While algorithms mainly based on the addition can reach very high performance, masking their implementations results in a huge penalty. Since efficient protection against side-channel attacks is a requirement in lots of use cases, we focus on optimizing the Boolean masking of the modular addition. Contrary to recent related work, we target evolving a masked full adder instead of parts of a parallel prefix adder. We study how techniques typically found in neural network evolution and genetic algorithms can be adapted in order to help in evolving an efficiently masked adder. We customize a well-known neuroevolution algorithm, develop an optimized masked adder with our new approach and implement the ChaCha20 cipher on an ARM Cortex-M3 controller. We compare the performance of the protected neuroevolved implementation to solutions found by traditional search methods. Moreover, the leakage of our new solution is validated by a t-test conducted with a leakage simulator. We present under which circumstances our masked implementation outperforms related work and prove the feasibility of successfully using neuroevolution when searching for complex Boolean networks.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Adomnicai, A., Fournier, J.J.A., Masson, L.: Bricklayer attack: a side-channel analysis on the ChaCha quarter round. In: Patra, A., Smart, N.P. (eds.) INDOCRYPT 2017. LNCS, vol. 10698, pp. 65–84. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-71667-1_4
Adomnicai, A., Peyrin, T.: Fixslicing aes-like ciphers: New bitsliced AES speed records on arm-cortex m and RISC-V. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2021(1), 402–425 (2020). https://doi.org/10.46586/tches.v2021.i1.402-425, https://tches.iacr.org/index.php/TCHES/article/view/8739
Biryukov, A., Dinu, D., Le Corre, Y., Udovenko, A.: Optimal first-order Boolean masking for embedded IoT devices. In: Eisenbarth, T., Teglia, Y. (eds.) CARDIS 2017. LNCS, vol. 10728, pp. 22–41. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75208-2_2
Cardamone, L., Loiacono, D., Lanzi, P.L.: Evolving competitive car controllers for racing games with neuroevolution. In: Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation, pp. 1179–1186. GECCO 2009, Association for Computing Machinery, New York, NY, USA (2009). https://doi.org/10.1145/1569901.1570060
Coron, J.-S., Goubin, L.: On Boolean and arithmetic masking against differential power analysis. In: Koç, Ç.K., Paar, C. (eds.) CHES 2000. LNCS, vol. 1965, pp. 231–237. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44499-8_18
Coron, J.-S., Großschädl, J., Tibouchi, M., Vadnala, P.K.: Conversion from arithmetic to Boolean masking with logarithmic complexity. In: Leander, G. (ed.) FSE 2015. LNCS, vol. 9054, pp. 130–149. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48116-5_7
Le Corre, Y., Großschädl, J., Dinu, D.: Micro-architectural power simulator for leakage assessment of cryptographic software on ARM cortex-M3 processors. In: Fan, J., Gierlichs, B. (eds.) COSADE 2018. LNCS, vol. 10815, pp. 82–98. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89641-0_5
Deb, K., Agrawal, S., Pratap, A., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002). https://doi.org/10.1109/4235.996017
Dinu, D., Großschädl, J., Corre, Y.L.: Efficient masking of ARX-based block ciphers using carry-save addition on Boolean shares. In: Nguyen, P.Q., Zhou, J. (eds.) Information Security - 20th International Conference, ISC 2017, Ho Chi Minh City, Vietnam, November 22–24, 2017, Proceedings. LNCS, vol. 10599, pp. 39–57. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69659-1_3
Floreano, D., Dürr, P., Mattiussi, C.: Neuroevolution: from architectures to learning. Evol. Intel. 1(1), 47–62 (2008)
Goubin, L.: A sound method for switching between Boolean and arithmetic masking. In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) Cryptographic Hardware and Embedded Systems - CHES 2001, Third International Workshop, Paris, France, May 14–16, 2001, Proceedings. LNCS, vol. 2162, pp. 3–15. Springer, Cham (2001). https://doi.org/10.1007/3-540-44709-1_2
Groß, H., Stoffelen, K., Meyer, L.D., Krenn, M., Mangard, S.: First-order masking with only two random bits. In: Bilgin, B., Petkova-Nikova, S., Rijmen, V. (eds.) Proceedings of ACM Workshop on Theory of Implementation Security Workshop, TIS@CCS 2019, London, UK, 11 November 2019, pp. 10–23. ACM (2019). https://doi.org/10.1145/3338467.3358950
Hausknecht, M., Lehman, J., Miikkulainen, R., Stone, P.: A neuroevolution approach to general Atari game playing. IEEE Trans. Comput. Intell. AI Games 6(4), 355–366 (2014). https://doi.org/10.1109/TCIAIG.2013.2294713
Jungk, B., Petri, R., Stöttinger, M.: Efficient side-channel protections of ARX ciphers. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2018(3), 627–653 (2018). https://doi.org/10.13154/tches.v2018.i3.627-653, https://tches.iacr.org/index.php/TCHES/article/view/7289
McIntyre, A., Kallada, M., Miguel, C.G., da Silva, C.F.: Neat-python. https://github.com/CodeReclaimers/neat-python
Nadkarni, J., Ferreira Neves, R.: Combining neuroevolution and principal component analysis to trade in the financial markets. Expert Syst. App. 103, 184–195 (2018). https://doi.org/10.1016/j.eswa.2018.03.012, https://www.sciencedirect.com/science/article/pii/S0957417418301519
Risi, S., Hughes, C.E., Stanley, K.O.: Evolving plastic neural networks with novelty search. Adapt. Behav. 18(6), 470–491 (2010). https://doi.org/10.1177/1059712310379923
Schneider, T., Moradi, A., Güneysu, T.: Arithmetic addition over Boolean masking. In: Malkin, T., Kolesnikov, V., Lewko, A.B., Polychronakis, M. (eds.) ACNS 2015. LNCS, vol. 9092, pp. 559–578. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-28166-7_27
Schwabe, P., Stoffelen, K.: All the AES you need on cortex-M3 and M4. In: Avanzi, R., Heys, H. (eds.) SAC 2016. LNCS, vol. 10532, pp. 180–194. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69453-5_10
Stanley, K.O., Miikkulainen, R.: Evolving neural network through augmenting topologies. Evol. Comput. 10(2), 99–127 (2002). https://doi.org/10.1162/106365602320169811
Stanley, K.O., Miikkulainen, R.: Competitive coevolution through evolutionary complexification. J. Artif. Intell. Res. 21, 63–100 (2004)
Stanley, K., Bryant, B., Miikkulainen, R.: Real-time neuroevolution in the Nero video game. IEEE Trans. Evol. Comput. 9(6), 653–668 (2005). https://doi.org/10.1109/TEVC.2005.856210
Yao, X.: Evolving artificial neural networks. Proc. IEEE 87(9), 1423–1447 (1999). https://doi.org/10.1109/5.784219
Zadeh, L.: Optimality and non-scalar-valued performance criteria. IEEE Trans. Autom. Control 8(1), 59–60 (1963). https://doi.org/10.1109/TAC.1963.1105511
Acknowledgements
This project is funded by the Bavarian State Ministry of Science and the Arts and coordinated by the Bavarian Research Institute for Digital Transformation (bidt). Furthermore, this research is supported by the BayWISS Consortium Digitization.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A ARM Assembly Implementation of the Shared Bitsliced 32-bit Adder
A ARM Assembly Implementation of the Shared Bitsliced 32-bit Adder
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Renner, S., Pozzobon, E., Mottok, J. (2022). Evolving a Boolean Masked Adder Using Neuroevolution. In: Li, W., Furnell, S., Meng, W. (eds) Attacks and Defenses for the Internet-of-Things. ADIoT 2022. Lecture Notes in Computer Science, vol 13745. Springer, Cham. https://doi.org/10.1007/978-3-031-21311-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-21311-3_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21310-6
Online ISBN: 978-3-031-21311-3
eBook Packages: Computer ScienceComputer Science (R0)