http://www.perlmonks.org?node_id=128975


in reply to Ximp

This is fun but not too serious crypo. Your wheels have period 16. Give wheel0 9 elements instead of 8 and the period goes to 144=9*16. If the keyword is relatively prime in length, multiply by that length to get the new period. With a long enough plaintext, it's pretty easy to deduce the repetition length and language. From that follows character frequency analysis.

It's also a concern that addition of random elements in a fixed range _reduces_ randomness.

After Compline,
Zaxo