On the Efficiency of Polynomial Multiplication for Lattice-Based

Total Page:16

File Type:pdf, Size:1020Kb

On the Efficiency of Polynomial Multiplication for Lattice-Based On the Efficiency of Polynomial Multiplication for Lattice-Based Cryptography on GPUs using CUDA Sedat Akleylek1, 2, Ozgur¨ Da˘gdelen3, and Zaliha Y¨uceTok4 1Department of Computer Engineering, Ondokuz Mayıs University, Samsun, Turkey 2Cryptography and Computer Algebra Group, TU Darmstadt, Germany 3BridgingIT GmbH, Germany 4Institute of Applied Mathematics, METU, Ankara, Turkey [email protected],[email protected],[email protected] Abstract. Polynomial multiplication is the most time-consuming part of cryptographic schemes whose security is based on ideal lattices. Thus, any efficiency improvement on this building block has great impact on the practicability of lattice-based cryptography. In this work, we inves- tigate several algorithms for polynomial multiplication on a graphical processing unit (GPU), and implement them in both serial and parallel way on the GPU using the compute unified device architecture (CUDA) n platform. Moreover, we focus on the quotient ring (Z=pZ)[x]=(x + 1), where p is a prime number and n is a power of 2. We stress that this ring constitutes the most common setting in lattice-based cryptography for efficiency reasons. As an application we integrate the different implementations of polyno- mial multiplications into a lattice-based signature scheme proposed by G¨uneysuet al. (CHES 2012) and identify which algorithm is the prefer- able choice with respect to the ring of degree n. Keywords: lattice-based cryptography, GPU implementation, CUDA platform, polynomial multiplication, fast Fourier transform, cuFFT, NTT, Sch¨onhage-Strassen 1 Introduction Lattice-based cryptography has gained a lot of attention since the breakthrough work by Gentry [12] who constructed the very first fully homomorphic encryption scheme, answering a problem posed in 1978 and thought by many to be impos- sible to resolve. The security of lattice-based cryptographic schemes depends on the hardness of lattice problems which are believed to be intractable even against quantum attacks, as opposed to classical cryptographic schemes which are based on the hardness of factoring or computing discrete logarithms. Indeed, Shor [28] has shown that quantum computers can solve the latter computational problems in polynomial time, and thus making it plain to the community that alternatives are necessary once efficient quantum computers are omnipresent. 2 Additional reasons for the current popularity of lattice-based cryptography lies in their asymptotic efficiency. While classical cryptographic schemes deal with very large finite fields and/or require to perform expensive exponentia- tions, the efficiency of lattice-based schemes is dominated mainly by \cheap" matrix-vector multiplications. Moreover, even more efficient instantiations of lattice-based cryptographic schemes are derived if they are based on ideal lat- tices corresponding to ideals in rings of the form Z[x]=(f), where f is a degree n irreducible polynomial (usually f = xn + 1). The most common ring used in lattice-based cryptography (e.g., [7,14,19]) is the quotient ring (Z=pZ)[x]=(xn+1) for which we know quasi-logarithmic multiplication algorithms, namely via the Fast Fourier Transform (FFT). We stress that polynomial multiplication still constitutes the bottleneck of lattice-based cryptography with respect to its per- formance. Hence, efficient implementations of the multiplication operation im- pact positively and directly the performance of lattice-based cryptosystems. In the past there has been a great interest for the implementation of lattice- based cryptography on FPGAs [5, 13{16, 23{25, 27]. The main inducement lies here in running the arithmetic operations in parallel. P¨oppelmann et al. [22] showed how the arithmetic involved in lattice-based cryptography can be effi- ciently implemented on FPGAs. Specifically, they gave the details on the imple- mentation of how to parallelize the Number Theoretic Transform (NTT) algo- rithm for the precomputed values. Due to the memory requirements of finding those values, the precomputation step was not performed on the FPGA but were given to the system directly. In [5], Aysu et al. presented a low-cost and area efficient hardware architecture for polynomial multiplication via NTT with applications in lattice-based cryptographic schemes. In contrast to [22], Aysu et al. computed all values for precomputation also on the FPGA. Interestingly, the literature offers far less studies on the efficiency of poly- nomial multiplication on graphical processing units (GPU) in the quotient ring (Z=pZ)[x]=(xn +1). While GPUs are already a tool to cryptanalyze lattice prob- lems [17,18,26], only few works use GPUs to accelerate lattice-based cryptosys- tems [6, 30]. To the best of our knowledge, Emeliyanenko [10], Akleylek and Tok [1{3] are the only ones dealing with the efficiency of algorithms for polyno- mial multiplication on GPUs from which only the latter emphasizes on settings relevant for lattice-based cryptography. Our Contribution. The contribution of this paper is three-fold: We propose mod- ified FFT algorithm for sparse polynomial multiplication. With the proposed method we improve the complexity results almost 34% for the sparse polyno- mial multiplication in the lattice-based signature scheme by G¨uneysuet al. [14]. Second, we provide the first efficient implementation of the Sch¨onhage-Strassen polynomial multiplication algorithm on GPU using the CUDA platform and discuss its efficiency in comparison with well-known polynomial multiplication algorithms, namely iterative/parallel NTT and cuFFT. Our implementations are designed to the given GPU, namely the NVIDIA Geforce GT 555M GPU. Last, as an application we have implemented the lattice-based signature scheme by G¨uneysuet al. [14] on GPU and measured running times of the signature and 3 verification algorithm while using different polynomial multiplication methods. Originally, this signature scheme was implemented on FPGAs [14]. Roadmap. In Section 2 we recall well-known algorithms for polynomial multipli- cation, show their efficient implementations in GPU and modify FFT algorithm to be used in sparse polynomial multiplication efficiently. In Section 3 we recall the lattice-based signature scheme by G¨uneysuet al.. We show the experimental results of our implementations in Section 4. We also show the performance of the selected lattice-based signature scheme with respect to the chosen algorithm for polynomial multiplication. In Section 5 we impose further discussion on our observation. We conclude in Section 6. 2 Multiplication over the Ring (Z=pZ)[x]=(xn + 1) In this section, we give an overview of selected algorithms for polynomial mul- tiplication, namely NTT in serial and parallel type, and CUDA-based FFT (cuFFT). We also discuss improved version of FFT for sparse polynomial multi- plication. We focus on the arithmetic over the quotient ring (Z=pZ)[x]=(xn + 1) whose importance in lattice-based cryptography that we emphasized in the previ- ous section. Recall that polynomial multiplication by using FFT mainly consists of three steps: { conversion of coefficients of polynomials to Fourier domain with FFT algo- rithm having O(n log(n)) complexity, { coefficient wise multiplication of elements in Fourier domain having O(n) complexity, { converting the result into the integer domain with inverse FFT algorithm having O(n log(n)) complexity. 2.1 Number Theoretic Transform The NTT algorithm was proposed in [21] to avoid rounding errors in FFT. NTT is a discrete Fourier transform defined over a ring or a finite field and is used to multiply two integers without requiring arithmetic operations on complex numbers. The multiplication complexity is quasi-linear (i.e., O(n log n)). The NTT algorithm can be applied if both of the following requirements are fulfilled: { The degree n of the quotient ring (Z=pZ)[x]=(xn + 1) must divide (p − 1). { 9w 2 (Z=pZ) such that wn ≡ 1 (mod p) and for each i < n it holds wn 6= 1 (mod p). In order to multiply two ring elements via NTT, those elements have to trans- formed into NTT form. Let w be the primitive n−th root of unity, and a(x) = 4 Pn−1 i i=0 aix 2 (Z=pZ)[x] be given. The ring element a is transformed into the NTT form by algorithm NTTw(a) which is defined as follows: n−1 X ij NTTw(a) := (A0;:::;An−1) where Ai = ajw (mod p); j=0 −1 for i 2 f0; 1; : : : ; n−1g. The inverse transform NTTw (A) for A = (A0;:::;An−1) is given as: n−1 −1 −1 X −ij NTTw (A) := (a0; : : : ; an−1) where ai = n Ajw (mod p); j=0 with i 2 f0; 1; : : : ; n−1g. By using the Convolution theorem, arbitrary polynomi- als can be multiplied and then reduced according to chosen reduction polynomial. However, appending n 0's to the inputs doubles the size of the transform. To use NTT for the multiplication of two elements in (Z=pZ)[x]=(xn + 1) the condition is that p ≡ 1 (mod 2n) due to wrapped convolution approach. In Algorithm 1 the parallel version of the iterative NTT method is given. To make it efficient, we make use of \for" loops in the algorithm. Parallelization is achieved by de- termining the required number of threads. This algorithm needs data transfer between CPU and GPU. This may cause a delay and potentially defined the bottleneck in the performance. In Algorithm 2 we show how the parallelism is performed. Algorithm 1 Parallelized iterative NTT method (CPU and GPU side) Pn−1 i Pn−1 i n Input: a(x) = i=0 aix , b(x) = i=0 bix 2 (Z=pZ)[x]=(x + 1) Pn−1 i Output: c(x) = a(x) · b(x) = i=0 cix 1: f = BitReverseCopy(a) 2: f = SumDiff(f) 3: rn = Element of order(n) 4: if reverse NTT then −1 5: rn = rn (mod p)
Recommended publications
  • Algorithm Construction of Hli Hash Function
    Far East Journal of Mathematical Sciences (FJMS) © 2014 Pushpa Publishing House, Allahabad, India Published Online: April 2014 Available online at http://pphmj.com/journals/fjms.htm Volume 86, Number 1, 2014, Pages 23-36 ALGORITHM CONSTRUCTION OF HLI HASH FUNCTION Rachmawati Dwi Estuningsih1, Sugi Guritman2 and Bib P. Silalahi2 1Academy of Chemical Analysis of Bogor Jl. Pangeran Sogiri No 283 Tanah Baru Bogor Utara, Kota Bogor, Jawa Barat Indonesia 2Bogor Agricultural Institute Indonesia Abstract Hash function based on lattices believed to have a strong security proof based on the worst-case hardness. In 2008, Lyubashevsky et al. proposed SWIFFT, a hash function that corresponds to the ring R = n Z p[]α ()α + 1 . We construct HLI, a hash function that corresponds to a simple expression over modular polynomial ring R f , p = Z p[]x f ()x . We choose a monic and irreducible polynomial f (x) = xn − x − 1 to obtain the hash function is collision resistant. Thus, the number of operations in hash function is calculated and compared with SWIFFT. Thus, the number of operations in hash function is calculated and compared with SWIFFT. 1. Introduction Cryptography is the study of mathematical techniques related to aspects Received: September 19, 2013; Revised: January 27, 2014; Accepted: February 7, 2014 2010 Mathematics Subject Classification: 94A60. Keywords and phrases: hash function, modular polynomial ring, ideal lattice. 24 Rachmawati Dwi Estuningsih, Sugi Guritman and Bib P. Silalahi of information security relating confidentiality, data integrity, entity authentication, and data origin authentication. Data integrity is a service, which is associated with the conversion of data carried out by unauthorized parties [5].
    [Show full text]
  • SWIFFT: a Modest Proposal for FFT Hashing*
    SWIFFT: A Modest Proposal for FFT Hashing? Vadim Lyubashevsky1, Daniele Micciancio1, Chris Peikert2;??, and Alon Rosen3 1 University of California at San Diego 2 SRI International 3 IDC Herzliya Abstract. We propose SWIFFT, a collection of compression functions that are highly parallelizable and admit very efficient implementations on modern microprocessors. The main technique underlying our functions is a novel use of the Fast Fourier Transform (FFT) to achieve “diffusion,” together with a linear combination to achieve compression and \confusion." We provide a detailed security analysis of concrete instantiations, and give a high-performance software implementation that exploits the inherent parallelism of the FFT algorithm. The throughput of our implementation is competitive with that of SHA-256, with additional parallelism yet to be exploited. Our functions are set apart from prior proposals (having comparable efficiency) by a supporting asymp- totic security proof : it can be formally proved that finding a collision in a randomly-chosen function from the family (with noticeable probability) is at least as hard as finding short vectors in cyclic/ideal lattices in the worst case. 1 Introduction In cryptography, there has traditionally been a tension between efficiency and rigorous security guarantees. The vast majority of proposed cryptographic hash functions have been designed to be highly efficient, but their resilience to attacks is based only on intuitive arguments and validated by intensive cryptanalytic efforts. Recently, new cryptanalytic techniques [29, 30, 4] have started casting serious doubts both on the security of these specific functions and on the effectiveness of the underlying design paradigm. On the other side of the spectrum, there are hash functions having rigorous asymptotic proofs of security (i.e., security reductions), assuming that various computational problems (such as the discrete logarithm problem or factoring large integers) are hard to solve on the average.
    [Show full text]
  • Truly Fast NTRU Using NTT∗
    NTTRU: Truly Fast NTRU Using NTT∗ Vadim Lyubashevsky1 and Gregor Seiler2 1 IBM Research – Zurich, Switzerland [email protected] 2 IBM Research – Zurich and ETH Zurich, Switzerland [email protected] Abstract. We present NTTRU – an IND-CCA2 secure NTRU-based key encapsulation scheme that uses the number theoretic transform (NTT) over the cyclotomic ring 768 384 Z7681[X]/(X −X +1) and produces public keys and ciphertexts of approximately 1.25 KB at the 128-bit security level. The number of cycles on a Skylake CPU of our constant-time AVX2 implementation of the scheme for key generation, encapsulation and decapsulation is approximately 6.4K, 6.1K, and 7.9K, which is more than 30X, 5X, and 8X faster than these respective procedures in the NTRU schemes that were submitted to the NIST post-quantum standardization process. These running times are also, by a large margin, smaller than those for all the other schemes in the NIST process. We also give a simple transformation that allows one to provably deal with small decryption errors in OW-CPA encryption schemes (such as NTRU) when using them to construct an IND-CCA2 key encapsulation. Keywords: NTRU · Lattice Cryptography · AVX2 · NTT 1 Introduction Lattice-based schemes based on structured polynomial lattices [HPS98, LPR13] provide us with one of the most promising solutions for post-quantum encryption. The public key and ciphertext sizes are about 1 KB and encryption / decryption are faster than that of traditional encryption schemes based on RSA and ECDH assumptions. Lattice schemes are especially fast when they work over rings in which operations can be performed via the Number Theory Transform (NTT) [LMPR08] and many lattice-based encryption schemes indeed utilize this approach (e.g.
    [Show full text]
  • Fundamental Data Structures Contents
    Fundamental Data Structures Contents 1 Introduction 1 1.1 Abstract data type ........................................... 1 1.1.1 Examples ........................................... 1 1.1.2 Introduction .......................................... 2 1.1.3 Defining an abstract data type ................................. 2 1.1.4 Advantages of abstract data typing .............................. 4 1.1.5 Typical operations ...................................... 4 1.1.6 Examples ........................................... 5 1.1.7 Implementation ........................................ 5 1.1.8 See also ............................................ 6 1.1.9 Notes ............................................. 6 1.1.10 References .......................................... 6 1.1.11 Further ............................................ 7 1.1.12 External links ......................................... 7 1.2 Data structure ............................................. 7 1.2.1 Overview ........................................... 7 1.2.2 Examples ........................................... 7 1.2.3 Language support ....................................... 8 1.2.4 See also ............................................ 8 1.2.5 References .......................................... 8 1.2.6 Further reading ........................................ 8 1.2.7 External links ......................................... 9 1.3 Analysis of algorithms ......................................... 9 1.3.1 Cost models ......................................... 9 1.3.2 Run-time analysis
    [Show full text]
  • Post-Quantum Authenticated Key Exchange from Ideal Lattices
    Post-quantum Authenticated Key Exchange from Ideal Lattices Jiang Zhang1, Zhenfeng Zhang1;∗, Jintai Ding2;∗, Michael Snook2, and Ozg¨ ur¨ Dagdelen3 1 Institute of Software, Chinese Academy of Sciences, China 2 University of Cincinnati, Cincinnati, USA 3 Darmstadt University of Technology, Germany [email protected], [email protected], [email protected], [email protected], [email protected] * Corresponding Authors Abstract. In this paper, we present a practical and provably secure two-pass AKE protocol from ideal lattices, which is conceptually simple and has similarities to the Diffie-Hellman based protocols such as HMQV (CRYPTO 2005) and OAKE (CCS 2013). Our protocol does not rely on other cryptographic primitives—in particular, it does not use signatures—simplifying the protocol and resting the security solely on the hardness of the ring learning with errors problem. The security is proven in the Bellare-Rogaway model with weak perfect forward secrecy. We also give a one-pass variant of our two-pass protocol, which might be appealing in specific applications. Several concrete choices of parameters are provided, and a proof-of-concept implementation shows that our protocols are indeed practical. 1 Introduction Key Exchange (KE) is a fundamental cryptographic primitive, allowing two parties to securely generate a common secret key over an insecure network. Because symmetric cryptographic tools (e.g. AES) are reliant on both parties having a shared key in order to securely transmit data, KE is one of the most used cryptographic tools in building secure communication protocols (e.g. SSL/TLS, IPSec, SSH). Following the introduction of the Diffie-Hellman (DH) protocol [25], cryptographers have devised a wide selection of KE protocols with various use-cases.
    [Show full text]
  • Automatic Library Generation and Performance Tuning for Modular Polynomial Multiplication a Thesis Submitted to the Faculty of D
    Automatic Library Generation and Performance Tuning for Modular Polynomial Multiplication A Thesis Submitted to the Faculty of Drexel University by Lingchuan Meng in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science June 2015 c Copyright 2015 Lingchuan Meng. All Rights Reserved. ii Dedications To my wife, Xiaoyu, for being the love of my life. To my parents, Xianghua and Shumei, for all their love, support and patience over the years. iii Acknowledgments I would like to begin by thanking my advisor, Dr. Jeremy Johnson for providing me with the endless source of inspiration and numerous days proofreading the drafts of the papers and this thesis. My special thanks extend to the members of my thesis examining committee: Dr. Bruce Char, Dr. Franz Franchetti, Dr. David Saunders and Dr. Ali Shokoufan- deh. They have all provided great feedback on this document, as well as some lively discussion and valuable insights. This work would not be possible without the contributions made by the SPIRAL team members. Yevgen Voronenko, Volodymyr Arbatov, and Richard Veras have pa- tiently helped me with understanding, extending and enhancing the amazing SPIRAL project. I have been fortunate to have discussed the topics in this thesis with some top researchers: Marc Moreno Maza and his students provided me with the modpn library and optimization ideas for polynomial arithmetic. Daniel Roche and Andrew Arnold offered in-depth discussions on the truncated Fourier transform. Pascal Giorgi shared some great ideas with me on the low-level optimization for various hardware features. I have always enjoyed the enlightening conversation with my fellow students in the research lab and the TA office at Drexel University.
    [Show full text]
  • Efficient Lattice-Based Inner-Product Functional Encryption
    Working paper n° 2021-02-006 Efficient Lattice-Based Inner-Product Functional Encryption Jose Maria Bermudo Mera, Angshuman Karmakar, Tilen Marc and Azam Soleimanian The “Blockchain & Platforms” chair was created by the School and the Fondation de l’X, with the support of Capgemini. It combines researchers and teacher-researchers in computer science and economics in order to prepare students to foster or support innovation in the emerging field of blockchain and associated technologies. Efficient Lattice-Based Inner-Product Functional Encryption Jose Maria Bermudo Mera1, Angshuman Karmakar1, Tilen Marc2,3, and Azam Soleimanian4,5 1 imec-COSIC, KU Leuven, Leuven, Belgium {Jose.Bermudo,Angshuman.Karmakar}@esat.kuleuven.be 2 Faculty of Mathematics and Physics, University of Ljubljana, Slovenia 3 XLAB d.o.o., Ljubljana, Slovenia [email protected] 4 DIENS, École normale supérieure, CNRS, PSL University, Paris, France [email protected] 5 INRIA, Paris, France Abstract. In the recent years, many research lines on Functional Encryption (FE) have been suggested and studied regarding the functionality, security, or efficiency. These studies include quadratic FE, multi-client FE, function-hiding FE, dynamic FE and much more. Nevertheless, an open problem on a basic functionality, the single-input inner-product (IPFE), remains: can IPFE be instantiated based on the Ring Learning With Errors (RLWE) assumption? The RLWE assumption provides quantum-resistance security while in comparison with LWE assumption gives significant performance and compactness gains. In this paper we present the first IPFE scheme whose security is guaranteed relying on the RLWE assumption. The security proof requires developing two new results on ideal lattices.
    [Show full text]
  • Fast Fourier Orthogonalization
    Fast Fourier Orthogonalization ∗ y Léo Ducas Thomas Prest CWI, Cryptology Group Thales Communications & Security Amsterdam, The Netherlands Gennevilliers, France [email protected] [email protected] ABSTRACT when the matrix is circulant. This is achieved by exploiting the isomorphism between the ring of d × d circulant matrices The classical fast Fourier transform (FFT) allows to compute d in quasi-linear time the product of two polynomials, in the and the circular convolution ring Rd = R[x]=(x − 1). d A widely studied and more involved question is matrix circular convolution ring R[x]=(x − 1) | a task that naively requires quadratic time. Equivalently, it allows to accelerate decomposition [20] for structured matrices, in particular matrix-vector products when the matrix is circulant. Gram-Schmidt orthgonalization (GSO). In this work, we are In this work, we discover that the ideas of the FFT can be interested in the GSO of circulant matrices, and more gener- applied to speed up the orthogonalization process of matrices ally of matrices with circulant blocks. Our main motivation with circulant blocks of size d × d. We show that, when d is is to accelerate lattice algorithms for lattices that admit a composite, it is possible to proceed to the orthogonalization basis with circulant blocks. This use case allows a helpful in an inductive way |up to an appropriate re-indexation of extra degree of freedom: one may permute rows and columns rows and columns. This leads to a structured Gram-Schmidt of the lattice basis since this leaves the generated lattice decomposition. In turn, this structured Gram-Schmidt de- unchanged |up to an isometry.
    [Show full text]
  • SWIFFTX: a Proposal for the SHA-3 Standard
    SWIFFTX: A Proposal for the SHA-3 Standard Yuriy Arbitman Gil Dogon∗ Vadim Lyubashevsky† Daniele Micciancio‡ Chris Peikert§ Alon Rosen¶ October 30, 2008 Abstract This report describes the SWIFFTX hash function. It is part of our submission package to the SHA-3 hash function competition. The SWIFFTX compression functions have a simple and mathematically elegant design. This makes them highly amenable to analysis and optimization. In addition, they enjoy two unconventional features: Asymptotic proof of security: it can be formally proved that finding a collision in a randomly-chosen compression function from the SWIFFTX family is at least as hard as finding short vectors in cyclic/ideal lattices in the worst case. High parallelizability: the compression function admits efficient implementations on modern microprocessors. This can be achieved even without relying on multi core capabilities, and is obtained through a novel cryptographic use of the Fast Fourier Transform (FFT). The main building block of SWIFFTX is the SWIFFT family of compression functions, presented in the 2008 workshop on Fast Software Encryption (Lyubashevsky et al., FSE’08). Great care was taken in making sure that SWIFFTX does not inherit the major shortcoming of SWIFFT – linearity – while preserving its provable collision resistance. The SWIFFTX compression function maps 2048 input bits to 520 output bits. The mode of operation that we employ is HAIFA (Biham and Dunkelman, 2007), resulting in a hash function that accepts inputs of any length up to 264 1 bits, and produces message digests of the SHA-3 required lengths of 224, 256, 384 and 512 b−its. ∗Mobileye Inc., Israel.
    [Show full text]
  • Lattice-Based Cryptography
    Lattice-Based Cryptography Federico Bergami Advised by Prof. Christine Bachoc Universita` di Universite´ de Padova Bordeaux ALGANT Master's Thesis - 20 July, 2016 Why pure Math [Orl15] Contents Acknowledgements v List of algorithms vii List of figures ix Introduction 1 Notations 5 1 Preliminaries 7 1.1 Lattices . 7 1.1.1 Basic Definitions . 7 1.1.2 Computational Problems . 9 1.1.3 Ideal and Cyclic Lattices . 11 1.2 Gaussian Measure . 13 2 Early Results 15 2.1 Ajtai-Dwork Encryption Scheme . 15 2.1.1 Ajtai-Dwork Cryptosystem . 16 2.2 NTRU Ecryption Scheme . 18 3 Modern Results 21 3.1 SIS and Related Protocols . 21 3.1.1 Short Integer Solution Problem(SIS) . 22 iii iv Contents 3.1.2 Lattice-based hash function . 24 3.1.3 Hash functions on ideal lattices . 28 3.2 LWE and Related Protocols . 30 3.2.1 Learning With Errors Problem(LWE) . 31 3.2.2 LWE Encryption Scheme . 34 4 Ring-Learning With Errors Problem 37 4.1 Background . 37 4.1.1 Space H, Distributions and Lattices . 38 4.1.2 Ideal Lattices and Canonical Embedding . 39 4.1.3 Cyclotomic Number Fields and their properties . 41 4.1.4 Trace and Duality . 42 4.1.5 Chinese Remainder Theorem . 43 4.2 The R-LWE problem and its variants . 43 4.2.1 Error Distributions . 44 4.3 Hardness . 45 4.3.1 Hardness of Search-LWE . 46 4.3.2 Hardness of Decision-LWE . 46 5 Open Questions 53 Bibliography 55 Acknowledgements I am very thankful to Prof.
    [Show full text]
  • The Hidden Subgroup Problem
    The Hidden Subgroup Problem Master's Project Frédéric Wang 20090566 Supervisor: Ivan Damgård July 2010 Datalogisk Institut Det Naturvidenskabelige Fakultet Aarhus Universitet Danmark École Nationale Supérieure d'Informatique pour l'Industrie et l'Entreprise Evry France ii Abstract We review the Hidden Subgroup Problem (HSP), one of the most prominent topic in quantum computing. We start with some "historical" quantum algorithms which are exponentially faster than their classical counterparts, including the famous Shor's factoring algorithm. Then, we define HSP and show how the previous algorithms can be interpreted as solutions to this problem. In a second part, we describe in detail the "standard method". We recall the solution to the abelian case as well as some representation theory background that allows to use Fourier Transform over Finite Groups. We also define Fourier Sampling and mention how the weak version extends the abelian case to find normal hidden subgroups and solve the dedekindian HSP. In a third part, we discuss all the results known so far for the cases of the Dihedral and Symmetric groups, which are expected to provide new efficient algorithms. Solving the dihedral HSP in a particular way gives an algorithm for poly(n)-uniqueSVP while a solution to the symmetric HSP gives an algorithm for the graph isomorphism problem. Finally, we conclude our study with the general HSP. We make some proposals for a general approach and discuss the solutions and techniques known so far. Next, we indicate how HSP relates to various efficient algorithms. We also give an overview of miscellaneous variants and extensions to the hidden subgroup problem that have been proposed.
    [Show full text]
  • SWIFFT: a Modest Proposal for FFT Hashing*
    SWIFFT: A Modest Proposal for FFT Hashing! Vadim Lyubashevsky1, Daniele Micciancio1, Chris Peikert2,!!, and Alon Rosen3 1 University of California at San Diego 2 SRI International 3 IDC Herzliya Abstract. We propose SWIFFT, a collection of compression functions that are highly parallelizable and admit very efficient implementations on modern microprocessors. The main technique underlying our functions is a novel use of the Fast Fourier Transform (FFT) to achieve “diffusion,” together with a linear combination to achieve compression and “confusion.” We provide a detailed security analysis of concrete instantiations, and give a high-performance software implementation that exploits the inherent parallelism of the FFT algorithm. The throughput of our implementation is competitive with that of SHA-256, with additional parallelism yet to be exploited. Our functions are set apart from prior proposals (having comparable efficiency) by a supporting asymp- totic security proof : it can be formally proved that finding a collision in a randomly-chosen function from the family (with noticeable probability) is at least as hard as finding short vectors in cyclic/ideal lattices in the worst case. 1 Introduction In cryptography, there has traditionally been a tension between efficiency and rigorous security guarantees. The vast majority of proposed cryptographic hash functions have been designed to be highly efficient, but their resilience to attacks is based only on intuitive arguments and validated by intensive cryptanalytic efforts. Recently, new cryptanalytic techniques [29, 30, 4] have started casting serious doubts both on the security of these specific functions and on the effectiveness of the underlying design paradigm. On the other side of the spectrum, there are hash functions having rigorous asymptotic proofs of security (i.e., security reductions), assuming that various computational problems (such as the discrete logarithm problem or factoring large integers) are hard to solve on the average.
    [Show full text]