home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / sci / crypt / 5839 < prev    next >
Encoding:
Internet Message Format  |  1992-12-20  |  6.9 KB

  1. Path: sparky!uunet!caen!uwm.edu!cs.utexas.edu!news
  2. From: orb@cs.utexas.edu (Norman Richards)
  3. Newsgroups: sci.crypt
  4. Subject: more crypt breakers workbench
  5. Date: 18 Dec 1992 02:43:10 -0600
  6. Organization: U Texas Dept of Computer Sciences, Austin TX
  7. Lines: 105
  8. Distribution: world
  9. Message-ID: <lj33ouINNfet@kara-kum.cs.utexas.edu>
  10. NNTP-Posting-Host: kara-kum.cs.utexas.edu
  11.  
  12.  Ok, I've been getting a lot of response via e-mail about this program.  I
  13. also got a few helpful hints on using it and since I know there are several
  14. people who are trying to figure it out (just judging by the number of
  15. copies I've mailed out) I'll pass along the combined knowledge.
  16.  
  17.   First, cbw is used as a tool to decrypt text files that have been encrypted
  18. via the standard unix crypt command.   The program breaks the message down
  19. into 256 byte blocks.  The encryption program itself (to quote the docs) is
  20. effectively encrypted by a single rotor enigma system.  Each block is 
  21. encrypted slightly differently, but once you have successfully decrypted 
  22. several blocks the software is able to find the pattern and decrypt the entire
  23. file.
  24.  
  25.   So, the basis of the program is to provide a  set of tools for decrypting 
  26. individual blocks and then piece the informations from these blocks together
  27. in order to solve the entire system.
  28.  
  29.   There are four basic methods of attack, but two are a bit redundant 
  30. and you can easily do your work without them.  The first is the bigram
  31. guessing.  This is a fairly sophisticated attack based on the idea that
  32. the text hopefully will conform to a know set of letter pairings, or bigrams.
  33. You are given two parameters (as well as being able to select a bigram 
  34. statistic file of your own creation) a cut-off level and a minimum 
  35. probability.  The author suggests using several runs with values (1.5,.6)
  36. (1.2,.4) and (1.0.15).  
  37.   I don't find those to be very helpful.  What I will do is run it with
  38. extremely high values like (8,.9).  If your stats file is good, you should
  39. get a decent number of characters deduced.  If the results are reasonable
  40. you can incorporate the whole section into your workspace.  Generally though
  41. this doesn't seem to be a brilliant idea.  I generally look for places where
  42. several characters have been deduced in a row and see (often with the help
  43. of the dictionary lookup facility provided) if I can guess any words.  If 
  44. so I will manually transfer them into the workspace window.  After I have
  45. taken what I consider to be the best information from the guess I will
  46. run the bigram analysis again at the same level, continuing to do so until
  47. I can find no more useful date.  At that point, I reduce the levels slighty
  48. to something like (5,.7) and then (2,.3), etc... until I find that the
  49. levels are so low that it is either producing no new information or erroneous
  50. information.    Somewhere along the lines, I will perhaps try the pword 
  51. attack.
  52.   Basically pword takes a dictionary specified by you and analizes it to see
  53. if any of the words can fit into the cipher.  (again you have a threshold
  54. level of how 'probable' the word is)  If you know the file is a C program,
  55. a mail message or have reason to suspect the the content of the message, it
  56. is fairly easy to construct a small dictionary of possible terms.  I
  57. haven't had lots of luck with this, but sometimes it comes in handy.  The
  58. one thing I do recommend is to keep the files small and concise.  If you
  59. have too many words then unless your text is nearly complete allready you
  60. will have quite a number of erroneous matches.  The other thing that seems 
  61. helpful with this command is when you run it against a dictionary, look at
  62. the possiblities given you in the guess window.  Consider each guess by 
  63. manually entering it in the workspace and looking at the effect on
  64. the text.  Knowing some characters gives you information on what the others
  65. are and by entering them yourself, you can see how the characters affect
  66. the cipher.  The human mind seems to be much better in this case of judging
  67. whether the results on the entire text are reasonable.  If they are, keep
  68. them.  If they just give you garbage elsewhere go back to the next guess.
  69.  
  70.   The last thing that I find really useful at this stage is that if you 
  71. are trying to decide on manually guessing parts of the text, you can move
  72. to a point in the text and hit ^T.  The computer will show you a list of
  73. all the possible letters that could fit at that point and still provide
  74. consistancy with the rest of the message.  (this is very helpful when you
  75. are trying to narrow down a dictionary lookup that gave more responses than
  76. you can handle)
  77.  
  78.   There is also a tri-grams analysis and and equivalence class guess, but 
  79. according to the author the other functions are able to encompass the 
  80. information you can gain from these.  Still, you might want to try it.  
  81. Sometimes when I get stumped I will try a couple of these and might get
  82. a character or two that pushes me onto something good.
  83.  
  84.   This part of the program I have down fairly well and can decipher the
  85. majority of test messages I get.  (once you think you have it down, get
  86. a friend to find a text file of some sort and encrypt it for you)  But,
  87. I have yet to master the creation of 'zee permutation block.'   This is
  88. the information that connects the encryption from several sequential 
  89. blocks and deciphers the whole text so that you don't have to do 
  90. evey single block.  (for a small file its nto too bad, but for a larger
  91. file I would go crazy)  Basically, I have been 100% unseccessful at 
  92. solving any portion of the zee-block and if anyone can provide information
  93. on it - I would be more than grateful.  Basically, you have the ability
  94. to 'knit' blocks together to solve a portion of the zee and then 'propogate'
  95. the zee-block on an unknown block and see the information it decodes.  
  96.  
  97.   The final comment about the program is that it doesn't come with any
  98. tools for creating the statistics files.  There is a provided file, but it
  99. would seem more effective to create your own based on the type of text you
  100. expect to be decoding.  The stat files are text and it is easy to observe
  101. them to discover the format.  Writing an analysis program would be fairly
  102. trivial but I personally haven't done it and I am sure there are programs
  103. floating around the net that will give you the needed info.  
  104.  
  105.   Anyways, after messing with the program for a while, thats what I have
  106. come up with.  If anyone has ideas for doing it more efficiently or knows
  107. how to create the zee-blocks I would be delighted to know.  If you are looking
  108. for the program, I got it from sunic.sunet.se.  Or, I can mail you a copy
  109. if you want.  (assuming I am not gone for Christmas by the time the message
  110. gets here :)  
  111.   Enjoy...
  112.  
  113. ______________________________________________________________________________
  114. orb@ccwf.cc.utexas.edu              "Two roads diverged in a wood, and I -
  115.                                      I chose to climb the nearest tree.
  116.                                      And that has made all the difference."
  117.