Fast Evaluation of Logarithms in Fields of Characteristic Two
|
|
|
- Elisabeth Chapman
- 10 years ago
- Views:
Transcription
1 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-30, NO., JULY Fast Evaluation of Logarithms in Fields of Characteristic Two DON COPPERSMITH Abstract-A method for determining logarithms in GF (2 ) is presented. Its asymptotic running time is O(exp ( S3 log213 n)) for a small constant c, while, by comparison, Adleman s scheme runs in time O(exp(c n I/ log n)). Tbe ideas give a dramatic improvement even for moderate-sized fields such as GF (2l* ), and make (harely) possible computations in fields of size around 200. The method is not applicable to GF (q) for a large prime q. W I. INTRODUCTION E ARE interested in computations in a finite field, specifically F = GF (2 ). This field is constructed as follows. Select a particular irreducible polynomial P(x), of degree n, over GF(2). An element C of F is a polynomial C(x) over GF (2), considered mod P(x). There are 2 elements. Addition and multiplication are defined as addition and multiplication of polynomials over GF (2), mod P(x). It is customary to select P(x) to be primitive. This means that, as m ranges through the integers 0, 1,. * a, 2-2, the field elements A(x) = xm mod P(x) take on the value of each nonzero field element in F exactly once. Conversely, to each nonzero field element A(x) in F, we associate the integer m, and say that m is the logarithm of A(x). Since x2 -l = lmodp(x), the logarithm is only defined mod 2-1. Thus we consider the logarithm m to lie in the ring Z/(2n - l), i.e., the integers mod 2-1. We refer to the calculation of m as the discrete logarithm problem. If the field is small enough, one can tabulate all the field elements and their logarithms, and use this table for computation within the field, much as one uses a table of natural logarithms for calculations involving real numbers. For large fields, such as GF(2127), it is infeasible to tabulate the logarithms. Further, it is relatively difficult to extract logarithms in a large field, while it is relatively easy to exponentiate. This disparity led Diffie and Hellman [7] to propose a cryptographic scheme based on exponentiation in a finite field. Their proposal involved the finite field GF (q) for a large prime q, although their scheme has since been adapted to GF(2 ), for ease of implementation. The point of this paper is that this adaptation was ill-advised; we show that logarithms are relatively easy to compute in GF(2 ). The techniques of this paper are inapplicable Manuscript received November 2, 1983; revised December 20,1983. The author is with IBM Research, P.O. Box 218, Yorktown Heights, NY to GF (q) for large primes q. Thus, as far as we know today, GF (q) is more secure than GF (2 ) i.e., for a given level of security, GF(2 ) requires a far larger word size than GF (q). The Diffie-Hellman scheme establishes a random secret key, for subsequent use as the key to a conventional cryptographic system, via communication over a public network. It works as follows: users C and D wish to establish a secret key. User C selects a random integer c, computes xc in the field, and sends xc to user D. Meanwhile user D selects a random integer d, and sends xd to user C. Now user C can compute (x~)~ = xcd, while user D can compute (x~)~ = xcd. Both users know the same random quantity xcd, and can use it as a cryptographic key for subsequent communication in a conventional cryptographic system. A wiretapper can obtain the key if he can find logarithms in F. Namely, if he calculates log (xc) = c, he can easily compute (x~)~ = xcd. Similar schemes exist for exchange of arbitrary (nonrandom) information. This cryptographic application has sparked renewed interest in the discrete logarithm problem. An early algorithm published by Pohlig and Hellman [15] and also attributed to Roland Silver, works in time about fi, where p is the largest prime dividing q - 1, and where q is the size of the field. (In the present case, q = 2 is often chosen such that q - 1 is a prime, so that the running time is about 2n/2.) In this algorithm, to obtain log A(x) one would tabulate i and xi(qv1)/p for all i between 1 and k = [fi], evaluate A(x) (-l)/pxjk(q-l)/& for all j between 0 and [n/k], and compare to the table to find an instance of equality: (A(x)xjk- )(q- ) p = 1. This yields the desired result mod p: log A(x) = i - jk mod p. The Chinese remainder theorem takes care of q - 1 being the product of distinct prime factors pi, and repeated prime factors pose no extra difficulty. Adleman [l] found the first subexponential algorithm for the problem. Its running time is exp (cdlog q log log q ) for a field of size q, where c is a small constant. As proposed, his algorithm only deals with the case where q is a prime. Hellman and Reyneri [8] adapted the algorithm to work in GF (2n), where the running time becomes exp (c d-). This algorithm will be described in Section II. Like the Morrison-Brillhart algorithm for factoring integers ([12] and [lo]), its success depends on the probability of a random integer being smooth (expressible as the product of small primes), or on the probability of a random poly /8/ $ IEEE Authorized licensed use limited to: Ecole Polytechnique. Downloaded on January 29, 2009 at 12:37 from IEEE Xplore. Restrictions apply.
2 Authorized licensed use limited to: Ecole Polytechnique. Downloaded on January 29, 2009 at 12:37 from IEEE Xplore. Restrictions apply. 588 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-30, NO., JULY 198 nomial over GF (2) being expressible as the product of small irreducible polynomials. Its limitation lies in the fact that, the larger the degree of a polynomial, the less likely it is to be smooth. The present algorithm has an asymptotic running time of O(exp (cy1 I3 log213 n)). It relies on the fact that squaring is a linear operation in fields of characteristic two; that is, (A + B)2 = A2 + B2. With this fact, we are able to produce polynomials of moderate degree, which we then require to be smooth. Since our polynomials are smaller than those involved in Adleman s algorithm, they have a better probability of being smooth. This fact allows the decrease in running time. The idea for our algorithm stems from the concept of systematic equations due to Blake, Fuji-Hara, Mullin, and Vanstone []. Throughout this paper we will use for our example the field GF (2127). The primitive polynomial involved is P(x) =x x + 1. The Diffie-Helhnan key exchange algorithm, as described above, has been implemented in this field. To build the database necessary to take logarithms in this field, Adleman s algorithm seems to take two weeks; a modification due to Blake, Fuji-Hara, Mullin, and Vanstone [] takes about nine hours, and the present scheme takes eleven minutes. (These estimated timings for an IBM 3081K assume 250 microseconds for a smoothness test. ) The organization of the rest of the paper is as follows. In Section II, we describe Adleman s algorithm. In Section III, we describe the improvement due to Blake et al. Section IV details Blake, Fuji-Hara, Mullin, and Vanstone s concept of systematic equations. Section V introduces the major idea in the present algorithm, and shows its applicability to fields of moderate size, such as GF(2127). Sections VI and VII detail two parts of the present algorithm. Section VIII gives the full algorithm, as used in very large fields, and begins examination of the asymptotic running time of the algorithm; this examination is continued in Section IX. Section X gives specific examples, and Section XI gives some programming considerations based on our experience with GF (2127). II. ADLEMAN'SALGORITHM Adleman s algorithm [l] for the discrete logarithm is based on the ideas used by Morrison and Brillhart [12] for factoring large integers. For integers A and B, the statement A is smooth with respect to B is defined to mean that all of the prime factors of A are less than B. Adleman s algorithm, and the Morrison-Brillhart algorithm, depend on the fact that smooth integers are relatively common. Although Adleman s algorithm was described for GF (q) for q a prime, it applies equally well for GF(2 ), as noted by Hellman and Reyneri [8]. We describe the algorithm for this case. Select a bound b - c,/z, where c is a small constant, perhaps c = 1. Say that A(x) is smooth with respkct to b when A(x) is the product of irreducible polynomials of degree at most b. Select a random integer m between 0 and 2-2. Set A(x) = x mod P(x). Then A(x) is a random nonzero polynomial of degree at most n - 1. Test A(x) for smoothness with respect to b. If it is smooth, factor A(x) explicitly as A(x) = xm = llj qj(x) j mod P(x), where qj(i) are various irreducible polynomials of degree at most b. Interpret in logarithms: m = C.i ej log qj in the ring Z/(2n - 1). If A(x) is not smooth, discard and try again. Accumulate many such equations (slightly more equations than irreducible polynomials of degree at most b). Indexing the equations by i, we have m, = Cj eijlogqj. Solve this collection of linear equations, using sparse matrix techniques. This yields log qj for all irreducible polynomials qj of degree at most b. When given a particular field element B(x) whose logarithm we want, choose a random integer m, calculate A(x) = B(x)xm modp(x), and keep trying until A(x) is smooth. Then simply read off the logarithm from the relation A(x) = B(x)x s FI, qj(x) j mod P(x) and the previously computed logarithms of the qj(x). One major component of the running time of this algorithm is the search for smooth functions A(x) in the compilation of the initial data base. We need to gather about 2b+1/b equations, since there are about that many irreducible polynomials of degree no more than b. A random polynomial A(x) of degree it is smooth with respect to b with probability (n/b)-(l+o(l))n/b, for IZ and b in the range of interest, n I3 b < n2i3 [13]. Thus the total number of trials necessary is about (2b+l,b)(n,b)+(l+o(1))n/b = exp ([clog2 + & + o(l)]l/ty&), with the particular choice of b = c,/z. (Here log denotes the natural logarithm, to the base e.) One chooses c (and b) to minimize this work factor at exp((l + o(l)) 2n (log n)(log 2) ). (In fact, one might select b to be smaller, since otherwise, depending on the sparse matrix techniques used, one might find the subsequent sparse matrix calculations to be more costly than this first stage. This is brought out in [13] and will be mentioned in Section IX below.) In the case GF(2127), one might select b = 23. Then there are irreducible polynomials of degree at most 23, and at least that many equations must be developed. A random polynomial of degree at most 126 will be smooth with respect to b = 23 with probability Thus, for each equation, one expects to try 7692 random values of A(x) before finding an appropriate one. So the precomputation requires about smoothness tests. (This analysis is from [].) At 250 microseconds per test, this would require about 00 hours. III. THEWATERLOOIMPROVEMENT The bottleneck in Adleman s algorithm lies in the probability of smoothness. He is dealing with random polynomials of degree n, and waiting for them to be smooth. If one
3 COPPERSMITH: FAST EVALUATION OF LOGARITHMS 589 could instead deal with random polynomials of degree less than n, one would have a better chance of smoothness, and a correspondingly faster algorithm. This was the objective of the work of Blake, Fuji-Hara, Mullin, and Vanstone at University of Waterloo [], as well as the present work. Blake, Fuji-Hara, Mullin, and Vanstone adapted Adleman s algorithm as follows. Having generated a random polynomial A(x) = xm mod P(x) (during the precomputation stage) or A(x) = B(x)xm mod P(x) (during the actual usage), they use the extended Euclidean algorithm to develop polynomials C(x) and D(x), each of degree at most n/2, satisfying A(x)D(x) = C(x)modP(x). They then wait for both D(x) and C(x) to be smooth. When this happens, they have an equation of the form A(x)D(x) = x nqj(x) J j = yq, (x)/ = C(x)modP(x), which they use just as Adleman uses his equations. The point is that it is more likely that two random polynomials of degree at most n/2 are both smooth, than that one random polynomial of degree at most n - 1 is smooth. The Waterloo group worked on the case of GF(2127). With a choice of b = 17, there are irreducible polynomials of degree at most b. If one randomly chooses C(x) and D(x), of degree at most 63, with C(x) and D(x) relatively prime, the probability of both C(x) and D(x) being smooth with respect to b = 17 is about l/7277, so that the precomputation should involve about smoothness tests. Again assuming 250 microseconds for a smoothness test, this gives an estimated running time of nine hours. Asymptotically, the Waterloo scheme has a running time of exp ((1 + o(l))j2n(logn)(log2) ), the same as Adleman s. But the o(1)) term is much better than Adleman s, allowing for the marked decrease in running time. In the present work, we will ask that two polynomials of degree n 2/3 log113 n both be smooth. As n213 log113 n is much less than either n or n/2, we will have a much better probability of smoothness, and thus a much better running time, than either Adleman or Blake et al. IV. SYSTEMATIC EQUATIONS Besides the practical improvements mentioned in the previous section, Blake, Fuji-Hara, Mullin, and Vanstone [] introduced a new theoretical idea, that of systematic equations, which opened up a new line of thought. The present work is a continuation of this line of thought. Consider the case GF(2127). Let P(x) = x127 + x + 1, which is primitive. We have that x128 = x2 + xmodp(x). (.1) Notice two facts about this equation: on the left-hand side, 128 is a power of 2, and on the right-hand side, x2 + x is of very low degree. Let A(x) be an irreducible polynomial over GF(2) of degree k < b. Since 128 is a power of 2, raising to the 128th power is a linear operation in fields of characteristic two. Thus A(x) ~* = A(x ~~). By (.1), A(x12 ) = A(x2 + x) mod P. Finally, A(x2 + x), considered as a polynomial in x, has degree 2k. It can be shown that either A(x2 + x) is itself irreducible or it factors into two irreducible polynomials B and C, each of degree k. In the latter case we would have Abet = B(x)C(x)mod P(x). This would give a relation among the logarithms of three irreducible polynomials, each of degree k < b. (The other case will also give a useful equation if 2k b.) Letting A(x) range through all the irreducible polynomials of degree at most b, this procedure gives about half the equations necessary to construct the database for GF (2127), at very little cost. The rest of the equations must still be obtained by the techniques outlined in Section III. (GF (2127) is an especially favorable case because of the low degree of the right-hand side of (.1). In another field, if the right-hand side has degree d, we will get at most l/d of the required equations by this technique. Further, a heuristic argument implies that this degree d will typically be about log, n.) The present work will generalize this concept, in effect finding a richer source of systematic equations, so that all of the necessary equations can be obtained at low cost. V. THE PRESENT SCHEME: AN EXAMPLE Here we demonstrate the basic idea behind our algorithm. As before, we consider the example F = GF(2127), with the primitive polynomial being P(x) = x127 + x + 1. We consider the first stage of precomputation, that of building up the linear equations relating logarithms of the various irreducible polynomials of degree at most b = 17. Select A(x) and B(x), two polynomials over GF (2) each of degree at most 10, such that gcd(a(x), B(x)) = 1. There are two million (221) such choices available. Set C(x) = x~~a(x) + B(x), and set D(x) = C(X)~ mod P(x). We compute: D(x) = C(x)mod P(x) = (x3*a(x) + B(x))mod P(x) = x~~~a(x)~ + B(x)mod P(x) = (x2 + x)a(x)~ + B(x)mod P(x), since raising to the fourth power is a linear operation in fields of characteristic two, and since x128 = x2 + x mod P(x). By our choice of A(x) and B(x), we find that both C(x) and D(x) have degree at most 2. Test C(x) and D(x) for smoothness with respect to the bound b = 17. If both are smooth, then factor each explicitly into a product of irreducible polynomials of degree at most 17. Then D(x) = C(x)mod P(x) Authorized licensed use limited to: Ecole Polytechnique. Downloaded on January 29, 2009 at 12:37 from IEEE Xplore. Restrictions apply.
4 590 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-30, NO., JULY 198 becomes an equation relating the small irreducible polynomials multiplicatively (mod P(x)), and can be interpreted as a linear relation among the logarithms of these irreducible polynomials in the field GF (2127). Repeat this procedure for all choices of A(x) and B(x) such that gcd (A(x), B(x)) = 1. This involves two million smoothness tests, or eleven minutes. The procedure yields about equations relating the unknown logarithms. Alternatively, selecting b = 12, the procedure yields 1061 equations in the 77 unknown logarithms. VI. BUILDING THE DATABASE Using the previous example as a guide, we show how our algorithm can be applied to larger fields GF (2 ). Choose a primitive polynomial P(x) of degree n, such that P(x) = x + Q(x), where the degree of Q(x) is smaller than n213. (This should be possible; heuristically, for a given n, we expect the best possible Q(x) to have degree about log, n.) We remark that if the field is presented to us with a different defining polynomial Pi(x), we can just solve the problem in our preferred presentation (given by P(x)) and transfer the results to the given presentation (given by Pi(x)) [17]. The first step is to construct a database of many linear equations relating the logarithms of small irreducible polynomials. Select a bound b 2 c,tz /~ log213 n for a small constant cl. Irreducible polynomials of degree at most b will be considered small. Choose an integer d near b; we will see later how to select d. Let k be a power of 2 Let h be the least integer greater than n/k. In our example, we had b = 17, d = 10, k =, and h = 32. Set R(x) = xhk mod P(x), so that R(x) = Q(x)xhkp. Let Y = deg R(x). If P(x) was well chosen, Y may be less than k. Select a pair of polynomials A(x) and B(x), both of degree at most d, with gcd (A(x), B(x)) = 1. (The gcd condition avoids redundant equations: if A(x) = e(x)a(x) and B(x) = e(x)b(x), then the equation obtained from the pair (A(x), B(x)) is the same as that obtained from the pair (a(x), b(x)).) Set C(x) = x*a(x) + B(x), and set D(x) = C(X)~ mod P(x). We compute: D(x) = C(x)kmodP(x) = (xha(x) + B(x))kmod P(x) = x~~a(x)~ + B(x)kmod P(x) = RAN + B(x)kmod P(x). The degree of C is at most h + d, and the degree of D is at most Y + kd. Both these bounds are about &?. If C and D were independent random polynomials of these degrees, then both would be smooth with probability about (h ; d)p(h+d) ( r +bkd)-( +k ) h _ ( F)-2m ( = exp - -$-- m log 5 1 [13]. By choice of b and d, this is exp ( -c2n113 log2/3 n) for some constant c2. (In fact C and D are neither random nor independent, so this estimate of the probability of smoothness must be viewed as only heuristic.) If both C and D are smooth, proceed as in the example. Express C and D explicitly as the product of small irreducible polynomials, convert the equation D(x) = C(X)~ mod P(x) to a linear equation relating the logarithms of these irreducible polynomials in the field, and add this linear equation to our database. Thus D(x) c(kej -fj)logqj = 0. = nqj(x)? i D(x) = C(x)kmod P(x), We need to find slightly more equations than there are irreducible polynomials of degree at most b. Thus we need about 2b+1/b equations. The number of tests required to develop each equation is about exp i f q log 5) = O(exp ( c2ty3 log2/3 n)) from the above discussion. Thus the total amount of work necessary to develop enough equations is about exp blog2 + q log $) = O(exp ( c3n113 log213 n)) i for a small constant c3. This forces a relation between d and b: the 22d+ pairs (A(x), B(x)) of relatively prime polynomials of degree at most d must be sufficient to provide for the Otexp ( c3 n I3 log213 n)) tests. The time required to invert the resulting sparse equations is of the same general form, roughly exp(c,b). Thus we have constructed a database consisting of the logarithms of all irreducible polynomials of degree at most b, using time and storage O(exp ( O(n113 log213 n))). VII. LOGARITHMS OF MEDIUM-SIZED POLYNOMIALS A second feature of our present algorithm is the ability to take logarithms of moderate-sized polynomials easily. That is, if we are given G(x), where degree G(x) is, say, n213, we can take advantage of its small degree when taking its logarithm. This is in contrast to both Adleman s algorithm and the Waterloo improvement. Both algorithms begin by multiplying G(x) by xm mod P(x), thus destroying its small degree, in order to randomize. Their only hope is that G(x) might itself be smooth, and if it is not, anything they do to it (multiplying by xm, extended Euclidean algorithm, etc.) destroys its small degree. We use the techniques introduced in Sections V and VI. Suppose our database has been constructed with degree bound b. Suppose we are given G(x) of degree g -=z n. Select d near (g + m log, (n/b))/2. Let k be a power
5 COPPERSMITH: FAST EVALUATION OF LOGARITHMS 591 of 2 near \ln/d. Let h be the least integer greater than n/k. Choose A(x) and B(x) from among polynomials of degree at most d, subject to the usual restriction that gcd(a(x), B(x)) = 1, and the new restriction that G(x) divides C(x) = xha(x) + B(x). (Given G(x), it is a relatively easy matter to find the linear space of applicable pairs (A(x), B(x)).) Set D(x) = C(X)~ mod P(x). When both C(x)/G(x) and D(x) are smooth with respect to the bound b = [&I ], then we have expressed logg(x) in terms of the logarithms of irreducible polynomials of degree at most b. Further, there are fewer than 2g < n such irreducible polynomials. By the usual arguments, the number of trial pairs (A(x), B(x)) needed should be on the order of exp (2(h/b )log (h/b )) - exp (ds 1% (Wbd) - exp(jn/blodn/b)). By our choice of d, we should have enough pairs (A(x), B(x)) available to find one pair that works. If not, choose a slightly larger value of d. VIII. THE ALGORITHM AND ASYMPTOTIC RUNNING TIME The algorithm is just a combination of the two steps just outlined. First we build a data base of logarithms of irreducible polynomials of degree up to bound b = ~rz /~ log2/3 n. The data base has size 2 + /b and takes time exp ( c n 13 log213 n) to construct. Given a polynomial G(x) whose logarithm we want, first we follow the scheme of Blake et al. outlined in Section III. For a random m, evaluate G(x)xm mod P(x). Use the extended Euclidean algorithm to set G(x)x = G1(x)/G2(x) mod P(x), where G, and G2 have degree about n/2. Wait until both G, and G, are smooth with respect to the bound b, = fi. Factor G, and G, into polynomials of degree at most b,. So far we have spent time about exp (2(n/b,) log (n/b,)) = exp <m 1% (n/b)), and we have fewer than n polynomials of degree between b and b,, whose logarithms we must obtain. For each of these polynomials, apply the technique in Section VII. Each polynomial requires time exp (m log (n/b)) to be expressed as the product and quotient of fewer than n irreducible polynomials of degree at most b, = \lbb,. To each of the resulting polynomials, apply the technique in Section VII again. After t stages, we have expressed G(x) in terms of fewer than n polynomials, each of degree less than bt = b(n/b)2m. We have taken work less than n exp(mlog(n/b)) = exp(mlog(n/b) + tlogn) to do so. When t = log n, all of our polynomials are in the original database, and we have found the logarithm of the given G(x). Thus we require time exp (m log n/b + log2 n) = exp ((1 + o(l))jn/blog(vb)) to find each new logarithm. Selecting, for example, b = n1/3 log213 n, this-time is O(exp((+ + 0(1))n /~ log213 n)). If b is larger, the larger data base allows us a smaller per-logarithm time. IX. DEPENDENCE ON SPARSE MATRIX TECHNIQUES So far, our analysis of running time has concentrated on the first phase of precomputation, the acquisition of equations. But the second phase, the solution of these linear equations, may turn out to be the dominating factor. Suppose that a sparse system of N linear equations in N unknowns can be solved in time 0( N ), where by sparse we mean that each equation has about log N nonzero coefficients per equation. Using straight Gaussian elimination we would have w = 3; Strassen [16] would give w = 2.807; Coppersmith and Winograd [5] would give ~3 = 2.96; all of these treat the matrix as dense. Taking advantage of the sparseness one might find o 6 2. It turns out that this second stage will be a determining factor only if w > 2. For a fixed value of w, we relate d (the degree of A(x) or B(x)) and b (the smoothness bound) by two equations. Balancing the work of the first stage (22d+1 trials) against that of the second stage (solution of linear equations) we have whence / rrhil \ w 2d -- wb. Requiring that the 22d+1 trials give enough successful pairs (A(x), B(x)), we get or 22d+l Solving, we find and the work is - (y)exp(2flogq), 2dlog2 - (blog2) ++qlogn. b- [ ( exp (1 + o(l)) i 2un log2 n 9( w - 1)210g22 l/3 9~~~~;2nlog2n ) l/3 I. Recall we selected k to be a power of 2 near Jn/d. The preceding analysis assumed w was close to a power of 2, so that deg C and deg D were both around m. This is the best case. In the worst case, J2n/d is close to a power of 2. A similar analysis there yields a work factor of L ( 11 l/3 exp (1 + o(l)) 010g2 (ti - 1)2 nlog2n. Authorized licensed use limited to: Ecole Polytechnique. Downloaded on January 29, 2009 at 12:37 from IEEE Xplore. Restrictions apply.
6 592 IEEE TRANSACTIONSON INFORMATIONTHEORY,VOL. IT-30,N0.,JULy 198 TABLE I DEPENDENCEOFTHEWORKFACTOREXPONENTONU Matrix Best Exponent Case Case w C C Comment Gaussian Elimination Strassen Coppersmith-Winograd Possible Sparse Techniques < No Longer a Bottleneck Summarizing, we find that the overall work is exp ((c + W I3 log213 n), where the dependence of c on the matrix exponent o is given in Table I. X. SPECIFIC CASES These asymptotic running times are encouraging. But we feel compelled to analyze some specific cases, to see how the algorithm works in practice. In the first stage, call an operation a smoothness test. Assume, for concreteness, that in the second stage, the solution of the N linear equations in N unknowns requires N3/3 operations (Gaussian elimination, without taking advantage of sparseness, i.e., the most pessimistic assumption), where now an operation is a multiplication of two elements of the ring Z/(2n - l)(i.e., the multiplication of two integers mod 2-1). We develop the estimates of Table II. The first column gives n. The second column gives the total number of operations involved in precorzlputation (either smoothness tests or multiplications in Z mod2-1). The third column gives the number of smoothness tests; the fourth, the number of multiplications. Columns 5 through 7 give the parameters b, d, and k. To construct Table II we first selected b, and estimated the work involved in solving an N x N system of equa- tions, where N /b. We selected d so that the 22d+ smoothness tests would cost about as much as the solution of the linear equations. It turned out that k = was the optimal setting of k throughout the range. Setting deg D = kd + k, we found the probability that D was smooth. We could then hypothesize a probability for C being smooth, which would make the choice of d just sufficient to get n TABLE II NUMLSER OF OPERATIONS REQUIRED BY THE FIRST STAGE Total E E E E E Ell 30.76Ell E E E E E E E17 Stage 1 Stage 2 b d k 3.6E6 3.8E E7 2.33E E8 1.39E E8 8.70E E9 5.5E ElO 3.51ElO Ell 1.03E Ell 1.50E E E E E1 6.72E13.56E E E E E E E enough equations. We worked backwards then to obtain deg C, from which we could calculate n. As we will see in the next section, GF(2127) requires less than an hour to construct a data base for b = 12. Allowing 250 microseconds per operation (which was what we observed for the smoothness tests), this table would indicate three hours running time. One difference seems to be that we used b = 12 while the table indicates using b = 11; the smoothness probabilities must be fairly unstable in this region. The table s choice of b = 11 was influenced by the assumption of N3/3 operations for the equation solving, while we had better running time than that. Allowing one millisecond per operation for larger values of n, one can guess that GF (221) could be done in a year on an existing mainframe computer. Special-purpose chips might bring the operation time to the microsecond range, allowing calculations in fields of size 2@. Better sparse matrix techniques would further increase the effective range of this algorithm, as would several chips running parallel. XI. PROGRAMMING CONSIDERATIONS (WITH JAMES DAVENPORT, UNIVERSITY OF BATH, ENGLAND) We have completely determined the logarithms of all polynomials of degree at most 12 in GF (~)[x]/(x ~~ + x + l), and looked at the possibility of extending this to higher degree, in particular 13. We note that, for the sieve size we chose (d = lo), 12 is the smallest number at which we can start this process-there are not enough equations to determine the logarithms of polynomials of degree at most 11 directly. There are essentially three steps to building a data base of logarithms for all polynomials of degree at most b: 1) finding a sufficient number of polynomials A(x), B(x) such that C(x) = AXIS + B(x) and D(x) = C(~)~mod P(x) = A(x)~(x~ + x) + By are both smooth with respect to b; 2) factoring the polynomials C(x) and D(x) thus produced-each factorization giving a linear equation among the logarithms of the irreducible factors of C(x) and D(x); 3) solving these equations. Step 1) was performed with a special machine-code program. To test whether C(x) is smooth, we evaluate <x>n,, b (X2k - x) modc(x). The factor x2k - x contains as factors all irreducible polynomials of degree k, as well as all irreducible polynomials of degree j where j divides k. The factor C (x) (the formal derivative of C(x)) contains all repeated irreducible factors of C(x). Thus the indicated product will be zero when C(x) is smooth. By testing the product after each value of k, we can determine the size of the largest irreducible factor. In 250 microseconds (000 instructions) per pair (C(x), D(x)), this program made six lists of pairs, according to the size of the largest irreducible factor appearing in either: up to 12, exactly 13, 1, 15, 16, or 17, and discarding pairs containing a larger irreducible.
7 COPPERSMITH: FASTEVALUATIONOF LOGARITHMS 593 The product will also be zero when C(x) has a large repeated irreducible factor. In this rare event, it will falsely report smoothness. In the actual calculations, of two million trials, the program reported that 109 pairs (C(x), D(x)) were smooth with respect to the bound b = 12. Of these, 33 were false reports, the other 1061 giving useful equations. Steps 2) and 3) were performed in the NEWSPAD algebra system [9] since their performance is (relatively) uncritical to the running of the algorithm, and since they can be solved by well-known algorithms. The factorizations over GF(2) were performed by a three-stage process: the problem is reduced to the factorization of square-free polynomials; b) the problem is reduced to the factorization of polynomials all of whose irreducible factors are of the same degree; such polynomials are factored. We wrote (fortunately less than an hour s task) a special domain in NEWSPAD to handle GF (2), in which 0 and 1 were represented by the LISP objects NIL and non-nil. The use of this, rather than a general domain which represented GF( p) as integers in the range [0, p - 11, halved the running time of the program. We used our general representation for sparse polynomials, as a list of exponent-coefficients pairs for all nonzero terms, even though there is only one nonzero coefficient, since we did not wish to embark on the task of writing a new polynomial representation. Clearly such a representation, e.g., by bit-vectors, could be written, and it would be much more efficient. Step b) was performed by Knuth s [lo, p algorithm S, which he attributes to being fairly well-known. Step c) is often not needed, but, when it was, we used Berlekamp s small field algorithm [2]. The reader may wonder why we use Step b), since, as [3] points out, for small primes, his method is generally faster, even though the running times of the two methods have the same asymptotic growth, as functions of degree of the polynomials being factored. This is indeed true, but our polynomials are far from being general. Indeed, all the correct ones have factors of degree at most 12. For our application, the method outlined is more than twice as fast as a direct application of Berlekamp s algorithm, and takes 8 minutes 21 seconds to factor the 2188 polynomials. Cantor and Zassenhaus [6] propose another algorithm for the splitting of factors remaining after Step 2). In the case of GF (2), their algorithm requires one to work over a quadratic extension of GF(2). Since such programs were not available at the time these calculations were performed, we did not investigate this algorithm further, though it may in fact be more efficient. The linear equations were solved by a relatively straightforward sparse matrix method written specially for the application (157 lines of code). There are eight irreducibles of degree at most 12 which do not appear in the equations resulting from the previous step, hence the rank of the matrix is at most 77-8 = 739. In fact it is exactly 739, and the logarithms of the irreducibles that appear are discovered. The solution took fractionally under 20 minutes of CPU. This is the only step that required a significant amount of storage, using bytes of working storage at its peak. The solution could probably be found more readily-since the system is over-determined, one could use fewer equations than the 1062 found from the previous step. We estimate that such improved algorithms could halve the amount of time taken. We could, of course, find all the logarithms of polynomials of degree at most 13 the same way, but there is an easier way. The same sieve as described above found a further 1928 pairs A(x), B(x) such that C(X) and D(X) were (apparently) smooth with respect to 13, but not 12. Factoring the resulting C(x) and D(X) showed that 18 of them were spurious, thus leaving 1910 valid equations for the logarithms of the 630 irreducible polynomials of degree 13. These equations determine the eight missing polynomials of degree 12, and 1205 of them only involve one polynomial of degree 13, thus enabling us to find the logarithms of 550 such polynomials (there are many duplications, of course) immediately. Simple back-substitution into the remaining equations enables us to find 77 of the remaining 80, and the last three never occur in these equations, and so have to be postponed until the next stage. The amount of working storage required for this stage is negligible, consisting of that for the factorization plus enough to hold the known logarithms, say bytes. Furthermore, this step (and subsequent liftings to 1...) are highly parallehzable, since each factorization could be performed on a separate processor. Based on these figures, we can extrapolate the total time required to build a database of logarithms of all irreducible polynomials of degree at most 17. The results are contained in Table III. Times in italics are estimates. All times are in CPU minutes on an IBM 3081 model K, and include garbage collection and operating system overhead. TABLE III TIME(IN MINUTES)FORTHE FIRST PHASEOF THE ALGORITHM FOR GF(2127) Time Operation Factorizations 11 Sieve 8 Factorization-b = Solve 18 Factorization-b = Factorization-b = Factorization-b = Factorization-b = Factorization-b = Total ACKNOWLEDGMENT Thanks are due to I. F. Blake, R. Fuji-Hara, R. C. Mullin, and S. A. Vanstone, who showed me their work and got me interested in the subject. Stimulating conversa- Authorized licensed use limited to: Ecole Polytechnique. Downloaded on January 29, 2009 at 12:37 from IEEE Xplore. Restrictions apply.
8 Authorized licensed use limited to: Ecole Polytechnique. Downloaded on January 29, 2009 at 12:37 from IEEE Xplore. Restrictions apply. 59 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-30, NO., JULY 198 tions with Victor Miller, Andrew Odlyzko, and James VI Davenport are gratefully acknowledged; Odlyzko, in particular, provided references, analysis, and ideas for future [71 work. The author wishes to thank the Computer Algebra Group at IBM Research, particularly James Davenport 181 and Patrizia Gianni, for adapting their symbolic algebra package to factor the resulting polynomials and to do the sparse matrix calculations involved in trying GF (2127). [91 REFERENCES 111 L. Adleman, A subexponential algorithm for the discrete logarithm M problem with applications to cryptography, in Proc. IEEE 20th WI WI D. G. Cantor and H. Zassenhaus, A new algorithm for factoring polynomials over finite fields, Math. Comp., vol. 36, pp , W. Diffie and M. E. Hellman, New directions in cryptography, IEEE Trans. Inform. Theory, vol. IT-22, pp. 6-65, M. E. Hellman and J. M. Reyneri, Fast computation of discrete logarithms in GF(q), Advances in Cryptography: Proceedings of CRYPT0 82, D. Chaum, R. Rivest, and A. Sherman, Eds. New York: Plenum, 1983, pp R. D. Jenks and B. M. Trager, A language for computational algebra, in Proc. SYMSAC 81, P. S. Wang, Ed. New York: ACM, 1981, pp D. E. Knuth. The Art of Comnuter Prowammiw. Vol. 2. New York: Addison-Wesley, 1971, pp i. -, The Art of Computer Programming, Vol. 3. New York: Addison-Wesley, 1973, p. 9. M. Morrison and J. Brillhart, A method of factoring and the factorization of, Math. Comp., vol. 29, pp , A. M. Odlyzko, Discrete logarithms in finite fields and their cryptographic significance, to appear in Proceedings of Eurocrypt 8. W. W. Peterson, Error-Correcting Codes. Cambridge, MA: MIT Annual Symposium on Foundations of Computer Science, 1979, pp. [I E. R. Berlekamp, Factoring polynomials over finite fields, Bell Syst. Tech. J., vol. 6, pp , P1 [31 -, Factoring polynomials over large finite fields, Math. Comp., vol. 2, pp , S. C. Pohlig and M. Hellman, An improved algorithm for comput- [1 I. F. Blake, R. Fuji-Hara, R. C. Mullin, and S. A. Vanstone, ing logarithms over GF(p) and its cryptographic significance, Computing logarithms in finite fields of characteristic two, to IEEE Trans. Inform. Theory, vol. IT-2, pp , appear in SIAM J. Algebraic and Discrete Methoak WI V. Strassen, Gaussian elimination is not optimal, Numer. Math., [51 D. Coppersmith and S. Winograd, On the asymptotic complexity vol. 13, pp , of matrix multiplication, SIAM J. Comput., vol. 11, no. 3, pp. P71 N. Zierler, A conversion algorithm for logarithms on GF (2 7), J , Aug Pure and Appl. Algebra, vol., pp ,197. Cryptanalytic Attacks on the Multiplicative Knapsack Cryptosystem and on Shamir s Fast Signature Scheme ANDREW M. ODLYZKO, MEMBER, IEEE Abstract-The basic Merkfe-Hellman additive trapdoor knapsack pub- I. INTRODUCTION lit-key cryptosystem was recently shown to be insecure, and attacks have NE of the best-known public-key cryptosystems, the also been developed on stronger variants of it, such as the Graham-Shamir system and the iterated knapsack cryptosystem. It is shown that some 0 basic Merkle-Hellman additive trapdoor knapsack simple variants of another Merkle-Hellman system, the multiplicative system [18], was recently shown by Shamir to be easy to knapsack cryptosystem, are insecure. It is also shown that the Shamir fast break [25]. Subsequently, Adleman [2] proposed attacks on signature scheme can be broken quickly. Similar attacks can also be used the Graham-Shamir scheme and on the multiply iterated to break the Schobi-Massey authentication scheme. These attacks have Merkle-Hellman system. Adleman s attack on the general not been rigorously proved to succeed, but heuristic arguments and empirical evidence indicate that they work on systems of practical size. multiply iterated knapsack systems does not seem to succeed [3], [7], but other attacks on the doubly iterated Manuscript received April 22, 1983; revised December 11, This knapsack schemes have been proposed by Adleman and work was presented at Eurocrypt 83, Udine, Italy, March 21-25, 1983, Lagarias (see [7], [1]). Furthermore, Brickell [6] and and also at the International Symposium on Information Theory, St. Lagarias and the author [15] have developed attacks on Jovite, PQ, Canada, September 26-30, The author is with AT&T Bell Laboratories, Room 2C-370, Murray low-density knapsack cryptosystems. This paper develops Hill, NJ attacks on several other public-key cryptosystems. We show /8/ $ IEEE
Public Key Cryptography. c Eli Biham - March 30, 2011 258 Public Key Cryptography
Public Key Cryptography c Eli Biham - March 30, 2011 258 Public Key Cryptography Key Exchange All the ciphers mentioned previously require keys known a-priori to all the users, before they can encrypt
LUC: A New Public Key System
LUC: A New Public Key System Peter J. Smith a and Michael J. J. Lennon b a LUC Partners, Auckland UniServices Ltd, The University of Auckland, Private Bag 92019, Auckland, New Zealand. b Department of
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
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
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
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
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
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.
Software Implementation of Gong-Harn Public-key Cryptosystem and Analysis
Software Implementation of Gong-Harn Public-key Cryptosystem and Analysis by Susana Sin A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree of Master
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
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.
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
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
The Mathematics of the RSA Public-Key Cryptosystem
The Mathematics of the RSA Public-Key Cryptosystem Burt Kaliski RSA Laboratories ABOUT THE AUTHOR: Dr Burt Kaliski is a computer scientist whose involvement with the security industry has been through
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.
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.
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
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,
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
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
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
A Factoring and Discrete Logarithm based Cryptosystem
Int. J. Contemp. Math. Sciences, Vol. 8, 2013, no. 11, 511-517 HIKARI Ltd, www.m-hikari.com A Factoring and Discrete Logarithm based Cryptosystem Abdoul Aziz Ciss and Ahmed Youssef Ecole doctorale de Mathematiques
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
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
SECRET sharing schemes were introduced by Blakley [5]
206 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 1, JANUARY 2006 Secret Sharing Schemes From Three Classes of Linear Codes Jin Yuan Cunsheng Ding, Senior Member, IEEE Abstract Secret sharing has
1 Lecture: Integration of rational functions by decomposition
Lecture: Integration of rational functions by decomposition into partial fractions Recognize and integrate basic rational functions, except when the denominator is a power of an irreducible quadratic.
Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and
Breaking The Code Ryan Lowe Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and a minor in Applied Physics. As a sophomore, he took an independent study
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
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.
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
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
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,
SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES
www.arpapress.com/volumes/vol8issue1/ijrras_8_1_10.pdf SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES Malek Jakob Kakish Amman Arab University, Department of Computer Information Systems, P.O.Box 2234,
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
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
NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES
NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES Ounasser Abid 1, Jaouad Ettanfouhi 2 and Omar Khadir 3 1,2,3 Laboratory of Mathematics, Cryptography and Mechanics, Department of Mathematics, Fstm,
Secure Network Communication Part II II Public Key Cryptography. Public Key Cryptography
Kommunikationssysteme (KSy) - Block 8 Secure Network Communication Part II II Public Key Cryptography Dr. Andreas Steffen 2000-2001 A. Steffen, 28.03.2001, KSy_RSA.ppt 1 Secure Key Distribution Problem
Notes 11: List Decoding Folded Reed-Solomon Codes
Introduction to Coding Theory CMU: Spring 2010 Notes 11: List Decoding Folded Reed-Solomon Codes April 2010 Lecturer: Venkatesan Guruswami Scribe: Venkatesan Guruswami At the end of the previous notes,
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
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. 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,
Improved Online/Offline Signature Schemes
Improved Online/Offline Signature Schemes Adi Shamir and Yael Tauman Applied Math. Dept. The Weizmann Institute of Science Rehovot 76100, Israel {shamir,tauman}@wisdom.weizmann.ac.il Abstract. The notion
Factorization Algorithms for Polynomials over Finite Fields
Degree Project Factorization Algorithms for Polynomials over Finite Fields Sajid Hanif, Muhammad Imran 2011-05-03 Subject: Mathematics Level: Master Course code: 4MA11E Abstract Integer factorization is
A New Generic Digital Signature Algorithm
Groups Complex. Cryptol.? (????), 1 16 DOI 10.1515/GCC.????.??? de Gruyter???? A New Generic Digital Signature Algorithm Jennifer Seberry, Vinhbuu To and Dongvu Tonien Abstract. In this paper, we study
Cryptography and Network Security
Cryptography and Network Security Fifth Edition by William Stallings Chapter 9 Public Key Cryptography and RSA Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared
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
Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY. Sourav Mukhopadhyay
Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY Sourav Mukhopadhyay Cryptography and Network Security - MA61027 Modern/Public-key cryptography started in 1976 with the publication of the following paper. W. Diffie
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,...}
Implementation of Elliptic Curve Digital Signature Algorithm
Implementation of Elliptic Curve Digital Signature Algorithm Aqeel Khalique Kuldip Singh Sandeep Sood Department of Electronics & Computer Engineering, Indian Institute of Technology Roorkee Roorkee, India
CIS 5371 Cryptography. 8. Encryption --
CIS 5371 Cryptography p y 8. Encryption -- Asymmetric Techniques Textbook encryption algorithms In this chapter, security (confidentiality) is considered in the following sense: All-or-nothing secrecy.
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
PROBLEM SET 6: POLYNOMIALS
PROBLEM SET 6: POLYNOMIALS 1. introduction In this problem set we will consider polynomials with coefficients in K, where K is the real numbers R, the complex numbers C, the rational numbers Q or any other
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)
Notes on Network Security Prof. Hemant K. Soni
Chapter 9 Public Key Cryptography and RSA Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender and receiver if this key is disclosed communications
Cryptography and Network Security Chapter 9
Cryptography and Network Security Chapter 9 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 9 Public Key Cryptography and RSA Every Egyptian received two names,
Masao KASAHARA. Public Key Cryptosystem, Error-Correcting Code, Reed-Solomon code, CBPKC, McEliece PKC.
A New Class of Public Key Cryptosystems Constructed Based on Reed-Solomon Codes, K(XII)SEPKC. Along with a presentation of K(XII)SEPKC over the extension field F 2 8 extensively used for present day various
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
a 1 x + a 0 =0. (3) ax 2 + bx + c =0. (4)
ROOTS OF POLYNOMIAL EQUATIONS In this unit we discuss polynomial equations. A polynomial in x of degree n, where n 0 is an integer, is an expression of the form P n (x) =a n x n + a n 1 x n 1 + + a 1 x
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
Lecture 2: Complexity Theory Review and Interactive Proofs
600.641 Special Topics in Theoretical Cryptography January 23, 2007 Lecture 2: Complexity Theory Review and Interactive Proofs Instructor: Susan Hohenberger Scribe: Karyn Benson 1 Introduction to Cryptography
Lecture 3: One-Way Encryption, RSA Example
ICS 180: Introduction to Cryptography April 13, 2004 Lecturer: Stanislaw Jarecki Lecture 3: One-Way Encryption, RSA Example 1 LECTURE SUMMARY We look at a different security property one might require
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
MOP 2007 Black Group Integer Polynomials Yufei Zhao. Integer Polynomials. June 29, 2007 Yufei Zhao [email protected]
Integer Polynomials June 9, 007 Yufei Zhao [email protected] We will use Z[x] to denote the ring of polynomials with integer coefficients. We begin by summarizing some of the common approaches used in dealing
Constructing Pairing-Friendly Elliptic Curves with Embedding Degree 10
with Embedding Degree 10 University of California, Berkeley, USA ANTS-VII, 2006 Outline 1 Introduction 2 The CM Method: The Basic Construction The CM Method: Generating Families of Curves 3 Outline 1 Introduction
Breaking Generalized Diffie-Hellman Modulo a Composite is no Easier than Factoring
Breaking Generalized Diffie-Hellman Modulo a Composite is no Easier than Factoring Eli Biham Dan Boneh Omer Reingold Abstract The Diffie-Hellman key-exchange protocol may naturally be extended to k > 2
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.
Factoring Polynomials
Factoring Polynomials Hoste, Miller, Murieka September 12, 2011 1 Factoring In the previous section, we discussed how to determine the product of two or more terms. Consider, for instance, the equations
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
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
Principles of Public Key Cryptography. Applications of Public Key Cryptography. Security in Public Key Algorithms
Principles of Public Key Cryptography Chapter : Security Techniques Background Secret Key Cryptography Public Key Cryptography Hash Functions Authentication Chapter : Security on Network and Transport
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
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,
3 1. Note that all cubes solve it; therefore, there are no more
Math 13 Problem set 5 Artin 11.4.7 Factor the following polynomials into irreducible factors in Q[x]: (a) x 3 3x (b) x 3 3x + (c) x 9 6x 6 + 9x 3 3 Solution: The first two polynomials are cubics, so if
Index Calculation Attacks on RSA Signature and Encryption
Index Calculation Attacks on RSA Signature and Encryption Jean-Sébastien Coron 1, Yvo Desmedt 2, David Naccache 1, Andrew Odlyzko 3, and Julien P. Stern 4 1 Gemplus Card International {jean-sebastien.coron,david.naccache}@gemplus.com
1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.
1 Digital Signatures A digital signature is a fundamental cryptographic primitive, technologically equivalent to a handwritten signature. In many applications, digital signatures are used as building blocks
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
1.7. Partial Fractions. 1.7.1. Rational Functions and Partial Fractions. A rational function is a quotient of two polynomials: R(x) = P (x) Q(x).
.7. PRTIL FRCTIONS 3.7. Partial Fractions.7.. Rational Functions and Partial Fractions. rational function is a quotient of two polynomials: R(x) = P (x) Q(x). Here we discuss how to integrate rational
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,
ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS
ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS DANIEL RABAYEV AND JACK SONN Abstract. Let f(x) be a monic polynomial in Z[x] with no rational roots but with roots in Q p for
Introduction to Algebraic Geometry. Bézout s Theorem and Inflection Points
Introduction to Algebraic Geometry Bézout s Theorem and Inflection Points 1. The resultant. Let K be a field. Then the polynomial ring K[x] is a unique factorisation domain (UFD). Another example of a
3.2 The Factor Theorem and The Remainder Theorem
3. The Factor Theorem and The Remainder Theorem 57 3. The Factor Theorem and The Remainder Theorem Suppose we wish to find the zeros of f(x) = x 3 + 4x 5x 4. Setting f(x) = 0 results in the polynomial
IMPLEMENTATION AND PERFORMANCE ANALYSIS OF ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM
NABI ET AL: IMPLEMENTATION AND PERFORMANCE ANALYSIS OF ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM 28 IMPLEMENTATION AND PERFORMANCE ANALYSIS OF ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM Mohammad Noor
6 EXTENDING ALGEBRA. 6.0 Introduction. 6.1 The cubic equation. Objectives
6 EXTENDING ALGEBRA Chapter 6 Extending Algebra Objectives After studying this chapter you should understand techniques whereby equations of cubic degree and higher can be solved; be able to factorise
Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs
Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs Enes Pasalic University of Primorska Koper, 2014 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a
1 Homework 1. [p 0 q i+j +... + p i 1 q j+1 ] + [p i q j ] + [p i+1 q j 1 +... + p i+j q 0 ]
1 Homework 1 (1) Prove the ideal (3,x) is a maximal ideal in Z[x]. SOLUTION: Suppose we expand this ideal by including another generator polynomial, P / (3, x). Write P = n + x Q with n an integer not
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 ) =
An Overview of Integer Factoring Algorithms. The Problem
An Overview of Integer Factoring Algorithms Manindra Agrawal IITK / NUS The Problem Given an integer n, find all its prime divisors as efficiently as possible. 1 A Difficult Problem No efficient algorithm
Pricing via Processing or Combatting Junk Mail
Pricing via Processing or Combatting Junk Mail Cynthia Dwork Moni Naor Draft of full version Abstract We present a computational technique for combatting junk mail, in particular, and controlling access
COMMUTATIVITY DEGREES OF WREATH PRODUCTS OF FINITE ABELIAN GROUPS
COMMUTATIVITY DEGREES OF WREATH PRODUCTS OF FINITE ABELIAN GROUPS IGOR V. EROVENKO AND B. SURY ABSTRACT. We compute commutativity degrees of wreath products A B of finite abelian groups A and B. When B
Zeros of a Polynomial Function
Zeros of a Polynomial Function An important consequence of the Factor Theorem is that finding the zeros of a polynomial is really the same thing as factoring it into linear factors. In this section we
Public Key (asymmetric) Cryptography
Public-Key Cryptography UNIVERSITA DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell Informazione Public Key (asymmetric) Cryptography Luca Veltri (mail.to: [email protected]) Course of Network Security,
March 29, 2011. 171S4.4 Theorems about Zeros of Polynomial Functions
MAT 171 Precalculus Algebra Dr. Claude Moore Cape Fear Community College CHAPTER 4: Polynomial and Rational Functions 4.1 Polynomial Functions and Models 4.2 Graphing Polynomial Functions 4.3 Polynomial
Integrals of Rational Functions
Integrals of Rational Functions Scott R. Fulton Overview A rational function has the form where p and q are polynomials. For example, r(x) = p(x) q(x) f(x) = x2 3 x 4 + 3, g(t) = t6 + 4t 2 3, 7t 5 + 3t
Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures
Outline Computer Science 418 Digital Signatures Mike Jacobson Department of Computer Science University of Calgary Week 12 1 Digital Signatures 2 Signatures via Public Key Cryptosystems 3 Provable 4 Mike
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,
The mathematics of RAID-6
The mathematics of RAID-6 H. Peter Anvin 1 December 2004 RAID-6 supports losing any two drives. The way this is done is by computing two syndromes, generally referred P and Q. 1 A quick
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
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
