home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / sci / crypt / 4426 < prev    next >
Encoding:
Internet Message Format  |  1992-11-08  |  6.7 KB

  1. Path: sparky!uunet!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!PLAY.TRUST.CS.CMU.EDU!bsy
  2. From: bsy+@CS.CMU.EDU (Bennet Yee)
  3. Newsgroups: sci.crypt
  4. Subject: Re:    Information needed about Zero Knowledge
  5. Message-ID: <BxBv5z.6vz.2@cs.cmu.edu>
  6. Date: 7 Nov 92 04:01:10 GMT
  7. Article-I.D.: cs.BxBv5z.6vz.2
  8. References: <92310.104626C51885@TRMETU.BITNET> <1992Nov6.151048.10676@shearson.com>
  9. Sender: news@cs.cmu.edu (Usenet News System)
  10. Reply-To: bsy+@cs.cmu.edu
  11. Organization: Cranberry Melon, School of Cucumber Science
  12. Lines: 152
  13. Nntp-Posting-Host: play.trust.cs.cmu.edu
  14.  
  15. In article <1992Nov6.151048.10676@shearson.com>, dmandl@shearson.com (David Mandl) writes:
  16. >In article 104626C51885@TRMETU.BITNET, <C51885@TRMETU.BITNET> () writes:
  17. >>Hello,
  18. >>  I want to get detailed information about Zero knowledge Techniques.
  19. >>I will be very pleased, if you send me informations, documents, sources
  20. >>etc. about it..
  21. >>             Thanks Ismail Tore.
  22. >>
  23. >
  24. >Me too, please.  Thanks.
  25. >
  26.  
  27. The following is a post that I made about this years ago.  I'm busy
  28. working on my thesis, and have treated non-local netnews as read-only,
  29. but since this is so easy....  I also clipped out some additional
  30. references from my .bib file below.
  31.  
  32. -bsy
  33.  
  34. ----------
  35.  
  36. Here's an example of a zero knowledge proof.  Abstractly, a zero knowledge
  37. proof is an interactive proof with a prover and a verifier, where the prover
  38. convinces the verifier of a statement (with high probability) without
  39. revealing any information about how to go about proving that statement.
  40. Hopefully the example will make it all clear.
  41.  
  42. First, our assumptions.  We're going to arithmetic mod n, where n = pq, p
  43. and q primes.  Factoring n is assumed to be intractible.
  44.  
  45. Rabin showed in [RabinFunc] that finding square roots mod n is equivalent to
  46. factoring n.  That is, if you have an algorithm that can find a square root
  47. of a number mod n, then you can use that algorithm to factor n.  Our zero
  48. knowledge proof will consist of rounds of interaction which shows that the
  49. prover knows a square root of a published number, where we do not reveal any
  50. new information about the square root.  It is known that there exists a
  51. square root to this number (public knowledge), i.e., it is a quadratic
  52. residue.  The factors of the modulus n may be entirely secret.  (U. Feige
  53. shows a refinement in [FFS] which allows the published number to be a
  54. non-quadratic residue of a particular form as well, thus revealing less
  55. information; in either case, runs of the protocol itself reveals no new
  56. information.)
  57.  
  58. The prover, P, publishes the quadratic residue $v$ for which P claims to
  59. know a root $s$.
  60.  
  61. When P wishes to prove its knowledge of $s$ to the verifier, V, P runs
  62. several rounds of interaction.  In each round, P choses a new random number
  63. $r$ and sends $x = r^2 \bmod n$ to V.  Now, V choses a random bit $b$, and
  64. sends it to P.  P replies with $y = r s^b$.  To verify P's claim, V computes
  65. $y^2$ and compares it with $x v^b$.
  66.  
  67. Now, let's do the analysis.  The first claim is that only P can successfully
  68. complete the protocol for both possible values of $b$.  This is clear since
  69. knowing $y_1 = r s$ when $b = 1$ and $y_2 = r$ when $b = 0$ means you also
  70. know $s$, since $y_1/y_2 = s$.  The second claim is that an imposter P' who
  71. does not actually know $s$ can succeed with a probability of exactly 1/2
  72. each round:  to see this, notice that if P' guesses correctly that $b = 0$,
  73. then it can just follow the protocol and succeed; on the other hand, if P'
  74. guesses that $b = 1$, P' can generate $x$ by chosing a random number $t$ and
  75. setting $x = t^2 / v$.  The response is $y = t$.  The third claim is that no
  76. new information is released.  To see this, consider what an eavesdropper E
  77. hears.  In the case of the random bit $b = 0$, E sees a random numer $r$ and
  78. its square $x$; in the case of $b = 1$, E sees the numbers $rs$ and $x =
  79. (rs)^s/v$.  These are numbers that the eavesdropper could have generated in
  80. a closet.  More precisely, a simulator S can run both sides of the protocol,
  81. and by using advanced information as to the value of the random bit (model
  82. is a TM with an auxiliary input tape of random bits), S can simulate the
  83. protocol without knowledge of $s$.
  84.  
  85. Each round of the proof shows that there is a 1/2 chance that a prover P''
  86. might not actually know $s$.  Iterating 20 times gives a probability of less
  87. than 2^-20 or .0000009536 that P'' does not actually know $s$.
  88.  
  89. Such zero knowledge proofs can be used for authentication -- the value of
  90. $v$ can be generated from a randomly chose $s$, and $v$ is widely published.
  91. A successful zero knowledge proof showing knowledge of $s$ authenticates
  92. identity.  In [StrongboxIn25th], Doug Tygar (my advisor) and I show how to
  93. obtain superexponential scaling in security modulo the factorization
  94. assumption, run the protocol in constant rounds while retaining the zero
  95. knowledge property, and simultaneously perform key exchange.
  96.  
  97. -bsy
  98.  
  99. ----------
  100.  
  101. @TechReport(RabinFunc,
  102.     Author="Michael Rabin",
  103.     Institution="Laboratory for Computer Science,
  104.          Massachusetts Institute of Technology",
  105.     Title="Digitalized Signatures and Public-Key
  106.             Functions as Intractable as Factorization",
  107.     Key="Rabin",
  108.     Year=1979,
  109.     Month="January",
  110.     Number="MIT/LCS/TR-212")
  111.  
  112. @InProceedings(FeigeFiatShamir,
  113.     Key="Feige",
  114.     Author="Uriel Feige and Amos Fiat and Adi Shamir",
  115.     Title="Zero Knowledge Proofs of Identity",
  116.     Year=1987,
  117.     Pages="210-217",
  118.     Booktitle="Proceedings of the 19th ACM Symp. on Theory of Computing",
  119.     Month="May")
  120.  
  121. @Inproceedings(StrongboxIn25th,
  122.     Key="Tygar and Yee",
  123.     Author="J. D. Tygar and Bennet S. Yee",
  124.     Title="Strongbox:  A System for Self Securing Programs",
  125.     Organization = "ACM",
  126.     Booktitle="CMU Computer Science:
  127.         25th Anniversary Commemorative",
  128.     Year = 1991)
  129.  
  130. ----------
  131.  
  132. Additional random references from my .bib file:
  133.  
  134. @InProceedings(ShamirIPeqPSPACE,
  135.     Key="Shamir",
  136.     Author="Adi Shamir",
  137.     Title="{IP=PSPACE}",
  138.     Year="1990",
  139.     Pages="11--15",
  140.     BookTitle="Proccedings of the Twenty Second Annual ACM Symposium
  141.         on Theory of Computing",
  142.     Month="May")
  143.  
  144. @InProceedings(FeigeShamirWH,
  145.     Key="Feige and Shamir", 
  146.     Author="U. Fiege and A. Shamir",
  147.     Title="Witness Indistinguishable and Witness Hiding Protocols",
  148.     Year=1990,
  149.     Pages="416--426",
  150.     Booktitle="Proceedings of the 22nd ACM Symp. on Theory of Computing",
  151.     Month="May")
  152.  
  153. @InProceedings(ALMSS,
  154.     Key="Arora and Lund and Motwani and Suda and Szegedy",
  155.     Author="Sanjeev Arora and Carsten Lund and Rajeev Motwani and
  156.         Madhu Sudan and Mario Szegedy",
  157.     Title="Proof Verification and Hardness of Approximation Problems",
  158.     Month="October",
  159.     Year="1991",
  160.     Booktitle="Proceedings of the 33rd IEEE
  161.         Foundations of Computer Science",
  162.     Pages="14--23")
  163.  
  164. -- 
  165. Bennet S. Yee        Phone: +1 412 268-7571        Email: bsy+@cs.cmu.edu
  166. School of Computer Science, Carnegie Mellon, Pittsburgh, PA 15213-3890
  167.