Skip to main content

Efficient Implementation of Ring-LWE Encryption on High-End IoT Platform

  • Conference paper
  • First Online:
Radio Frequency Identification and IoT Security (RFIDSec 2016)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 10155))

Abstract

ARM NEON architecture has occupied a significant share of high-end Internet of Things platforms such as mini computer, tablet and smartphone markets due to its low cost and high performance. This paper studies efficient techniques of lattice-based cryptography on ARM processor and presents the first implementation of ring-LWE encryption on ARM NEON architecture. We propose a vectorized version of Iterative Number Theoretic Transform (NTT) for high-speed computation and present a 32-bit variant of SAMS2 technique, original from Liu et al. in CHES2015, for fast reduction. Subsequently, we present a full-fledged implementation of Ring-LWE by taking advantage of proposed and previous optimization techniques. Ultimately, our ring-LWE implementation requires only 145 k clock cycles for encryption and 32.8 k cycles for decryption for \(n=256\). These results are more than 17.6 times faster than the fastest ECC implementation on ARM NEON with same security level.

This work was supported by the NSERC CREATE Training Program in Building a Workforce for the Cryptographic Infrastructure of the 21st Century (CryptoWorks21), and Public Works and Government Services Canada.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For AVX256 and AVX512, we can extend to 8 and 16 respectively.

References

  1. ARM Architectures. http://www.arm.com/products/processors/index.php

  2. ARM Limited: Cortex-V6 technical reference manual. http://ecee.colorado.edu/ecen3000/labs/lab3/files/DDI0419C_arm_architecture_v6m_reference_manual.pdf

  3. ARM Limited: Cortex-V7 technical reference manual. https://web.eecs.umich.edu/ prabal/teaching/eecs373-f10/readings/ARMv7-M_ARM.pdf

  4. Introducing NEON Development Article. https://software.intel.com/sites/default/files/m/b/4/c/DHT0002A_introducing_neon.pdf

  5. Seo, H., Liu, Z., Großschädl, J., Kim, H.: Efficient arithmetic on ARM-NEON and its application for high-speed RSA implementation (2015). IACR ePrint http://eprint.iacr.org/2015/465.pdf

  6. Bernstein, D.J., Schwabe, P.: NEON crypto. In: Prouff, E., Schaumont, P. (eds.) CHES 2012. LNCS, vol. 7428, pp. 320–339. Springer, Heidelberg (2012). doi:10.1007/978-3-642-33027-8_19

    Chapter  Google Scholar 

  7. Wang, J., Vadnala, P.K., Großschädl, J., Xu, Q.: Higher-order masking in practice: a vector implementation of masked AES for ARM NEON. In: Nyberg, K. (ed.) CT-RSA 2015. LNCS, vol. 9048, pp. 181–198. Springer, Cham (2015). doi:10.1007/978-3-319-16715-2_10

    Google Scholar 

  8. Oder, T., Pöppelmann, T., Güneysu, T.: Beyond ECDSA and RSA: lattice-based digital signatures on constrained devices. In: 51st Annual Design Automation Conference - DAC 2014 (2014)

    Google Scholar 

  9. Câmara, D., Gouvêa, C.P.L., López, J., Dahab, R.: Fast software polynomial multiplication on ARM processors using the NEON engine. In: Cuzzocrea, A., Kittl, C., Simos, D.E., Weippl, E., Xu, L. (eds.) CD-ARES 2013. LNCS, vol. 8128, pp. 137–154. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40588-4_10

    Chapter  Google Scholar 

  10. Bos, J.W., Montgomery, P.L., Shumow, D., Zaverucha, G.M.: Montgomery multiplication using vector instructions. In: Lange, T., Lauter, K., Lisoněk, P. (eds.) SAC 2013. LNCS, vol. 8282, pp. 471–489. Springer, Heidelberg (2014). doi:10.1007/978-3-662-43414-7_24

    Chapter  Google Scholar 

  11. Seo, H., Liu, Z., Großschädl, J., Choi, J., Kim, H.: Montgomery modular multiplication on ARM-NEON revisited. In: Lee, J., Kim, J. (eds.) ICISC 2014. LNCS, vol. 8949, pp. 328–342. Springer, Cham (2015). doi:10.1007/978-3-319-15943-0_20

    Google Scholar 

  12. Seo, H., Liu, Z., Park, T., Kim, H., Lee, Y., Choi, J., Kim, H.: Parallel implementations of LEA. In: Lee, H.-S., Han, D.-G. (eds.) ICISC 2013. LNCS, vol. 8565, pp. 256–274. Springer, Cham (2014). doi:10.1007/978-3-319-12160-4_16

    Google Scholar 

  13. Saarinenand, M.J.O., Brumley, B.B.: Lighter, Faster, and Constant-Time: WhirlBob, the Whirlpool variant of StriBob (2014). IACR ePrint https://eprint.iacr.org/2014/501.pdf

  14. Gouvêa, C.P.L., López, J.: Implementing GCM on ARMv8. In: Nyberg, K. (ed.) CT-RSA 2015. LNCS, vol. 9048, pp. 167–180. Springer, Cham (2015). doi:10.1007/978-3-319-16715-2_9

    Google Scholar 

  15. Göttert, N., Feller, T., Schneider, M., Buchmann, J., Huss, S.: On the design of hardware building blocks for modern lattice-based encryption schemes. In: Prouff, E., Schaumont, P. (eds.) CHES 2012. LNCS, vol. 7428, pp. 512–529. Springer, Heidelberg (2012). doi:10.1007/978-3-642-33027-8_30

    Chapter  Google Scholar 

  16. Güneysu, T., Lyubashevsky, V., Pöppelmann, T.: Practical lattice-based cryptography: a signature scheme for embedded systems. In: Prouff, E., Schaumont, P. (eds.) CHES 2012. LNCS, vol. 7428, pp. 530–547. Springer, Heidelberg (2012). doi:10.1007/978-3-642-33027-8_31

    Chapter  Google Scholar 

  17. Pöppelmann, T., Ducas, L., Güneysu, T.: Enhanced lattice-based signatures on reconfigurable hardware. In: Batina, L., Robshaw, M. (eds.) CHES 2014. LNCS, vol. 8731, pp. 353–370. Springer, Heidelberg (2014). doi:10.1007/978-3-662-44709-3_20

    Google Scholar 

  18. De Clercq, R., Roy, S.S., Vercauteren, F., Verbauwhede, I.: Efficient software implementation of ring-LWE encryption. In: 18th Design, Automation & Test in Europe Conference & Exhibition - DATE 2015 (2015)

    Google Scholar 

  19. Boorghany, A., Sarmadi, S.B., Jalili, R.: On constrained implementation of lattice-based cryptographic primitives and schemes on smart cards. Cryptology ePrint Archive, Report 2014/514 (2014). https://eprint.iacr.org/2014/514.pdf

  20. Boorghany, A., Jalili, R.: Implementation and comparison of lattice-based identification protocols on smart cards and microcontrollers. Cryptology ePrint Archive, Report 2014/078 (2014). https://eprint.iacr.org/2014/078.pdf

  21. Pöppelmann, T., Oder, T., Güneysu, T.: Speed records for ideal lattice-based cryptography on AVR. http://eprint.iacr.org/2015/382.pdf

  22. Liu, Z., Seo, H., Sinha Roy, S., Großschädl, J., Kim, H., Verbauwhede, I.: Efficient ring-LWE encryption on 8-Bit AVR processors. In: Güneysu, T., Handschuh, H. (eds.) CHES 2015. LNCS, vol. 9293, pp. 663–682. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48324-4_33

    Chapter  Google Scholar 

  23. Microsoft Research: Latticed-based cryptography. http://research.microsoft.com/en-us/projects/lattice/

  24. University of Waterloo, Canada: CryptoWork21. http://cryptoworks21.albertoconnor.ca/about/

  25. Post-quantum cryptography for long-term security PQCRYPTO ICT-645622. http://pqcrypto.eu.org/index.html

  26. Grewal, G., Azarderakhsh, R., Longa, P., Hu, S., Jao, D.: Efficient implementation of bilinear pairings on ARM processors. In: Knudsen, L.R., Wu, H. (eds.) SAC 2012. LNCS, vol. 7707, pp. 149–165. Springer, Heidelberg (2013). doi:10.1007/978-3-642-35999-6_11

    Chapter  Google Scholar 

  27. Bos, J.W., Lauter, K., Loftus, J., Naehrig, M.: Improved security for a ring-based fully homomorphic encryption scheme. In: Stam, M. (ed.) IMACC 2013. LNCS, vol. 8308, pp. 45–64. Springer, Heidelberg (2013). doi:10.1007/978-3-642-45239-0_4

    Chapter  Google Scholar 

  28. Cormen, T., Leiserson, C., Rivest, R.: Introduction to Algorithms. http://staff.ustc.edu.cn/~csli/graduate/algorithms/book6/toc.htm

  29. Yanık, T., Savaş, E., Koç, Ç.K.: Incomplete reduction in modular arithmetic. IEE Proc. Comput. Digit. Techn. 149(2), 46–52 (2002)

    Article  Google Scholar 

  30. Roy, S.S., Vercauteren, F., Mentens, N., Chen, D.D., Verbauwhede, I.: Compact ring-LWE cryptoprocessor. In: Batina, L., Robshaw, M. (eds.) CHES 2014. LNCS, vol. 8731, pp. 371–391. Springer, Heidelberg (2014). doi:10.1007/978-3-662-44709-3_21

    Google Scholar 

  31. Ducas, L.: Lattice based signatures: attacks, analysis and optimization. Ph.D. Thesis (2013). http://cseweb.ucsd.edulducas/Thesis/index.html

  32. Regev, O.: On lattices, learning with errors, random linear codes, and cryptography. In: Proceedings of the Thirty-Seventh Annual ACM Symposium on Theory of Computing, STOC 2005, pp. 84–93. ACM, New York (2005)

    Google Scholar 

  33. 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). doi:10.1007/978-3-319-05149-9_1

    Chapter  Google Scholar 

  34. Prescott, T.: Random number generation using AES. http://www.atmel.com/zh/cn/Images/article_random_number.pdf

  35. Seo, H., Choi, J., Kim, H., Park, T., Kim, H.: Pseudo random number generator and hash function for embedded microprocessors. In: IEEE World Forum on Internet of Things, WF-IoT 2014, Seoul, pp. 37–40. IEEE (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hwajeong Seo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Liu, Z., Azarderakhsh, R., Kim, H., Seo, H. (2017). Efficient Implementation of Ring-LWE Encryption on High-End IoT Platform. In: Hancke, G., Markantonakis, K. (eds) Radio Frequency Identification and IoT Security. RFIDSec 2016. Lecture Notes in Computer Science(), vol 10155. Springer, Cham. https://doi.org/10.1007/978-3-319-62024-4_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-62024-4_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-62023-7

  • Online ISBN: 978-3-319-62024-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics