home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / sci / crypt / 4526 < prev    next >
Encoding:
Text File  |  1992-11-09  |  1.8 KB  |  38 lines

  1. Newsgroups: sci.crypt
  2. Path: sparky!uunet!walter!qualcom.qualcomm.com!servo.qualcomm.com!karn
  3. From: karn@servo.qualcomm.com (Phil Karn)
  4. Subject: Re: MDC cipher code (long)
  5. Message-ID: <1992Nov1.223836.22794@qualcomm.com>
  6. Sender: news@qualcomm.com
  7. Nntp-Posting-Host: servo.qualcomm.com
  8. Organization: Qualcomm, Inc
  9. References: <1992Oct22.063349.28189@cs.aukuni.ac.nz> <5830005@hplsla.hp.com>
  10. Date: Sun, 1 Nov 1992 22:38:36 GMT
  11. Lines: 25
  12.  
  13. In article <5830005@hplsla.hp.com> ericb@hplsla.hp.com (Eric Backus) writes:
  14. >I was under the impression that a secure cipher could be obtained from
  15. >a message digest algorithm, by using several passes of a message
  16. >digest algorithm and using the user's key as part of the input to the
  17. >digest algorithm.  I don't think the message digest algorithm needs to
  18. >be altered in any way for this.  I think Phil Karn proposed something
  19. >like this awhile back.  (Phil, did you make this work?)
  20.  
  21. I proposed it, but I never actually followed through with the
  22. definitive implementation. But you're right, all you need is three
  23. Feistel rounds with the nonlinear transformation 'f' in each being a
  24. strong hash function like MD-5.  It is important that each round be
  25. separately keyed, although the three subkeys can be derived from a
  26. single input key (e.g., by appending the input key to a
  27. round-dependent constant and hashing).
  28.  
  29. MD-5 does have a lot of baggage from its role as a hash function that
  30. can be removed when it is to be used as the nonlinear primitive in a
  31. cipher. E.g., there's no need to pad out each input block with the
  32. input length. All you need is the internal "transform" function, the
  33. routine that crunches 64 bytes to 16 bytes on each iteration.  You
  34. design your cipher to work with these block sizes, which admittedly
  35. are inconveniently large for some applications.
  36.  
  37. Phil
  38.