Fast Implementation of Simple Matrix Encryption Scheme on Modern x64 CPU

  • Zhiniang Peng
  • Shaohua TangEmail author
  • Ju Chen
  • Chen Wu
  • Xinglin Zhang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10060)


The simple matrix encryption scheme (SMES) is one of the very few existing multivariate public key encryption schemes. However, it is considered impractical because of high decryption failure probability. There exist some ways to reduce the decryption failure probability, but all of them will result in serious performance degradation. In this paper, we solve this dilemma by exploiting the power of modern x64 CPU. SIMD and several software optimization techniques are used to improve the efficiency. The experimental results show that our implementation is three orders of magnitude faster than the existing Rectangular SMES implementation under a similar decryption failure probability and it’s comparable to the fastest Ring-LWE and RSA implementations.


AVX2 Simple matrix encryption Post-quantum cryptosystem Implementation MPKC 



This work was supported by 973 Program (No. 2014CB360501), the National Natural Science Foundation of China (Nos. 61632013, U1135004 and 61170080), Guangdong Provincial Natural Science Foundation (No. 2014A030308006), Guangdong Province Universities and Colleges Pearl River Scholar Funded Scheme (2011), and China Postdoctoral Science Foundation under Grant No. 2015M572318.


  1. 1.
  2. 2.
    Barker, E., Barker, W., Burr, W., Polk, W., Smid, M., Gallagher, P.D., et al.: NIST special publication 800-57 recommendation for key management–part 1: General (2012)Google Scholar
  3. 3.
    Barrett, P.: Implementing the Rivest Shamir and Adleman public key encryption algorithm on a standard digital signal processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987). doi: 10.1007/3-540-47721-7_24 CrossRefGoogle Scholar
  4. 4.
    Bernstein, D.J., Buchmann, J., Dahmen, E.: Post-Quantum Cryptography. Springer Science & Business Media, Heidelberg (2009)CrossRefzbMATHGoogle Scholar
  5. 5.
    Bernstein, D.J., Lange, T., Page, D.: eBATS. ECRYPT benchmarking of asymmetric systems: Performing benchmarks (report) (2008)Google Scholar
  6. 6.
    Bosma, W., Cannon, J., Playoust, C.: The Magma algebra system I: the user language. J. Symb. Comput. 24(3), 235–265 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Bosselaers, A., Govaerts, R., Vandewalle, J.: Comparison of three modular reduction functions. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 175–186. Springer, Heidelberg (1994). doi: 10.1007/3-540-48329-2_16 CrossRefGoogle Scholar
  8. 8.
    Chen, A.I.-T., Chen, M.-S., Chen, T.-R., Cheng, C.-M., Ding, J., Kuo, E.L.-H., Lee, F.Y.-S., Yang, B.-Y.: SSE implementation of multivariate PKCs on modern x86 CPUs. In: Clavier, C., Gaj, K. (eds.) CHES 2009. LNCS, vol. 5747, pp. 33–48. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-04138-9_3 CrossRefGoogle Scholar
  9. 9.
    Chen, L., Jordan, S., Liu, Y.K., Moody, D., Peralta, R., Perlner, R., Smith-Tone, D.: Report on post-quantum cryptography. National Institute of Standards and Technology Internal Report 8105 (2016)Google Scholar
  10. 10.
    Crandall, R., Pomerance, C.: Prime Numbers: A Computational Perspective, vol. 182. Springer Science & Business Media, Heidelberg (2006)zbMATHGoogle Scholar
  11. 11.
    Czypek, P., Heyse, S., Thomae, E.: Efficient implementations of MQPKS on constrained devices. In: Prouff, E., Schaumont, P. (eds.) CHES 2012. LNCS, vol. 7428, pp. 374–389. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-33027-8_22 CrossRefGoogle Scholar
  12. 12.
    De Clercq, R., Roy, S.S., Vercauteren, F., Verbauwhede, I.: Efficient software implementation of ring-LWE encryption. In: Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, pp. 339–344. EDA Consortium (2015)Google Scholar
  13. 13.
    Ding, J., Yang, B.-Y., Chen, C.-H.O., Chen, M.-S., Cheng, C.-M.: New differential-algebraic attacks and reparametrization of rainbow. In: Bellovin, S.M., Gennaro, R., Keromytis, A., Yung, M. (eds.) ACNS 2008. LNCS, vol. 5037, pp. 242–257. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-68914-0_15 CrossRefGoogle Scholar
  14. 14.
    Faugere, J.: A new efficient algorithm for computing Gröbner bases (F4). J. Pure Appl. Algebra 139(1–3), 61–88 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Gligoroski, D., Markovski, S., Knapskog, S.J.: Multivariate quadratic trapdoor functions based on multivariate quadratic quasigroups. In: Proceedings of the American Conference on Applied Mathematics, Stevens Point, Wisconsin, USA, World Scientific and Engineering Academy and Society (WSEAS), pp. 44–49 (2008)Google Scholar
  16. 16.
    Granlund, T., Montgomery, P.L.: Division by invariant integers using multiplication. In: ACM SIGPLAN Notices, vol. 29, pp. 61–72. ACM (1994)Google Scholar
  17. 17.
    Hashimoto, Y.: A note on tensor simple matrix encryption scheme.
  18. 18.
    Imai, H., Matsumoto, T.: Algebraic methods for constructing asymmetric cryptosystems. In: Calmet, J. (ed.) AAECC 1985. LNCS, vol. 229, pp. 108–119. Springer, Heidelberg (1986). doi: 10.1007/3-540-16776-5_713 CrossRefGoogle Scholar
  19. 19.
    Patarin, J.: Hidden Fields Equations (HFE) and Isomorphisms of Polynomials (IP): two new families of asymmetric algorithms. In: Maurer, U. (ed.) EUROCRYPT 1996. LNCS, vol. 1070, pp. 33–48. Springer, Heidelberg (1996). doi: 10.1007/3-540-68339-9_4 Google Scholar
  20. 20.
    Petzoldt, A., Chen, M.-S., Yang, B.-Y., Tao, C., Ding, J.: Design principles for HFEv- based multivariate signature schemes. In: Iwata, T., Cheon, J.H. (eds.) ASIACRYPT 2015. LNCS, vol. 9452, pp. 311–334. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-48797-6_14 CrossRefGoogle Scholar
  21. 21.
    Petzoldt, A., Ding, J., Wang, L.C.: Eliminating decryption failures from the simple matrix encryption scheme.
  22. 22.
    Porras, J., Baena, J., Ding, J.: ZHFE, a new multivariate public key encryption scheme. In: Mosca, M. (ed.) PQCrypto 2014. LNCS, vol. 8772, pp. 229–245. Springer, Heidelberg (2014). doi: 10.1007/978-3-319-11659-4_14 Google Scholar
  23. 23.
    Seo, H., Kim, J., Choi, J., Park, T., Liu, Z., Kim, H.: Small private key MQPKS on an embedded microprocessor. Sensors 14(3), 5441–5458 (2014)CrossRefGoogle Scholar
  24. 24.
    Shor, P.: Algorithms for quantum computation: discrete logarithms and factoring. In: 35th Annual Symposium on Foundations of Computer Science, 1994 Proceedings, pp. 124–134. IEEE (1994)Google Scholar
  25. 25.
    Shor, P.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26, 1484–1509 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Shoup, V.: NTL: A library for doing number theory (2001)Google Scholar
  27. 27.
    Sturmfels, B.: What is a Gröbner basis. Notices Amer. Math. Soc. 52(10), 1199–1200 (2005)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Tao, C., Diene, A., Tang, S., Ding, J.: Simple matrix scheme for encryption. In: Takagi, T. (ed.) PQCrypto 2016. LNCS, vol. 9606, pp. 231–242. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38616-9_16 CrossRefGoogle Scholar
  29. 29.
    Tao, C., Xiang, H., Petzoldt, A., Ding, J.: Simple matrix-a multivariate public key cryptosystem (MPKC) for encryption. Finite Fields Appl. 35, 352–368 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Thomae, E.: A generalization of the Rainbow Band Separation attack and its applications to multivariate schemes. IACR Cryptology ePrint Archive 2012, 223 (2012)Google Scholar
  31. 31.
    Thomas, J., Keller, J., et al.: The calcualtion of multiplicative inverses over GF(p) efficiently where p is a Mersenne prime. IEEE Trans. Comput. 100(5), 478–482 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Yang, B.-Y., Chen, J.-M.: Building secure tame-like multivariate public-key cryptosystems: the new TTS. In: Boyd, C., González Nieto, J.M. (eds.) ACISP 2005. LNCS, vol. 3574, pp. 518–531. Springer, Heidelberg (2005). doi: 10.1007/11506157_43 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Zhiniang Peng
    • 1
  • Shaohua Tang
    • 1
    Email author
  • Ju Chen
    • 1
  • Chen Wu
    • 1
  • Xinglin Zhang
    • 1
  1. 1.School of Computer Science & EngineeringSouth China University of TechnologyGuangzhouChina

Personalised recommendations