# The Diffie-Hellman Problem

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Chapter 21 The Diffie-Hellman Problem This is a chapter from version 1.1 of the book Mathematics of Public Key Cryptography by Steven Galbraith, available from sdg/crypto-book/ The copyright for this chapter is held by Steven Galbraith. This bookis now completed andan edited versionofit will be published bycambridge University Press in early Some of the Theorem/Lemma/Exercise numbers may be different in the published version. Please send an to if you find any mistakes. All feedback on the book is very welcome and will be acknowledged. This chapter gives a thorough discussion of the computational Diffie-Hellman problem (CDH) and related computational problems. We give a number of reductions between computational problems, most significantly reductions from DLP to CDH. We explain self-correction of CDH oracles, study the static Diffie-Hellman problem, and study hard bitsofthedlpandcdh. Wealwaysusemultiplicativenotationforgroupsin thischapter (except for in the Maurer reduction where some operations are specific to elliptic curves) Variants of the Diffie-Hellman Problem We present some computational problems related to CDH, and prove reductions among them. The main result is to prove that CDH and Fixed-CDH are equivalent. Most of the results in this section apply to both algebraic groups (AG) and algebraic group quotients (AGQ) of prime order r (some exceptions are Lemma , Lemma and, later, Lemma ). For the algebraic group quotients G considered in this book then one can obtain all the results by lifting from the quotient to the covering group G and applying the results there. A subtle distinction is whether the base element g G is considered fixed or variable in a CDH instance. To a cryptographer it is most natural to assume the generator is fixed, since that corresponds to the usage of cryptosystems in the real world (the group G and element g G are fixed for all users). Hence, an adversary against a cryptosystem leads to an oracle for a fixed generator problem. To a computational number theorist it is most natural to assume the generator is variable, since algorithms in computational number theory usually apply to all problem instances. Hence both problems are studied in the literature and when an author writes CDH it is sometimes not explicit which of the variants is meant. Definition was for the case when g varies. Definition below is the case when g is fixed. This issue is discussed in Section 5 of Shoup [553] and 447

2 448 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM in Sadeghi and Steiner [507] (where it is called granularity ). Definition Let G be an algebraic group(ag) or algebraic group quotient (AGQ) and let g G. The Fixed-base computational Diffie-Hellman problem (Fixed- CDH) with respect to g is: Given (g a,g b ) to compute g ab. In this book the acronym CDH will always refer to the case where g is allowed to vary. Hence, an algorithm for CDH will always take three inputs (formally we should also include a description of the underlying group G, but we assume this is implicit in the specification of g) while an algorithm for Fixed-CDH will always take two inputs. It is trivial that Fixed-CDH R CDH, but the reverse implication is less obvious; see Corollary below. Analogously, given g G one can define Fixed-DLP (namely, given h to find a such that h = g a ) and Fixed-DDH (given (g a,g b,g c ) determine whether g c = g ab ). Though Fixed-DLP is equivalent to DLP (see Exercise ) it is not expected that DDH is equivalent to Fixed-DDH (see Section of [553]). Exercise Prove that Fixed-DLP is equivalent to DLP. Exercise Let G be a cyclic group of prime order r. Let h 1,h 2,h 3 G such that h j 1 for j = 1,2,3. Show there exists some g G such that (g,h 1,h 2,h 3 ) is a Diffie-Hellman tuple. We now introduce some other variants of CDH. These are interesting in their own right, but are also discussed as they play a role in the proof of equivalence between CDH and Fixed-CDH. Definition Let G be a group or algebraic group quotient of prime order r. The computational problem Inverse-DH is: given a pair g,g a G {1} of elements of prime order r in G to compute g a 1 (mod r). (Clearly, we must exclude the case a = 0 from the set of instances.) Lemma Inverse-DH R CDH. Proof: Suppose O is a perfect oracle for solving CDH. Let (g,g 1 = g a ) be the given Inverse-DH instance. Then g = g1 a 1. Calling O(g 1,g,g) = O(g 1,g a 1 1,g a 1 1 ) gives g a 2 1. Finally, as required. g a 2 1 = (g a ) a 2 = g a 1 Definition Let G be an AG or AGQ. The computational problem Square-DH is: given (g,g a ) where g G has prime order r to compute g a2. Exercise Show that Square-DH R CDH. Lemma Square-DH R Inverse-DH. Proof: Let O be a perfect oracle that solves Inverse-DH and let (g,g 1 = g a ) be given. If g 1 = 1 then return 1. Otherwise, we have O(g 1,g) = O(g 1,g a 1 1 ) = g a 1 = (g a ) a = g a2. Hence Square-DH R Inverse-DH R CDH. Finally we show CDH R Square-DH and so all these problems are equivalent.

3 21.1. VARIANTS OF THE DIFFIE-HELLMAN PROBLEM 449 Lemma Let G be a group of odd order. Then CDH R Square-DH. Proof: Let (g,g a,g b ) be a CDH instance. Let O be a perfect oracle for Square-DH. Call O(g,g a ) to get g 1 = g a2, O(g,g b ) to get g 2 = g b2 and O(g,g a g b ) to get g 3 = g a2 +2ab+b 2. Now compute (g 3 /(g 1 g 2 )) 2 1 (mod r), which is g ab as required. Exercise LetGbe agroupofprimeorderr. Showthat Inverse-DHandSquare- DH are random self-reducible. Hence give a self-corrector for Square-DH. Finally, show that Lemma holds for non-perfect oracles. (Note that it seems to be hard to give a self-corrector for Inverse-DH directly, though one can do this via Lemma ) Note that the proofs of Lemmas and require oracle queries where the first group element in the input is not g. Hence, these proofs do not apply to variants of these problems where g is fixed. We now define the analogous problems for fixed g and give reductions between them. Definition Let g have prime order r and let G = g. The computational problem Fixed-Inverse-DH is: given g a 1 to compute g a 1 (mod r). Similarly, the computational problem Fixed-Square-DH is: given g a to compute g a2. Exercise Show that Fixed-Inverse-DH and Fixed-Square-DH are random selfreducible. Lemma Let g G. Let A be a perfect Fixed-CDH oracle. Let h = g a and let n N. Then one can compute g an (mod r) using 2log 2 (n) queries to A. Proof: Assume A is a perfect Fixed-CDH oracle. Define h i = g ai (mod r) so that h 1 = h. One has h 2i = A(h i,h i ) and h i+1 = A(h i,h). Hence one can compute h n by performing the standard square-and-multiply algorithm for efficient exponentiation. Note that the number of oracle queries in Lemma can be reduced by using window methods or addition chains. Exercise Show that if the conjecture of Stolarsky (see Section 2.8) is true then one can compute g an in log 2 (n)+log 2 (log 2 (n)) Fixed-CDH oracle queries. Lemma Fixed-Inverse-DH R Fixed-CDH. Proof: Fix g G. Let O be a perfect Fixed-CDH oracle. Let g a be the given Fixed- Inverse-DH instance. Our task is to compute g a 1. The trick is to note that a 1 = a r 2 (mod r). Hence, one computes g ar 2 using Lemma The case of non-perfect oracles requires some care, although at least one can check the result using O since one should have O(g a,g a 1 ) = g. Lemma Fixed-Square-DH R Fixed-Inverse-DH. Proof: Let h = g a be the input Fixed-Square-DH instance and let A be a perfect oracle for the Fixed-Inverse-DH problem. Call A(gh) to get g (1+a) 1 and call A(gh 1 ) to get g (1 a) 1. Multiplying these outputs gives w = g (1+a) 1 g (1 a) 1 = g 2(1 a2 ) 1. Calling A(w 2 1 (mod r) ) gives g 1 a2 from which we compute g a2 as required. We can now solve a non-fixed problem using an oracle for a fixed problem.

4 450 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM Lemma Square-DH R Fixed-CDH. Proof: Let g G be fixed of prime order r and let A be a perfect Fixed-CDH oracle. Let g 1,g1 b be the input Square-DH problem. Write g 1 = g a. We are required to compute g1 b2 = g ab2. CallA(g1,g b 1)tocomputeg b a2 b 2. UsetheperfectFixed-CDHoracleasinLemma to compute g a 1. Then compute A(g a2 b 2,g a 1 ) to get g ab2. Since CDH R Square-DH we finally obtain the main result of this section. Corollary Fixed-CDH and CDH are equivalent. Proof: We already showed Fixed-CDH R CDH. Now, let A be a perfect Fixed-CDH oracle. Lemma together with Lemma gives CDH R Square-DH R Fixed- CDH as required. Now suppose A only succeeds with noticeable probability ǫ > 1/log(r) c for some fixed c. The reductions CDH R Square-DH R Fixed-CDH require O(log(r)) oracle queries. We perform self-correction (see Section 21.3) to obtain an oracle A for Fixed-CDH that is correct with probability 1 1/(log(r) c ) for some constant c ; by Theorem this requires O(log(r) c loglog(r)) oracle queries. Exercise It was assumed throughout this section that G has prime order r. Suppose instead that G has order r 1 r 2 where r 1 and r 2 are odd primes and that g is a generator for G. Which of the results in this section no longer necessarily hold? Is Fixed-CDH in g equivalent to Fixed-CDH in g r1? We end with a variant of the DDH problem. Exercise Let g have prime order r and let {x 1,...,x n } Z/rZ. For a subset A {1,...,n} define g A = g i A xi. The group decision Diffie-Hellman problem (GDDH) is: Given g, g A for all proper subsets A {1,...,n}, and h, to distinguish h = g c (where c Z/rZ is chosen uniformly at random) from g x1x2 xn. Show that GDDH DDH Lower Bound on the Complexity of CDH for Generic Algorithms We have seen (Theorem ) that a generic algorithm requires Ω( r) group operations to solve the DLP in a group of order r. Shoup proved an analogue of this result for CDH. As before, fix t R >0 and assume that all group elements are represented by bitstrings of length at most tlog(r). Theorem Let G be a cyclic group of prime order r. Let A be a generic algorithm for CDH in G that makes at most m oracle queries. Then the probability that A(σ(g),σ(g a ),σ(g b )) = σ(g ab ) over a,b Z/rZ and an encoding function σ : G S {0,1} tlog(r) chosen uniformly at random is O(m 2 /r). Proof: TheproofisalmostidenticaltotheproofofTheorem LetS = {0,1} tlog(r). The simulator begins by uniformly choosing three distinct σ 1,σ 2,σ 3 in S and running A(σ 1,σ 2,σ 3 ). The encoding function is then specifed at the two points σ 1 = σ(g) and σ 2 = σ(h). From the point of view of A, g and h are independent distinct elements of G.

5 21.3. RANDOM SELF-REDUCIBILITY AND SELF-CORRECTION OF CDH 451 It is necessary to ensure that the encodings are consistent with the group operations. This cannot be done perfectly without knowledge of a and b, but using polynomials as previously ensures there are no trivial inconsistencies. The simulator maintains a list of pairs (σ i,f i ) where σ i S and F i F r [x,y] (indeed, the F i (x,y) will always be linear). The initial values are (σ 1,1), (σ 2,x) and (σ 3,y). Whenever A makes an oracle query on (σ i,σ j ) the simulator computes F = F i F j. If F appears as F k in the list of pairs then the simulator replies with σ k and does not change the list. Otherwise, an element σ S, distinct from the previously used values, is chosen uniformly at random, (σ,f) is added to the simulator s list, and σ is returned to A. After making at most m oracle queries, A outputs σ 4 Z/rZ. The simulator now chooses a and b uniformly at random in Z/rZ. Algorithm A wins if σ 4 = σ(g ab ). Note that if σ 4 is not σ 1,σ 2 or one of the strings output by the oracle then the probability of success is at most 1/(2 tlog(r) m 2). Hence we assume that σ 4 is on the simulator s list. Let the simulator s list contain precisely k polynomials {F 1 (x,y),...,f k (x,y)} for some k m+3. Let E be the event that F i (a,b) = F j (a,b) for some pair 1 i < j k or F i (a,b) = ab. The probability that A wins is Pr(A wins E) Pr(E) + Pr(A wins E) Pr( E). (21.1) Foreachpair1 i < j k theprobabilitythat(f i F j )(a,b) = 0is1/r bylemma Similarly, the probability that F i (a,b) ab = 0 is 2/r. Hence, the probability of event E is at most k(k +1)/2r+2k/r = O(m 2 /r). On the other hand, if event E does not occur then all A knows about (a,b) is that it lies in the set X = {(a,b) (Z/rZ) 2 : F i (a,b) F j (a,b) for all 1 i < j k and F i (a,b) ab for all 1 i k}. Let N = #X r 2 m 2 /2 Then Pr( E) = N/r 2 and Pr(A wins E) = 1/N. Hence, the probability that A wins is O(m 2 /r) Random Self-Reducibility and Self-Correction of CDH We defined random self-reducibility in Section Lemma showed that the DLP in a group G of prime order r is random self-reducible. Lemma showed how to obtain an algorithm with arbitrarily high success probability for the DLP from an algorithm with noticeable success probability. Lemma Let g have order r and let G = g. Then CDH in G is random selfreducible. Proof: Let X = (G {1}) G 2 Let (g,h 1,h 2 ) = (g,g a,g b ) X be the CDH instance. Choose uniformly at random 1 u < r and 0 v,w < r and consider the triple (g u,h u 1g uv,h u 2g uw ) = (g u,(g u ) a+v,(g u ) b+w ) X. Then every triple in X arises from exactly one triple (u,v,w). Hence, the new triples are uniformly distributed in X. If Z = (g u ) (a+v)(b+w) is the solution to the new CDH instance then the solution to the original CDH instance is Z u 1 (mod r) h w 1 h v 2 g vw. Exercise Show that Fixed-CDH is random self-reducible in a group of prime order r.

6 452 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM Thefollowingproblem 1 isanothercousinofthecomputationaldiffie-hellmanproblem. It arises in some cryptographic protocols. Definition Fix g of prime order r and h = g a for some 1 a < r. The static Diffie-Hellman problem (Static-DH) is: Given h 1 g to compute h a 1. Exercise Show that the static Diffie-Hellman problem is random self-reducible. One can also consider the decision version of static Diffie-Hellman. Definition Fix g of prime order r and h = g a for some 1 a < r. The decision static Diffie-Hellman problem (DStatic-DH) is: Given h 1,h 2 g to determine whether h 2 = h a 1. We now show that DStatic-DH is random-self-reducible. This is a useful preliminary to showing how to deal with DDH. Lemma Fix g of prime order r and h = g a for some 1 a < r. Then the decision static Diffie-Hellman problem is random self-reducible. Proof: Write G = g. Choose 1 w < r and 0 x < r uniformly at random. Given (h 1,h 2 ) compute (Z 1,Z 2 ) = (h w 1 gx,h w 2 hx ). We must show that if (h 1,h 2 ) is (respectively, is not) a valid Static-DH pair then (Z 1,Z 2 ) is uniformly distributed over the set of all valid (resp. invalid) Static-DH pairs. First we deal with the case of valid Static-DH pairs. It is easy to check that if h 2 = h a 1 then Z 2 = Z1 a. Furthermore, for any pair Z 1,Z 2 G such that Z 2 = Z1 a then one can find exactly (r 1) pairs (w,x) such that Z 1 = h w 1 gx. On the other hand, if h 2 h a 1 then write h 1 = g b and h 2 = g c with c ab (mod r). For any pair (Z 1,Z 2 ) = (g y,g z ) G 2 such that z ay (mod r) we must show that (Z 1,Z 2 ) can arise from precisely one choice (w,x) above. Indeed, ( ) ( )( ) y b 1 w = z c a x and, since the matrix has determinant ab c 0 (mod r) one can show that there is a unique solution for (w,x) and that w 0 (mod r). We now tackle the general case of decision Diffie-Hellman. Lemma Let g have prime order r and let G = g. Then DDH in G is random self-reducible. Proof: Choose1 u,w < r and0 v,x < r uniformlyatrandom. Given(g,h 1,h 2,h 3 ) = (g,g a,g b,g c ) define the new tuple (g u,h u 1g uv,h uw 2 g ux,h uw 3 h ux 1 h vw 2 g uvx ). One can verify that the new tuple is a valid Diffie-Hellman tuple if and only if the original input is a valid Diffie-Hellman tuple (i.e., c = ab). If the original tuple is a valid Diffie-Hellman tuple then the new tuple is uniformly distributed among all Diffie-Hellman tuples. Finally, we show that if the original tuple is not a valid Diffie-Hellman tuple then the new tuple is uniformly distributed among the set of all invalid Diffie-Hellman tuples. To see this think of (h 2,h 3 ) as a DStatic-DH instance with respect to the pair (g,h 1 ). Since (g u,h u 1 guv ) is chosen uniformly at random from (G {1}) G we have a uniformly random DStatic-DH instance with respect to a uniformly random static pair. The result then follows from Lemma The Static-DH problem seems to have been first studied by Brown and Gallant [111].

7 21.3. RANDOM SELF-REDUCIBILITY AND SELF-CORRECTION OF CDH 453 Itis easytoturn adlporaclethat succeedswith noticeableprobabilityǫ intoonethat succeeds with probability arbitrarily close to 1, since one can check whether a solution to the DLP is correct. It is less easy to amplify the success probability for a non-perfect CDH oracle. A natural (but flawed) approach is just to run the CDH oracle on random self-reduced instances of CDH until the same value appears twice. We now explain why this approach will not work in general. Consider a Fixed-CDH oracle that, on input (g a,g b ), returns g ab+ξ where ξ Z is uniformly chosen between 1/log(r) and 1/log(r). Calling the oracle on instances arising from the random self-reduction of Exercise one gets a sequence of values g ab+ξ. Eventually the correct value g ab will occur twice, but it is quite likely that some other value will occur twice before that time. We present Shoup s self-corrector for CDH or Fixed-CDH from [552]. 2 Also see Cash, Kiltz and Shoup [120]. Theorem Fix l N. Let g have prime order r. Let A be a CDH (resp. Fixed-CDH) oracle with success probability at least ǫ > log(r) l. Let (g,g a,g b ) be a CDH instance. Let 1 > ǫ > 1/r. Then one can obtain an oracle that solves the CDH (resp. Fixed-CDH) with probability at least 1 ǫ log(2r) 2 /(rǫ 2 ) and that makes at most 2 log(2/ǫ )/ǫ queries to A (where log is the natural logarithm). Proof: Define c = log(2/ǫ ) R so that e c = ǫ /2. First call the oracle n = c/ǫ times on random-self-reduced instances(if the oracle is a CDH oracle then use Lemma and iftheoracleisafixed-cdhoraclethenuseexercise21.3.2)oftheinputproblem(g,g a,g b ) and store the resulting guesses Z 1,...,Z n for g ab in a list L 1. Note that n = O(log(r) l+1 ). The probability that L 1 contains at least one copy of g ab is 1 (1 ǫ) c/ǫ 1 e c = 1 ǫ /2. Now choose uniformly at random integers 1 s 1,s 2 < r and define X 2 = g s1 /(g a ) s2. One can show that X 2 is uniformly distributed in G = g and is independent of X 1 = g a. Call the oracle another n times on random-self-reduced versions of the CDH instance (g,x 2,g b ) and store the results Z 1,...,Z n in a list L 2. Hence, with probability (1 ǫ /2) 2 1 ǫ there is some Z i L 1 and some Z j L 2 such that Z i = g ab and Z j = gb(s1 as2). For each 1 i,j n test whether Z s2 i = (g b ) s1 /Z j. (21.2) If there is a unique solution (Z i,z j ) then output Z i, otherwise output. Finding Z i can be done efficiently by sorting L 1 and then, for each Z j L 2, checking whether the value of the right hand side of equation (21.2) lies in L 1. We now analyse the probability that the algorithm fails. The probability there is no pair (Z i,z j ) satisfying equation (21.2), or that there are such pairs but none of them have Z i = g ab, is at most ǫ. Hence, we now assume that a good pair (Z i,z j ) exists and we want to bound the probability that there is a bad pair (i.e., a solution to equation (21.2) for which Z i g ab ). Write X 1 = g a, X 2 = g a (where a = s 1 as 2 ) and Y = g b. Suppose (Z,Z ) is a pair such that Z s2 Z = Y s1. (21.3) We claim that Z = Y a and Z = Y a with probability at least 1 1/q. Note that if equation (21.3) holds then (Z/Y a ) s1 = Y a /Z. (21.4) 2 Maurer and Wolf [404] were the first to give a self-corrector for CDH, but Shoup s method is more efficient.

8 454 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM If precisely one of Z = Y a or Z = Y a holds then this equation does not hold. Hence, Z Y a and Z Y a, in which case there is precisely one value for s 1 for which equation (21.4) holds. Considering all n 2 pairs (Z,Z ) L 1 L 2 it follows there are at most n 2 values for s 1, which would lead to an incorrectoutput for the self-corrector. Since s 1 is chosen uniformly at random the probability of an incorrect output is at most n 2 /r. Since n log(2r)/ǫ one gets the result. Note that log(2r) 2 /(rǫ 2 ) = O(log(r) 2+2l /r). Exercise Extend Lemma to the case of a non-perfect Fixed-CDH oracle. What is the number of oracle queries required? 21.4 The den Boer and Maurer Reductions ThegoalofthissectionistodiscussreductionsfromDLPtoCDHorFixed-CDHingroups of prime order r. Despite having proved that Fixed-CDH and CDH are equivalent, we prefer to treat them separately in this section. The first such reduction (assuming a perfect Fixed-CDH oracle) was given by den Boer [168] in Essentially den Boer s method involves solving a DLP in F r, and so it requires r 1 to be sufficiently smooth. Hence there is no hope of this approach giving an equivalence between Fixed-CDH and DLP for all groups of prime order. The idea was generalised by Maurer [401] in 1994, by replacing the multiplicative group F r by an elliptic curve group E(F r ). Maurer and Wolf [404, 405, 407] extended the result to non-perfect oracles. If #E(F r ) is sufficiently smooth then the reduction is efficient. Unfortunately, there is no known algorithm to efficiently generate such smooth elliptic curves. Hence Maurer s result also does not prove equivalence between Fixed-CDH and DLP for all groups. A subexponential-time reduction that conjecturally applies to all groups was given by Boneh and Lipton [83]. An exponential-time reduction (but still faster than known algorithms to solve DLP) that applies to all groups was given by Muzereau, Smart and Vercauteren [447], and Bentahar [42, 43] Implicit Representations Definition Let G be a group and let g G have prime order r. For a Z/rZ we call h = g a an implicit representation of a. In this section we call the usual representation of a Z/rZ the explicit representation of a. Lemma There is an efficient (i.e., computable in polynomial-time) mapping from Z/rZ to the implicit representations of Z/rZ. One can test equality of elements in Z/rZ given in implicit representation. If h 1 is an implicit representation of a and h 2 is an implicit representation of b then h 1 h 2 is an implicit representation of a+b and h 1 1 is an implicit representation of a. In other words, we can compute in the additive group Z/rZ using implicit representations. Lemma If h is an implicit representation of a and b Z/rZ is known explicitly, then h b is an implicit representation of ab. Let O be a perfect Fixed-CDH oracle with respect to g. Suppose h 1 is an implicit representation of a and h 2 is an implicit representation of b. Then h = O(h 1,h 2 ) is an implicit representation of ab.

9 21.4. THE DEN BOER AND MAURER REDUCTIONS 455 In other words, if one can solve Fixed-CDH then one can compute multiplication modulo r using implicit representatives. Exercise Prove Lemmas and Lemma Let g have order r. Let h 1 be an implicit representation of a such that h 1 1 (in other words, a 0 (mod r)). 1. Given aperfect CDH oracle one can compute an implicit representation for a 1 (mod r) using one oracle query. 2. Given a perfect Fixed-CDH oracle with respect to g one can compute an implicit representation for a 1 (mod r) using 2log 2 (r) oracle queries. Proof: Given a perfect CDH oracle A one calls A(g a,g,g) = g a 1 (mod r). Given a perfect Fixed-CDH oracle one computes g ar 2 (mod r) as was done in Lemma To summarise, since Z/rZ = F r, given a perfect CDH or Fixed-CDH oracle then one can perform all field operations in F r using implicit representations. Boneh and Lipton [83] call the set of implicit representations for Z/rZ a black box field The den Boer Reduction We now present the den Boer reduction [168], which applies when r 1 is smooth. The crucial idea is that the Pohlig-Hellman and baby-step-giant-step methods only require the ability to add, multiply and compare group elements. Hence, if a perfect CDH oracle is given then these algorithms can be performed using implicit representations. Theorem Let g G have prime order r. Suppose l is the largest prime factor of r 1. Let A be a perfect oracle for the Fixed-CDH problem with respect to g. Then one can solve the DLP in g using O(log(r)log(log(r))) oracle queries, O(log(r)( l/log(l)+ log(r)) multiplications in F r and O( llog(r) 2 /log(l)) operations in G (where the constant implicit in the O( ) does not depend on l). Proof: Let the challenge DLP instance be g,h = g a. If h = 1 then return a = 0. Hence, we now assume 1 a < r. We can compute a primitive root γ F r in O(log(r)log(log(r))) operations in F r (see Section 2.15). The (unknown) logarithm of h satisfies a γ u (mod r) (21.5) for some integer u. To compute a it is sufficient to compute u. 3 The idea is to solve the DLP in equation (21.5) using the implicit representation of a. Since r 1 is assumed to be smooth then we can use the Pohlig-Hellman (PH) method, followed by the baby-stepgiant-step (BSGS) method in each subgroup. We briefly sketch the details. Write r 1 = n i=1 lei i where the l i are prime. The PH method involves projecting a and γ into the subgroup of F r of order l ei i. In other words, we must compute e i h i = g a(r 1)/l i for 1 i n. Using the Fixed-CDH oracle to perform computations in implicit representation, Algorithm 4 computes all the h i together in O(log(r)loglog(r)) oracle queries. 4 A 3 It may seem crazy to try to work out u without knowing a, but it works! 4 Remark does not lead to a better bound, since the value n (which is m in the notation of that remark) is not necessarily large.

10 456 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM further O(log(r)) oracle queries are required to compute all g a(r 1)/lf i where 0 f < e i. Similarly one computes all x i = γ (r 1)/le i i in O(log(r)loglog(r)) multiplications in F r. We then have h i = g e (mod l i xu i ) i. Following Section 13.2 one reduces these problems to n i=1 e i instances of the DLP in groups of prime order l i. This requires O(log(r) 2 ) group operations and field operations overall (corresponding to the computations in line 6 of Algorithm 13). For the baby-step-giant-step algorithm, suppose we wish to solve g a = g γu (where, for simplicity, we redefine a and γ so that they now have order l modulo r). Set m = l and write u = u 0 +mu 1 where 0 u 0,u 1 < m. From g a = g γu = g γu 0 +mu 1 = g γu 0(γ m ) u 1 (21.6) one has (g a ) (γ m ) u 1 = g γu 0. (21.7) We compute and store (in a sorted structure) the baby steps g γi for i = 0,1,2,...,m 1 (this involves computing one exponentiation in G at each step, as g γi+1 = (g γi ) γ, which is at most 2log 2 (r) operations in G). Wethencomputethegiantsteps(g a ) γ mj. Thisinvolvescomputingw 0 = γ m (mod r) and then the sequence w j = γ mj (mod r) as w j+1 = w i w 0 (mod r); this requires O(log(m) + m) multiplications in F r. We also must compute (g a ) wj, each of which requires 2log 2 (r) operations in G. When we find a match then we have solved the DLP in the subgroup of order l. The BSGS algorithm for each prime l requires O( llog(r)) group operations and O( l + log(r)) operations in F r. There are O(log(r)) primes l for which the BSGS must be run, but a careful analysis of the cost (using the result of Exercise ) gives an overall running time of O(log(r) 2 l/log(l)) group operations and O(log(r) 2 +log(r) l/log(l)) multiplications in F r. Note that the CDH oracle is not required for the BSGS algorithm. Once u is determined modulo all prime powers l e (r 1) one uses the Chinese remainder theorem to compute u Z/(r 1)Z. Finally, one computes a = γ u (mod r). These final steps require O(log(r)) operations in F r. Corollary Let A(κ) be an algorithm that outputs triples (g,h,r) such that r is a κ-bit prime, g has order r, r 1 is O(log(r) 2 )-smooth, and h g. Then DLP R Fixed-CDH for the problem instances output by A. Proof: Suppose one has a perfect Fixed-CDH oracle. Putting l = O(log(r) 2 ) into Theorem gives a reduction with O(log(r)loglog(r)) oracle queries and O(log(r) 3 ) group and field operations. The same results trivially hold if one has a perfect CDH oracle. Exercise Determine the complexity in Theorem if one has a Fixed-CDH oracle that only succeeds with probability ǫ. Cherepnev [134] iterates the den Boer reduction to show that if one has an efficient CDH algorithm for arbitrary groups then one can solve DLP in a given group in subexponential time. This result is of a very different flavour to the other reductions in this chapter (which all use an oracle for a group G to solve a computational problem in the same group G) so we do not discuss it further.

11 21.4. THE DEN BOER AND MAURER REDUCTIONS The Maurer Reduction The den Boer reduction can be seen as solving the DLP in the algebraic group G m (F r ), performing all computations using implicit representation. Maurer s idea was to replace G m (F r ) by any algebraic group G(F r ), in particular the group of points on an elliptic curve E(F r ). As with Lenstra s elliptic curve factoring method, even when r 1 is not smooth then there might be an elliptic curve E such that E(F r ) is smooth. When one uses a general algebraic group G there are two significant issues that did not arise in the den Boer reduction. The computation of the group operation in G may require inversions. This is true for elliptic curve arithmetic using affine coordinates. Given h = g a one must be able to compute an element P G(F r ), in implicit representation, such that once P has been determined in explicit representation one can compute a. For an elliptic curve E one could hope that P = (a,b) E(F r ) for some b F r. Before giving the main result we address the second of these issues. In other words, we show how to embed a DLP instance into an elliptic curve point. Lemma Let g have prime order r and let h = g a. Let E : y 2 = x 3 +Ax+B be an affine elliptic curve over F r. Given a perfect Fixed-CDH oracle there is an algorithm that outputs an implicit representation (g X,g Y ) of a point (X,Y) E(F r ) and some extra data, and makes an expected O(log(r)) oracle queries and performs an expected O(log(r)) group operations in g. Furthermore, given the explicit value of X and the extra data one can compute a. Proof: The idea is to choose uniformly at random 0 α < r and set X = a + α. An implicit representation of X can be computed as h 1 = hg α using O(log(r)) group operations. If we store α then, given X, we can compute a. Hence, the extra data is α. Given the implicit representation for X one determines an implicit representation for β = X 3 +AX+B usingtwooraclequeries. Given g β onecancompute (here ( β r ) { 1,1} is the Legendre symbol) h 2 = g (β r ) = g β(r 1)/2 (21.8) using O(log(r)) oracle queries. If h 2 = g then β is a square and so X is an x-coordinate of a point of E(F r ). Since there are at least (r 2 r)/2 possible x-coordinates of points in E(F r ) it follows that if one chooses X uniformly at random in F r then the expected number of trials until X is the x-coordinate of a point in E(F r ) is approximately two. Once β is a square modulo r then one can compute an implicit representation for Y = β (mod r) using the Tonelli-Shanks algorithm with implicit representations. We use the notation of Algorithm 3. The computation of the non-residue n is expected to require O(log(r)) operationsinf r andcanbedoneexplicitly. Thecomputationofthetermswand b requires O(log(r)) oracle queries, some of which can be avoided by storing intermediate values from the computation in equation (21.8). The computation of i using a Pohlig- Hellman-style algorithm is done as follows. First compute the sequence b,b 2,...,b 2e 1 using O(log(r)) oracle queries and the sequence y,y 2,...,y 2e 1 using O(log(r)) group operations. With a further O(log(r)) group operations one can determine the bits of i. Theorem Let B N. Let g G have order r. Let E be an elliptic curve over F r such that E(F r ) is a cyclic group. Suppose that the order of E(F r ) is known and is

12 458 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM B-smooth. Given a perfect Fixed-CDH oracle with respect to g one can solve the DLP in g using an expected O(log(r) 2 log(log(r))) oracle queries. 5 Indeed, there are two variants of the reduction, one using exhaustive search and one using the baby-step-giant-step algorithm. One can also consider the case of a perfect CDH oracle. The following table gives the full expected complexities (where the constant implicit in the O( ) is independent of B). We use the abbreviation l(x) = log(x), so that l(l(r)) = log(log(r)). Oracle Reduction Oracle queries Group operations F r operations Fixed-CDH PH only O(l(r) 2 l(l(r))) O(Bl(r) 2 /l(b)) O(Bl(r) 2 /l(b)) Fixed-CDH PH+BSGS O( Bl(r) 2 /l(b)+l(r) 2 l(l(r))) O( Bl(r) 2 /l(b)) O( Bl(r) 2 /l(b)) CDH PH only O(l(r)l(l(r))) O(Bl(r) 2 /l(b)) O(Bl(r) 2 /l(b)) CDH PH+BSGS O( Bl(r)/l(B)+l(r)l(l(r))) O( Bl(r) 2 /l(b)) O( Bl(r) 2 /l(b)) Proof: Letthediscretelogarithminstancebe(g,h = g a ). WriteN = #E(F r ) = k i=1 lei i. We assume that affine coordinates are used for arithmetic in E(F r ). Let P be a generator of E(F r ). The reduction is conceptually the same as the den Boer reduction. One difference is that elliptic curve arithmetic requires inversions (which are performed using the method of Lemma and Lemma ), hence the number of Fixed-CDH oracle queries must increase. A sketch of the reduction in the case of exhaustive search is given in Algorithm 27. The first step is to use Lemma to associate with h the implicit representations of a point Q E(F r ). This requires an expected O(log(r)) oracle queries and O(log(r)) group operations for all four variants. Then Q P where P is the generator of the cyclic group E(F r ). The idea is again to use Pohlig-Hellman (PH) and baby-step-giant-step (BSGS) to solve the discrete logarithm of Q with respect to P in E(F r ). If we can compute an integer u such that Q = [u]p (with computations done in implicit representation) then computing [u]p and using Lemma gives the value a explicitly. First we consider the PH algorithm. As with the den Boer reduction, one needs to compute explicit representations (i.e., standard affine coordinates) for [N/l ei i ]P and implicit representations for [N/l ei i ]Q. It is possible that [N/lei i ]Q = O E so this case must be handled. As in Section , computing these points requires O(log(r) log log(r)) elliptic curve operations. Hence, for the multiples of P we need O(log(r) log log(r)) operations in F r whileforthe multiplesofqweneedo(log(r) 2 loglog(r)) Fixed-CDHoraclequeriesand O(log(r) log log(r)) group operations. (If a CDH oracle is available then this stage only requires O(log(r) log log(r)) oracle queries, as an inversion in implicit representation can be done with a single CDH oracle query.) Computing the points [N/l f i ]P for 1 f < e i and all i requires at most a further 2 k i=1 e ilog 2 (l i ) = 2log 2 (N) = O(log(r)) group operations. Similarly, computing the implicit representations of the remaining [N/l f i ]Q requires O(log(r) 2 ) Fixed-CDH oracle queries and O(log(r)) group operations. The computation of u i P 0 in line 8 of Algorithm 27 requires O(log(r)) operations in F r followed by O(1) operations in G and oracle queries. The exhaustive search algorithm for the solution to the DLP in a subgroup of prime order l i is given in lines 9 to 16 of Algorithm 27. The point P 0 in line 8 has already been computed, and computing Q 0 requries only one elliptic curve addition (i.e., O(log(r)) Fixed-CDH oracle queries). The while loop in line 12 runs for B iterations, each iteration involves a constant number of field operations to compute T + P 0 followed by 5 This is improved to O(log(r)loglog(r)) in Remark

13 21.4. THE DEN BOER AND MAURER REDUCTIONS 459 two exponentiations in the group to compute g xt and g yt (an obvious improvement is to use g xt only). The complexity of lines 9 to 16 is therefore O(Blog(r)) group operations, and O(B) field operations. If one uses BSGS the results are similar. Suppose Q and P are points of order l, where P is known explicitly while we only have an implicit representation (g xq,g yq ) for Q. Let m = l and P 1 = [m]p so that Q = [u 0 ]P + [u 1 ]P 1 for 0 u 0,u 1 < m. One computes a list of baby steps [u 0 ]P in implicit representation using O( B) field operations and O( Blog(r)) group operations as above. For the giant steps Q [u 1 ]P 1 one is required to perform elliptic curve arithmetic with the implicit point Q and the explicit point [u 1 ]P 1, which requires an inversion of an implicit element. Hence the giant steps require O( B) field operations, O( Blog(r)) group operations and O( Blog(r)) Fixed-CDH oracle queries. Since k i=1 e i log 2 (N) the exhaustive search or BSGS subroutine is performed O(log(r)) times. A more careful analysis using Exercise means the complexity is multiplied by log(r)/ log(b). The Chinese remainder theorem and later stages are negligible. The result follows. Algorithm 27 Maurer reduction Input: g,h = g a, E(F r ) Output: a 1: Associate to h an implicit representation for a point Q = (X,Y) E(F r ) using Lemma : Compute a point P E(F r ) that generates E(F r ). Let N = #E(F r ) = k i=1 lei i 3: Compute explicit representations of {[N/l j i ]P : 1 i k,1 j e i} 4: Compute implicit representations of {[N/l j i ]Q : 1 i k,1 j e i} 5: for i = 1 to k do 6: u i = 0 7: for j = 1 to e i do Reducing DLP of order l ei i to cyclic groups 8: Let P 0 = [N/l j i ]P and Q 0 = [N/l j i ]Q u ip 0 9: if Q 0 O E then 10: Let (h 0,x,h 0,y ) be the implicit representation of Q 0 11: P 0 = [N/l i ]P 0, n = 1, T = P 0 = (x T,y T ) 12: while h 0,x g xt or h 0,y g yt do Exhaustive search 13: n = n+1, T = T +P 0 14: end while 15: u i = u i +nl j 1 16: end if 17: end for 18: end for 19: Use Chinese remainder theorem to compute u u i (mod l ei i ) for 1 i k 20: Compute (X,Y) = [u]p and hence compute a 21: return a Remark We have seen that reductions involving a Fixed-CDH oracle are less efficient(i.e., requiremoreoraclequeries)thanreductionsusingacdhoracle. Asolution 6 to this is to work with projective coordinates for elliptic curves. Line 12 of Algorithm 27 tests whether the point Q 0 given in implicit representation is equal to the point (x T,y T ) given in affine representation. When Q 0 = (x 0 : y 0 : z 0 ) then the test h 0,x = g xt in line 6 This idea is briefly mentioned in Section 3 of [401], but was explored in detail by Bentahar [42].

14 460 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM 12 is replaced with the comparison g x0 = (g z0 ) xt. Hence the number of oracle queries in the first line of the table in Theorem can be reduced to O(log(r) log log(r)). As mentioned in Remark , one cannot use the BSGS algorithm with projective coordinates, as the non-uniqueness of the representation means one can t efficiently detect a match between two lists. Exercise Generalise the Maurer algorithm to the case where the group of points on the elliptic curve is not necessarily cyclic. Determine the complexity if l 1 is the largest prime for which E(F r )[l 1 ] is not cyclic and l 2 is the largest prime dividing #E(F r ) for which E(F r )[l 2 ] is cyclic. Exercise If r+1 is smooth then one can use the algebraic group G 2,r = T2 (F r ) (see Section 6.3) instead of G m (F r ) or E(F r ). There are two approaches: the first is to use the usual representation {a+bθ F r 2 : N Fr 2/F r (a+bθ) = 1} for G 2,r and the second is to use the representation A 1 (F r ) for T 2 (F r ) {1} corresponding to the map decomp 2 from Definition Determine the number of (perfect) oracle queries in the reductions from Fixed-CDH to DLP for these two representations. Which is better? Repeat the exercise when one has a CDH oracle. Corollary Let c R >1. Let (G n,g n,r n ) be a family of groups for n N where g n G n has order r n and r n is an n-bit prime. Suppose we are given auxiliary elliptic curves (E n,n n ) for the family, where E n is an elliptic curve over F rn such that #E n (F rn ) = N n and N n is O(log(r n ) c )-smooth. Then the DLP in g n is equivalent to the Fixed-CDH problem in g n. Exercise Prove Corollary We now state the conjecture of Maurer and Wolf that all Hasse intervals contain a polynomially smooth integer. Define ν(r) to be the minimum, over all integers n [r +1 2 r,r+1+2 r], of the largest prime divisor of n. Conjecture 1 of [406] states that ν(r) = log(r) O(1). (21.9) See Remark for discussion of this. Muzereau, Smart and Vercauteren [447] note that if r is a pseudo-mersenne prime (as is often used in elliptic curve cryptography) then the Hasse interval usually contains a power of 2. Similarly, as noted by Maurer and Wolf in [404], one can first choose a random smooth integer n and then search for a prime r close to n and work with a group G of order r. Exercise Show how to use the algorithm of Section to construct a smooth integer in the Hasse interval. Construct a smooth integer (not equal to ) close to p = using this method. Remark There are two possible interpretations of Corollary The first interpretation is: if there exists an efficient algorithm for CDH or Fixed-CDH in a group G = g of prime order r and if there exists an auxiliary elliptic curve over F r with sufficiently smooth order then there exists an efficient algorithm to solve the DLP in G. Maurer and Wolf [407] (also see Section 3.5 of [408]) claim this gives a non-uniform

15 21.4. THE DEN BOER AND MAURER REDUCTIONS 461 reduction from DLP to CDH, however the validity of this claim depends on the DLP instance generator. 7 In other words, if one believes that there does not exist a non-uniform polynomial-time algorithm for DLP in G (for certain instance generators) and if one believes the conjecture that the Hasse interval around r contains a polynomially smooth integer, then one must believe there is no polynomial-time algorithm for CDH or Fixed-CDH in G. Hence, one can use the results to justify the assumption that CDH is hard. We stress that this is purely a statement of existence of algorithms; it is independent of the issue of whether or not it is feasible to write the algorithms down. A second interpretation is that CDH might be easy and that this reduction yields the best algorithm for solving the DLP. If this were the case (or if one wants a uniform reduction) then, in order to solve a DLP instance, the issue of how to implement the DLP algorithm becomes important. The problem is that there is no known polynomial-time algorithm to construct auxiliary elliptic curves E(F r ) of smooth order. An algorithm to construct smooth curves (based on the CM method) is given in Section 4 of [404] but it has exponential complexity. Hence, if one can write down an efficient algorithm for CDH then the above ideas alone do not allow one to write down an efficient algorithm for DLP. Boneh and Lipton[83] handle the issue of auxiliary elliptic curves by giving a subexponentialtime reduction between Fixed-CDH and DLP. They make the natural assumption (essentially Conjecture ; as used to show that the elliptic curve factoring method is subexponential-time) that, for sufficiently large primes, the probability that a randomly chosen integer in the Hasse interval [r r,r r] is L r (1/2,c)-smooth is 1/L r (1/2,c ) for some constants c,c > 0 (see Section 15.3 for further discussion of these issues). By randomly choosing L r (1/2,c ) elliptic curves over F r one therefore expects to find one that has L r (1/2,c)-smooth order. One can then perform Algorithm 27 to solve an instance of the DLP in subexponential-time and using polynomially many oracle queries. We refer to [83] for the details. Maurer and Wolf extend the Boneh-Lipton idea to genus 2 curves and use results of Lenstra, Pila and Pomerance (Theorem 1.3 of [379]) to obtain a reduction with proven complexityl r (2/3,c)for someconstantc(see Section 3.6of[408]). This isthe only reduction from DLP to CDH that does not rely on any conjectures or heuristics. Unfortunately it is currently impractical to construct suitable genus 2 curves in practice (despite being theoretically polynomial-time). Muzereau, Smart and Vercauteren [447] go even further than Boneh and Lipton. They allow an exponential-time reduction, with the aim of minimising the number of CDH or Fixed-CDH oracle queries. The motivation for this approach is to give tight reductions between CDH and DLP (i.e., to give a lower bound on the running time for an algorithm for CDH in terms of conjectured lower bounds for the running time of an algorithm for DLP). Their results were improved by Bentahar [42, 43]. It turns out to be desirable to have an auxiliary elliptic curve such that #E(F r ) is a product of three coprime integers of roughly equal size r 1/3. The reduction then requires O(log(r)) oracle queries but O(r 1/3 log(r)) field operations. Islam [305] has proved that such an elliptic curve exists 7 An instance generator for the DLP (see Example 2.1.9) outputs a quadruple (G,r,g,h) where G is a description of a group, g G has order r, h g and r is prime. The size of the instance depends on the representation of G and g, but is at least 2log 2 (r) bits since one must represent r and h. If one considers the DLP with respect to an instance generator for which r is constant over all instances of a given size n, then a single auxiliary curve is needed for all DLP instances of size n and so Corollary gives a non-uniform reduction. On the other hand, if there are superpolynomially many r among the outputs of size n of the instance generator (this would be conjecturally true for the instance generator of Example 2.1.9) then the amount of auxiliary data is not polynomially bounded and hence the reduction is not non-uniform.

16 462 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM for each prime r. One can construct auxiliary curves by choosing random curves, counting points and factoring; one expects only polynomially many trials, but the factoring computation is subexponential. We refer to [447, 42, 43] for further details. Exercise Write down the algorithm for the Muzereau-Smart-Vercauteren reduction using projective coordinates. Prove that the algorithm has the claimed complexity. Exercise Show how to generate in heuristic expected polynomial-time primes r,p 2 (mod 3) such that r (p+1), r+1 is κ-smooth, and 2 κ 1 r < p 2 κ+3. Hence, by Exercise , taking E : y 2 = x 3 +1 then E(F p ) is a group of order divisible by r and E(F r ) has κ-smooth order and is a suitable auxiliary elliptic curve for the Maurer reduction. Finally, we remark that the den Boer and Maurer reductions cannot be applied to relate CDH and DLP in groups of unknown order. For example, let N be composite and g (Z/NZ) of unknown order M. Given a perfect Fixed-CDH oracle with respect to g one can still compute with the algebraic group G m (Z/MZ) in implicit representation (or projective equations for E(Z/MZ)), but if M is not known then the order of G = G m (Z/MZ) (respectively, G = E(Z/MZ)) is also not known and so one cannot perform the Pohlig-Hellman algorithm in G. Later we will mention how a CDH oracle in (Z/NZ) can be used to factorn (see Exercise )and hence avoidthis problem in that group Algorithms for Static Diffie-Hellman Brown and Gallant[111] studied the relationship between Static-DH and DLP. Their main result is an algorithm to solve an instance of the DLP using a perfect Static-DH oracle. Cheon [130] independently discovered this algorithm in a different context, showing that a variant of the DLP (namely, the problem of computing a given g,g a and g ad ; we call this Cheon s variant of the DLP) can be significantly easier than the DLP. We now present the algorithm of Brown-Gallant and Cheon, and discuss some of its applications. Theorem Let g have prime order r and let d (r 1). Given h 1 = g a and h d = g ad then one can compute a in O(( (r 1)/d + d)log(r)) group operations, O( (r 1)/d+ d) group elements of storage and O( (r 1)/d+ d) multiplications in F r. 8 Proof: First, the case a 0 (mod r) is easy, so we assume a 0 (mod r). The idea is essentially the same as the den Boer reduction. Let γ be a primitive root modulo r. Then a = γ u (mod r) for some 0 u < r 1 and it suffices to compute u. The den Boer reduction works by projecting the unknown a into prime order subgroups of F r using a Diffie-Hellman oracle. In our setting, we already have an implicit representation of the projection a d into the subgroup of F r of order (r 1)/d. The first step is to solve h d = g ad = g γdu for some 0 u (r 1)/d. Let m = (r 1)/d and write u = u 0 +mu 1 with 0 u 0,u 1 < m. This is exactly the setting of equations (21.6) and (21.7) and hence one can compute (u 0,u 1 ) using a baby-stepgiant-step algorithm. This requires m multiplications in F r and 2m exponentiations in the group. Thus the total complexity is O( (r 1)/dlog(r)) group operations and O( (r 1)/d) field operations. 8 As usual, we are being careless with the O( )-notation. What we mean is that there is a constant c independent ofr,d,g andasuchthatthe algorithmrequires c( (r 1)/d+ d)log(r)groupoperations.

17 21.5. ALGORITHMS FOR STATIC DIFFIE-HELLMAN 463 We now have a d = γ du and so a = γ u+v(r 1)/d for some 0 v < d. It remains to compute v. Let h = h γ u 1 = g aγ u = g γv(r 1)/d. Set m = d and write v = v 0 + mv 1 where 0 v 0,v 1 < m. Using the same ideas as above (since γ is known explicitly the powers are computed efficiently) one can compute (v 0,v 1 ) using a baby-step-giant-step algorithm in O( dlog(r)) group operations. Finally, we compute a = γ u+v(r 1)/d (mod r). Kozaki, Kutsuma and Matsuo [352] show how to reduce the complexity in the above result to O( (r 1)/d + d) group operations by using precomputation to speed up the exponentiations to constant time. Note that this trick requires exponential storage and is not applicable when low-storage discrete logarithm algorithms are used (as in Exercise ). The first observation is that if r 1 has a suitable factorisation then Cheon s variant of the DLP can be much easier than the DLP. Corollary Let g have prime order r and suppose r 1 has a factor d such that d r 1/2. Given h 1 = g a and h d = g ad then one can compute a in O(r 1/4 log(r)) group operations. Corollary Let g have prime order r and suppose r 1 = n i=1 d i where the d i are coprime. Given h 1 = g a and h di = g ad i for 1 i n then one can compute a in O(( n i=1 di )log(r)) group operations. Exercise Prove Corollaries and As noted in [111] and [130] one can replace the baby-step-giant-step algorithms by Pollard methods. Brown and Gallant 9 suggest a variant of the Pollard rho method, but with several non-standard features: one needs to find the precise location of the collision (i.e., steps x i x j in the walk such that x i+1 = x j+1 ) and there is only a (heuristic) 0.5 probability that a collision leads to a solution of the DLP. Cheon [130] suggests using the Kangaroo method, which is a more natural choice for this application. Exercise Design a pseudorandom walk for the Pollard kangaroo method to solve the DLP in implicit representation arising in the proof of Theorem Brown and Gallant use Theorem to obtain the following result. Theorem Let g have prime order r and let d (r 1). Let h = g a and suppose A is a perfect oracle for the static Diffie-Hellman problem with respect to (g,h) (i.e., A(h 1 ) = h a 1 ). Then one can compute a using d oracle queries, O(( (r 1)/d+ d)log(r)) group operations and O(( (r 1)/d+ d)log(r)) multiplications in F r. Proof: Write h 1 = h = g a and compute the sequence h i+1 = O(h i ) = g ai until g ad is computed. Then apply Theorem Note that the reduction uses a Static-DH oracle with respect to g a to compute a. The reduction does not solve a general instance of the DLP using a specific Static-DH oracle, hence it is not areduction from DLP to Static-DH. Also recallthat Exercise20.4.6showed how one can potentially compute a efficiently given access to a Static-DH oracle (with respect to a) that does not check that the inputs are group elements of the correct order. Hence, the Brown-Gallant result is primarily interesting in the case where the Static-DH oracle does perform these checks. 9 See Appendix B.2 of the first version of [111]. This does not appear in the June 2005 version.

18 464 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM Corollary Let g have prime order r and suppose r 1 has a factor d such that d r 1/3. Given h = g a and a perfect Static-DH oracle with respect to (g,h) then one can compute a in O(r 1/3 ) oracle queries and O(r 1/3 log(r)) group operations. Exercise Prove Corollary Brown and Gallant use Theorem to give a lower bound on the difficulty of Static-DH under the assumption that the DLP is hard. Exercise Let g have order r. Assume that the best algorithm to compute a, given h = g a, requires r group operations. Suppose that r 1 has a factor d = c 1 log(r) 2 for some constant c 1. Prove that the best algorithm to solve Static-DH with respect to (g,h) requires at least c 2 r/log(r) 2 group operations for some constant c 2. All the above results are predicated on the existence of a suitable factor d of r 1. Of course, r 1 may not have a factor of the correct size; for example if r 1 = 2l where l is prime then we have shown that given (g,g a,g a2 ) one can compute a in O( r/2log(r)) group operations, which is no better than general methods for the DLP. To increase the applicability of these ideas, Cheon also gives a method for when there is a suitable factor d of r+1. The method in this case is not as efficient as the r 1 case, and requires more auxiliary data. Theorem Let g have prime order r and let d (r + 1). Given h i = g ai for 1 i 2d then one can compute a in O(( (r+1)/d + d)log(r)) group operations, O( (r +1)/d+ d) group elements storage and O(( (r+1)/d+ d)log(r)) multiplications in F r. Proof: As in Exercise the idea is to work in the algebraic group G 2,r, which has order r +1. Write F r 2 = F r (θ) where θ 2 = t F r. By Lemma each element α G 2,r {1} F r 2 is of the form α 0 +α 1 θ where α 0 = a2 t a 2 +t, α 1 = 2a a 2 +t for some a F r. For each d N there exist polynomials f d,0 (x),f d,1 (x) F r [x] of degree 2d such that, for α as above, one has α d = f d,0(a)+θf d,1 (a) (a 2 +t) d. The idea is to encode the DLP instance g a into the element β G 2,r as β = a2 t 2a a 2 +θ +t a 2 +t. We do not know β, but we can compute (a 2 t),(a 2 +t) and 2a in implicit representation. Let γ be a generator for G 2,r, known explicitly. Then β = γ u for some 0 u < r+1. It suffices to compute u. The first step is to project into the subgroup of order (r+1)/d. We have β d = γ du for some 0 u < (r+1)/d. Let m = (r+1)/d so that u = u 0 +mu 1 for 0 u 0,u 1 < m. Write γ i = γ i,0 +θγ i,1. Thenβ d γ u0 = γ du1 andso(f d,0 (a)+θf d,1 (a))(γ u0,0+θγ u0,1) = (a 2 +t) d (γ du1,0 +θγ du1,1). Hence (g f d,0(a) ) γ u0,0 ( g f d,1(a) ) γ u0,1 = (g (a2 +t) d) γ du1,0

19 21.6. HARD BITS OF DISCRETE LOGARITHMS 465 and similarly for the implicit representation of the coefficient of θ. It follows that one can perform the baby-step-giant-step algorithm in this setting to compute (u 0,u 1 ) and hence u (mod (r +1)/d). Note that computing g f d,0(a),g f d,1(a) and g (a2 +t) d requires 6d exponentiations. The stated complexity follows. For the second stage, we have β = γ u+v(r+1)/d where 0 v < d. Giving a babystep-giant-step algorithm here is straightforward and we leave the details as an exercise. One derives the following result. Note that it is not usually practical to consider a computationalproblemwhoseinput is ao(r 1/3 )-tuple ofgroupelements, hence this result is mainly of theoretical interest. Corollary Let g have prime order r and suppose r+1 has a factor d such that d r 1/3. Given h i = g ai for 1 i 2d then one can compute a in O(r 1/3 log(r)) group operations. Corollary Let g have prime order r and suppose r+1 has a factor d such that d r 1/3. Given h = g a and a perfect Static-DH oracle with respect to (g,h) then one can compute a in O(r 1/3 ) oracle queries and O(r 1/3 log(r)) group operations. Exercise Fill in the missing details in the proof of Theorem and prove Corollaries and Satoh [510] extends Cheon s algorithm to algebraic groups of order ϕ n (r) (essentially, to the groups G n,r ). He also improves Theorem in the case of d (r +1) to only require h i = g ai for 1 i d. A natural problem is to generalise Theorem to other algebraic groups, such as elliptic curves. The obvious approach does not seem to work (see Remark 1 of [130]), so it seems a new idea is needed to achieve this. Finally, Section 5.2 of [131] shows that, at least asymptotically, most primes r are such that r 1 or r+1 has a useful divisor. Both [111] and [130] remark that a decryption oracle for classic textbook Elgamal leads to an Static-DH oracle: Given an Elgamal public key (g,g a ) and any h 1 g one can ask for the decryption of the ciphertext (c 1,c 2 ) = (h 1,1) (one can also make this less obvious using random self-reducibility of Elgamal ciphertexts) to get c 2 c a 1 = h a 1. From this one computes h a 1. By performing this repeatedly one can compute a sequence h i = g ai as required. The papers [111, 130] contain further examples of cryptosystems that provide Static-DH oracles, or computational assumptions that contain values of the form h i = g ai Hard Bits of Discrete Logarithms Saying that a computational problem is hard is the same as saying that it is hard to write down a binary representation of the answer. Some bits of a representation of the answer may be easy to compute (at least, up to a small probability of error) but if a computational problem is hard then there must be at least one bit of any representation of the answer that is hard to compute. In some cryptographic applications (such as key derivation or designing secure pseudorandom generators) it is important to be able to locate some of these hard bits. Hence, the main challenge is to prove that a specific bit is hard. A potentially easier problem is to determine a small set of bits, at least one of which is hard. A harder problem is to prove that some set of bits are all simultaneously hard (for this concept see Definition ).

20 466 CHAPTER 21. THE DIFFIE-HELLMAN PROBLEM The aim of this section is to give a rigorous definition for the concept of hard bits and to give some easy examples (hard bits of the solution to the DLP). In Section 21.7 we will consider related problems for the CDH problem. We first show that certain individual bits of the DLP, for any group, are as hard to compute as the whole solution. Definition Let g G have prime order r. The computational problem DL-LSB is: given (g,g a ) where 0 a < r to compute the least significant bit of a. Exercise Show that DL-LSB R DLP. Theorem Let G be a group of prime order r. Then DLP R DL-LSB. Proof: Let A be a perfect oracle that, on input (g,g a ) outputs the least significant bit of 0 a < r. In other words, if the binary expansion of a is m i=0 a i2 i then A outputs a 0. We will use A to compute a. The first step is to call A(g,h) to get a 0. Once this has been obtained we set h = hg a0. Then h = g 2a1+4a2+. Let u = 2 1 = (r+1)/2 (mod r) and define h 1 = (h ) u. Then h 1 = g a1+2a2+ so calling A(g,h 1 ) gives a 1. For i = 2,3,... compute h i = (h i 1 g ai 1 ) u and a i = A(g,h i ), which computes the binary expansion of a. This reduction runs in polynomial-time and requires polynomially many calls to the oracle A. Exercise Give an alternative proof of Theorem based on bounding the unknown a in the range (l 1)r/2 j a < lr/2 j. Initially one sets l = 1 and j = 0. At step j, if one has (l 1)r/2 j a < lr/2 j and if a is even then (l 1)r/2 j+1 a/2 < lr/2 j+1 and if a is odd then (2 j +l 1)r/2 j+1 (a+r)/2 < (2 j +l)r/2 j+1. Show that when j = log 2 (r) one can compute 2 j a (mod r) exactly and hence deduce a. Exercise Since one can correctly guess the least significant bit of the DLP with probability 1/2, why does Theorem not prove that DLP is easy? One should also consider the case of a DL-LSB oracle that only works with some noticeable probability ǫ. It is then necessary to randomise the calls to the oracle, but the problem is to determine the LSB of a given the LSBs of some algebraically related values. The trick is to guess some u = O(log(1/ǫ)) = O(log(log(r))) most significant bits of a and set them to zero (i.e., replace h by h = g a where the u most significant bits of a are zero). One can then call the oracle on h g y for random 0 y r r/2 u and take a majority vote to get the result. For details of the argument see Blum and Micali [73]. We conclude that computing the LSB of the DLP is as hard as computing the whole DLP. Such bits are called hardcore bits since if DLP is hard then computing the LSB of the DLP is hard. Definition Let f : {0,1} {0,1} be a function computable in polynomialtime (i.e., there is some polynomial p(n) such that for x {0,1} n one can compute f(x) in at most p(n) bit operations). A function b : {0,1} {0,1} is a hardcore bit or hardcore predicate for f if, for all probabilistic polynomial-time algorithms A, the advantage ( ) Adv x {0,1} n A(f(x)) = b(x) is negligible as a function of n.

### CHAPTER 3 THE NEW MMP CRYPTO SYSTEM. mathematical problems Hidden Root Problem, Discrete Logarithm Problem and

79 CHAPTER 3 THE NEW MMP CRYPTO SYSTEM In this chapter an overview of the new Mixed Mode Paired cipher text Cryptographic System (MMPCS) is given, its three hard mathematical problems are explained, and

### 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

### 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.

### 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. 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,

### 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

### 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

### Lecture 9 - Message Authentication Codes

Lecture 9 - Message Authentication Codes Boaz Barak March 1, 2010 Reading: Boneh-Shoup chapter 6, Sections 9.1 9.3. Data integrity Until now we ve only been interested in protecting secrecy of data. However,

### 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

### 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 seib0060@morris.umn.edu March 16, 2011 Abstract We give

### 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

### 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

### 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

### MA2C03 Mathematics School of Mathematics, Trinity College Hilary Term 2016 Lecture 59 (April 1, 2016) David R. Wilkins

MA2C03 Mathematics School of Mathematics, Trinity College Hilary Term 2016 Lecture 59 (April 1, 2016) David R. Wilkins The RSA encryption scheme works as follows. In order to establish the necessary public

### 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

### 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.

Advanced Maths Lecture 3 Next generation cryptography and the discrete logarithm problem for elliptic curves Richard A. Hayden rh@doc.ic.ac.uk EC crypto p. 1 Public key cryptography Asymmetric cryptography

### Chapter 9. Computational Number Theory. 9.1 The basic groups Integers mod N Groups

Chapter 9 Computational Number Theory 9.1 The basic groups We let Z = {..., 2, 1,0,1,2,...} denote the set of integers. We let Z + = {1,2,...} denote the set of positive integers and N = {0,1,2,...} the

### 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

### ELEMENTARY THOUGHTS ON DISCRETE LOGARITHMS. Carl Pomerance

ELEMENTARY THOUGHTS ON DISCRETE LOGARITHMS Carl Pomerance Given a cyclic group G with generator g, and given an element t in G, the discrete logarithm problem is that of computing an integer l with g l

### 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.

### Generic attacks and index calculus. D. J. Bernstein University of Illinois at Chicago

Generic attacks and index calculus D. J. Bernstein University of Illinois at Chicago The discrete-logarithm problem Define Ô = 1000003. Easy to prove: Ô is prime. Can we find an integer Ò ¾ 1 2 3 Ô 1 such

### (x + a) n = x n + a Z n [x]. Proof. If n is prime then the map

22. A quick primality test Prime numbers are one of the most basic objects in mathematics and one of the most basic questions is to decide which numbers are prime (a clearly related problem is to find

### 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,

### ORDERS OF ELEMENTS IN A GROUP

ORDERS OF ELEMENTS IN A GROUP KEITH CONRAD 1. Introduction Let G be a group and g G. We say g has finite order if g n = e for some positive integer n. For example, 1 and i have finite order in C, since

### Universal Hash Proofs and a Paradigm for Adaptive Chosen Ciphertext Secure Public-Key Encryption

Universal Hash Proofs and a Paradigm for Adaptive Chosen Ciphertext Secure Public-Key Encryption Ronald Cramer Victor Shoup December 12, 2001 Abstract We present several new and fairly practical public-key

### 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.

### 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

### Further linear algebra. Chapter I. Integers.

Further linear algebra. Chapter I. Integers. Andrei Yafaev Number theory is the theory of Z = {0, ±1, ±2,...}. 1 Euclid s algorithm, Bézout s identity and the greatest common divisor. We say that a Z divides

### 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.

### On Factoring Integers and Evaluating Discrete Logarithms

On Factoring Integers and Evaluating Discrete Logarithms A thesis presented by JOHN AARON GREGG to the departments of Mathematics and Computer Science in partial fulfillment of the honors requirements

### Ch.9 Cryptography. The Graduate Center, CUNY.! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis

Ch.9 Cryptography The Graduate Center, CUNY! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis Why is Modern Cryptography part of a Complexity course? Short answer:! Because Modern Cryptography

### 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

### 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

### 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

### Homework 5 Solutions

Homework 5 Solutions 4.2: 2: a. 321 = 256 + 64 + 1 = (01000001) 2 b. 1023 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = (1111111111) 2. Note that this is 1 less than the next power of 2, 1024, which

### 1 Formulating The Low Degree Testing Problem

6.895 PCP and Hardness of Approximation MIT, Fall 2010 Lecture 5: Linearity Testing Lecturer: Dana Moshkovitz Scribe: Gregory Minton and Dana Moshkovitz In the last lecture, we proved a weak PCP Theorem,

### 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

### 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,

### 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

### Faster Cryptographic Key Exchange on Hyperelliptic Curves

Faster Cryptographic Key Exchange on Hyperelliptic Curves No Author Given No Institute Given Abstract. We present a key exchange procedure based on divisor arithmetic for the real model of a hyperelliptic

### Public-Key Cryptography. Oregon State University

Public-Key Cryptography Çetin Kaya Koç Oregon State University 1 Sender M Receiver Adversary Objective: Secure communication over an insecure channel 2 Solution: Secret-key cryptography Exchange the key

### 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.

### 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

### 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

### Problem Set 7 - Fall 2008 Due Tuesday, Oct. 28 at 1:00

18.781 Problem Set 7 - Fall 2008 Due Tuesday, Oct. 28 at 1:00 Throughout this assignment, f(x) always denotes a polynomial with integer coefficients. 1. (a) Show that e 32 (3) = 8, and write down a list

### 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

### 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

### 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

### Cryptography and Network Security Chapter 10

Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 10 Other Public Key Cryptosystems Amongst the tribes of Central

### Characterizing the Sum of Two Cubes

1 3 47 6 3 11 Journal of Integer Sequences, Vol. 6 (003), Article 03.4.6 Characterizing the Sum of Two Cubes Kevin A. Broughan University of Waikato Hamilton 001 New Zealand kab@waikato.ac.nz Abstract

### 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

### 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

### I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

### 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

### Prime Numbers. Chapter Primes and Composites

Chapter 2 Prime Numbers The term factoring or factorization refers to the process of expressing an integer as the product of two or more integers in a nontrivial way, e.g., 42 = 6 7. Prime numbers are

### 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

### Elements of Applied Cryptography Public key encryption

Network Security Elements of Applied Cryptography Public key encryption Public key cryptosystem RSA and the factorization problem RSA in practice Other asymmetric ciphers Asymmetric Encryption Scheme Let

### 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

### 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.

### 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

### 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

### 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

### 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

### ELLIPTIC CURVES AND LENSTRA S FACTORIZATION ALGORITHM

ELLIPTIC CURVES AND LENSTRA S FACTORIZATION ALGORITHM DANIEL PARKER Abstract. This paper provides a foundation for understanding Lenstra s Elliptic Curve Algorithm for factoring large numbers. We give

### An Efficient and Secure Key Management Scheme for Hierarchical Access Control Based on ECC

An Efficient and Secure Key Management Scheme for Hierarchical Access Control Based on ECC Laxminath Tripathy 1 Nayan Ranjan Paul 2 1Department of Information technology, Eastern Academy of Science and

### Is this number prime? Berkeley Math Circle Kiran Kedlaya

Is this number prime? Berkeley Math Circle 2002 2003 Kiran Kedlaya Given a positive integer, how do you check whether it is prime (has itself and 1 as its only two positive divisors) or composite (not

### 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

### Linear Codes. Chapter 3. 3.1 Basics

Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length

### 8 Divisibility and prime numbers

8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express

MODULAR ARITHMETIC KEITH CONRAD. Introduction We will define the notion of congruent integers (with respect to a modulus) and develop some basic ideas of modular arithmetic. Applications of modular arithmetic

### 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,

### NON SINGULAR MATRICES. DEFINITION. (Non singular matrix) An n n A is called non singular or invertible if there exists an n n matrix B such that

NON SINGULAR MATRICES DEFINITION. (Non singular matrix) An n n A is called non singular or invertible if there exists an n n matrix B such that AB = I n = BA. Any matrix B with the above property is called

### Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)

### In this paper a new signature scheme and a public key cryptotsystem are proposed. They can be seen as a compromise between the RSA and ElGamal-type sc

Digital Signature and Public Key Cryptosystem in a Prime Order Subgroup of Z n Colin Boyd Information Security Research Centre, School of Data Communications Queensland University of Technology, Brisbane

Family Name:... First Name:... Section:... Advanced Cryptography Final Exam July 18 th, 2006 Start at 9:15, End at 12:00 This document consists of 12 pages. Instructions Electronic devices are not allowed.

### Cryptography: RSA and the discrete logarithm problem

Cryptography: and the discrete logarithm problem R. Hayden Advanced Maths Lectures Department of Computing Imperial College London February 2010 Public key cryptography Assymmetric cryptography two keys:

### Introduction. Digital Signature

Introduction Electronic transactions and activities taken place over Internet need to be protected against all kinds of interference, accidental or malicious. The general task of the information technology

### 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(

### Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### The Laws of Cryptography Cryptographers Favorite Algorithms

2 The Laws of Cryptography Cryptographers Favorite Algorithms 2.1 The Extended Euclidean Algorithm. The previous section introduced the field known as the integers mod p, denoted or. Most of the field

### Lecture 5 - CPA security, Pseudorandom functions

Lecture 5 - CPA security, Pseudorandom functions Boaz Barak October 2, 2007 Reading Pages 82 93 and 221 225 of KL (sections 3.5, 3.6.1, 3.6.2 and 6.5). See also Goldreich (Vol I) for proof of PRF construction.

### 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

### 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

### PUBLIC KEY ENCRYPTION

PUBLIC KEY ENCRYPTION http://www.tutorialspoint.com/cryptography/public_key_encryption.htm Copyright tutorialspoint.com Public Key Cryptography Unlike symmetric key cryptography, we do not find historical

### Mathematics of Cryptography

CHAPTER 2 Mathematics of Cryptography Part I: Modular Arithmetic, Congruence, and Matrices Objectives This chapter is intended to prepare the reader for the next few chapters in cryptography. The chapter

### HMMT February Saturday 21 February Combinatorics

HMMT February 015 Saturday 1 February 015 1. Evan s analog clock displays the time 1:13; the number of seconds is not shown. After 10 seconds elapse, it is still 1:13. What is the expected number of seconds

### 1 Message Authentication

Theoretical Foundations of Cryptography Lecture Georgia Tech, Spring 200 Message Authentication Message Authentication Instructor: Chris Peikert Scribe: Daniel Dadush We start with some simple questions

### 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

### Introduction to Security Proof of Cryptosystems

Introduction to Security Proof of Cryptosystems D. J. Guan November 16, 2007 Abstract Provide proof of security is the most important work in the design of cryptosystems. Problem reduction is a tool to

### Elliptic Curve Cryptography

Elliptic Curve Cryptography Elaine Brow, December 2010 Math 189A: Algebraic Geometry 1. Introduction to Public Key Cryptography To understand the motivation for elliptic curve cryptography, we must first

### CONTRIBUTIONS TO ZERO SUM PROBLEMS

CONTRIBUTIONS TO ZERO SUM PROBLEMS S. D. ADHIKARI, Y. G. CHEN, J. B. FRIEDLANDER, S. V. KONYAGIN AND F. PAPPALARDI Abstract. A prototype of zero sum theorems, the well known theorem of Erdős, Ginzburg

### Recent progress in additive prime number theory

Recent progress in additive prime number theory University of California, Los Angeles Mahler Lecture Series Additive prime number theory Additive prime number theory is the study of additive patterns in

### = 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

### 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

### An Introduction to Galois Fields and Reed-Solomon Coding

An Introduction to Galois Fields and Reed-Solomon Coding James Westall James Martin School of Computing Clemson University Clemson, SC 29634-1906 October 4, 2010 1 Fields A field is a set of elements on

### 1.5. Factorisation. Introduction. Prerequisites. Learning Outcomes. Learning Style

Factorisation 1.5 Introduction In Block 4 we showed the way in which brackets were removed from algebraic expressions. Factorisation, which can be considered as the reverse of this process, is dealt with

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,