Myszkowski ciphers are interesting transposition ciphers that use a code word to shuffle letters in a message.
The key to a Myszkowski cipher is a code word that has repeated letters in it. A memorable word, like TOMATO, might be used, but you could also make up a random code word, like AAFIFK
To encrypt a message, write your code word at the top of a grid. Beneath the codeword, write your message from left to right, moving down a column when you reach the end of a row.
For example, with code word TOMATO and message "WATCH OUT" (I've written the spaces as underscores below, so it's easier to see what's going on):
When you have written your entire message out beneath the codeword organise your columns so that your code word at the top is now in alphabetical order.
Now merge the columns that have matching code word letters:
Finally, read out your cipher text column by column; left to right. Don't forget to include the spaces:
To decrypt a message, write the code word at the top of a grid. To see how many rows your grid will need, divide the length of the cipher text by the length of the code word.
Now write your cipher text into your grid, filling up the columns in alphabetical order. When you fill up columns with repeated header letters, you'll have to fill all the repeated columns in simultaneously.
Making Your Own Key
This is really easy. Simply pick a new code word. A good code word is hard to guess, contains repeating letters, and is a good size. A good size means that it's not so small that it's easy to see which of your columns have repeating letters (e.g. EGG) or so large that your columns are really short (e.g. SUPERCALIFRAGILISTICEXPIALIDOCIOUS)
Here's a key that you can edit. When you change the key the example plaintext will be encrypted for you. Can you see how it all works?