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