with just enough valid keys, you might even try some pattern matching algorithm 
how about a support vector machine or a multilayer perceptron to solve the riddle ?

how about a support vector machine or a multilayer perceptron to solve the riddle ?