The Journal of Supercomputing

, Volume 72, Issue 2, pp 438–450 | Cite as

Sparse polynomial multiplication for lattice-based cryptography with small complexity

Article
  • 224 Downloads

Abstract

In this paper, we propose efficient modular polynomial multiplication methods with applications in lattice-based cryptography. We provide a sparse polynomial multiplication to be used in the quotient ring \(({\mathbb {Z}}/ p{\mathbb {Z}}) [x] / (x^{n}+1)\). Then, we modify this algorithm with sliding window method for sparse polynomial multiplication. Moreover, the proposed methods are independent of the choice of reduction polynomial. We also implement the proposed algorithms on the Core i5-3210M CPU platform and compare them with number theoretic transform multiplication. According to the experimental results, we speed up the multiplication operation in \(({\mathbb {Z}}/ p{\mathbb {Z}}) [x] / (x^{n}+1)\) at least \(80~\%\) and improve the performance of the signature generation and verification process of GLP scheme significantly.

Keywords

Polynomial multiplication Lattice-based cryptography  Sparse polynomial Sliding window method Software implementation 

Notes

Acknowledgments

Sedat Akleylek is partially supported by TÜBITAK under 2219-Postdoctoral Research Program Grant. Erdem Alkım is partially supported by TÜBITAK under 2214-A Doctoral Research Program Grant.

Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest.

References

  1. 1.
    Akleylek S, Yüce Tok Z (2014) Efficient arithmetic for lattice-based cryptography on GPU using the CUDA platform. In: Proceedings of IEEE 22nd signal processing and communications applications conference (SIU 2014), pp 854–857Google Scholar
  2. 2.
    Akleylek S, Yüce Tok Z (2014) Efficient interleaved montgomery modular multiplication for lattice-based cryptography. IEICE Electron Exp 11(22):1–6CrossRefGoogle Scholar
  3. 3.
    Aysu A, Patterson C, Schaumont P (2013) Low-cost and area efficient FPGA implementations of lattice-based cryptography. In: IEEE HOST, pp 81–86Google Scholar
  4. 4.
    Bailey DV, Coffin D, Elbirt A, Silverman JH, Woodbury AD (2001) NTRU in constrained devices. In: CHES 2001. LNCS, vol 2162, pp 262–272Google Scholar
  5. 5.
    Chen DD, Mentens N, Vercauteren F, Roy SS, Cheung RCC, Pao D, Verbauwhede I (2014) High-speed polynomial multiplication architecture for ring-LWE and SHE cryptosystems. IEEE Trans Circuits Syst I Regul Pap. doi:10.1109/TCSI.2014.2350431 Google Scholar
  6. 6.
    Ducas L, Durmus A, Lepoint T, Lyubashevsky V (2013) Lattice signatures and bimodal Gaussians. In: CRYPTO 2013. LNCS, vol 8042, pp 40–56Google Scholar
  7. 7.
    Güneysu T, Lyubashevsky V, Pöppelmann T (2012) Practical lattice-based cryptography: a signature scheme for embedded systems. In: CHES 2012. LNCS, vol 7428, pp 530–547Google Scholar
  8. 8.
    Güneysu T, Lyubashevsky V, Pöppelmann T (2014) Lattice-based signatures: optimization and implementation on reconfigurable hardware. IEEE Trans Comput. doi:10.1109/TC.2014.2346177 Google Scholar
  9. 9.
    Güneysu T, Oder T, Pöppelmann T, Schwabe P (2013) Speed records for lattice-based signatures. In: PqCrypto 2013. LNCS, vol 7932, pp 67–82Google Scholar
  10. 10.
    Hoffstein J, Silverman JH (1998) NTRU: a ring-based public key Cryptosystem. In: ANTS-III. LNCS, vol 1423, pp 267–288Google Scholar
  11. 11.
    Karatsuba A, Ofman Y (1962) Multiplication of many-digital numbers by automatic computers. Proc USSR Acad Sci 145:293–294Google Scholar
  12. 12.
    Knuth D (1997) The art of computer programming volume 2: seminumerical algorithms. Addison-Wesley, BostonGoogle Scholar
  13. 13.
    Lee MK, Kim JW, Song JE, Park K (2007) Sliding Window Method for NTRU. In: ANCS 2007. LNCS, vol 4521, pp 432–442Google Scholar
  14. 14.
    Lee MK, Kim JW, Song JE, Park K (2013) Efficient implementation of NTRU cryptosystem using sliding window methods. IEICE Trans Fundam E96–A(1):206–214Google Scholar
  15. 15.
    Lindner R, Buchmann J, Doering M (2008) Efficiency improvements for NTRU. In: Sicherheit 2008. LNI, vol 128, pp 163–178Google Scholar
  16. 16.
    Lyubashevsky V, Peikert C, Regev O (2010) On ideal lattices and learning with errors over rings. In: EUROCRYPT 2010. LNCS, vol 6110, pp 1–23Google Scholar
  17. 17.
    Peikert C (2014) Lattice cryptography for the internet. In: PQCrypto 2014. LNCS, vol 8772, pp 197–219Google Scholar
  18. 18.
    Pollard JM (1971) The fast Fourier transform in a finite field. Math Comput 25(114):365–374CrossRefMathSciNetMATHGoogle Scholar
  19. 19.
    Pöppelmann T, Güneysu T (2012) Towards efficient arithmetic for lattice-based cryptography on reconfigurable hardware. In: LATINCRYPT 2012. LNCS, vol 7533, pp 139–158Google Scholar
  20. 20.
    Roy SS, Vercauteren F, Mertens N, Chen DD, Verbauwhede I (2014) Compact ring-LWE cryptoprocessor. In: CHES 2014. LNCS, vol 8731, pp 371–391Google Scholar
  21. 21.
    Scwabe P (2015) https://cryptojedi.org/crypto/index.shtml#lattisigns. Accessed 23 April 2015
  22. 22.
    Shor PW (1997) Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J Comput 26(5):1484–1509CrossRefMathSciNetMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Sedat Akleylek
    • 1
    • 2
  • Erdem Alkım
    • 3
  • Zaliha Yüce Tok
    • 4
  1. 1.Cryptography and Computer Algebra GroupTU DarmstadtDarmstadtGermany
  2. 2.Department of Computer EngineeringOndokuz Mayıs UniversitySamsunTurkey
  3. 3.Department of MathematicsEge UniversityIzmirTurkey
  4. 4.Institute of Applied MathematicsMiddle East Technical UniversityAnkaraTurkey

Personalised recommendations