Fast integer multiplication

Size: px
Start display at page:

Download "Fast integer multiplication"

Transcription

1 Fast integer multiplication David Harvey, Joris van der Hoeven, Grégoire Lecerf CNRS, École polytechnique Bordeaux, February 2,

2 Fundamental complexities I(n): multiplication of two n-digit integers M K (n): multiplication of two polynomials in K[x] of degree <n r ω : multiplication of two r r matrices More involved operations Division in Z O(I(n)) GCD in Z O(I(n) logn) Division in K[X] O(M K (n)) GCD in K[X] O(M K (n) logn) Inverting an r r matrix O(r ω ) Multiplication of r r integer matrices (n r) O(I(n)r 2 ) Multiplication of r r integer matrices (r n) O(nr ω ) Roots of polynomial in C[X], precision p n O(I(np) logn) Exponentiation with n-bit precision O(I(n) log n) Stokes matrix of holonomic function over Qˆ O(r 2 I(n) log 3 n) Etc.

3 Computational models Turing machines Turing machines with a finite number of tapes [Papadimitriou 94] Other bit complexity models Operations on logn-bit numbers in time O(1) Random access machine (RAM) «Straight Line Programs» (SLPs) DAGs, non branching programs [Bürgisser Clausen Shokrollahi 97] Other algebraic complexity models Turing machines with entries in model-theoretic structures S [Friedman 69] BSS machines [Blum Shub Smale 89]

4 Integer multiplication, very short history Date Authors Complexity <3000 ajc Unknown O(n 2 ) 1962 Karatsuba O(n log3/log2 ) 1963 (1965) Toom (Cook) O(n2 5 logn/log2 ) 1966 Schönhage O(n2 2logn/log2 (logn) 3/2 ) 1969 Knuth O(n2 2logn/log2 logn) 1971 Schönhage Strassen O(n log n log log n) 2007 Fürer O ( n logn2 ) O(log n) 2014 Harvey vdh Lecerf O(n logn8 log n ) log x := min{k N: log k x 1}, log k := log k log.

5 Multiplication by evaluation-interpolation Kronecker = X X X X = Evaluation-interpolation P,Q K[X] Multiplication PQ Evaluation Interpolation P(x 0 ),...,P(x N 1 ) (PQ)(x 0 ),...,(PQ)(x N 1 ) Q(x 0 ),...,Q(x N 1 ) Point-wise multiplication

6 Discrete Fourier Transform (DFT) Definition ω K primitive N-th root of unity, with N 2 N DFT ω (P 0,...,P N 1 ) = (P(1),P(ω),P(ω 2 ),...,P(ω N 1 )) Corresponds to evaluating P =P 0 + +P N 1 X N 1 at x i =ω i Inverse transform Interpolation evaluation DFT ω 1 = 1 N DFT ω 1 Variants K=C b : complex DFT, complex fixed-point arithmetic with b-bit precision K=F p, modular DFT, with p prime number of the form k2 N ±1 [Pollard 71] K=L[Y]/ ( Y 2N ±1 ), synthetic DFT, à la Schönhage Strassen

7 Discrete Fourier Transform (II) N lgn Cost of one DFT : 1 2 N lgn butterflies O(N lgn) operations in K Complex DFT Modular DFT Synthetic DFT N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n butterfly O( n ) I(n)=O(n lgn n+ n I( n))

8 Discrete Fourier Transform (II) N lgn Cost of one DFT : 1 2 N lgn butterflies O(N lgn) operations in K Complex DFT Modular DFT Synthetic DFT N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n butterfly O( n ) I(n)=O(n lgn n+ n I( n))

9 Discrete Fourier Transform (II) N lgn Cost of one DFT : 1 2 N lgn butterflies O(N lgn) operations in K Complex DFT Modular DFT Synthetic DFT N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n butterfly O( n ) I(n)=O(n lgn n+ n I( n))

10 Discrete Fourier Transform (II) N lgn Cost of one DFT : 1 2 N lgn butterflies O(N lgn) operations in K Complex DFT Modular DFT Synthetic DFT N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgni(lgn)+nlgn) N n butterfly O( n ) I(n)=O(n lgn n+ n I( n))

11 Discrete Fourier Transform (II) N lgn Cost of one DFT : 1 2 N lgn butterflies O(N lgn) operations in K Complex DFT Modular DFT Synthetic DFT N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgn lg lgn lg lg lgn ) N n/lgn M K (1)=O(I(lgn)) I(n)=O(n lgn lg lgn lg lg lgn ) N n butterfly O( n ) I(n)=O(n lgn lg lgn)

12 Variants of Discrete Fourier Transform 1 1 Permutation Permutation Permutation i ω 2 ω i ω 2 ω

13 Variants of Discrete Fourier Transform Permutation + twiddle Permutation + twiddle Permutation + twiddle 1 1

14 Variants of Discrete Fourier Transform i i 1 1 Permutation + twiddle i 1 i 1

15 Giant butterflies R lgn N lgr lg lgn lgn Slightly cheating in picture: we should have used 16 butterflies on every line

16 Fast integer multiplication Fürer s algorithm Coefficients in R=C b [X]/(X R/2 +1) Existence of a principal N-th root of unity ω, with ω 2N/R =X Fast giant butterflies (size R lgr), but slow twiddling multiplications in R New algorithm (( N I(n) = O R I(n) n lgn = O(1)+O ) lgn lgr ( I(n) = n lgn2 O(log n) ) (brlgr) ) I(Rb) (Rb) lg(rb) Ordinary DFT, but accelerate the giant butterflies: DFT of size R lgr over C b Slower giant butterflies, but faster twiddling (( N +O R (R b lgn) Bluestein O(MCb [X](R)) ) ) lgn M Cb (R) lgr Kronecker O(I(Rb)) Ordinary DFT faster point-wise multiplication (application : integer matrices)

17 Cyclic convolutions DFTs Cyclic convolution DFT P,Q K[X]/(X n 1), n 2 N>, primitive n-th root of unity ω ((PQ) 0,...,(PQ) n 1 ) = DFT ω 1 (DFT ω (P 0,...,P n 1 ) DFT ω (Q 0,...,Q n 1 )) DFT Cyclic convolution [Bluestein 70] Assume η K given with η 2 =ω. f i :=η i2, g i :=η i2 f i+n =η (i+n)2 =η i2 +n 2 +2ni =η i2 ω( n 2 +i)n =f i, g i+n =g i Then ω ij =f i f j g i j, so for all a K n : n 1 â i = DFT ω (a) i = j=0 One recognizes a cyclic convolution n 1 a j ω ij =f i j=0 (a j f j )g i j

18 Complexity analysis Logarithmically slow function Function Φ:[x 0, ) R such that there exists a l N with (log l Φ exp l )(x) = logx+o(1) (x ). Examples: Φ(x)=logx, Φ(x)=log 2 x, Φ(x)=(logx) log logx log log x e2014log, Φ(x)=e Iterateurs [see also Écalle 92, Schmeling 01] Φ (Φ(x)) = Φ(x) 1 Φ (x) = min{k N:Φ k (x) σ}. Lemma. Φ logarithmically slow, Φ iterator of Φ. Then Φ (x) = log x+o(1) Lemma. Φ logarithmically slow. Constants K,B,L,l and function T such that ( T(x) K 1+ B ) log l T(Φ(x))+L. x Then T(x)=O(K log n ).

19 Complexity analysis Logarithmically slow function Function Φ:[x 0, ) R such that there exists a l N with (log l Φ exp l )(x) = logx+o(1) (x ). Examples: Φ(x)=logx, Φ(x)=log 2 x, Φ(x)=(logx) log logx log log x e2014log, Φ(x)=e Iterateurs [see also Écalle 92, Schmeling 01] Φ (Φ(x)) = Φ(x) 1 Φ (x) = min{k N:Φ k (x) σ}. Lemma. Φ logarithmically slow, Φ iterator of Φ. Then Φ (x) = log x+o(1) Lemma. Φ 1,...,Φ k logarithmically slow. Constants K,B,L,l,c 1 + +c k =1 and functiont such that ( T(x) K 1+ B ) log l (c 1 T(Φ 1 (x))+ +c k T(Φ k (x)))+l. x Then T(x)=O(K log n ).

20 Which approach yields the fastest algorithm? We now have several ways to show that What is the best K we can get? I(n) = O(n lgnk log n ). Fürer, after optimisation : K= 16 (?) We, after optimisation : K=8 Ingredients Multiplication in Z multiplication in (Z/(2 n 1) Z)[i]. One argument shared many times in recursive calls 2 DFTs instead of 3. Convolution of length N with b-bit coefficients output of size 2b+O(lgN). Taking b (lgn) 2 instead of b lgn improves the ratio (2b+O(lgN))/b. Increase R lgn R (lgn) lg lgn+o(1). Cost Bluestein Kronecker cost twiddling and other.

21 Can we do even better? Where does the cost come from? a) Factor 2 b) Factor 2 c) Factor 2 Kronecker segmentation (Z[i] C b [X], cutting into pieces of b bits) 2 direct and inverse DFT Kronecker substitution (C b [X]/(X R 1) Z/(2 2bR 1) Z) Fermat primes And if, if, if there were sufficiently many prime numbers of the form p=2 2k +1 (Optimized) Fürer approach for K=F p yields K=4 Unfortunately..., p= is the largest known prime number of this form Mersenne primes Conjecture 1. Let π m (x)={p x:p=2 q 1,p prime,q prime}. Then a<b, Crandall Fagin algorithm a log logx<π m (x)<blog logx Multiplication F p [i][x]/(x M 1) F p [i][x,y]/(x M 1,Y N 1), p p Conjecture 1 K=4

22 Multiplication in F q [X] and in K[X] Kronecker : M Fp (n)=o(i(n logp)) if logn=o(logp) Schönhage Strassen : M Fq (n)=o(n logn log lognm Fq (1)) if char F q >2 Schönhage : M Fq (n)=o(n lognlog logn M Fq (1)) for all q Cantor Kaltofen : for any K-algebra A, M alg A (n)=o(n lognlog logn) Kronecker : M Fp k(n) M Fp (kn), modulo O(knlogp) operations Theorem. We have, uniformly in p: M p (n) = O ( (n logp) log(n logp)8 log (nlog p) ) Theorem. Modulo plausable conjectures, we have, uniformly in p: M p (n) = O ( (n logp) log(n logp)4 log (nlog p) ) Theorem. Let A be an F p -algebra. Then M A alg (n) = O(n lg n 8 log n ), uniformly in A. Moreover, we only need O(n4 log n ) (non scalar) multiplications in A.

23 Proof elements 1. Multiplication in F p [X] multiplication in F p k[x] 2. k such that F p k[x] admits an N-th primitive root of unity ω, with N large and smooth

24 3. Write N =N 1 N r with N 1,...,N r under control and use Bluestein-Kronecker Pari] factor (2^60-1) %1 = Pari] factor (7^60-1) %2 =

25 Pari] factor (2^210-1) %3 =

26 Pari] factor (37^60-1) %4 =

27 Pari]

Even faster integer multiplication

Even faster integer multiplication Even faster integer multiplication DAVID HARVEY School of Mathematics and Statistics University of New South Wales Sydney NSW 2052 Australia Email: d.harvey@unsw.edu.au JORIS VAN DER HOEVEN a, GRÉGOIRE

More information

Even faster integer multiplication

Even faster integer multiplication Even faster integer multiplication DAVID HARVEY School of Mathematics and Statistics University of New South Wales Sydney NSW 2052 Australia Email: d.harvey@unsw.edu.au JORIS VAN DER HOEVEN a, GRÉGOIRE

More information

Faster integer multiplication using short lattice vectors

Faster integer multiplication using short lattice vectors Faster integer multiplication using short lattice vectors David Harvey and Joris van der Hoeven ANTS XIII, University of Wisconsin, Madison, July 2018 University of New South Wales / CNRS, École Polytechnique

More information

Faster polynomial multiplication over nite elds

Faster polynomial multiplication over nite elds Faster polynomial multiplication over nite elds David Harvey School of Mathematics and Statistics University of New South Wales Sydney NSW 2052 Australia Email: d.harvey@unsw.edu.au Joris van der Hoeven

More information

Even faster integer multiplication

Even faster integer multiplication Even faster integer multiplication David Harvey School of Mathematics and Statistics University of New South Wales Sydney NSW 2052 Australia Email: d.harvey@unsw.edu.au Joris van der Hoeven a, Grégoire

More information

Integer multiplication with generalized Fermat primes

Integer multiplication with generalized Fermat primes Integer multiplication with generalized Fermat primes CARAMEL Team, LORIA, University of Lorraine Supervised by: Emmanuel Thomé and Jérémie Detrey Journées nationales du Calcul Formel 2015 (Cluny) November

More information

Implementation of the DKSS Algorithm for Multiplication of Large Numbers

Implementation of the DKSS Algorithm for Multiplication of Large Numbers Implementation of the DKSS Algorithm for Multiplication of Large Numbers Christoph Lüders Universität Bonn The International Symposium on Symbolic and Algebraic Computation, July 6 9, 2015, Bath, United

More information

Integer multiplication and the truncated product problem

Integer multiplication and the truncated product problem Integer multiplication and the truncated product problem David Harvey Arithmetic Geometry, Number Theory, and Computation MIT, August 2018 University of New South Wales Political update from Australia

More information

Implementing Fast Carryless Multiplication

Implementing Fast Carryless Multiplication Implementing Fast Carryless Multiplication Joris van der Hoeven, Robin Larrieu and Grégoire Lecerf CNRS & École polytechnique MACIS 2017 Nov. 15, Vienna, Austria van der Hoeven, Larrieu, Lecerf Implementing

More information

Fast algorithms for polynomials and matrices Part 2: polynomial multiplication

Fast algorithms for polynomials and matrices Part 2: polynomial multiplication Fast algorithms for polynomials and matrices Part 2: polynomial multiplication by Grégoire Lecerf Computer Science Laboratory & CNRS École polytechnique 91128 Palaiseau Cedex France 1 Notation In this

More information

Faster polynomial multiplication over finite fields

Faster polynomial multiplication over finite fields Faster polynomial multiplication over finite fields David Harvey, Joris Van Der Hoeven, Grégoire Lecerf To cite this version: David Harvey, Joris Van Der Hoeven, Grégoire Lecerf. Faster polynomial multiplication

More information

CPSC 518 Introduction to Computer Algebra Asymptotically Fast Integer Multiplication

CPSC 518 Introduction to Computer Algebra Asymptotically Fast Integer Multiplication CPSC 518 Introduction to Computer Algebra Asymptotically Fast Integer Multiplication 1 Introduction We have now seen that the Fast Fourier Transform can be applied to perform polynomial multiplication

More information

Fast integer multiplication using generalized Fermat primes

Fast integer multiplication using generalized Fermat primes Fast integer multiplication using generalized Fermat primes Svyatoslav Covanov, Emmanuel Thomé To cite this version: Svyatoslav Covanov, Emmanuel Thomé. Fast integer multiplication using generalized Fermat

More information

Frequency Domain Finite Field Arithmetic for Elliptic Curve Cryptography

Frequency Domain Finite Field Arithmetic for Elliptic Curve Cryptography Frequency Domain Finite Field Arithmetic for Elliptic Curve Cryptography Selçuk Baktır, Berk Sunar {selcuk,sunar}@wpi.edu Department of Electrical & Computer Engineering Worcester Polytechnic Institute

More information

Three Ways to Test Irreducibility

Three Ways to Test Irreducibility Three Ways to Test Irreducibility Richard P. Brent Australian National University joint work with Paul Zimmermann INRIA, Nancy France 12 Feb 2009 Outline Polynomials over finite fields Irreducibility criteria

More information

On the complexity of integer matrix multiplication.

On the complexity of integer matrix multiplication. On the complexity of integer matrix multiplication David Harvey, Joris Van Der Hoeven To cite this version: David Harvey, Joris Van Der Hoeven. 014. On the complexity of integer matrix multiplication.

More information

Three Ways to Test Irreducibility

Three Ways to Test Irreducibility Outline Three Ways to Test Irreducibility Richard P. Brent Australian National University joint work with Paul Zimmermann INRIA, Nancy France 8 Dec 2008 Polynomials over finite fields Irreducibility criteria

More information

Output-sensitive algorithms for sumset and sparse polynomial multiplication

Output-sensitive algorithms for sumset and sparse polynomial multiplication Output-sensitive algorithms for sumset and sparse polynomial multiplication Andrew Arnold Cheriton School of Computer Science University of Waterloo Waterloo, Ontario, Canada Daniel S. Roche Computer Science

More information

Fast multiplication and its applications

Fast multiplication and its applications Algorithmic Number Theory MSRI Publications Volume 44, 2008 Fast multiplication and its applications DANIEL J. BERNSTEIN ABSTRACT. This survey explains how some useful arithmetic operations can be sped

More information

Computer Vision, Convolutions, Complexity and Algebraic Geometry

Computer Vision, Convolutions, Complexity and Algebraic Geometry Computer Vision, Convolutions, Complexity and Algebraic Geometry D. V. Chudnovsky, G.V. Chudnovsky IMAS Polytechnic Institute of NYU 6 MetroTech Center Brooklyn, NY 11201 December 6, 2012 Fast Multiplication:

More information

Fast Polynomials Multiplication Using FFT

Fast Polynomials Multiplication Using FFT Li Chen lichen.xd at gmail.com Xidian University January 17, 2014 Outline 1 Discrete Fourier Transform (DFT) 2 Discrete Convolution 3 Fast Fourier Transform (FFT) 4 umber Theoretic Transform (TT) 5 More

More information

CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication

CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication March, 2006 1 Introduction We have now seen that the Fast Fourier Transform can be applied to perform

More information

arxiv: v1 [cs.sc] 22 Nov 2016

arxiv: v1 [cs.sc] 22 Nov 2016 FASTER INTEGER MULTIPLICATION USING PLAIN VANILLA FFT PRIMES arxiv:1611.07144v1 [cs.sc] 22 Nov 2016 DAVID HARVEY AND JORIS VAN DER HOEVEN Abstract. Assuming a conjectural upper bound for the least prime

More information

Fast Polynomial Multiplication

Fast Polynomial Multiplication Fast Polynomial Multiplication Marc Moreno Maza CS 9652, October 4, 2017 Plan Primitive roots of unity The discrete Fourier transform Convolution of polynomials The fast Fourier transform Fast convolution

More information

Speeding up characteristic 2: I. Linear maps II. The Å(Ò) game III. Batching IV. Normal bases. D. J. Bernstein University of Illinois at Chicago

Speeding up characteristic 2: I. Linear maps II. The Å(Ò) game III. Batching IV. Normal bases. D. J. Bernstein University of Illinois at Chicago Speeding up characteristic 2: I. Linear maps II. The Å(Ò) game III. Batching IV. Normal bases D. J. Bernstein University of Illinois at Chicago NSF ITR 0716498 Part I. Linear maps Consider computing 0

More information

Integer multiplication in time O(n log n)

Integer multiplication in time O(n log n) Integer multiplication in time O(n log n) David Harvey, Joris Van Der Hoeven To cite this version: David Harvey, Joris Van Der Hoeven. Integer multiplication in time O(n log n). 2019. HAL

More information

Parallel Integer Polynomial Multiplication Changbo Chen, Svyatoslav Parallel Integer Covanov, Polynomial FarnamMultiplication

Parallel Integer Polynomial Multiplication Changbo Chen, Svyatoslav Parallel Integer Covanov, Polynomial FarnamMultiplication Parallel Integer Polynomial Multiplication Parallel Integer Polynomial Multiplication Changbo Chen 1 Svyatoslav Covanov 2,3 Farnam Mansouri 2 Marc Moreno Maza 2 Ning Xie 2 Yuzhen Xie 2 1 Chinese Academy

More information

PUTTING FÜRER ALGORITHM INTO PRACTICE WITH THE BPAS LIBRARY. (Thesis format: Monograph) Linxiao Wang. Graduate Program in Computer Science

PUTTING FÜRER ALGORITHM INTO PRACTICE WITH THE BPAS LIBRARY. (Thesis format: Monograph) Linxiao Wang. Graduate Program in Computer Science PUTTING FÜRER ALGORITHM INTO PRACTICE WITH THE BPAS LIBRARY. (Thesis format: Monograph) by Linxiao Wang Graduate Program in Computer Science A thesis submitted in partial fulfillment of the requirements

More information

Speedy Maths. David McQuillan

Speedy Maths. David McQuillan Speedy Maths David McQuillan Basic Arithmetic What one needs to be able to do Addition and Subtraction Multiplication and Division Comparison For a number of order 2 n n ~ 100 is general multi precision

More information

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide n c: Solve the problem

More information

Fast Multivariate Power Series Multiplication in Characteristic Zero

Fast Multivariate Power Series Multiplication in Characteristic Zero Fast Multivariate Power Series Multiplication in Characteristic Zero Grégoire Lecerf and Éric Schost Laboratoire GAGE, École polytechnique 91128 Palaiseau, France E-mail: lecerf,schost@gage.polytechnique.fr

More information

Prime Fields 04/05/2007. Hybrid system simulator for ODE 1. Galois field. The issue. Prime fields: naïve implementation

Prime Fields 04/05/2007. Hybrid system simulator for ODE 1. Galois field. The issue. Prime fields: naïve implementation Galois field The issue Topic: finite fields with word size cardinality Field: 4 arithmetic operators to implement (+, -, *, /) We will focus on axpy: r = a x + y (operation mainly used in linear algebra

More information

Complexity of computation in Finite Fields

Complexity of computation in Finite Fields Complexity of computation in Finite Fields Sergey B. Gashkov, Igor S. Sergeev Аннотация Review of some works about the complexity of implementation of arithmetic operations in finite fields by boolean

More information

Large Integer Multiplication on Hypercubes. Barry S. Fagin Thayer School of Engineering Dartmouth College Hanover, NH

Large Integer Multiplication on Hypercubes. Barry S. Fagin Thayer School of Engineering Dartmouth College Hanover, NH Large Integer Multiplication on Hypercubes Barry S. Fagin Thayer School of Engineering Dartmouth College Hanover, NH 03755 barry.fagin@dartmouth.edu Large Integer Multiplication 1 B. Fagin ABSTRACT Previous

More information

RSA Implementation. Oregon State University

RSA Implementation. Oregon State University RSA Implementation Çetin Kaya Koç Oregon State University 1 Contents: Exponentiation heuristics Multiplication algorithms Computation of GCD and Inverse Chinese remainder algorithm Primality testing 2

More information

Fast, Parallel Algorithm for Multiplying Polynomials with Integer Coefficients

Fast, Parallel Algorithm for Multiplying Polynomials with Integer Coefficients , July 4-6, 01, London, UK Fast, Parallel Algorithm for Multiplying Polynomials with Integer Coefficients Andrzej Chmielowiec Abstract This paper aims to develop and analyze an effective parallel algorithm

More information

Shor s Algorithm. Polynomial-time Prime Factorization with Quantum Computing. Sourabh Kulkarni October 13th, 2017

Shor s Algorithm. Polynomial-time Prime Factorization with Quantum Computing. Sourabh Kulkarni October 13th, 2017 Shor s Algorithm Polynomial-time Prime Factorization with Quantum Computing Sourabh Kulkarni October 13th, 2017 Content Church Thesis Prime Numbers and Cryptography Overview of Shor s Algorithm Implementation

More information

3 Finite fields and integer arithmetic

3 Finite fields and integer arithmetic 18.783 Elliptic Curves Lecture #3 Spring 2017 02/15/2017 3 Finite fields and integer arithmetic In order to perform explicit computations with elliptic curves over finite fields, we first need to understand

More information

Multiplying huge integers using Fourier transforms

Multiplying huge integers using Fourier transforms Fourier transforms October 25, 2007 820348901038490238478324 1739423249728934932894??? integers occurs in many fields of Computational Science: Cryptography Number theory... Traditional approaches to

More information

Implementation of the DKSS Algorithm for Multiplication of Large Numbers

Implementation of the DKSS Algorithm for Multiplication of Large Numbers Implementation of the DKSS Algorithm for Multiplication of Large Numbers Christoph Lüders Universität Bonn Institut für Informatik Bonn, Germany chris@cfos.de ABSTRACT The Schönhage-Strassen algorithm

More information

Number Theory. CSS322: Security and Cryptography. Sirindhorn International Institute of Technology Thammasat University CSS322. Number Theory.

Number Theory. CSS322: Security and Cryptography. Sirindhorn International Institute of Technology Thammasat University CSS322. Number Theory. CSS322: Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 29 December 2011 CSS322Y11S2L06, Steve/Courses/2011/S2/CSS322/Lectures/number.tex,

More information

Fast composition of numeric power series

Fast composition of numeric power series Fast composition of numeric power series Joris van der Hoeven CNRS, Département de Mathématiques Bâtiment 425 Université Paris-Sud 91405 Orsay Cedex France Email: joris@texmacs.org Web: http://www.math.u-psud.fr/~vdhoeven

More information

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide

More information

On the computational complexity of mathematical functions

On the computational complexity of mathematical functions On the computational complexity of mathematical functions Jean-Pierre Demailly Institut Fourier, Université de Grenoble I & Académie des Sciences, Paris (France) November 26, 2011 KVPY conference at Vijyoshi

More information

Faster Integer Multiplication

Faster Integer Multiplication Faster Integer Multiplication Martin Fürer Department of Computer Science and Engineering Pennsylvania State University University Park, PA 16802 furer@cse.psu.edu ABSTRACT For more than 35 years, the

More information

Old and new algorithms for computing Bernoulli numbers

Old and new algorithms for computing Bernoulli numbers Old and new algorithms for computing Bernoulli numbers University of New South Wales 25th September 2012, University of Ballarat Bernoulli numbers Rational numbers B 0, B 1,... defined by: x e x 1 = n

More information

arxiv: v1 [cs.ds] 28 Jan 2010

arxiv: v1 [cs.ds] 28 Jan 2010 An in-place truncated Fourier transform and applications to polynomial multiplication arxiv:1001.5272v1 [cs.ds] 28 Jan 2010 ABSTRACT David Harvey Courant Institute of Mathematical Sciences New York University

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 14 Divide and Conquer Fast Fourier Transform Sofya Raskhodnikova 10/7/2016 S. Raskhodnikova; based on slides by K. Wayne. 5.6 Convolution and FFT Fast Fourier Transform:

More information

Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator

Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator Alin Bostan, Pierrick Gaudry, Éric Schost September 12, 2006 Abstract We study the complexity

More information

How to Write Fast Numerical Code

How to Write Fast Numerical Code How to Write Fast Numerical Code Lecture: Discrete Fourier transform, fast Fourier transforms Instructor: Markus Püschel TA: Georg Ofenbeck & Daniele Spampinato Rest of Semester Today Lecture Project meetings

More information

Computing Discrete Logarithms. Many cryptosystems could be broken if we could compute discrete logarithms quickly.

Computing Discrete Logarithms. Many cryptosystems could be broken if we could compute discrete logarithms quickly. Computing Discrete Logarithms Many cryptosystems could be broken if we could compute discrete logarithms quickly. The first discrete logarithm algorithms below apply in any group. They are about the best

More information

Fast reversion of formal power series

Fast reversion of formal power series Fast reversion of formal power series Fredrik Johansson LFANT, INRIA Bordeaux RAIM, 2016-06-29, Banyuls-sur-mer 1 / 30 Reversion of power series F = exp(x) 1 = x + x 2 2! + x 3 3! + x 4 G = log(1 + x)

More information

Factoring Algorithms Pollard s p 1 Method. This method discovers a prime factor p of an integer n whenever p 1 has only small prime factors.

Factoring Algorithms Pollard s p 1 Method. This method discovers a prime factor p of an integer n whenever p 1 has only small prime factors. Factoring Algorithms Pollard s p 1 Method This method discovers a prime factor p of an integer n whenever p 1 has only small prime factors. Input: n (to factor) and a limit B Output: a proper factor of

More information

Integer Multiplication

Integer Multiplication Integer Multiplication in almost linear time Martin Fürer CSE 588 Department of Computer Science and Engineering Pennsylvania State University 1/24/08 Karatsuba algebraic Split each of the two factors

More information

CSE 421. Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee

CSE 421. Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee CSE 421 Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee 1 Shortest Paths with Neg Edge Weights Given a weighted directed graph G = V, E and a source vertex s, where the weight of edge

More information

Algorithms for exact (dense) linear algebra

Algorithms for exact (dense) linear algebra Algorithms for exact (dense) linear algebra Gilles Villard CNRS, Laboratoire LIP ENS Lyon Montagnac-Montpezat, June 3, 2005 Introduction Problem: Study of complexity estimates for basic problems in exact

More information

On Newton-Raphson iteration for multiplicative inverses modulo prime powers

On Newton-Raphson iteration for multiplicative inverses modulo prime powers On Newton-Raphson iteration for multiplicative inverses modulo prime powers Jean-Guillaume Dumas To cite this version: Jean-Guillaume Dumas. On Newton-Raphson iteration for multiplicative inverses modulo

More information

Fast and Small: Multiplying Polynomials without Extra Space

Fast and Small: Multiplying Polynomials without Extra Space Fast and Small: Multiplying Polynomials without Extra Space Daniel S. Roche Symbolic Computation Group School of Computer Science University of Waterloo CECM Day SFU, Vancouver, 24 July 2009 Preliminaries

More information

Factoring univariate polynomials over the rationals

Factoring univariate polynomials over the rationals Factoring univariate polynomials over the rationals Tommy Hofmann TU Kaiserslautern November 21, 2017 Tommy Hofmann Factoring polynomials over the rationals November 21, 2017 1 / 31 Factoring univariate

More information

Discrete Logarithm Problem

Discrete Logarithm Problem Discrete Logarithm Problem Çetin Kaya Koç koc@cs.ucsb.edu (http://cs.ucsb.edu/~koc/ecc) Elliptic Curve Cryptography lect08 discrete log 1 / 46 Exponentiation and Logarithms in a General Group In a multiplicative

More information

CSE 421 Algorithms. T(n) = at(n/b) + n c. Closest Pair Problem. Divide and Conquer Algorithms. What you really need to know about recurrences

CSE 421 Algorithms. T(n) = at(n/b) + n c. Closest Pair Problem. Divide and Conquer Algorithms. What you really need to know about recurrences CSE 421 Algorithms Richard Anderson Lecture 13 Divide and Conquer What you really need to know about recurrences Work per level changes geometrically with the level Geometrically increasing (x > 1) The

More information

Fermat s Little Theorem. Fermat s little theorem is a statement about primes that nearly characterizes them.

Fermat s Little Theorem. Fermat s little theorem is a statement about primes that nearly characterizes them. Fermat s Little Theorem Fermat s little theorem is a statement about primes that nearly characterizes them. Theorem: Let p be prime and a be an integer that is not a multiple of p. Then a p 1 1 (mod p).

More information

Lucas Lehmer primality test - Wikipedia, the free encyclopedia

Lucas Lehmer primality test - Wikipedia, the free encyclopedia Lucas Lehmer primality test From Wikipedia, the free encyclopedia In mathematics, the Lucas Lehmer test (LLT) is a primality test for Mersenne numbers. The test was originally developed by Edouard Lucas

More information

Elliptic Curves Spring 2013 Lecture #3 02/12/2013

Elliptic Curves Spring 2013 Lecture #3 02/12/2013 18.783 Elliptic Curves Spring 2013 Lecture #3 02/12/2013 3.1 Arithmetic in finite fields To make explicit computations with elliptic curves over finite fields, we need to know how to perform arithmetic

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 5 Divide and Conquer: Fast Fourier Transform Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms

More information

CIS 6930/4930 Computer and Network Security. Topic 5.1 Basic Number Theory -- Foundation of Public Key Cryptography

CIS 6930/4930 Computer and Network Security. Topic 5.1 Basic Number Theory -- Foundation of Public Key Cryptography CIS 6930/4930 Computer and Network Security Topic 5.1 Basic Number Theory -- Foundation of Public Key Cryptography 1 Review of Modular Arithmetic 2 Remainders and Congruency For any integer a and any positive

More information

Discrete logarithms: Recent progress (and open problems)

Discrete logarithms: Recent progress (and open problems) Discrete logarithms: Recent progress (and open problems) CryptoExperts Chaire de Cryptologie de la Fondation de l UPMC LIP6 February 25 th, 2014 Discrete logarithms Given a multiplicative group G with

More information

2 Section 2 However, in order to apply the above idea, we will need to allow non standard intervals ('; ) in the proof. More precisely, ' and may gene

2 Section 2 However, in order to apply the above idea, we will need to allow non standard intervals ('; ) in the proof. More precisely, ' and may gene Introduction 1 A dierential intermediate value theorem by Joris van der Hoeven D pt. de Math matiques (B t. 425) Universit Paris-Sud 91405 Orsay Cedex France June 2000 Abstract Let T be the eld of grid-based

More information

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi.

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi. How to ultiply Slides by Kevin Wayne. Copyright 5 Pearson-Addison Wesley. All rights reserved. integers, matrices, and polynomials Complex ultiplication Complex multiplication. a + bi) c + di) = x + yi.

More information

Literature Review: Adaptive Polynomial Multiplication

Literature Review: Adaptive Polynomial Multiplication Literature Review: Adaptive Polynomial Multiplication Daniel S. Roche November 27, 2007 While output-sensitive algorithms have gained a fair amount of popularity in the computer algebra community, adaptive

More information

Deterministic factorization of sums and differences of powers

Deterministic factorization of sums and differences of powers arxiv:1512.06401v1 [math.nt] 20 Dec 2015 Deterministic factorization of sums and differences of powers Markus Hittmeir University of Salzburg Mathematics Department Abstract Let a,b N be fixed and coprime

More information

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication )

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) CSE 548: Analysis of Algorithms Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 2015 Coefficient Representation

More information

Fast evaluation of iterated multiplication of very large polynomials: An application to chinese remainder theory

Fast evaluation of iterated multiplication of very large polynomials: An application to chinese remainder theory ANZIAM J. 48 (CTAC2006) pp.c709 C724, 2007 C709 Fast evaluation of iterated multiplication of very large polynomials: An application to chinese remainder theory D. Laing 1 B. Litow 2 (Received 30 August

More information

Computer Algebra: General Principles

Computer Algebra: General Principles Computer Algebra: General Principles For article on related subject see SYMBOL MANIPULATION. Computer algebra is a branch of scientific computation. There are several characteristic features that distinguish

More information

An Additive Characterization of Fibers of Characters on F p

An Additive Characterization of Fibers of Characters on F p An Additive Characterization of Fibers of Characters on F p Chris Monico Texas Tech University Lubbock, TX c.monico@ttu.edu Michele Elia Politecnico di Torino Torino, Italy elia@polito.it January 30, 2009

More information

Mathematical Foundations of Cryptography

Mathematical Foundations of Cryptography Mathematical Foundations of Cryptography Cryptography is based on mathematics In this chapter we study finite fields, the basis of the Advanced Encryption Standard (AES) and elliptical curve cryptography

More information

DRAFT. Algebraic computation models. Chapter 14

DRAFT. Algebraic computation models. Chapter 14 Chapter 14 Algebraic computation models Somewhat rough We think of numerical algorithms root-finding, gaussian elimination etc. as operating over R or C, even though the underlying representation of the

More information

Real Numbers and Computational Complexity

Real Numbers and Computational Complexity Real Numbers and Computational Complexity Norbert Müller mueller@uni-trier.de FB IV Informatik Universität Trier Norbert Müller (Trier) Darmstadt, 2012-10-05 1 / 34 Introduction 1 Introduction 2 Computational

More information

A Few Primality Testing Algorithms

A Few Primality Testing Algorithms A Few Primality Testing Algorithms Donald Brower April 2, 2006 0.1 Introduction These notes will cover a few primality testing algorithms. There are many such, some prove that a number is prime, others

More information

Fast reversion of power series

Fast reversion of power series Fast reversion of power series Fredrik Johansson November 2011 Overview Fast power series arithmetic Fast composition and reversion (Brent and Kung, 1978) A new algorithm for reversion Implementation results

More information

A quasi polynomial algorithm for discrete logarithm in small characteristic

A quasi polynomial algorithm for discrete logarithm in small characteristic CCA seminary January 10, 2014 A quasi polynomial algorithm for discrete logarithm in small characteristic Razvan Barbulescu 1 Pierrick Gaudry 2 Antoine Joux 3 Emmanuel Thomé 2 LIX, École Polytechnique

More information

Irregular Primes and Cyclotomic Invariants to 12 Million

Irregular Primes and Cyclotomic Invariants to 12 Million J. Symbolic Computation (2001) 31, 89 96 doi:10.1006/jsco.1999.1011 Available online at http://www.idealibrary.com on Irregular Primes and Cyclotomic Invariants to 12 Million JOE BUHLER, RICHARD CRANDALL,

More information

Homework 4 Solutions

Homework 4 Solutions Homework 4 Solutions November 11, 2016 You were asked to do problems 3,4,7,9,10 in Chapter 7 of Lang. Problem 3. Let A be an integral domain, integrally closed in its field of fractions K. Let L be a finite

More information

Discrete Mathematics U. Waterloo ECE 103, Spring 2010 Ashwin Nayak May 17, 2010 Recursion

Discrete Mathematics U. Waterloo ECE 103, Spring 2010 Ashwin Nayak May 17, 2010 Recursion Discrete Mathematics U. Waterloo ECE 103, Spring 2010 Ashwin Nayak May 17, 2010 Recursion During the past week, we learnt about inductive reasoning, in which we broke down a problem of size n, into one

More information

DIVIDE AND CONQUER II

DIVIDE AND CONQUER II DIVIDE AND CONQUER II master theorem integer multiplication matrix multiplication convolution and FFT Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

2 The Truncated Fourier Transform and Applications The TFT permits to speed up the multiplication of univariate polynomials with a constant factor bet

2 The Truncated Fourier Transform and Applications The TFT permits to speed up the multiplication of univariate polynomials with a constant factor bet The Truncated Fourier Transform and Applications Joris van der Hoeven D pt. de Math matiques (B t. 425) Universit Paris-Sud 91405 Orsay Cedex France Email: joris@texmacs.org January 9, 2004 In this paper,

More information

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University CS 4770: Cryptography CS 6750: Cryptography and Communication Security Alina Oprea Associate Professor, CCIS Northeastern University March 15 2018 Review Hash functions Collision resistance Merkle-Damgaard

More information

CIS 551 / TCOM 401 Computer and Network Security

CIS 551 / TCOM 401 Computer and Network Security CIS 551 / TCOM 401 Computer and Network Security Spring 2008 Lecture 15 3/20/08 CIS/TCOM 551 1 Announcements Project 3 available on the web. Get the handout in class today. Project 3 is due April 4th It

More information

CSCI Honor seminar in algorithms Homework 2 Solution

CSCI Honor seminar in algorithms Homework 2 Solution CSCI 493.55 Honor seminar in algorithms Homework 2 Solution Saad Mneimneh Visiting Professor Hunter College of CUNY Problem 1: Rabin-Karp string matching Consider a binary string s of length n and another

More information

Theoretical Cryptography, Lectures 18-20

Theoretical Cryptography, Lectures 18-20 Theoretical Cryptography, Lectures 18-20 Instructor: Manuel Blum Scribes: Ryan Williams and Yinmeng Zhang March 29, 2006 1 Content of the Lectures These lectures will cover how someone can prove in zero-knowledge

More information

P vs NP & Computational Complexity

P vs NP & Computational Complexity P vs NP & Computational Complexity Miles Turpin MATH 89S Professor Hubert Bray P vs NP is one of the seven Clay Millennium Problems. The Clay Millenniums have been identified by the Clay Mathematics Institute

More information

COMPUTER ARITHMETIC. 13/05/2010 cryptography - math background pp. 1 / 162

COMPUTER ARITHMETIC. 13/05/2010 cryptography - math background pp. 1 / 162 COMPUTER ARITHMETIC 13/05/2010 cryptography - math background pp. 1 / 162 RECALL OF COMPUTER ARITHMETIC computers implement some types of arithmetic for instance, addition, subtratction, multiplication

More information

Scientific Computing: An Introductory Survey

Scientific Computing: An Introductory Survey Scientific Computing: An Introductory Survey Chapter 12 Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright c 2002. Reproduction permitted for noncommercial,

More information

Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201

Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201 Divide and Conquer: Polynomial Multiplication Version of October 7, 2014 Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201 Outline Outline: Introduction The polynomial multiplication

More information

Lecture 6: Introducing Complexity

Lecture 6: Introducing Complexity COMP26120: Algorithms and Imperative Programming Lecture 6: Introducing Complexity Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2015 16 You need this book: Make sure you use the up-to-date

More information

Counterexamples to witness conjectures. Notations Let E be the set of admissible constant expressions built up from Z; + ;?;;/; exp and log. Here a co

Counterexamples to witness conjectures. Notations Let E be the set of admissible constant expressions built up from Z; + ;?;;/; exp and log. Here a co Counterexamples to witness conjectures Joris van der Hoeven D pt. de Math matiques (b t. 45) Universit Paris-Sud 91405 Orsay CEDEX France August 15, 003 Consider the class of exp-log constants, which is

More information

Modern Computer Algebra

Modern Computer Algebra Modern Computer Algebra JOACHIM VON ZUR GATHEN and JURGEN GERHARD Universitat Paderborn CAMBRIDGE UNIVERSITY PRESS Contents Introduction 1 1 Cyclohexane, cryptography, codes, and computer algebra 9 1.1

More information

Polynomial Multiplication over Finite Fields using Field Extensions and Interpolation

Polynomial Multiplication over Finite Fields using Field Extensions and Interpolation 009 19th IEEE International Symposium on Computer Arithmetic Polynomial Multiplication over Finite Fields using Field Extensions and Interpolation Murat Cenk Department of Mathematics and Computer Science

More information

The Seven Dwarfs of Symbolic Computation and the Discovery of Reduced Symbolic Models. Erich Kaltofen North Carolina State University google->kaltofen

The Seven Dwarfs of Symbolic Computation and the Discovery of Reduced Symbolic Models. Erich Kaltofen North Carolina State University google->kaltofen The Seven Dwarfs of Symbolic Computation and the Discovery of Reduced Symbolic Models Erich Kaltofen North Carolina State University google->kaltofen Outline 2 The 7 Dwarfs of Symbolic Computation Discovery

More information

Discrete Math, Fourteenth Problem Set (July 18)

Discrete Math, Fourteenth Problem Set (July 18) Discrete Math, Fourteenth Problem Set (July 18) REU 2003 Instructor: László Babai Scribe: Ivona Bezakova 0.1 Repeated Squaring For the primality test we need to compute a X 1 (mod X). There are two problems

More information