home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / sci / crypt / 5143 < prev    next >
Encoding:
Internet Message Format  |  1992-11-21  |  1.8 KB

  1. Path: sparky!uunet!nntp1.radiomail.net!csl.sri.com!boucher
  2. From: boucher@csl.sri.com (Peter K. Boucher)
  3. Newsgroups: sci.crypt
  4. Subject: Re: My encryption program.  Comments?
  5. Date: 21 Nov 1992 15:37:37 GMT
  6. Organization: Computer Science Lab, SRI International
  7. Lines: 40
  8. Distribution: world
  9. Message-ID: <1ell41INN2eu@roche.csl.sri.com>
  10. References: <1ejpp5INNdef@roche.csl.sri.com> <1992Nov21.010043.4210@nwnexus.WA.COM>
  11. NNTP-Posting-Host: affirmed.csl.sri.com
  12.  
  13. In article <1992Nov21.010043.4210@nwnexus.WA.COM>, 
  14. ken@halcyon.com (Ken Pizzini) writes:
  15.  
  16. [stuff deleted...]
  17.  
  18. |> I don't see thay your "zipper" does anything but help protect the
  19. |> first byte:
  20. |>      outchar[2] = inchar[2] ^ key_stream[2] ^ outchar[1]
  21. |> where outchar[1] is sitting right there in front of the cryptanalyst.
  22.  
  23. I get it.  I modified it so that zipper is no longer xor'd into the
  24. output.  Now, (zipper modulo 113) is effectively added to the index
  25. into the key_stream (skipping somewhere between 0 and 112 bytes of
  26. key_stream).  Thus, I preserved my feedback, but in a way that is not
  27. easily reversible.
  28.  
  29. Thanks, Ken.
  30.  
  31. BTW, I also added an initialization vector (based on keystroke delays, 
  32. and some other factors), so that encrypting the same file twice with 
  33. the same pass-phrase will produce totally different key streams.  The
  34. initialization vector xor'd with a PRN (based on the text of the pass-
  35. phrase) as the first byte of the ciphertext.
  36.  
  37. If you encrypt the same file twice with the same pass-phrase, you can
  38. observe the following:
  39.  
  40.   ciphertext1[1] == init_vector1 ^ PRN
  41.   ciphertext2[1] == init_vector2 ^ PRN
  42.  
  43.   thus,
  44.  
  45.   ciphertext1[1] ^ ciphertext2[1] == init_vector1 ^ init_vector2
  46.  
  47. Is there a way to deduce either initialization vector?
  48.  
  49. -- 
  50. Peter K. Boucher
  51. --
  52. RIPEM public key available upon request.
  53.