A Unix tool of cryptographic significance is available for anonymous ftp.  "agrep 2.0.4" -- a fast approximate pattern-matching tool  source code project available from:  cs.arizona.edu   in directory "agrep"  agrep is a very fast fuzzy search tool with a tremendous number of powerful search options.  The one most obviously applicable to cryptography (key selection) is to be able to specify the "similarity" of matches in the data.  For example say you make up a password/phrase of "qimwe7l". Of course you rightly suspect that this key itself is not in any dictionary or word list.  But how *close* is it to en entry that could be varied by some "crack" program to brute-force search for it?  You use agrep to find out.  Looking with argument for none, one or two errors, no matches.  Good so far.  But   agrep -3 "qimwe7l" bigwordandphraselist  finds that the pattern "qimwe7l" is too close to the pattern "imsel" (part of "himself" and a host of others), to be of any cryptographic value as a key.  An error of level two corresponds to a simple transposition of letters like "teh" for "the".  A minimally acceptable password would have to pass as *least* level 3 in order not immediately ruled-out as even a remote possibility of being a good password. (In real cryptographic use, my personal passphrases clear at *least* level 8 on my rather large [>80 meg] word and phrase lists.)   And for searching for key words in human-typed data (lots o' typos) the tool is unexcelled.  For example, For example, say I want to find out what people think about Gibson's SF book "Neuromancer" in the huge SF-Lover's archives. Even with an error distance specification as small as of "1" I will find all those people who think the title was "Necromancer" or other common typos.  Why miss anything?  Also, the program can look for up to 30,000 patterns IN PARALLEL at Boyer-Moore (sublinear) speeds.  Great for a NSA wannabe to look for your name, terrorists names, special Tagalog or religious words, etc. in the news or e-mail spool directories.  You can even search for ciphertext by using, say, 30,000 random three-byte combinations and eliminate all texts that don't score the X chi-square 'birthday' hits on message size Y.  You think some crypto-terrorist is try to foil you by changing the pattern on you?  No problem.  Try agrep -p NSA to find NSA, National Security Agency, NSecAg, No Such Agency, National Scrabble Association, N*S*A, etc.  You can also specify "fixed" areas: looking for license plate XYZ123 when you know that the letters are correct, you might say:  agrep -2 <XYZ>123 licenseplatedatabase  will find all plates starting with XYZ with up to two errors (addition, substitution, deletion) in the number area.  You can also "weight" the relative "cost" for substiutions, additions, or deletion errors.  For example, when searching DNA patterns for a particular protein combination, you might know that some kinds of damage cause the "A" nucelotide to drop out more than other errors... you could adjust for this bias by setting -Dc where you set the "deletion cost" to count as "c" errors.  A steganographic use (I even used "agrep -2 "<steg>eograp" E" just now to find the correct spelling!) would be to intentionally introduce errors of a certain type and magnitude into a plaintext and then later recover the orginal it via an agrep pipe.  Lots of possibilities here when only outlaws can have ciphertext...  Also with agrep's powerful extraction options it makes it easy to abstract the "hits" into a useful form.  For example,  agrep -d "^From" 'PGP;(passphrase|Zimmerman|NSA)'  says output the entire mail record, delimited by 'From' that contains 'PGP' and contains either 'passphrase', 'Zimmerman', or 'NSA'.  And agrep has been measured an order-of-magnitude faster than the second-best similarity tool publicly available.  As usual, I will be glad to e-mail the source and docs to those who reqest them by e-mail IF they cannot do an anonymous FTP.  Get this now. It is too powerful to stay in the hands of the NSA.   Grady Ward, vendor to the NSA (and proud of it)