Thanks for this. Have you considered using a GPU to speed up computations?
I could turn it into a learning project with no practical applications. It would be a good platform to learn about OpenCL, and see if the benchmarking times improve.
Take a look at my Pythagorean cipher. It's idiotic and not practical, but it's just neat.