Elliptic Curves and Cryptography

Prev: Combinatorics Probability and Information Theory Next: Lattices and Cryptography

Exercises

Section 6.1. Elliptic Curves

6.1

Let be the elliptic curve and let and . You should check that and are on the curve .

(a) Compute .

(b) Compute and .

(c) Compute and .

6.2

Check that the points and are points on the elliptic curve .

(a) Compute the points and .

(b) Compute the points and .

Bonus: How many points with integer coordinates can you find on ?

6.3

Suppose that the cubic polynomial factors as

Prove that if and only if two or more of , , and are the same. Hint: Multiply out the right-hand side and compare coefficients to relate and to , , and .

6.4

Sketch each of the following curves, as was done in Fig. 6.1 on page 300.

(a) .

(b) .

(c) .

(d) .

(e) .

Notice that the curves in (d) and (e) have , so they are not elliptic curves. How do their pictures differ from the pictures in (a), (b), and (c)? Each of the curves (d) and (e) has one point that is somewhat unusual. These unusual points are called singular points.

Section 6.2. Elliptic Curves over Finite Fields

6.5

For each of the following elliptic curves and finite fields , make a list of the set of points .

(a) over .

(b) over .

(c) over .

(d) over .

(e) over .

6.6

Make an addition table for over , as we did in Table 6.1.

(a) over .

(b) over .

(c) over .

You may want to write a computer program for (c), since has a lot of points.

6.7

Let be the elliptic curve

Compute the number of points in the group for each of the following primes:

(a) .

(b) .

(c) .

(d) .

In each case, also compute the trace of Frobenius

and verify that is smaller than .

Section 6.3. The Elliptic Curve Discrete Logarithm Problem

6.8

Let be the elliptic curve

and let and be points on modulo 5. Solve the elliptic curve discrete logarithm problem for and , that is, find a positive integer such that .

6.9

Let be an elliptic curve over and let and be points in . Assume that is a multiple of and let be the smallest solution to . Also let be the smallest solution to . Prove that every solution to looks like for some . Hint: Write as for some and determine the value of .

6.10

Let be a basis for . The Basis Problem for is to express an arbitrary point as a linear combination of the basis vectors, i.e., to find and so that . Prove that an algorithm that solves the basis problem for can be used to solve the ECDLP for points in .

6.11

Use the double-and-add algorithm (Table 6.3) to compute in for each of the following curves and points, as we did in Fig. 6.4.

(a) , , , .

(b) , , , .

(c) , , , .

(d) , , , .

6.12

Convert the proof of Proposition 6.18 into an algorithm and use it to write each of the following numbers as a sum of positive and negative powers of 2 with at most nonzero terms. Compare the number of nonzero terms in the binary expansion of with the number of nonzero terms in the ternary expansion of .

(a) .

(b) .

(c) .

(d) .

6.13

In Sect. 5.5 we gave an abstract description of Pollard’s rho method, and in Sect. 5.5.2 we gave an explicit version to solve the discrete logarithm problem in . Adapt this material to create a Pollard rho algorithm to solve the ECDLP.

Section 6.4. Elliptic Curve Cryptography

6.14

Alice and Bob agree to use elliptic Diffie-Hellman key exchange with the prime, elliptic curve, and point

(a) Alice sends Bob the point . Bob decides to use the secret multiplier . What point should Bob send to Alice?

(b) What is their secret shared value?

(c) How difficult is it for Eve to figure out Alice’s secret multiplier ? If you know how to program, use a computer to find .

(d) Alice and Bob decide to exchange a new piece of secret information using the same prime, curve, and point. This time Alice sends Bob only the -coordinate of her point . Bob decides to use the secret multiplier . What single number modulo should Bob send to Alice, and what is their secret shared value?

6.15

Exercise 2.10 on page 109 describes a multistep public key cryptosystem based on the discrete logarithm problem for . Describe a version of this cryptosystem that uses the elliptic curve discrete logarithm problem. You may assume that Alice and Bob know the order of the point in the group , i.e., they know the smallest integer with the property that .

6.16

A shortcoming of using an elliptic curve for cryptography is the fact that it takes two coordinates to specify a point in . However, as discussed briefly at the end of Sect. 6.4.2, the second coordinate actually conveys very little additional information.

(a) Suppose that Bob wants to send Alice the value of a point . Explain why it suffices for Bob to send Alice the -coordinate of together with the single bit

You may assume that Alice is able to efficiently compute square roots modulo . This is certainly true, for example, if ; see Proposition 2.26.

(b) Alice and Bob decide to use the prime and the elliptic curve

Bob sends Alice the -coordinate and the bit . What point is Bob trying to convey to Alice? What about if instead Bob had sent ?

6.17

The Menezes-Vanstone variant of the elliptic Elgamal public key cryptosystem improves message expansion while avoiding the difficulty of directly attaching plaintexts to points in . The MV-Elgamal cryptosystem is described in Table 6.13 on page 365.

(a) The last line of Table 6.13 claims that and . Prove that this is true, so the decryption process does work.

(b) What is the message expansion of MV-Elgamal?

(c) Alice and Bob agree to use

for MV-Elgamal. Alice’s secret value is . What is her public key? Bob sends Alice the encrypted message . What is the plaintext?

6.18

This exercise continues the discussion of the MV-Elgamal cryptosystem described in Table 6.13 on page 365.

(a) Eve knows the elliptic curve and the ciphertext values and . Show how Eve can use this knowledge to write down a polynomial equation modulo that relates the two pieces and of the plaintext. In particular, if Eve can figure out one piece of the plaintext, then she can recover the other piece by finding the roots of a certain polynomial modulo .

(b) Alice and Bob exchange a message using MV-Elgamal with the prime, elliptic curve, and point in Exercise 6.17(c). Eve intercepts the ciphertext

and through other sources she discovers that the first part of the plaintext is . Use your algorithm in (a) to recover the second part of the plaintext.

6.19

Section 6.4.3 describes ECDSA, an elliptic analogue of DSA. Formulate an elliptic analogue of the simpler Elgamal digital signature algorithm described in Table 4.2 in Sect. 4.3.

6.20

This exercise asks you to compute some numerical instances of the elliptic curve digital signature algorithm described in Table 6.7 for the public parameters

You should begin by verifying that is a point of order in .

(a) Samantha’s private signing key is . What is her public verification key? What is her digital signature on the document using the random element ?

(b) Tabitha’s public verification key is . Is a valid signature on the document ?

(c) Umberto’s public verification key is . Use any method that you want to find Umberto’s private signing key, and then use the private key to forge his signature on the document using the random element .

MV-Elgamal summary from Table 6.13:

Public parameters: prime p, elliptic curve E over F_p, point P in E(F_p).
Alice chooses secret n_A, computes Q_A = n_A P, and publishes Q_A.
Bob encrypts plaintext values m_1,m_2 modulo p:
  choose random k,
  R = kP,
  S = kQ_A = (x_S,y_S),
  c_1 = x_S m_1 mod p,
  c_2 = y_S m_2 mod p,
  ciphertext = (R,c_1,c_2).
Alice decrypts:
  T = n_A R = (x_T,y_T),
  m'_1 = x_T^{-1} c_1 mod p,
  m'_2 = y_T^{-1} c_2 mod p.

Section 6.6. Lenstra’s Elliptic Curve Factorization Algorithm

6.21

Use the elliptic curve factorization algorithm to factor each of the numbers using the given elliptic curve and point .

(a) , , .

(b) , , .

(c) , , .

(d) , , .

Section 6.7. Elliptic Curves over and over

6.22

Let be an elliptic curve given by a generalized Weierstrass equation

Let and be points on . Prove that the following algorithm computes their sum .

First, if and , then .

Otherwise define quantities and as follows:

Then

6.23

Let be as in Example 6.28, and let be the elliptic curve

(a) Calculate the discriminant of .

(b) Verify that the points

are in and compute the values of and .

(c) Find all of the points in .

(d) Find a point such that every point in is a multiple of .

6.24

Let be the Frobenius map on .

(a) Prove that

Hint: For the addition formula, use the binomial theorem (Theorem 5.10).

(b) Prove that for all .

(c) Let be an elliptic curve over and let be the Frobenius map from to itself. Prove that

6.25

Let be the Koblitz curve over the field , and for every , let

(a) Prove that and .

(b) Prove that satisfies the recursion

You may use the formula (6.12) that we stated, but did not prove, on page 334.

(c) Use the recursion in (b) to compute .

(d) Program a computer to calculate the recursion and use it to compute the values of , , and .

6.26

Let be an elliptic curve over , and for , let

(a) Prove that

where by convention we set .

(b) Use (a) to express , , and in terms of and .

Hint: Use Theorem 6.29(a). This generalizes Exercise 6.25.

6.27

Let satisfy . Prove that the following algorithm gives coefficients such that the positive integer is equal to

Further prove that .

[1]  Set n0 = n and n1 = 0 and i = 0.
[2]  Loop while n0 != 0 or n1 != 0.
[3]      If n0 is odd:
[4]          Set v_i = 2 - (n0 - 2n1) mod 4.
[5]          Set n0 = n0 - v_i.
[6]      Else:
[7]          Set v_i = 0.
[8]      End If.
[9]      Set i = i + 1.
[10]     Set (n0,n1) = (n1 - n0/2, -n0/2).
[11] End Loop.

6.28

Implement the algorithm in Exercise 6.27 and use it to compute the -expansion (6.19) of the following integers. What is the highest power of that appears and how many nonzero terms are there?

(a) .

(b) .

(c) .

Section 6.8. Bilinear Pairings on Elliptic Curves

6.29

Let and be rational functions. Prove that the divisor of a product is the sum of the divisors, i.e.,

6.30

This exercise sketches a proof that if , then .

(a) Prove that

for some integer .

(b) Prove that the Weierstrass equation of can be written in the form

and that the polynomials and have no common roots.

(c) Prove that

for some integer . Hint: Take the divisor of both sides of and use (b).

(d) Prove that

Warning: This part requires some knowledge of discrete valuation rings that is not developed in this book.

6.31

Prove that the Weil pairing satisfies

Hint: Use the fact that and expand using bilinearity.

6.32

This exercise asks you to verify that the Weil pairing is well-defined.

(a) Prove that the value of is independent of the choice of rational functions and .

(b) Prove that the value of is independent of the auxiliary point . Hint: Fix the points and and consider the quantity

as a function of . Compute the divisor of and use the fact that every nonconstant function on has at least one zero.

You might also try to prove that the Weil pairing is bilinear, but do not be discouraged if you do not succeed, since the standard proofs use more tools than we have developed in the text.

6.33

Choose a basis for and write each as a linear combination . Use the basic properties of the Weil pairing described in Theorem 6.38 to prove that

6.34

Complete the proof of Proposition 6.52 by proving that .

6.35

For each of the following elliptic curves , finite fields , points and of order , and auxiliary points , use Miller’s algorithm to compute the Weil pairing . See Example 6.43.

(a)10515
(b)8837
(c)10097
(d)10097

Notice that (c) and (d) use the same elliptic curve. Letting and denote the points in (d), verify that

6.36

Let over and be as described in Theorem 6.44. Prove that the modified Tate pairing is symmetric, in the sense that

6.37

Let be an elliptic curve over and let . Prove that the Weil pairing and the Tate pairing are related by the formula

provided that the Tate pairings on the right-hand side are computed consistently. Thus the Weil pairing requires approximately twice as much work to compute as does the Tate pairing.

Section 6.9. The Weil Pairing over Fields of Prime Power Order

6.38

Prove Proposition 6.52(b) in the case .

6.39

Let be an elliptic curve over and let be a prime. Suppose that contains a point of order and that . Prove that .

6.40

Let be an elliptic curve over a finite field and let be a prime. Suppose that we are given four points , , , . The elliptic decision Diffie-Hellman problem is to determine whether is equal to . Of course, if we could solve the Diffie-Hellman problem itself, then we could compute and compare it with , but the Diffie-Hellman problem is often difficult to solve.

Suppose that there exists a distortion map for . Show how to use the modified Weil pairing to solve the elliptic decision Diffie-Hellman problem without actually having to compute .

6.41

Let be the elliptic curve and let be the map described in Proposition 6.52. Prove that for all . Intuitively, behaves like multiplication by when it is applied to points of .

6.42

Let , let , let , and let be the -distortion map for described in Proposition 6.53. Suppose further that . Prove that is an -distortion map for every point in . In other words, if is any point of order , prove that is a primitive th root of unity.

6.43

Let be the elliptic curve

over a field , and suppose that contains an element satisfying . We say that is a primitive cube root of unity. Define a map by

(a) Let . Prove that .

(b) Prove that respects the addition law on , i.e., for all .

6.44

Let be the elliptic curve in Exercise 6.43.

(a) Let be a prime with . Prove that does not contain a primitive cube root of unity, but that does contain a primitive cube root of unity.

(b) Let be a primitive cube root of unity and define a map as in Exercise 6.43. Suppose that contains a point of prime order . Prove that is an -distortion map for .

6.45

Let be the elliptic curve over the field . The point has order . Use the distortion map on from Exercise 6.42 to compute (cf. Example 6.55). Verify that the value is a primitive rd root of unity.

6.46

Continuing with the curve , prime , and point from Exercise 6.45, let

Use the MOV method to solve the ECDLP for and , i.e., compute and express it as the th power of . Check your answer by verifying that is equal to .

Section 6.10. Applications of the Weil Pairing

6.47

Alice, Bob, and Carl use tripartite Diffie-Hellman with the curve

They use the point

(a) Alice chooses the secret value . What is Alice’s public point ?

(b) Bob’s public point is and Carl’s public point is . What is the value of ?

(c) What is their shared value?

(d) Bob’s secret value is . Verify that is the same as the value that you got in (c).

(e) Figure out Carl’s secret value . Since has order 431, you can do this on a computer by trying all possible values.

6.48

Show that Eve can break tripartite Diffie-Hellman key exchange as described in Table 6.10.1 if she knows how to solve the Diffie-Hellman problem (page 69) for the field .

6.49

In this exercise we consider what is required to break the identity-based encryption scheme described in Table 6.12 on page 360.

(a) Show that if Eve can solve the discrete logarithm problem in either or in , then she can recover Tom’s secret key , which means that she can do anything that Tom can do, including decrypting everyone’s ciphertexts.

(b) Suppose that Eve only knows how to solve the elliptic curve Diffie-Hellman problem in , as described on page 318. Show that she can decrypt all ciphertexts.

(c) What if Eve only knows how to solve the Diffie-Hellman problem in ? Can she still decrypt all ciphertexts?