C# Polyalphabetic Substitution Cipher implementation