EncodeDecode
Tableau:
Message:OBKR UOXOGHULBSOLIFBBWFLRVQQPRNGKSSO TWTQSJQSSEKZZWATJKLUDIAWINFBNYP VTTMZFPKWGDKZXTJCDIGKUHUAUEKCAR
Preload: K1 K2 K2b K3 K4 K4? Wikipedia
The cipher key will alter the alphabet on top. The alphabet key changes the tableau. The plaintext key changes the letters on the left.Encoding method: Look up the plaintext on the left, look up the letter of the passphrase on top. Find the tableau letter where they meet.Decoding method: Look up the letter of the passphrase on top, scan down to the encrypted letter, go left to the plaintext letter.
I was going to add a "spin" so you can change each row's spin, but then problems pop up if you have two rows that are identical. Using a plaintext key approaches the same result but avoids potential problems.