Skip to content
mallyvai edited this page Sep 13, 2010 · 8 revisions

HashBash was an attempt to use genetic algorithms to create hash functions. I created this in the Fall 2008 term (junior year/3rd year) as a class project for EECS 475 (Cryptography).

It consists of several major components:

  1. A simple custom assembly language.
  2. A simulator for executing programs made with the assembly language
  3. A generator that creates pseduo-random assembly programs
  4. A fitness-checking algorithm that determines the suitability of a given program as a cryptographic hash function
  5. A breeder that uses a simple breed-and-probabilistically-mutate algorithm

Read the paper for more details ( http://cloud.github.com/downloads/mallyvai/hashbash/paper.pdf ).

The codebase may or may not be functional at the moment – in my defense, this was intended as a science project, not an engineering one :-)

If there is a sufficient response, of course, I’ll be happy to clean it up and make it easier to use, so that you too may have dozens of custom stochastically created hash functions lieing around for whatever purpose as I currently do.

Clone this wiki locally