mirage1@gpu.utcs.utoronto.ca (Robert Ames) (06/12/91)
Archive-name: text/analysis/tact/0-- Archive-directory: epas.utoronto.ca:/pub/cch/archive/tact/ [128.100.160.1] Original-posting-by: mirage1@gpu.utcs.utoronto.ca (Robert Ames) Original-subject: TACT for cryptanalysis Reposted-by: emv@msen.com (Edward Vielmetti, MSEN) A new MS-DOS text analysis program has been released by the University of Toronto which has some functions that could be of value to cryptanalysts. Aside from word frequencies, KWIC, and the usual stuff, "TACT" analyzes "collocates", which are words found within a certain number of words from the target word. TACT has provisions for text markup, user-defined rule sets, scripts, and so on. It supports several languages by using extended ASCII. I wrote a little utility, appended below, to split ciphertext up into pseudo-words, so that TACT can handle the data. The program is free to anyone who can ftp to epas.utoronto.ca. It's in the /pub/cch/archive/tact/dist directory. For a (useful) printed manual and a diskette send $30 to this address: TACT Distribution Centre for Computing in the Humanities, Robarts Library, Room 14297A, University of Toronto, Toronto, Ontario Canada, M5S 1A5 ------------------cut--------------------------------------- /* wordify.c : break ciphertext into triples for analysis */ #include <stdio.h> #include <stdlib.h> /* for Unix use <sys/types.h> */ void usage(); main(argc, argv) int argc; char **argv; { int ch, i, j, round; FILE *in; in = fopen(argv[1], "r"); if (!in) usage(argv[0]); for (round = 0; round < 3; round++) { rewind(in); for (i = 0; i <= round; i++) { ch = getc(in); putchar(ch); } putchar(' '); while (ch != -1) { for (j = 0; j < 18; j++) { for (i = 0; i < 3; i++) { ch = getc(in); if (ch != ('\n')) if (ch != (' ')) putchar(ch); else i--; } putchar(' '); } putchar('\n'); } } fclose(in); } void usage(file) { printf("\nUsage: %s CIPHERFILE > WORDFILE", file); printf("\n\n\Purpose: to convert ciphertext to pseudo words for\n"); printf("analysis with the Tact programs\n"); exit(1); } /* R. Ames 8 Jun 91 */ -- Robert Ames P.O. Box 724, Station 'A' 416-593-6000 Toronto, Ontario, Canada -- comp.archives file verification epas.utoronto.ca total 21 drwxr-xr-x 2 bradley cchftp 512 Jun 8 11:18 dist drwxr-xr-x 2 1155 user 512 May 20 18:15 tactutil drwxrwxr-x 2 bradley cchftp 512 May 10 10:05 tactdemo drwxr-xr-x 2 bradley cchftp 512 Apr 26 14:43 dist1.2 -rw-rw-r-- 1 mccarty user 1497 Apr 26 12:21 tact-l.notice -rw-rw-r-- 1 mccarty cchftp 6758 Apr 26 12:11 whatis.tact found tact ok epas.utoronto.ca:/pub/cch/archive/tact/