Introduction

The Tcl cipher extension is an ambitious effort to be a generic cipher manipulation architecture for cipher types in use by the American Cryptogram Association.

This package includes an extension the Tcl language that implements new Tcl commands for manipulating ciphers. In addition, there are a handful of scripts that use these new Tcl commands to do useful things with these new Tcl commands. For example, the command "key generate" is used in conjunction with the "cipher create aristocrat" command to implement a brute force search for solving patristocrat ciphers.

There are also a couple of graphical tools for performing these cipher manipulations.

The English frequency tables were obtained by performing a tally on the text from Mary Shelley's novel Frankenstein. The text was obtained from Project Gutenburg.

Quick Links

Download the latest release (1.6.0) as a Binary RPM or a Windows self-extracting installer. Or just get the Source Code (as a source rpm) and build it yourself. See the Project Page at SourceForge for earlier versions, access to the CVS repository, and message boards.

New Tcl Packages

Several new Tcl packages are provided by this software. Each package provides a handful of new Tcl commands. These packages include:

Applications

tcipher
Tcl interpreter with the cipher package already loaded.
ctool
Graphical tool for manipulating ciphers.
tkcrithm
Graphical tool for autosolving cryptarithm ciphers.
csolve
Autosolver for a variety of cipher types. This program iterates through all possible keys and uses a customizable scoring function to determine the best solution.
keysquaresearch
Autosolver for cipher types that use keysquares. A dictionary of possible keywords is used to generate possible keysquares. A customizable scoring function is used to determine the best solution.
nicsolve
Autosolver for nicodemus ciphers.
patsearch
Autosolver for K1, K2, and K3 keyed patristocrats. A dictionary of possible keywords is used to generate the keyed alphabets. A customizable scoring function is used to determine the best solution.
dumproute
Show the plaintext resulting from all possible routes for a given route cipher block width.
genboard
Generate a tableau for solving many ciphers by hand.
key2col
Generate a columnar cipher from a saved aristocrat/patristocrat solution so that the keyword may be sought after.
k3search
Search for K3 keyed alphabets that match a given key. A dictionary of possible keywords is used to find matches.
k4search
Attempt to resolve a K4 alphabet into its component keywords. A dictionary of possible keywords is used for one of the K4 keywords. Likely keyed alphabets for the other keyword are shown.
genscores
Generate scoring tables from samples of plaintext.
lethist
Useful letter frequency analyzer.

Back to the Index
wart@kobold.org
Created on Wed Mar 31 08:18:23 PST 2004
SourceForge.net Logo