# Keyword ciphers a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z --|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|-- k | e | y | w | o | r | d | a | b | c | f | g | h | i | j | l | m | n | p | q | s | t | u | v | x | z * Taking a more Pythonic approach --- # The cipher * Still character-by-character substitution, still monosubstitution. Ciphertext alphabet: start with a keyword, write out the rest of the alphabet, removing duplicates. ## Three variants Write out the rest of the alphabet... 1. ...starting from 'a' (keywordabcf...) 2. ...starting from the last unique letter of the keyword (keywordfgh...) 3. ...starting from the largest letter of the keyword (keywordzabc...)