Crank v0.1.4
============

Author: Matthew Russell <twig5151@yahoo.com>
Homepage: http://crank.sourceforge.net/

See 'BUGS' for current bugs.
See 'TODO' for planned features soon to be implemented.
See 'HISTORY' for changes over versions.
See 'NEWS' for notable changes in this version.

Installation
============

On Linux:
---------

You'll need gdk/gtk+ to build crank, both the libraries and the header files. 
These could already be installed, otherwise you might need a gtk+-devel RPM 
or equivalent for your distro.

- Unpack Crank after downloading it:

% tar xvzf crank-0.1.4.tar.gz

- Change directory to where Crank has been unpacked.

% cd crank-0.1.4

- Run 'configure'

% ./configure

- Compile the sources:

% make

- Install Crank to 

% make install

- Run crank

% crank

On Windows:
-----------

NOTE: The libraries that Crank run off need more than 256 colours in the display to work. If
your display only is using 256 colours, you may be able to change this by using the Display
Settings from the Control Panel.

    From precompiled binaries (usual installation)
    ----------------------------------------------

    To install Crank onto Windows, unzip the crank-win-0.1.4.zip file into
a directory, and then you can run it from there. This file is quite large
(over 1 Meg), since it includes the gtk+/gdk/glib libraries. If you want
to upgrade to a new release of Crank (say, when 0.1.5 comes out), you
don't need to download these libraries again, just the Crank files. For
this purpose, you can download crank-win-no-gtk-0.1.4.zip instead, which
should be around 100k. You'll need to copy the following DLLs from your
old Crank version, either into the new Crank folder, or to your system dll
folder:

glib-1.3.dll
inconv-1.3.dll
gtk-1.3.dll
gmodule-1.3.dll
gnu-intl.dll
gdk-1.3.dll  

    From source code
    ----------------

Crank can be compiled under Windows using mingw and the
Win32 port of GTK+. You can download precompiled binary packages from
Sourceforge, but if you wish to compile it yourself, here's (vaguely) how:

1. Download and unpack the Crank source tarball, and the Windows gtk+ libraries zip.
2. Download and install mingw (http://www.mingw.org), including the gcc compiler, runtime,
binutils and GNU make.
3. Download all of the gtk+ developer packages from:
http://user.sgic.fi/~tml/gimp/win32/downloads.html and install them into the same directory
4. Rename 'Makefile.mingw' as just 'Makefile', and edit it to tell it the
location of the unpacked gtk+/gdk etc libraries.
5. Run 'make'
6. Repeat steps 4-5 in 'plugin-src', followed by a 'make install' there
6. Copy the following DLLs from the gtk directories to your compilation
directory (or one of your system DLL folders):

glib-1.3.dll
inconv-1.3.dll
gtk-1.3.dll
gmodule-1.3.dll
gnu-intl.dll
gdk-1.3.dll  

7. Crank should (might) run correctly...

Usage Summary
=============

The main area in Crank is the source pane showing the untouched, presumably encrypted, text,
and the view of it transformed using the current mode, hopefully decrypted into plain
text. This current mode has controls of its own at the top of the screen. Each mode
corresponds to a different tool for decrypting a cipher. Other tools simply bring up a display
window of some kind.

The 'monoalphabetic.key-controls' bring up a controls box including the following:
Invert - find the inverse of the substitution
Shift <<, Shift >> - do a Caesar shift on the key
Reverse - Reverse the order of the key
Complete - Fill in any blanks in an arbitrary fashion
Clear - Remove all key entries
Change (x) - (y) - Change the key mapping for individual letters

'text.simple-filters' allows you to strip away numbers, punctuation and
whitespace, and capitalise or lower case letters, or group letters into fives.

'statistics.n-grams' displays 1, 2, and 3 letter combination counts (unigram,
bigram and trigram, respectively), as well as error summaries from the
expected values.

'monoalphabetic.hillclimb-cracker' invokes the automatic cracker, which isn't that strong yet. It
works by randomly trying to improve the key's error rating by slightly
altering the key. The trial key alterations are minor at the start, but
they begin increasing the longer it's been since the last improvement. To
successfully decrypt a message, you generally need about 2-3000 characters
of text (excluding whitespace, punctuation, etc), though it can be more or
less depending on the exact ciphertext.

'utilities.notepad' provides a space to jot down notes on the cryptogram under study.

'steganalysis.word-gaps' deals with revealing hidden messages in word and letter gaps.

'transposition.grid-controls' allows you to rearrange various letters on a grid and read them
off again in order to break columnar transposition ciphers and similar schemes.
to 

A sample encrypted text file has been given - "ciphertext.txt" - which you
can use Crank to decrypt.

