Factoring and Testing Irreducibility of Sparse Polynomials over Small Finite Fields
|
|
|
- Laurel Peters
- 10 years ago
- Views:
Transcription
1 Outline Factoring and Testing Irreducibility of Sparse Polynomials over Small Finite Fields Richard P. Brent Australian National University joint work with Paul Zimmermann INRIA, Nancy France 30 March 2009 Introduction Polynomials over finite fields Irreducible and primitive polynomials Fermat and Mersenne primes Part 1: Testing irreducibility Irreducibility criteria Modular composition Three algorithms Comparison of the algorithms The best algorithm Some computational results Part 2: Factoring polynomials Distinct degree factorization Avoiding GCDs, blocking Another level of blocking Average-case complexity New primitive trinomials 2 Polynomials over finite fields We consider univariate polynomials P(x) over a finite field F. The algorithms apply, with minor changes, for any small positive characteristic, but since time is limited we assume that the characteristic is two, and F = Z/2Z = GF(2). P(x) is irreducible if it has no nontrivial factors. If P(x) is irreducible of degree r, then [Gauss] x 2r = x mod P(x). Thus P(x) divides the polynomial P r (x) = x 2r x. In fact, P r (x) is the product of all irreducible polynomials of degree d, where d runs over the divisors of r. Let N(d) be the number of irreducible polynomials of degree d. Thus dn(d) = deg(p r ) = 2 r. d r By Möbius inversion we see that rn(r) = d r µ(d)2 r/d. Counting irreducible polynomials Thus, the number of irreducible polynomials of degree r is ( ) N(r) = 2r r + O 2 r/2. r Since there are 2 r polynomials of degree r, the probability that a randomly selected polynomial is irreducible is 1/r 0 as r +. In this sense, almost all polynomials over (fixed) finite fields are reducible (just as almost all integers are composite). Analogy. Polynomials of degree r are analogous to prime numbers of r digits. By the prime number theorem, the number of r-digit primes in base b is about b r b r 1 dt lnt = ( b r b r 1 r lnb )( 1 + O ( )) 1. r The Riemann Hypothesis implies an error term O(rb r/2 ) as r + for the integral on the left [von Koch]. 3 4
2 Irreducible and primitive polynomials Irreducible polynomials over finite fields are useful in several applications. As one example, observe that, if P(x) is an irreducible polynomial of degree r over GF(2), then GF(2)[x]/P(x) = GF(2 r ). In other words, the ring of polynomials mod P(x) gives a representation of the finite field with 2 r elements. If, in addition, x is a generator of the multiplicative group, that is if every nonzero element of GF(2)[x]/P(x) can be represented as a power of x, then P(x) is said to be primitive. Primitive polynomials can be used to obtain linear feedback shift registers (LFSRs) with maximal period. In general, to test primitivity, we need to know the prime factorization of 2 r 1. The number of primitive polynomials of degree r over GF(2) is φ(2 r 1) N(r), r with equality when 2 r 1 is prime. 5 Fermat and Mersenne primes A Fermat prime is a prime of the form 2 n + 1. There are conjectured to be only finitely many. For n < 2 33 the only examples are 3, 5, 17, 257, Note that n is necessarily a power of 2, because if n = pq with p > 1 odd, then 2 q + 1 is a nontrivial divisor of 2 n + 1. The converse is false, as shown by Euler: = A Mersenne prime is a prime of the form 2 n 1, for example 3, 7, 31, 127, 8191,... There are conjectured to be infinitely many Mersenne primes. The number for n N is conjectured to be of order log N. The GIMPS project is searching systematically for Mersenne primes. So far 46 Mersenne primes are known, the largest being If 2 n 1 is prime we say that n is a Mersenne exponent. A Mersenne exponent is necessarily prime, but not conversely ( = 23 89). 6 Part 1: Testing irreducibility Since irreducible polynomials are rare but useful, we are interested in algorithms for testing irreducibility. From [Gauss], P(x) of degree r > 1 is irreducible iff x 2r = x mod P(x) and, for all prime divisors d of r, we have ( ) GCD x 2r/d x, P(x) = 1. The second condition is required to rule out the possibility that P(x) is a product of irreducible factors of some degree(s) k = r/d, d r. This condition does not significantly change anything, so let us assume that r is prime. (In our examples r is a Mersenne exponent, so necessarily prime.) Then P(x) is irreducible iff One more assumption All the algorithms involve computations mod P(x), that is, in the ring GF(2)[x]/P(x). In the complexity analysis we assume that P(x) is sparse, that is, the number of nonzero coefficients is small. Thus, reduction of a polynomial mod P(x) can be done in linear time. The algorithms to be discussed still work without this assumption, but the complexity analysis no longer applies because more time is spent in the reductions mod P(x). In applications P(x) is often a trinomial P(x) = x r + x s + 1, r > s > 0. x 2r = x mod P(x). 7 8
3 Irreducible and primitive trinomials There is no known formula for the number of irreducible or primitive trinomials of degree r over GF(2) (unlike the case of general polynomials). Since N(r) 2 r /r, the probability that a randomly chosen polynomial of degree r will be irreducible is about 1/r. It is plausible to assume that the same applies to trinomials. There are r 1 trinomials of degree r, so we might expect O(1) of them to be irreducible. More precisely, we might expect a Poisson distribution with some constant mean µ. This plausible argument is false, as shown by Swan s theorem. We state a [corrected] version of Swan s Corollary 5 that is relevant to trinomials. Historical note: Swan (1962) rediscovered results of Pellet (1878) and Stickelberger (1897), so the name of the theorem depends on your nationality. Swan s theorem (Corollary 5) Theorem 1 Let r > s > 0, and assume r + s is odd. Then T r,s (x) = x r + x s + 1 has an even number of irreducible factors over GF(2) in the following cases: a) r even, r 2s, rs/2 = 0 or 1 mod 4. b) r odd, s not a divisor of 2r, r = ±3 mod 8. c) r odd, s divisor of 2r, r = ±1 mod 8. In all other cases x r + x s + 1 has an odd number of irreducible factors. If both r and s are even, then T r,s (x) is a square. If both r and s are odd, apply the theorem to T r,r s (x). For r an odd prime, ignoring the easily-checked cases s = 2 or r s = 2, case (b) says that the trinomial has an even number of irreducible factors, and hence must be reducible, if r = ±3 mod 8. For prime r = ±1 mod 8, the heuristic Poisson distribution does seem to apply, with mean µ 3. Similarly for primitive trinomials, with a correction factor φ(2 r 1)/(2 r 2) First algorithm repeated squaring Our first and simplest algorithm for testing irreducibility is just repeated squaring: Q(x) x; for j 1 to r do Q(x) Q(x) 2 mod P(x); if Q(x) = x then return irreducible else return reducible. The operation Q(x) Q(x) 2 mod P(x) can be performed in time O(r). The constant factor is small. We recommend the fast squaring algorithm of Brent, Larvala and Zimmermann (2003). This saves both operations and memory references, and is about 2.2 times faster than the obvious squaring algorithm (as implemented in most otherwise-good software packages). Since the irreducibility test involves r squarings, the overall time is O(r 2 ). Polynomial multiplication Before describing other algorithms for irreducibility testing, we digress to discuss polynomial multiplication, matrix multiplication, and modular composition. To multiply two polynomials A(x) and B(x) of degree (at most) r, the classical algorithm takes time O(r 2 ). There are faster algorithms, e.g. Karatsuba, Toom-Cook, and FFT-based algorithms. For polynomials over GF(2), the asymptotically fastest known algorithm is due to Schönhage. (The Schönhage-Strassen algorithm does not work in characteristic 2, and it is not clear whether Fürer s ideas are useful here.) Schönhage s algorithm runs in time M(r) = O(r log r log log r). In practice, for r , a multiplication takes about 480 times as long as a squaring
4 Matrix multiplication Let ω be the exponent of matrix multiplication, so we can multiply n n matrices in time O(n ω+ε ) for any ε > 0. The best result is Coppersmith and Winograd s ω < 2.376, though in practice we would use the classical (ω = 3) or Strassen (ω = log ) algorithm. Since we are working over GF(2), our matrices have single-bit entries. This means that the classical algorithm can be implemented very efficiently using full-word operations (32 or 64 bits at a time). Nevertheless, Strassen s algorithm is faster if n is larger than about Good in practice is the Four Russians algorithm [Arlazarov, Dinic, Kronod & Faradzev, 1970]. It computes n n Boolean matrix multiplication in time O(n 3 /log n). We can use the Four Russians algorithm up to some threshold, say n = 1024, and Strassen s recursion for larger n, combining the advantages of both. Modular composition The modular composition problem is: given polynomials A(x), B(x), P(x), compute C(x) = A(B(x)) mod P(x). If max(deg(a), deg(b)) < r = deg(p), then we could compute A(B(x)), a polynomial of degree at most (r 1) 2, and reduce it modulo P(x). However, this wastes both time and space. Better is to compute C(x) = a j (B(x)) j mod P(x) j deg(a) by Horner s rule, reducing mod P(x) as we go, in time O(rM(r)) and space O(r). Using Schönhage s algorithm for the polynomial multiplications, we can compute C(x) in time O(r 2 log r log log r) Faster modular composition Using an algorithm of Brent & Kung (1978), based on an idea of Paterson and Stockmeyer, we can reduce the modular composition problem to a problem of matrix multiplication. If the degrees of the polynomials are at most r, and m = r 1/2, then we have to perform m multiplications of m m matrices. The matrices are over the same field as the polynomials (that is, GF(2) here). The Brent-Kung modular composition algorithm takes time O(r (ω+1)/2 ) + O(r 1/2 M(r)), where the first term is for the matrix multiplications and the second term is for computing the relevant matrices. Assuming Strassen s matrix multiplication, the first term is O(r ) and the second term is O(r 1.5 log r log log r). Thus, the second term is asymptotically negligible (but maybe not in practice). Using modular composition Recall that our problem is to compute x 2r mod P(x). Repeated squaring is not the only way to do this. Let A k (x) = x 2k mod P(x). Then a modular composition algorithm can be used to compute A k (A m (x)) mod P(x). Since A k (A m (x)) = ( x 2m ) 2 k mod P(x) = Am+k (x), we can compute x 2r mod P(x) with about log 2 (r) modular compositions instead of r squarings. For example, if r = 17, we have (all computations in GF(2)[x]/P(x)): A 1 (x) = x 2, A 2 (x) = A 1 (A 1 (x)) = x 4, A 4 (x) = A 2 (A 2 (x)) = x 16, A 8 (x) = A 4 (A 4 (x)) = x 256, A 16 (x) = A 8 (A 8 (x)) = x 216, A 17 (x) = A 16 (x) 2 = x 217, using only 4 modular composition steps. (trivial) ( 1 squaring) ( 2 squarings) ( 4 squarings) ( 8 squarings) (1 squaring) 15 16
5 Second algorithm To summarise, we can compute A r (x) = x 2r mod P(x) by the following recursive algorithm that uses the binary representation of r (not that of 2 r ): if r = 0 then return x else if r even then {U(x) A r/2 (x); return U(U(x)) mod P(x)} else return A r 1 (x) 2 mod P(x). The algorithm takes about log 2 (r) modular compositions. Hence, if Strassen s algorithm is used in the Brent-Kung modular composition algorithm, we can test irreducibility in time O(r log r). Third algorithm Recently, Kedlaya and Umans (2008) proposed an asymptotically fast modular composition algorithm that runs in time O ε (r 1+ε ) for any ε > 0. The algorithm is complicated, involving iterated reductions to multipoint multivariate polynomial evaluation, multidimensional FFTs, and the Chinese remainder theorem. See the papers on Umans s web site Using the Kedlaya-Umans fast modular composition instead of the Brent-Kung reduction to matrix multiplication, we can test irreducibility in time O ε (r 1+ε ). Warning: the O ε ( ) notation indicates that the implicit constant depends on ε. In this case, it is a rather large and rapidly increasing (probably exponential) function of 1/ε Comparison of the algorithms So the last shall be first, and the first last Matthew 20:16 The theoretical time bounds predict that the third algorithm should be the fastest, and the first algorithm the slowest. However, this is only for sufficiently large degrees r. In practice, for r up to at least , the situation is reversed! The first algorithm is the fastest, and the third algorithm is the slowest. A minor drawback of the first (squaring) algorithm is that it is hard to speed up on a parallel machine. The other algorithms are much easier to parallelise. However, this is not so relevant when we are considering many trinomials, as we can let different processors of a parallel machine work on different trinomials in parallel. Example, r = Following are actual or estimated times on a 2.2 Ghz AMD Opteron 275 for r = (a Mersenne exponent). 1. Squaring (actual): 64 hours 2. Brent-Kung (estimates): classical: 265 hours (19% mm) Strassen: 254 hours (15% mm) Four Russians: 239 hours (10% mm) (plus Strassen for n > 1024) 3. Kedlaya-Umans (estimate): > years The Brent-Kung algorithm would be the fastest if the matrix multiplication were dominant; unfortunately the O(r 1/2 M(r)) overhead term dominates. Since the overhead scales roughly as r 1.5, we estimate that the Brent-Kung algorithm would be faster than the squaring algorithm for r > (approximately)
6 Note on Kedlaya-Umans Éric Schost writes: The Kedlaya-Umans algorithm reduces modular composition to the multipoint evaluation of a multivariate polynomial, assuming the base field is large enough. The input of the evaluation is over F p ; the algorithm works over Z and reduces mod p in the end. The evaluation over Z is done by CRT modulo a bunch of smaller primes, and so on. At the end-point of the recursion, we do a naive evaluation on all of F p m, where p is the current prime and m the number of variables. So the cost here is p m. [Now he considers choices of m in the case r = ; all give p m ] Our estimate of > years is based on a time of 1 nsec per evaluation (very optimistic). The best algorithm Comparing the second algorithm with the first, observe that the modular compositions do not all save equal numbers of squarings. In fact the last modular composition saves r/2 squarings, the second-last saves r/4 squarings, etc. Each modular composition has the same cost. Thus, if we can use only one modular composition, it should be the one that saves the most squarings. If we use r/2 squarings to compute x 2 r/2 mod P(x), then use one modular composition (and one further squaring, if r is odd), we can compute x 2r mod P(x) faster than with any of the algorithms considered so far, provided r exceeds a certain threshold. In the example, the time would be reduced from 64 hours to 44 hours, a saving of 31%. Doing two modular compositions would reduce the time to 40 hours, a saving of 37% Computational results In Paul Zimmermann and I conducted a search for irreducible trinomials x r + x s + 1 whose degree r is a (known) Mersenne exponent. Since 2 r 1 is prime, irreducible implies primitive. The previous record degree of a primitive trinomial was r = r s , , , , , , Table 1: Ten new primitive trinomials x r +x s +1 of degree a Mersenne exponent, for s r/2. We used the first algorithm to test irreducibility of the most difficult cases. Most of the time was spent discarding the vast majority of trinomials that have a small factor, using a new factoring algorithm with good average-case behaviour (the topic of the second half of this talk). Part 2: Factoring The problem of factoring a univariate polynomial P(x) over a finite field F often arises in computational algebra. An important case is when F has small characteristic and P(x) has high degree but is sparse (has only a small number of nonzero terms). Since time is limited, I will make the same assumptions as in Part 1: F = GF(2) and P(x) is sparse, typically a trinomial P(x) = x r + x s + 1, r > s > 0, although the ideas apply more generally. The aim is to give an algorithm with good amortized complexity, that is, one that works well on average. Since we are restricting attention to trinomials, we average over all trinomials of fixed degree r. Equivalently, we can use probabilistic language, and assume a uniform distribution over all trinomials of fixed degree r
7 Distinct degree factorization I will only consider distinct degree factorization. That is, if P(x) has several factors of the same degree d, the algorithm will produce the product of these factors. The Cantor- Zassenhaus algorithm can be used to split this product into distinct factors. This is usually cheap because in most cases the product has small degree or consists of just one factor. Factor of smallest degree To simplify the complexity analysis and speed up the algorithm in the common application of searching for irreducible polynomials, I only consider the time required to find one nontrivial factor (it will be a factor of smallest degree) or output irreducible. Certificates of reducibility A nontrivial factor (preferably of smallest degree) gives a reducibility certificate that can quickly be checked. Factorization in GF(2)[x] From now on we write + instead of (they are equivalent in GF(2)[x]). As we already mentioned, x 2d + x is the product of all irreducible polynomials of degree dividing d. For example, x 23 + x = x(x + 1)(x 3 + x + 1)(x 3 + x 2 + 1). Thus, a simple (but slow) algorithm to find a factor of smallest degree of P(x) is to compute GCD(x 2d + x, P(x)) for d = 1, 2,.... The first time that the GCD is nontrivial, it contains a factor of minimal degree d. If the GCD has degree > d, it must be a product of factors of degree d. If no factor has been found for d r/2, where r = deg(p(x)), then P(x) must be irreducible. Note that x 2d should not be computed explicitly; instead compute x 2d mod P(x) by repeated squaring Application to trinomials Some simplifications are possible when P(x) = x r + x s + 1 is a trinomial. We can skip the case d = 1 because a trinomial can not have a factor of degree 1. Since x r P(1/x) = x r + x r s + 1, we only need consider s r/2. By applying Swan s theorem, we can usually show that the trinomial under consideration has an odd number of factors; in this case we only need check d r/3. Complexity of squares and muls In Part 1 we already considered the complexity of computing squares and products in GF(2)[x]/P(x). Recall that, with our usual assumption that P(x) is sparse, squaring can be performed in time S(r) = Θ(r) M(r) and multiplication can be performed in time M(r) = O(r log r log log r). In the complexity estimates we assume that M(r) is a sufficiently smooth and well-behaved function
8 Complexity of GCD For GCDs we use a sub-quadratic algorithm that runs in time G(r) = O(M(r) log r). More precisely, so G(2r) = 2G(r) + O(M(r)), M(r) = O(r log r log log r) G(r) = Θ(M(r) log r). In practice, for r and our implementation on a 2.2 Ghz Opteron, S(r) seconds, M(r) 2 seconds, G(r) 80 seconds, M(r)/S(r) 400, G(r)/M(r) 40. Avoiding GCD computations In the context of integer factorization, Pollard (1975) suggested a blocking strategy to avoid most GCD computations and thus reduce the amortized cost; von zur Gathen and Shoup (1992) applied the same idea to polynomial factorization. The idea of blocking is to choose a parameter l > 0 and, instead of computing GCD(x 2d + x, P(x)) for d [d, d + l), compute GCD(p l (x 2d, x), P(x)), where the interval polynomial p l (X, x) is defined by l 1 ( ) p l (X, x) = X 2j + x. j=0 In this way we replace l GCDs by one GCD and l 1 multiplications mod P(x) Backtracking The drawback of blocking is that we may have to backtrack if P(x) has more than one factor with degrees in [d, d + l), so l should not be too large. The optimal strategy depends on the expected size distribution of factors and the ratio of times for GCDs and multiplications. New idea - multi-level blocking We introduce a finer level of blocking to replace most multiplications by squarings, which speeds up the computation in GF(2)[x]/P(x) of the interval polynomials p m (x 2d, x), where p m (X, x) = m 1 j=0 s j,m (X) = ( ) X 2j + x = m x m j s j,m (X), j=0 0 k<2 m, w(k)=j X k, and w(k) denotes the Hamming weight of k. Note that s j,m (X 2 ) = s j,m (X) 2 in GF(2)[x]/P(x). Thus, p m (x 2d, x) can be computed with cost m 2 S(r) if we already know s j,m (x 2d m ) for 0 < j m. In this way we replace m multiplications and m squarings by one multiplication and m 2 squarings. Choosing m M(r)/S(r) (about 20 if M(r)/S(r) 400), the speedup over single-level blocking is about m/
9 Fast initialization The polynomials s j,m (x) = 0 k<2 m, w(k)=j satisfy a Pascal triangle recurrence relation s j,m (x) = s j,m 1 (x 2 ) + x s j 1,m 1 (x 2 ) with boundary conditions s j,m (x) = 0 if j > m, s 0,m (x) = 1. Thus, we can compute x k Recapitulation To summarize, we use two levels of blocking: The outer level replaces most GCDs by multiplications. The inner level replaces most multiplications by squarings. The blocking parameter m M(r)/S(r) is used for the inner level of blocking. A different parameter l = km is used for the outer level of blocking. {s j,m (x) mod P(x) 0 j m} in time O(m 2 r), even though the definition of s j,m (x) involves O(2 m ) terms. Question: Have the polynomials s j,m (x) been studied before? It seems probable but I have not found any references to them Example Sieving A small factor is one with degree d < 1 2 log 2 r, so 2 d < r. It would be inefficient to find small factors in the same way as large factors. Instead, let d = 2 d 1, r = r mod d, s = s mod d. Then Figure 1: l = 15, m = 5 In the example, S = 1/25, M = 1, G = 10 No blocking: cost 15G + 15S = level blocking: G + 14M + 15S = level blocking: G + 2M + 75S = 15.0 More realistically, suppose l = 80, m = 20, S = 1/400, M = 1, G = 40 No blocking: cost 80G + 80S = level blocking: G + 79M + 80S = level blocking: G + 3M S = 47.0 P(x) = x r +x s +1 = x r +x s +1 mod (x d 1), so we only need compute GCD(x r + x s + 1, x d 1). The cost of finding small factors is negligible (both theoretically and in practice), so will be ignored. In the definition, the fraction 1 2 is rather arbitrary; it can be replaced by 1 ε for any ε >
10 Distribution of degrees of factors In order to predict the expected behaviour of our algorithm, we need to know the expected distribution of degrees of irreducible factors. Our complexity estimates here are based on the assumption that trinomials of degree r behave like the set of all polynomials of the same degree, up to a constant factor: Assumption 1 Over all trinomials x r + x s + 1 of degree r over GF(2), the probability π d that a trinomial has no nontrivial factor of degree d is at most c/d, where c is a constant and 1 < d r. This assumption is plausible and in agreement with experiments, though not proven. Under the assumption, we use an amortized model to obtain the total complexity over all trinomials of degree r. From Assumption 1, the probability that a trinomial does not have a small factor is O(1/log r). Simpler approximation Let p d = π d 1 π d be the probability that the smallest nontrivial factor of a randomly chosen trinomial has degree d 2. Although not strictly correct, the following is a good approximation. Assumption 2 p d is of order 1/d 2, provided d is not too large. I will use Assumption 2 because it simplifies the amortized complexity analysis, but the same results can be obtained from Assumption 1 using summation by parts. Some empirical evidence for Assumptions 1 2 in the case r = is given in Table 2 (next slide). Results for other large Mersenne exponents are similar Analogies Table 2: Statistics for r = d dπ d d 2 p d r Evidence for Assumptions The following have similar distributions in the limit as n : 1. Degree of smallest irreducible factor of a random monic polynomial of degree n over a finite field (say GF(2)). 2. Size of smallest cycle in a random permutation of n objects. 3. Size (in base-b digits) of smallest prime factor in a random integer of n digits. More precisely, let P d be the limiting probability that the smallest irreducible factor has degree > d, that the smallest cycle has length > d, or that the smallest prime factor has > d digits, in cases 1 3 respectively. Then prime p<x P d c/d as d (the constant c is different in each case). For example, in case 3, let x = b d ; then P d = ( 1 1 ) ( ) e γ e γ 1 p lnx = lnb d by the theorem of Mertens. 40
11 Outer level blocking strategy The blocksize in the outer level of blocking is l = km. We take an increasing sequence k = k 0 j for j = 1, 2, 3,..., where k 0 m is of order log r (since small factors will have been found by sieving). This leads to a quadratic polynomial for the interval bounds. There is nothing magic about a quadratic polynomial, but it is simple to implement and experiments show that it is reasonably close to optimal. Using the data that we have obtained on the distribution of degrees of smallest factors of trinomials, and assuming that this distribution is insensitive to the degree r, we could obtain a strategy that is close to optimal. However, the choice k 0 j with suitable k 0 is simple and not too far from optimal. The number of GCD and sqr/mul operations is usually within a factor of 1.5 of the minimum possible. Expected cost of sqr/mul Recall that the inner level of blocking replaces m multiplications by m 2 squarings and one multiplication, where m M(r)/S(r) makes the cost of squarings about equal to the cost of multiplications. For a smallest factor of degree d, the expected number of squarings is m(d + O( d)). Averaging over all trinomials of degree r, the expected number is O m d + O( d) d 2 = O (m log r). d r/2 Thus, the expected cost of sqr/mul operations per trinomial is ( O S(r) log r ) M(r)/S(r) ( = O log r ) M(r)S(r) ( = O r(log r) 3/2 (log log r) 1/2) Expected cost of GCDs Suppose that P(x) has smallest factor of degree d. The number of GCDs required to find the factor, using our (quadratic polynomial) blocking strategy, is O( d). By Assumption 2, the expected number of GCDs for a trinomial with no small factor is 1 + O (lg r)/2<d r/2 d d 2 = 1 + O ( ) 1. log r Thus the expected cost of GCDs per trinomial is O(G(r)/log r) = O(M(r)) = O(r log r log log r). This is asymptotically expected cost of sqr/mul operations In practice, for r , GCDs take about 65% of the time versus 35% for sqr/mul. Once again, the asymptotic analysis is misleading, because the function log r log log r is a very slowly growing function of r. 43 Comparison with classical algorithms For simplicity I will use the Õ notation which ignores log factors. The classical algorithm takes an expected time Õ(r2 ) per trinomial, or Õ(r3 ) to cover all trinomials of degree r. The new algorithm takes expected time Õ(r) per trinomial, or Õ(r2 ) to cover all trinomials of degree r. In practice, the new algorithm is faster by a factor of about 160 for r = , and by a factor of about 1000 for r = Thus, comparing the computation for r = with that for r = : using the classical algorithm would take about 240 times longer (impractical), but using the new algorithm saves a factor of Generally, our search for different Mersenne exponents r { , , , , , } took less time for larger r, due to incremental improvements in the search program! 44
12 Recent computational results Since Sept 2008 we have been searching for primitive trinomials of degree (the largest known Mersenne exponent). Dan Bernstein and Tanja Lange have joined in the search and contributed CPU cycles. So far we completed about 98% of the search and found four new primitive trinomials x r + x s + 1, r = : s = , , , Testing irreducibility took about 119 hours per trinomial on a 2.2 Ghz AMD Opteron, using our first algorithm. The best algorithm would take about 69 hours (saving 42%). Most of the time (about 22 processor-years) was spent eliminating reducible trinomials at an average rate of about 32 sec per trinomial ( /2 trinomials). Conclusion The new double-blocking strategy works well and, combined with fast multiplication and GCD algorithms, has allowed us to find new primitive trinomials of record degree. This would have been impractical using the classical algorithms. The same ideas work over finite fields GF(p) for small prime p > 2, and for factoring sparse polynomials P(x) that are not necessarily trinomials: all we need is that the time for p-th powers (mod P(x)) is much less than the time for multiplication (mod P(x)) Acknowledgement Thanks to Éric Schost for his comments on the work of Kedlaya and Umans; to Dan Bernstein and Tanja Lange for contributing computer time to the search for degree ; to Alan Steel for independently verifying our new primitive trinomials using Magma; and to Victor Shoup for his package NTL, which was used to debug our software and check our certificates. References [1] V. L. Arlazarov, E. A. Dinic, M. A. Kronod & I. A. Faradzev, On economical construction of the transitive closure of an oriented graph, Soviet Math. Dokl. 11 (1975), [2] W. Bosma & J. Cannon, Handbook of Magma Functions, School of Mathematics and Statistics, University of Sydney, [3] R. P. Brent, P. Gaudry, E. Thomé & P. Zimmermann, Faster multiplication in GF(2)[x], Proc. ANTS VIII 2008, Lecture Notes in Computer Science 5011, pub/pub232.html [4] R. P. Brent & H. T. Kung, Fast algorithms for manipulating formal power series, J. ACM 25 (1978), /pub045.html [5] R. P. Brent, S. Larvala & P. Zimmermann, A fast algorithm for testing reducibility of trinomials mod 2 and some new primitive trinomials of degree , Math. Comp. 72 (2003), /pub199.html [6] R. P. Brent & P. Zimmermann, A multi-level blocking distinct-degree factorization algorithm, Finite Fields and Applications: Contemporary Mathematics 461 (2008), /pub230.html 47 48
13 [7] R. P. Brent & P. Zimmermann, Ten new primitive binary trinomials, Math. Comp. 78 (2009), /pub233.html [8] D. G. Cantor and H. Zassenhaus, A new algorithm for factoring polynomials over finite fields, Math. Comp. 36 (1981), [9] D. Coppersmith & W. Winograd, Matrix multiplication via arithmetic progressions, J. Symb. Comput. 9 (1980), [10] M. Fürer, Faster integer multiplication, Proc. 48th STOC Conference, 2007, [11] J. von zur Gathen & J. Gerhard, Modern Computer Algebra, Cambridge Univ. Press, [12] J. von zur Gathen and J. Gerhard, Polynomial factorization over F 2, Math. Comp. 71 (2002), [13] J. von zur Gathen and V. Shoup, Computing Frobenius maps and factoring polynomials, Computational Complexity 2 (1992), [14] K. Kedlaya & C. Umans, Fast modular composition in any characteristic, Proc. FOCS 2008, caltech.edu/~umans/research.htm [15] T. Kumada, H. Leeb, Y. Kurita and M. Matsumoto, New primitive t-nomials (t = 3, 5) over GF(2) whose degree is a Mersenne exponent, Math. Comp. 69 (2000), Corrigenda: ibid 71 (2002), [16] A.-E. Pellet, Sur la décomposition d une fonction entière en facteurs irréductibles suivant un module premier p, Comptes Rendus de l Académie des Sciences Paris 86 (1878), [17] J. M. Pollard. A Monte Carlo method for factorization, BIT 15 (1975), , [18] A. Schönhage, Schnelle Multiplikation von Polynomen über Körpern der Charakteristik 2, Acta Inf. 7 (1977), [19] É. Schost, Fast irreducibility test, personal communication, 4 June [20] V. Shoup, NTL: A library for doing number theory. [21] L. Stickelberger, Über eine neue Eigenschaft der Diskriminanten algebraischer Zahlkörper, Verhandlungen des ersten Internationalen Mathematiker- Kongresses, Zürich, 1897, [22] R. G. Swan, Factorization of polynomials over finite fields, Pacific J. Math. 12 (1962), [23] G. Woltman et al, GIMPS, The Great Internet Mersenne Prime Search. 51
Faster deterministic integer factorisation
David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers
Factoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
A simple and fast algorithm for computing exponentials of power series
A simple and fast algorithm for computing exponentials of power series Alin Bostan Algorithms Project, INRIA Paris-Rocquencourt 7815 Le Chesnay Cedex France and Éric Schost ORCCA and Computer Science Department,
Primality - Factorization
Primality - Factorization Christophe Ritzenthaler November 9, 2009 1 Prime and factorization Definition 1.1. An integer p > 1 is called a prime number (nombre premier) if it has only 1 and p as divisors.
Arithmetic algorithms for cryptology 5 October 2015, Paris. Sieves. Razvan Barbulescu CNRS and IMJ-PRG. R. Barbulescu Sieves 0 / 28
Arithmetic algorithms for cryptology 5 October 2015, Paris Sieves Razvan Barbulescu CNRS and IMJ-PRG R. Barbulescu Sieves 0 / 28 Starting point Notations q prime g a generator of (F q ) X a (secret) integer
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm.
Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm. We begin by defining the ring of polynomials with coefficients in a ring R. After some preliminary results, we specialize
CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY
January 10, 2010 CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY The set of polynomials over a field F is a ring, whose structure shares with the ring of integers many characteristics.
Basic Algorithms In Computer Algebra
Basic Algorithms In Computer Algebra Kaiserslautern SS 2011 Prof. Dr. Wolfram Decker 2. Mai 2011 References Cohen, H.: A Course in Computational Algebraic Number Theory. Springer, 1993. Cox, D.; Little,
Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.
Algebra 2 - Chapter Prerequisites Vocabulary Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any. P1 p. 1 1. counting(natural) numbers - {1,2,3,4,...}
Notes on Factoring. MA 206 Kurt Bryan
The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor
minimal polyonomial Example
Minimal Polynomials Definition Let α be an element in GF(p e ). We call the monic polynomial of smallest degree which has coefficients in GF(p) and α as a root, the minimal polyonomial of α. Example: We
The van Hoeij Algorithm for Factoring Polynomials
The van Hoeij Algorithm for Factoring Polynomials Jürgen Klüners Abstract In this survey we report about a new algorithm for factoring polynomials due to Mark van Hoeij. The main idea is that the combinatorial
2.1 Complexity Classes
15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
Integer Factorization using the Quadratic Sieve
Integer Factorization using the Quadratic Sieve Chad Seibert* Division of Science and Mathematics University of Minnesota, Morris Morris, MN 56567 [email protected] March 16, 2011 Abstract We give
Is n a Prime Number? Manindra Agrawal. March 27, 2006, Delft. IIT Kanpur
Is n a Prime Number? Manindra Agrawal IIT Kanpur March 27, 2006, Delft Manindra Agrawal (IIT Kanpur) Is n a Prime Number? March 27, 2006, Delft 1 / 47 Overview 1 The Problem 2 Two Simple, and Slow, Methods
Primality Testing and Factorization Methods
Primality Testing and Factorization Methods Eli Howey May 27, 2014 Abstract Since the days of Euclid and Eratosthenes, mathematicians have taken a keen interest in finding the nontrivial factors of integers,
FACTORING. n = 2 25 + 1. fall in the arithmetic sequence
FACTORING The claim that factorization is harder than primality testing (or primality certification) is not currently substantiated rigorously. As some sort of backward evidence that factoring is hard,
Continued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
Factoring Algorithms
Factoring Algorithms The p 1 Method and Quadratic Sieve November 17, 2008 () Factoring Algorithms November 17, 2008 1 / 12 Fermat s factoring method Fermat made the observation that if n has two factors
Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
http://wrap.warwick.ac.uk/
Original citation: Hart, William B.. (2012) A one line factoring algorithm. Journal of the Australian Mathematical Society, Volume 92 (Number 1). pp. 61-69. ISSN 1446-7887 Permanent WRAP url: http://wrap.warwick.ac.uk/54707/
International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013
FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,
-4- Algorithm Fast LU Decomposition
Appears in SIGSAM Bulletin 22(2):4-49 (April 988). Analysis of the Binary Complexity of Asymptotically Fast Algorithms for Linear System Solving* Introduction Brent Gregory and Erich Kaltofen Department
Lecture 13: Factoring Integers
CS 880: Quantum Information Processing 0/4/0 Lecture 3: Factoring Integers Instructor: Dieter van Melkebeek Scribe: Mark Wellons In this lecture, we review order finding and use this to develop a method
Discrete Mathematics, Chapter 4: Number Theory and Cryptography
Discrete Mathematics, Chapter 4: Number Theory and Cryptography Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 4 1 / 35 Outline 1 Divisibility
JUST THE MATHS UNIT NUMBER 1.8. ALGEBRA 8 (Polynomials) A.J.Hobson
JUST THE MATHS UNIT NUMBER 1.8 ALGEBRA 8 (Polynomials) by A.J.Hobson 1.8.1 The factor theorem 1.8.2 Application to quadratic and cubic expressions 1.8.3 Cubic equations 1.8.4 Long division of polynomials
Lecture 13 - Basic Number Theory.
Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted
The Quadratic Sieve Factoring Algorithm
The Quadratic Sieve Factoring Algorithm Eric Landquist MATH 488: Cryptographic Algorithms December 14, 2001 1 Introduction Mathematicians have been attempting to find better and faster ways to factor composite
11 Ideals. 11.1 Revisiting Z
11 Ideals The presentation here is somewhat different than the text. In particular, the sections do not match up. We have seen issues with the failure of unique factorization already, e.g., Z[ 5] = O Q(
Elementary factoring algorithms
Math 5330 Spring 013 Elementary factoring algorithms The RSA cryptosystem is founded on the idea that, in general, factoring is hard. Where as with Fermat s Little Theorem and some related ideas, one can
CHAPTER 5. Number Theory. 1. Integers and Division. Discussion
CHAPTER 5 Number Theory 1. Integers and Division 1.1. Divisibility. Definition 1.1.1. Given two integers a and b we say a divides b if there is an integer c such that b = ac. If a divides b, we write a
Factoring Algorithms
Institutionen för Informationsteknologi Lunds Tekniska Högskola Department of Information Technology Lund University Cryptology - Project 1 Factoring Algorithms The purpose of this project is to understand
Factoring. Factoring 1
Factoring Factoring 1 Factoring Security of RSA algorithm depends on (presumed) difficulty of factoring o Given N = pq, find p or q and RSA is broken o Rabin cipher also based on factoring Factoring like
The Mixed Binary Euclid Algorithm
Electronic Notes in Discrete Mathematics 35 (009) 169 176 www.elsevier.com/locate/endm The Mixed Binary Euclid Algorithm Sidi Mohamed Sedjelmaci LIPN CNRS UMR 7030 Université Paris-Nord Av. J.-B. Clément,
The Division Algorithm for Polynomials Handout Monday March 5, 2012
The Division Algorithm for Polynomials Handout Monday March 5, 0 Let F be a field (such as R, Q, C, or F p for some prime p. This will allow us to divide by any nonzero scalar. (For some of the following,
The cyclotomic polynomials
The cyclotomic polynomials Notes by G.J.O. Jameson 1. The definition and general results We use the notation e(t) = e 2πit. Note that e(n) = 1 for integers n, e(s + t) = e(s)e(t) for all s, t. e( 1 ) =
Fast polynomial factorization, modular composition, and multipoint evaluation of multivariate polynomials in small characteristic
Fast polynomial factorization, modular composition, and multipoint evaluation of multivariate polynomials in small characteristic Christopher Umans Computer Science Department California Institute of Technology
Determining the Optimal Combination of Trial Division and Fermat s Factorization Method
Determining the Optimal Combination of Trial Division and Fermat s Factorization Method Joseph C. Woodson Home School P. O. Box 55005 Tulsa, OK 74155 Abstract The process of finding the prime factorization
Quotient Rings and Field Extensions
Chapter 5 Quotient Rings and Field Extensions In this chapter we describe a method for producing field extension of a given field. If F is a field, then a field extension is a field K that contains F.
RSA Attacks. By Abdulaziz Alrasheed and Fatima
RSA Attacks By Abdulaziz Alrasheed and Fatima 1 Introduction Invented by Ron Rivest, Adi Shamir, and Len Adleman [1], the RSA cryptosystem was first revealed in the August 1977 issue of Scientific American.
The finite field with 2 elements The simplest finite field is
The finite field with 2 elements The simplest finite field is GF (2) = F 2 = {0, 1} = Z/2 It has addition and multiplication + and defined to be 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 0 0 = 0 0 1 = 0
Monogenic Fields and Power Bases Michael Decker 12/07/07
Monogenic Fields and Power Bases Michael Decker 12/07/07 1 Introduction Let K be a number field of degree k and O K its ring of integers Then considering O K as a Z-module, the nicest possible case is
Short Programs for functions on Curves
Short Programs for functions on Curves Victor S. Miller Exploratory Computer Science IBM, Thomas J. Watson Research Center Yorktown Heights, NY 10598 May 6, 1986 Abstract The problem of deducing a function
Runtime and Implementation of Factoring Algorithms: A Comparison
Runtime and Implementation of Factoring Algorithms: A Comparison Justin Moore CSC290 Cryptology December 20, 2003 Abstract Factoring composite numbers is not an easy task. It is classified as a hard algorithm,
8 Primes and Modular Arithmetic
8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.
Factorization Methods: Very Quick Overview
Factorization Methods: Very Quick Overview Yuval Filmus October 17, 2012 1 Introduction In this lecture we introduce modern factorization methods. We will assume several facts from analytic number theory.
Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)
Chapter 23 Squares Modulo p Revised Version of Chapter 23 We learned long ago how to solve linear congruences ax c (mod m) (see Chapter 8). It s now time to take the plunge and move on to quadratic equations.
A Binary Recursive Gcd Algorithm
A Binary Recursive Gcd Algorithm Damien Stehlé and Paul Zimmermann LORIA/INRIA Lorraine, 615 rue du jardin otanique, BP 101, F-5460 Villers-lès-Nancy, France, {stehle,zimmerma}@loria.fr Astract. The inary
Winter Camp 2011 Polynomials Alexander Remorov. Polynomials. Alexander Remorov [email protected]
Polynomials Alexander Remorov [email protected] Warm-up Problem 1: Let f(x) be a quadratic polynomial. Prove that there exist quadratic polynomials g(x) and h(x) such that f(x)f(x + 1) = g(h(x)).
Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year.
This document is designed to help North Carolina educators teach the Common Core (Standard Course of Study). NCDPI staff are continually updating and improving these tools to better serve teachers. Algebra
it is easy to see that α = a
21. Polynomial rings Let us now turn out attention to determining the prime elements of a polynomial ring, where the coefficient ring is a field. We already know that such a polynomial ring is a UF. Therefore
I. Introduction. MPRI Cours 2-12-2. Lecture IV: Integer factorization. What is the factorization of a random number? II. Smoothness testing. F.
F. Morain École polytechnique MPRI cours 2-12-2 2013-2014 3/22 F. Morain École polytechnique MPRI cours 2-12-2 2013-2014 4/22 MPRI Cours 2-12-2 I. Introduction Input: an integer N; logox F. Morain logocnrs
Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test
Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important
Cryptography and Network Security Chapter 8
Cryptography and Network Security Chapter 8 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 8 Introduction to Number Theory The Devil said to Daniel Webster:
PUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include 2 + 5.
PUTNAM TRAINING POLYNOMIALS (Last updated: November 17, 2015) Remark. This is a list of exercises on polynomials. Miguel A. Lerma Exercises 1. Find a polynomial with integral coefficients whose zeros include
Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 [email protected].
Some Polynomial Theorems by John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 [email protected] This paper contains a collection of 31 theorems, lemmas,
SUBGROUPS OF CYCLIC GROUPS. 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by
SUBGROUPS OF CYCLIC GROUPS KEITH CONRAD 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by g = {g k : k Z}. If G = g, then G itself is cyclic, with g as a generator. Examples
Number Theory Hungarian Style. Cameron Byerley s interpretation of Csaba Szabó s lectures
Number Theory Hungarian Style Cameron Byerley s interpretation of Csaba Szabó s lectures August 20, 2005 2 0.1 introduction Number theory is a beautiful subject and even cooler when you learn about it
SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS
(Section 0.6: Polynomial, Rational, and Algebraic Expressions) 0.6.1 SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS LEARNING OBJECTIVES Be able to identify polynomial, rational, and algebraic
Computer and Network Security
MIT 6.857 Computer and Networ Security Class Notes 1 File: http://theory.lcs.mit.edu/ rivest/notes/notes.pdf Revision: December 2, 2002 Computer and Networ Security MIT 6.857 Class Notes by Ronald L. Rivest
RESULTANT AND DISCRIMINANT OF POLYNOMIALS
RESULTANT AND DISCRIMINANT OF POLYNOMIALS SVANTE JANSON Abstract. This is a collection of classical results about resultants and discriminants for polynomials, compiled mainly for my own use. All results
Introduction to Finite Fields (cont.)
Chapter 6 Introduction to Finite Fields (cont.) 6.1 Recall Theorem. Z m is a field m is a prime number. Theorem (Subfield Isomorphic to Z p ). Every finite field has the order of a power of a prime number
MATH 168: FINAL PROJECT Troels Eriksen. 1 Introduction
MATH 168: FINAL PROJECT Troels Eriksen 1 Introduction In the later years cryptosystems using elliptic curves have shown up and are claimed to be just as secure as a system like RSA with much smaller key
Roots of Polynomials
Roots of Polynomials (Com S 477/577 Notes) Yan-Bin Jia Sep 24, 2015 A direct corollary of the fundamental theorem of algebra is that p(x) can be factorized over the complex domain into a product a n (x
FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z
FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z DANIEL BIRMAJER, JUAN B GIL, AND MICHAEL WEINER Abstract We consider polynomials with integer coefficients and discuss their factorization
Faster polynomial multiplication via multipoint Kronecker substitution
Faster polynomial multiplication via multipoint Kronecker substitution 5th February 2009 Kronecker substitution KS = an algorithm for multiplying polynomials in Z[x]. Example: f = 41x 3 + 49x 2 + 38x +
Cryptography and Network Security Number Theory
Cryptography and Network Security Number Theory Xiang-Yang Li Introduction to Number Theory Divisors b a if a=mb for an integer m b a and c b then c a b g and b h then b (mg+nh) for any int. m,n Prime
Modern Algebra Lecture Notes: Rings and fields set 4 (Revision 2)
Modern Algebra Lecture Notes: Rings and fields set 4 (Revision 2) Kevin Broughan University of Waikato, Hamilton, New Zealand May 13, 2010 Remainder and Factor Theorem 15 Definition of factor If f (x)
9. POLYNOMIALS. Example 1: The expression a(x) = x 3 4x 2 + 7x 11 is a polynomial in x. The coefficients of a(x) are the numbers 1, 4, 7, 11.
9. POLYNOMIALS 9.1. Definition of a Polynomial A polynomial is an expression of the form: a(x) = a n x n + a n-1 x n-1 +... + a 1 x + a 0. The symbol x is called an indeterminate and simply plays the role
= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that
Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without
Study of algorithms for factoring integers and computing discrete logarithms
Study of algorithms for factoring integers and computing discrete logarithms First Indo-French Workshop on Cryptography and Related Topics (IFW 2007) June 11 13, 2007 Paris, France Dr. Abhijit Das Department
FACTORING LARGE NUMBERS, A GREAT WAY TO SPEND A BIRTHDAY
FACTORING LARGE NUMBERS, A GREAT WAY TO SPEND A BIRTHDAY LINDSEY R. BOSKO I would like to acknowledge the assistance of Dr. Michael Singer. His guidance and feedback were instrumental in completing this
Prime Numbers and Irreducible Polynomials
Prime Numbers and Irreducible Polynomials M. Ram Murty The similarity between prime numbers and irreducible polynomials has been a dominant theme in the development of number theory and algebraic geometry.
ALGEBRAIC APPROACH TO COMPOSITE INTEGER FACTORIZATION
ALGEBRAIC APPROACH TO COMPOSITE INTEGER FACTORIZATION Aldrin W. Wanambisi 1* School of Pure and Applied Science, Mount Kenya University, P.O box 553-50100, Kakamega, Kenya. Shem Aywa 2 Department of Mathematics,
How To Prove The Dirichlet Unit Theorem
Chapter 6 The Dirichlet Unit Theorem As usual, we will be working in the ring B of algebraic integers of a number field L. Two factorizations of an element of B are regarded as essentially the same if
calculating the result modulo 3, as follows: p(0) = 0 3 + 0 + 1 = 1 0,
Homework #02, due 1/27/10 = 9.4.1, 9.4.2, 9.4.5, 9.4.6, 9.4.7. Additional problems recommended for study: (9.4.3), 9.4.4, 9.4.9, 9.4.11, 9.4.13, (9.4.14), 9.4.17 9.4.1 Determine whether the following polynomials
Computation of 2700 billion decimal digits of Pi using a Desktop Computer
Computation of 2700 billion decimal digits of Pi using a Desktop Computer Fabrice Bellard Feb 11, 2010 (4th revision) This article describes some of the methods used to get the world record of the computation
FACTORING SPARSE POLYNOMIALS
FACTORING SPARSE POLYNOMIALS Theorem 1 (Schinzel): Let r be a positive integer, and fix non-zero integers a 0,..., a r. Let F (x 1,..., x r ) = a r x r + + a 1 x 1 + a 0. Then there exist finite sets S
SOLVING POLYNOMIAL EQUATIONS
C SOLVING POLYNOMIAL EQUATIONS We will assume in this appendix that you know how to divide polynomials using long division and synthetic division. If you need to review those techniques, refer to an algebra
Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.
Algorithms Efficiency of algorithms Computational resources: time and space Best, worst and average case performance How to compare algorithms: machine-independent measure of efficiency Growth rate Complexity
CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA
We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical
CONTINUED FRACTIONS AND FACTORING. Niels Lauritzen
CONTINUED FRACTIONS AND FACTORING Niels Lauritzen ii NIELS LAURITZEN DEPARTMENT OF MATHEMATICAL SCIENCES UNIVERSITY OF AARHUS, DENMARK EMAIL: [email protected] URL: http://home.imf.au.dk/niels/ Contents
Prime numbers and prime polynomials. Paul Pollack Dartmouth College
Prime numbers and prime polynomials Paul Pollack Dartmouth College May 1, 2008 Analogies everywhere! Analogies in elementary number theory (continued fractions, quadratic reciprocity, Fermat s last theorem)
Congruence properties of binary partition functions
Congruence properties of binary partition functions Katherine Anders, Melissa Dennison, Jennifer Weber Lansing and Bruce Reznick Abstract. Let A be a finite subset of N containing 0, and let f(n) denote
EMBEDDING DEGREE OF HYPERELLIPTIC CURVES WITH COMPLEX MULTIPLICATION
EMBEDDING DEGREE OF HYPERELLIPTIC CURVES WITH COMPLEX MULTIPLICATION CHRISTIAN ROBENHAGEN RAVNSHØJ Abstract. Consider the Jacobian of a genus two curve defined over a finite field and with complex multiplication.
7. Some irreducible polynomials
7. Some irreducible polynomials 7.1 Irreducibles over a finite field 7.2 Worked examples Linear factors x α of a polynomial P (x) with coefficients in a field k correspond precisely to roots α k [1] of
RSA and Primality Testing
and Primality Testing Joan Boyar, IMADA, University of Southern Denmark Studieretningsprojekter 2010 1 / 81 Correctness of cryptography cryptography Introduction to number theory Correctness of with 2
Factoring Polynomials
Factoring Polynomials Sue Geller June 19, 2006 Factoring polynomials over the rational numbers, real numbers, and complex numbers has long been a standard topic of high school algebra. With the advent
Lecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
On Generalized Fermat Numbers 3 2n +1
Applied Mathematics & Information Sciences 4(3) (010), 307 313 An International Journal c 010 Dixie W Publishing Corporation, U. S. A. On Generalized Fermat Numbers 3 n +1 Amin Witno Department of Basic
Recent Breakthrough in Primality Testing
Nonlinear Analysis: Modelling and Control, 2004, Vol. 9, No. 2, 171 184 Recent Breakthrough in Primality Testing R. Šleževičienė, J. Steuding, S. Turskienė Department of Computer Science, Faculty of Physics
The sum of digits of polynomial values in arithmetic progressions
The sum of digits of polynomial values in arithmetic progressions Thomas Stoll Institut de Mathématiques de Luminy, Université de la Méditerranée, 13288 Marseille Cedex 9, France E-mail: [email protected]
The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.
The Prime Numbers Before starting our study of primes, we record the following important lemma. Recall that integers a, b are said to be relatively prime if gcd(a, b) = 1. Lemma (Euclid s Lemma). If gcd(a,
Unique Factorization
Unique Factorization Waffle Mathcamp 2010 Throughout these notes, all rings will be assumed to be commutative. 1 Factorization in domains: definitions and examples In this class, we will study the phenomenon
ECE 842 Report Implementation of Elliptic Curve Cryptography
ECE 842 Report Implementation of Elliptic Curve Cryptography Wei-Yang Lin December 15, 2004 Abstract The aim of this report is to illustrate the issues in implementing a practical elliptic curve cryptographic
On the largest prime factor of x 2 1
On the largest prime factor of x 2 1 Florian Luca and Filip Najman Abstract In this paper, we find all integers x such that x 2 1 has only prime factors smaller than 100. This gives some interesting numerical
