19.3 Exercises

  1. Consider the diagram of tunnels in Figure 19.2. Suppose each of the four doors to the central chamber is locked so that a key is needed to enter, but no key is needed to exit. Peggy claims she has the key to one of the doors. Devise a zero-knowledge protocol in which Peggy proves to Victor that she can enter the central chamber. Victor should obtain no knowledge of which door Peggy can unlock.

    Figure 19.2 Diagram for Exercise 1

    Illustration shows the Tunnel Used in the Zero-Knowledge Protocol.
  2. Suppose p is a large prime, α is a primitive root, and βαa  (modp). The numbers p, α, β are public. Peggy wants to prove to Victor that she knows a without revealing it. They do the following:

    1. Peggy chooses a random number r  (modp1).

    2. Peggy computes h1αr  (modp) and h2αar  (modp) and sends h1, h2 to Victor.

    3. Victor chooses i=1 or i=2 and asks Peggy to send either r1=r or r2=ar  (modp1).

    4. Victor checks that h1h2β  (modp) and that hiαri  (modp).

    They repeat this procedure t times, for some specified t.

    1. Suppose Peggy does not know a. Why will she usually be unable to produce numbers that convince Victor?

    2. If Peggy does not know a, what is the probability that Peggy can convince Victor that she knows a?

    3. Suppose naive Nelson tries a variant. He wants to convince Victor that he knows a, so he chooses a random r as before, but does not send h1, h2. Victor asks for ri and Nelson sends it. They do this several times. Why is Victor not convinced of anything? What is the essential difference between Nelson’s scheme and Peggy’s scheme that causes this?

  3. Naive Nelson thinks he understands zero-knowledge protocols. He wants to prove to Victor that he knows the factorization of n (which equals pq for two large primes p and q) without revealing this factorization to Victor or anyone else. Nelson devises the following procedure: Victor chooses a random integer x mod n, computes yx2  (modn), and sends y to Nelson. Nelson computes a square root s of y mod n and sends s to Victor. Victor checks that s2y  (modn). Victor repeats this 20 times.

    1. Describe how Nelson computes s. You may assume that p and q are 3  (mod4) (see Section 3.9).

    2. Explain how Victor can use this procedure to have a high probability of finding the factorization of n. (Therefore, this is not a zero-knowledge protocol.)

    3. Suppose Eve is eavesdropping and hears the values of each y and s. Is it likely that Eve obtains any useful information? (Assume no value of y repeats.)

  4. Exercise 2 gave a zero-knowledge proof that Peggy knows a discrete logarithm. Here is another method. Suppose p is a large prime, α is a primitive root, and βαa  (modp). The numbers p, α, β are public. Peggy wants to prove to Victor that she knows a without revealing it. They do the following:

    1. Peggy chooses a random integer k with 1k<p1, computes γαk  (modp), and sends γ to Victor.

    2. Victor chooses a random integer r with 1r<p1 and sends r to Peggy.

    3. Peggy computes ykar  (modp1) and sends y to Victor.

    4. Victor checks whether γαyβr  (modp). If so, he believes that Peggy knows a.

    1. Show that the verification equation holds if the procedure is followed correctly.

    2. Does Victor obtain any information that will allow him to compute a?

    3. Suppose Eve finds out the values of γ, r, and y. Will she be able to determine a?

    4. Suppose Peggy repeats the procedure with the same value of k, but Victor uses different values r1 and r2. How can Eve, who has listened to all communications between Victor and Peggy, determine a?

    The preceding procedure is the basis for the Schnorr identification scheme. Victor could be a bank and a could be Peggy’s personal identification number. The bank stores β, and Peggy must prove she knows a to access her account. Alternatively, Victor could be a central computer and Peggy could be logging on to the computer through nonsecure telephone lines. Peggy’s password is a, and the central computer stores β.

    In the Schnorr scheme, p is usually chosen so that p1 has a large prime factor q, and α, instead of being a primitive root, is taken to satisfy αq1  (modp). The congruence defining y is then taken mod q. Moreover, r is taken to satisfy 1r2t for some t, for example, t=40.

  5. Peggy claims that she knows an RSA plaintext. That is, n, e, c are public and Peggy claims that she knows m such that mec  (modn). She wants to prove this to Victor using a zero-knowledge protocol. Peggy and Victor perform the following steps:

    1. Peggy chooses a random integer r1 and computes r2mr11  (modn) (assume that gcd(r1, n)=1.)

    2. Peggy computes x1r1e  (modn) and x2r2e  (modn) and sends x1, x2 to Victor.

    3. Victor checks that x1x2c  (modn).

    Give the remaining steps of the protocol. Victor should be at least 99% convinced that Peggy is not lying.

    1. Suppose that p is a large prime, and g, h0(modp). Peggy wants to prove to Victor, using a zero-knowledge protocol, that she knows a value of x with gxh  (modp). Peggy and Victor do the following:

      1. Peggy chooses three random integers r1, r2, r3 with r1+r2+r3x  (modp1).

      2. Peggy computes higri, for i=1, 2, 3 and sends h1, h2, h3 to Victor.

      3. Victor checks that h1h2h3h  (modn).

      Design the remaining steps of this protocol so that Victor is at least 99% convinced that Peggy is not lying. (Note: There are two ways for Victor to proceed in Step 4. One has a higher probability of catching Peggy, if she is cheating, than the other.)

    2. Give a reasonable method for Peggy to choose the three random numbers such that r1+r2+r3=≡x  (modp1). (A method that doesn’t work is “Choose three random numbers and see if their sum is x. If not, try again.)

  6. Suppose that n is the product of two large primes, and that s is given. Peggy wants to prove to Victor, using a zero-knowledge protocol, that she knows a value of x with x2s  (modn). Peggy and Victor do the following:

    1. Peggy chooses three random integers r1, r2, r3 with r1r2r3x  (modn).

    2. Peggy computes xiri2, for i=1, 2, 3 and sends x1, x2, x3 to Victor.

    3. Victor checks that x1x2x3s  (modn).

    1. Design the remaining steps of this protocol so that Victor is at least 99% convinced that Peggy is not lying. (Note: There are two ways for Victor to proceed in Step 4. One has a higher probability of catching Peggy, if she is cheating, than the other.)

    2. Give a reasonable method for Peggy to choose the three random numbers such that r1r2r3=≡x  (modn). (A method that doesn’t work is “Choose three random numbers and see if their product is x. If not, try again.”)

  7. Peggy claims that she knows an RSA plaintext. That is, n, e, c are public and Peggy claims that she knows m such that mec  (modn). Devise a zero-knowledge protocol similar to that used in Exercises 6 and 7 for Peggy to convince Victor that she knows m.

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

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