Question: Problem 8. An algorithm for extracting discrete logarithms Let p be a large prime and g a fixed primitive root of p. Let h Z

Problem 8.

An algorithm for extracting discrete logarithms

Let p be a large prime and g a fixed primitive root of p. Let h  Problem 8. An algorithm for extracting discrete logarithms Let p be Z*p

be the modular inverse of g, so g h a large prime and g a fixed primitive root of p. Let 1 (mod p). Let a h Z*p be the modular inverse of g, so g h 1 Z*p . Define the following lists of elements in Z*p : yi (mod p). Let a Z*p . Define the following lists of elements a hi (mod p), 0 in Z*p : yi a hi (mod p), 0 i m - i 1; zj (gm)j (mod p), 0 j k - 1. Here, m m - 1; zj is a positive integer (an as yet unspecified parameter) and k is (gm)j (mod p), 0 the smallest integer with k (p - 1)/m. (b) Consider the following j procedure for computing the discrete logarithm of a with respect to g. k - 1. Here, m is a positive integer (an as yet unspecified parameter) and k is the smallest integer with k 1. Compute the list Y = (y0, y1 ... ym-1 ) 2. (p - 1)/m.

(b) Consider the following procedure for computing the discrete logarithm of a with respect to g. 1. Compute the list Y = (y0, y1 ... ym-1 ) 2. If 1 If 1 yi (mod p) for some i { 0, 1, ...m yi (mod p) for some i - 1} , then output i and quit. 3. Compute the list { 0, 1, ...m - 1} , then output i and quit. 3. Compute the list Z = (z0, z1, z2 ,... ) until an element zj is found that appears in Y. 4. Upon finding such a match, say zj = yi, output x Z = (z0, z1, z2 ,... ) until an element zj is j m + i (mod p - 1). Prove that this procedure terminates and outputs the discrete logarithm of a.

(c) Assuming the worst case scenario (i.e. the entire list Z = (z0 , z1 ,...; zk-1) needs to be generated), how many modular multiplication are required to extract the discrete logarithm of a using the procedure above? Your count should be as accurate as possible (i.e. don't count modular multiplications that aren't needed). You may assume that the quantities m, k, h and gm (mod p) have been precomputed as they are independent of a. You may also ignore the cost of searching the list Y for an element z found that appears in Y. 4. Upon finding such a match, say Z.

(d) How should m be chosen to minimize the number of modular multiplication required by the procedure above? Explain your choice.

(e) Let p = 107. i. Use the primitive root test from class to verify that 2 is a primitive root of p. Show your work.

ii. Use the procedure from part (b) and your choice of m from part (d) to compute the discrete logarithm of 6 with respect to 2 in Z*107 . Show your work. You may want to verify that your final answer is correct.

.

Transcribed image text

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!