Abstract
Recent lattice enumeration GPU implementations are very useful to find shortest vectors within a given lattice but are also highly dependent on a lattice basis reduction that still runs on a CPU. Therefore we present an implementation of a full lattice basis reduction that makes exclusive use of GPUs to close this gap. Hence, we show that GPUs are, as well, suited to apply lattice basis reduction algorithms that were merely of theoretical interest so far due to their enormous computational effort. We modified and optimized these algorithms to fit the architecture of graphics cards, in particular we focused on Givens Rotations and the All-swap reduction method. Eventually, our GPU implementation achieved a significant speed-up for given lattice challenges compared to the NTL implementation running on an CPU of about 18, providing at least the same reduction quality.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ajtai, M.: Generating hard instances of lattice problems (extended abstract). In: STOC 1996: Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, pp. 99–108. ACM, New York (1996)
Ajtai, M., Dwork, C.: A public-key cryptosystem with worst-case/average-case equivalence. In: STOC 1997: Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing, pp. 284–293. ACM, New York (1997)
Applebaum, B., Cash, D., Peikert, C., Sahai, A.: Fast Cryptographic Primitives and Circular-Secure Encryption Based on Hard Learning Problems. In: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 595–618. Springer, Heidelberg (2009)
Backes, W., Wetzel, S.: A Parallel LLL using POSIX Threads. Tech. rep., Dept. of Computer Science, Stevens Institute of Technology (2009), dIMACS Technical Report 2008-12
Brakerski, Z., Goldwasser, S., Kalai, Y.: Circular-Secure Encryption Beyond Affine Functions. Cryptology ePrint Archive, Report 2009/485 (2009), http://eprint.iacr.org/
Buchmann, J., Lindner, R., Rückert, M., Schneider, M.: Explicit hard instances of the shortest vector problem. Cryptology ePrint Archive, Report 2008/333 (2008), http://eprint.iacr.org/
Stehlé, D., Steinfeld, R., Tanaka, K., Xagawa, K.: Efficient Public Key Encryption Based on Ideal Lattices. Cryptology ePrint Archive, Report 2009/285 (2009), http://eprint.iacr.org/
Detrey, J., Hanrot, G., Pujol, X., Stehlé, D.: Accelerating Lattice Reduction with FPGAs. In: Abdalla, M., Barreto, P.S.L.M. (eds.) LATINCRYPT 2010. LNCS, vol. 6212, pp. 124–143. Springer, Heidelberg (2010)
Gentle, J., Härdle, W., Mori, Y.: Handbook of Computational Statistics. Springer, Heidelberg (2004)
Goldreich, O., Goldwasser, S., Halevi, S.: Collision-Free Hashing from Lattice Problems (1996)
Heckler, C.: Automatische Parallelisierung und parallele Gitterbasisreduktion. Ph.D. thesis, Universität des Saarlandes, Saarbrücken (1995)
Heckler, C., Thiele, L.: Parallel Complexitiy of Lattice Basis Reduction and a Floating-Point Parallel Algorithm. In: Reeve, M., Bode, A., Wolf, G. (eds.) PARLE 1993. LNCS, vol. 694, pp. 744–747. Springer, Heidelberg (1993)
Hermans, J., Schneider, M., Buchmann, J., Vercauteren, F., Preneel, B.: Parallel Shortest Lattice Vector Enumeration on Graphics Cards. In: Bernstein, D.J., Lange, T. (eds.) AFRICACRYPT 2010. LNCS, vol. 6055, pp. 52–68. Springer, Heidelberg (2010)
Hinek, M.: Lattice Attacks in Cryptography: A Partial Overview. Tech. rep., School of Computer Science, University of Waterloo (2004)
Hoffstein, J., Pipher, J., Silverman, J.H.: NTRU: A Ring-Based Public Key Cryptosystem. In: Buhler, J.P. (ed.) ANTS 1998. LNCS, vol. 1423, pp. 267–288. Springer, Heidelberg (1998)
Joux, A.: A Fast Parallel Lattice Basis Reduction Algorithm. In: Proceedings of the Second Gauss Symposium, pp. 1–15 (1993)
Joux, A., Stern, J.: Lattice Reduction: a Toolbox for the Cryptanalyst. Journal of Cryptology 11, 161–185 (1994)
Kerr, A., Campbell, D., Richards, M.: QR Decomposition on GPUs. Tech. rep., Georgia Institue of Technlogogy, Georgia Tech Research Institute (2009)
Khronos Group: The OpenCL Specification Version 1.1 (2011), http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf
Kuo, P.-C., Schneider, M., Dagdelen, Ö., Reichelt, J., Buchmann, J., Cheng, C.-M., Yang, B.-Y.: Extreme Enumeration on GPU and in Clouds. In: Preneel, B., Takagi, T. (eds.) CHES 2011. LNCS, vol. 6917, pp. 176–191. Springer, Heidelberg (2011)
Lenstra, A., Lenstra, H., Lovász, L.: Factoring polynomials with rational coefficients. Mathematische Annalen 261(4), 515–534 (1982)
Lyubashevsky, V., Micciancio, D., Peikert, C., Rosen, A.: SWIFFT: A Modest Proposal for FFT Hashing. In: Nyberg, K. (ed.) FSE 2008. LNCS, vol. 5086, pp. 54–72. Springer, Heidelberg (2008)
Merkle, R., Hellman, M.: Hiding information and signatures in trapdoor knapsacks. IEEE Transactions on Information Theory 24, 525–530 (1978)
Nguyen, P.Q., Stehlé, D.: An LLL Algorithm with Quadratic Complexity. SIAM Journal on Computing 39(3), 874–903 (2009)
nVidia: NVIDIA CUDA Development Tools (2010), http://developer.download.nvidia.com/compute/cuda/3_2/docs/Getting_Started_Windows.pdf
nVidia: NVIDIA CUDA Programming Guide (2010), http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUDA_C_Programming_Guide.pdf
Peikert, C.: Public-key cryptosystems from the worst-case shortest vector problem: extended abstract. In: STOC 2009: Proceedings of the 41st Annual ACM Symposium on Theory of Computing, pp. 333–342. ACM, New York (2009)
Regev, O.: On lattices, learning with errors, random linear codes, and cryptography. J. ACM 56(6), 1–40 (2009)
Rivest, R., Shamir, A., Adleman, L.: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM 21, 120–126 (1978)
Schneider, M., Göttert, N.: Random Sampling for Short Lattice Vectors on Graphics Cards. In: Preneel, B., Takagi, T. (eds.) CHES 2011. LNCS, vol. 6917, pp. 160–175. Springer, Heidelberg (2011)
Schnorr, C., Euchner, M.: Lattice basis reduction: improved practical algorithms and solving subset sum problems. Math. Program. 66(2), 181–199 (1994)
Shoup, V.: NTL: A Library for doing Number Theory, http://www.shoup.net/ntl/
Villard, G.: Parallel lattice basis reduction. In: ISSAC 1992: Papers from the International Symposium on Symbolic and Algebraic Computation, pp. 269–277. ACM, New York (1992)
Wetzel, S.: An Efficient Parallel Block-Reduction Algorithm. In: Buhler, J.P. (ed.) ANTS 1998. LNCS, vol. 1423, pp. 323–337. Springer, Heidelberg (1998)
Wiese, K.: Parallelisierung von LLL-Algorithmen zur Gitterbasisreduktionen. Master’s thesis, Universität des Saarlandes (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bartkewitz, T., Güneysu, T. (2012). Full Lattice Basis Reduction on Graphics Cards. In: Armknecht, F., Lucks, S. (eds) Research in Cryptology. WEWoRC 2011. Lecture Notes in Computer Science, vol 7242. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34159-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-34159-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34158-8
Online ISBN: 978-3-642-34159-5
eBook Packages: Computer ScienceComputer Science (R0)