Zkdecrypto-lite Zkdecrypto-lite is one of the most amazing tools I have ever seen. It will almost instantly solve homophonic ciphers. You just won't believe this tool. Includes many famous ciphers. A more extensive description is here.
A selection of Linux distributions; I didn't include Ubuntu, since I linked to it elsewhere. Your distro will include OpenOffice or LibreOffice, R, bash, Perl, and other needful tools.
Here's a sample bash script to run zkdecrypto-lite in batch mode on the restricted 340 cipher text:
#!/bin/bash
COUNTER=$((0))
NUM=$((0))
while [ $COUNTER -lt 50 ]; do
NUM=$((40*COUNTER))
echo Iteration: $COUNTER Seconds: $NUM
./zkdecrypto-lite cipher/340.zodiac.nofake3.txt -t $NUM >> zodiac-work-4.txt
COUNTER=$[$COUNTER+1]
done
This is the version which, fifty at a time, running overnight, created the 400 iteration file used for the main analysis (fifty iterations took about six hours):
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 50 ]; do
./zkdecrypto-lite cipher/340.zodiac.nofake3.txt -t 600 >> zodiac-work-2b.txt
let COUNTER=COUNTER+1
done
Since it appends to the outputfile, it is possible to have any number of processes replicating the solutions.
And here's the 340 cipher file ('340.zodiac.nofake3.txt') itself:
If you put this file into the "cipher" subdirectory in the location with zkdecrypto-lite, then run the above bash script, you'll get the results I got, appearing in the text file 'zodiac-work-4.txt.'
You can analyze the results by making a CSV file with the following Perl script, and then import the CSV file into the OpenOffice spreadsheet, or into R:
#!/usr/bin/env perl
use warnings;
my @rows;
open(my $fh, "<", "zodiac-400.txt")
or die "Failed to open file: $!
";
open(my $fh2, ">", "zodiac-400.csv")
or die "Can't open > output.txt: $!
";
while(<$fh>)
{
chomp;
$row = $_;
$row = join(",",split(//,$row));
print $fh2 $row;
print $fh2 "
"; } close $fh; close $fh2;
And following is the result of the above, the spreadsheet with the 400 iterations worth of solutions, in CSV spreadsheet format.
The reasoning behind this solution
Exactly how this solution was derived
The solution itself, with explanatory material
Resources so you can
recreate this solution
improve on this solution
Absolutely the least interesting and important thing here