Ah, that would be more of a challenge.

I found a site with a Java based cracker which was very interesting. It required manual intervention to interperet the results and retry but the technique it used was interesting.

I don't think that a 100% successful automated cracker is at all possible, although one that can offer a number of likely results should be.

Selecting an couple of unlikely characters like "Q","X" and "Z" to use as word punctuation will peturb the letter frequency sufficiently to defeat the letter frequency analysis method of determining key word length and alphabet shift.

In that case I'll post my code.