Positron11 / cheshire

Playfair cipher breaker employing the technique of simulated annealing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cheshire

Abstract

A Playfair cipher breaker implemented in python, employing the technique of Simulated Annealing using simple n-gram language analysis as the objective function.

The Name

The idea for the name came to me when I began to try and understand how stochastic optimization methods such as Simulated Annealing work. The analogy holds especially strong for Metropolis-Hastings - while it does somewhat "care where", getting somewhere as long as it walks for long enough is certainly a driving mechanic of the algorithm. For those who aren't familiar with the book, the following is a bit of dialogue between Alice P. Liddell and the Cheshire Cat in Lewis Carrol's 1865 book Alice's Adventures in Wonderland:

Alice Liddell: Would you tell me, please, which way I ought to go from here?
Cheshire Cat: That depends a good deal on where you want to get to.
Alice Liddell: I don't much care where-
Cheshire Cat: Then it doesn't much matter which way you go.
Alice Liddell: ...so long as I get somewhere.
Cheshire Cat: Oh, you're sure to do that, if only you walk long enough.

- Lewis Carrol, Alice's Adventures in Wonderland

About

Playfair cipher breaker employing the technique of simulated annealing.

License:MIT License


Languages

Language:Python 100.0%