White Box Implementations of Dedicated Ciphers on the ARM NEON Architecture
Resumo
Modern computer environments such as smartphones are increasingly susceptible to malware, a cause of concern regarding their trustworthiness. Nevertheless, cryptographic algorithms are still necessary in such environments, which raises the need for a secure white-box design and implementation of such algorithms. Dedicated white box block ciphers are encryption algorithms designed to operate in untrusted environments. In this paper we present a fast vectorized implementation of two families of dedicated white-box block ciphers, SPACE [Bogdanov and Isobe 2015] and WEM [Cho et al. 2017], for the ARM Cortex-53 processor, using the NEON vector instruction set. To the best of our knowledge, the implementations outlined in this paper currently have the best reported performance for these dedicated ciphers in the white box context.
Referências
Biryukov, A., Bouillaguet, C., and Khovratovich, D. (2014). Cryptographic schemes based on the asasa structure: Black-box, white-box, and public-key (extended abstract). In Sarkar, P. and Iwata, T., editors, Advances in Cryptology – ASIACRYPT 2014, pages 63–84, Berlin, Heidelberg. Springer Berlin Heidelberg.
Biryukov, A. and Khovratovich, D. (2015). Decomposition attack on SASASASAS. Cryptology ePrint Archive, Report 2015/646. [link].
Bogdanov, A. and Isobe, T. (2015). White-box cryptography revisited: Space-hard ciphers. In Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, CCS ’15, pages 1058–1069, New York, NY, USA. ACM.
Bogdanov, A., Isobe, T., and Tischhauser, E. (2016). Towards practical whitebox cryptography: Optimizing efficiency and space hardness. In Cheon, J. H. and Takagi, T., editors, Advances in Cryptology – ASIACRYPT 2016, pages 126–158, Berlin, Heidelberg. Springer Berlin Heidelberg.
Bos, J. W., Hubain, C., Michiels, W., Mune, C., Gonzalez, E. S., and Teuwen, P. (2017). White-box cryptography: Don’t forget about grey box attacks. Cryptology ePrint Archive, Report 2017/355. [link].
Chen, S., Lampe, R., Lee, J., Seurin, Y., and Steinberger, J. P. (2014). Minimizing the two-round even-mansour cipher. In CRYPTO (1), volume 8616 of Lecture Notes in Computer Science, pages 39–56. Springer.
Cho, J., Choi, K. Y., Dinur, I., Dunkelman, O., Keller, N., Moon, D., and Veidberg, A. (2017). Wem: A new family of white-box block ciphers based on the even-mansour construction. In Handschuh, H., editor, Topics in Cryptology – CT-RSA 2017, pages 293–308, Cham. Springer International Publishing.
Chow, S., Eisen, P., Johnson, H., and Van Oorschot, P. C. (2003). White-box cryptography and an aes implementation. In Nyberg, K. and Heys, H., editors, Selected Areas in Cryptography, pages 250–270, Berlin, Heidelberg. Springer Berlin Heidelberg.
Dunkelman, O., Keller, N., and Shamir, A. (2012). Minimalism in cryptography: The even-mansour scheme revisited. In EUROCRYPT, volume 7237 of Lecture Notes in Computer Science, pages 336–354. Springer.
Fouque, P.-A., Karpman, P., Kirchner, P., and Minaud, B. (2016). Efficient and provable white-box primitives. In Cheon, J. H. and Takagi, T., editors, Advances in Cryptology – ASIACRYPT 2016, pages 159–188, Berlin, Heidelberg. Springer Berlin Heidelberg.
Gouvêa, C. P. L. and López, J. (2015). Implementing gcm on armv8. In Nyberg, K., editor, Topics in Cryptology — CT-RSA 2015, pages 167–180, Cham. Springer International Publishing.
Karroumi, M. (2011). Protecting white-box aes with dual ciphers. In Rhee, K.-H. and Nyang, D., editors, Information Security and Cryptology - ICISC 2010, pages 278–291, Berlin, Heidelberg. Springer Berlin Heidelberg.
Knuth, D. E. (1998). The art of computer programming, Volume II: Seminumerical Algorithms, 3rd Edition. Addison-Wesley.
Lepoint, T., Rivain, M., De Mulder, Y., Roelse, P., and Preneel, B. (2014). Two attacks on a white-box aes implementation. In Lange, T., Lauter, K., and Lisoněk, P., editors, Selected Areas in Cryptography – SAC 2013, pages 265–285, Berlin, Heidelberg. Springer Berlin Heidelberg.