Breaking keyword ciphers
[cipher-training.git] / cipher.py
index bde9ea1edae60438c4ea131690c9221c689f1eab..f71d1c1c574f8a1e76fb29074414cf5a68c73e47 100644 (file)
--- a/cipher.py
+++ b/cipher.py
@@ -262,31 +262,6 @@ def keyword_decipher(message, keyword,
     cipher_translation = ''.maketrans(cipher_alphabet, string.ascii_lowercase)
     return message.lower().translate(cipher_translation)
 
-
-def vigenere_encipher(message, keyword):
-    """Vigenere encipher
-
-    >>> vigenere_encipher('hello', 'abc')
-    'hfnlp'
-    """
-    shifts = [ord(l) - ord('a') for l in sanitise(keyword)]
-    pairs = zip(message, cycle(shifts))
-    return ''.join([caesar_encipher_letter(l, k) for l, k in pairs])
-
-def vigenere_decipher(message, keyword):
-    """Vigenere decipher
-
-    >>> vigenere_decipher('hfnlp', 'abc')
-    'hello'
-    """
-    shifts = [ord(l) - ord('a') for l in sanitise(keyword)]
-    pairs = zip(message, cycle(shifts))
-    return ''.join([caesar_decipher_letter(l, k) for l, k in pairs])
-
-beaufort_encipher = vigenere_decipher
-beaufort_decipher = vigenere_encipher
-
-
 if __name__ == "__main__":
     import doctest
     doctest.testmod()