21.6 Exercises

    1. Let x3+ax2+bx+c be a cubic polynomial with roots r1, r2, r3. Show that r1+r2+r3=a.

    2. Write x=x1a/3. Show that

      x3+ax2+bx+c=x13+bx1+c, 

      with b=b(1/3)a2 and c=c(1/3)ab+(2/27)a3. (Remark: This shows that a simple change of variables allows us to consider the case where the coefficient of x2 is 0.)

  1. Let E be the elliptic curve y2x3x+4(mod5).

    1. List the points on E (don’t forget ).

    2. Evaluate the elliptic curve addition (2, 0)+(4, 3).

    1. List the points on the elliptic curve E:y2x32(mod7).

    2. Find the sum (3, 2)+(5, 5) on E.

    3. Find the sum (3, 2)+(3, 2) on E.

  2. Let E be the elliptic curve y2x3+x+2(mod13).

    1. Evaluate (1, 2)+(2, 5).

    2. Evaluate 2(1, 2).

    3. Evaluate (1, 2)+.

    1. Find the sum of the points (1, 2) and (6,3) on the elliptic curve y2x3+3(mod7).

    2. Eve tries to find the sum of the points (1,2) and (6,3) on the elliptic curve y2x3+3(mod35). What information does she obtain?

  3. Show that if P=(x, 0) is a point on an elliptic curve, then 2P=.

  4. Find an elliptic curve mod 101 such that (43, 21) is a point on the curve.

  5. The point (3, 5) lies on the elliptic curve y2=x32 defined over the rational numbers. use the addition law to find another point with positive rational coordinates that lies on this curve.

    1. Show that Q=(2, 3) on y2=x3+1 satisfies 6Q=. (Hint: Compute 3Q,  then use Exercise 6.)

    2. Your computations in (a) probably have shown that 2Q and 3Q. Use this to show that the points , Q, 2Q, 3Q, 4Q, 5Q are distinct.

    1. Factor n=35 by the elliptic curve method by using the elliptic curve y2x3+26 and calculating 3 times the point P=(10, 9).

    2. Factor n=35 by the elliptic curve method by using the elliptic curve y2x3+5x+8 and the point P=(1, 28).

  6. Suppose you want to factor a composite integer n by using the elliptic curve method. You start with the curve y2=x34x(modn) and the point (2, 0). Why will this not yield the factorization of n?

  7. Devise an analog of the procedure in Exercise 11(a) in Chapter 10 that uses elliptic curves.

  8. Let p=999983. The elliptic curve E:y2x3+1(modp) has 999984 points. Suppose you are given points P and Q on E and are told that there is an integer k such that Q=kP.

    1. Describe a birthday attack that is expected to find k.

    2. Describe how the Baby Step, Giant Step method (see Section 10.2) finds k.

  9. Let P and Q be points on an elliptic curve E. Peggy claims that she knows an integer k such that kP=Q and she wants to convince Victor that she knows k without giving Victor any information about k. They perform a zero-knowledge protocol. The first step is the following:

    1. Peggy chooses a random integer r1 and lets r2=kr1. She computes X1=r1P and X2=r2P and sends them to Victor.

      Give the remaining steps. Victor wants to be at least 99% sure that Peggy knows k. (Technical note: You may regard r1 and r2 as numbers mod n,  where nP=. Without congruences, Victor obtains some information about the size of k.

      Nontechnical note: The “Technical note” may be ignored when solving the problem.)

  10. Find all values of y mod 35 such that (1, y) is a point on the curve y2x3+3x+12(mod35).

  11. Suppose n is a product of two large primes and let E:y2x3+bx+c(modn). Bob wants to find some points on E.

    1. Bob tries choosing a random x,  computing x3+bx+c,  and finding the square root of this number mod n,  when the square root exists. Why will this strategy probably fail if Bob does not know p and q?

    2. Suppose Bob knows p and q. Explain how Bob can use the method of part (a) successfully? (Hint: He needs to use the Chinese Remainder Theorem.)

  12. Show that if P, Q, R are points on an elliptic curve, then

    P+Q+R=P, Q, Rarecollinear.
    1. Eve is trying to find an elliptic curve discrete log: She has points A and B on an elliptic curve E such that B=kA for some k. There are approximately 1020 points on E,  so assume that 1k1020. She makes two lists and looks for a match. The first list is jA for N randomly chosen values of j. The second is BA for N randomly chosen values of . How big should N be so that there is a good chance of a match?

    2. Give a classical (that is, not elliptic curve) version of the procedure in part (a).

  13. Let P be a point on the elliptic curve E mod a prime p.

    1. Show that there are only finitely many points on E,  so P has only finitely many distinct multiples.

    2. Show that there are integers i, j with i>j such that iP=jP. Conclude that (ij)P=.

    3. The smallest positive integer k such that kP= is called the order of P. Let m be an integer such that mP=. Show that k divides m. (Hint: Imitate the proof of Exercise 53(c, d) in Chapter 3.)

    4. (for those who know some group theory) Use Lagrange’s theorem from group theory to show that the number of points on E is a multiple of the order of P. (Combined with Hasse’s theorem, this gives a way of finding the number of points on E. See Computer Problems 1 and 4.)

  14. Let P be a point on the elliptic curve E. Suppose you know a positive integer k such that kP=. You want to prove (or disprove) that k is the order of P.

    1. Show that if (k/p)P= for some prime factor p of k,  then k is not the order of P.

    2. Suppose m|k and 1m<k. Show that m|(k/p) for some prime divisor p of k.

    3. Suppose that (k/p)P for each prime factor of k. Use Exercise 11(c) to show that the order of P is k. (Compare with Exercise 54 in Chapter 3. For an example, see Computer Problem 4.)

    1. Let x=b1b2bw be an integer written in binary. Let P be a point on the elliptic curve E. Perform the following procedure:

      1. Start with k=1 and S1=.

      2. If bk=1,  let Rk=Sk+P. If bk=0,  let Rk=Sk.

      3. Let Sk+1=2Rk.

      4. If k=w,  stop. If k<w,  add 1 to k and go to step 2.

      Show that Rw=xP. (Compare with Exercise 56(a) in Chapter 3.)

    2. Let x be a positive integer and let P be a point on an elliptic curve. Show that the following procedure computes xP.

      1. Start with a=x, B=, C=P.

      2. If a is even, let a=a/2,  and let B=B, C=2C.

      3. If a is odd, let a=a1,  and let B=B+C, C=C.

      4. If a0,  go to step 2.

      5. Output B.

      (Compare with Exercise 56(b) in Chapter 3.)

  15. Let E be an elliptic curve mod n (where n is some integer) and let P and Q be points on E with 2P=Q. The curve E and the point Q are public and are known to everyone. The point P is secret. Peggy wants to convince Victor that she knows P. They do the following procedure:

    1. Peggy chooses a random point R1 on E and lets R2=PR1.

    2. Peggy computes H1=2R1 and H2=2R2 and sends H1, H2 to Victor.

    3. Victor checks that H1+H2=Q.

    4. Victor makes a request and Peggy responds.

    5. Victor now does something else.

    6. They repeat steps 1 through 5 several times.

    1. Describe what is done in steps 4 and 5.

    2. Give a classical (non-elliptic curve) version of this protocol that yields a zero-knowledge proof that Peggy knows a solution x to x2smodn.

  16. Let E be an elliptic curve mod a large prime, let N be the number of points on E,  and let P and Q be points on E. Peggy claims to know an integer s such that sP=Q. She wants to prove this to Victor by the following procedure. Victor knows E,  P,  and Q,  but he does not know s and should receive no information about s.

    1. Peggy chooses a random integer r1 mod N and lets r2sr1(modN). (Don’t worry about why it’s mod N. It’s for technical reasons.)

    2. Peggy computes Y1=r1P and Y2=r2P and sends Y1 and Y2 to Victor.

    3. Victor checks something.

    4. Victor randomly chooses i=1 or 2 and asks Peggy for ri.

    5. Peggy sends ri to Victor.

    6. Victor checks something.

    7. Step (7).

    1. What does Victor check in step (3)?

    2. What does Victor check in step (6)?

    3. What should step (7) be if Victor wants to be at least 99.9% sure that Peggy knows s?

  17. Here is an elliptic curve version of the Digital Signature Algorithm. Alice wants to sign a message m,  which is an integer. She chooses a prime p and an elliptic curve E(modp). The number of points n on E is computed and a large prime factor q of n is found. A point A() is chosen such that qA=. (In fact, n is not needed. Choose a point A on E and find an integer n with nA=. There are ways of doing this, though it is not easy. Let q be a large prime factor of n,  if it exists, and let A=(n/q)A. Then qA=.) It is assumed that the message satisfies 0m<q. Alice chooses her secret integer a and computes B=aA. The public information is p, E, q, A, B. Alice does the following:

    1. Chooses a random integer k with 1k<q and computes R=kA=(x, y)

    2. Computes sk1(m+ax)(modq)

    3. Sends the signed message (m, R, s) to Bob

    Bob verifies the signature as follows:

    1. Computes u1s1m(modq) and u2s1x(modq)

    2. Computes V=u1A+u2B

    3. Declares the signature valid if V=R

    1. Show that the verification equation holds for a correctly signed message. Where is the fact that qA= used (see the “subtle point” mentioned in the ElGamal scheme in Section 21.5)?

    2. Why does k1(modq) exist?

    3. If q is large, why is there very little chance that s1 does not exist mod q? How do we recognize the case when it doesn’t exist? (Of course, in this case, Alice should start over by choosing a new k.)

    4. How many computations “(large integer)×(point on E)” are made in the verification process here? How many are made in the verification process for the elliptic ElGamal scheme described in the text? (Compare with the end of Section 13.5.)

  18. Let A and B be points on an elliptic curve and suppose B=kA for some integer k. Suppose also that 2nA= for some integer n,  but T=2n1A.

    1. Show that if kk(mod2n),  then B=kA. Therefore, we may assume that 0k<2n.

    2. Let j be an integer. Show that jT= when j is even and jT when j is odd.

    3. Write k=x0+2x1+4x2++2n1xn1,  where each xi is 0 or 1 (binary expansion of k). Show that x0=0 if and only if 2n1B=.

    4. Suppose that for some m<n we know x0, , xm1. Let Qm=B(x0++2m1xm1)A. Show that 2nm1Qm= if and only if xm=0. This allows us to find xm. Continuing in this way, we obtain x0, , xn1,  and therefore we can compute k. This technique can be extended to the case where sA=,  where s is an integer with only small prime factors. This is the analog of the Pohlig-Hellman algorithm (see Section 10.2).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.33.87