powerful similarity too a unix tool of cryptographic significance is available for anonymous ftp agrep 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 qimwe l 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 qimwe l bigwordandphraselist finds that the pattern qimwe l 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 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 on my rather large 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 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 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 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 xyz when you know that the letters are correct you might say agrep xyz 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 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 grady netcom com ef e ad d d c f fc ac f d f e f
