Package szyfrow
+Simple ciphers, enciphering, deciphering, and breaking.
+The ciphers implemented here are mostly ones that predate mechanical cipher +systems. The most complex cipher is the Enigma of World War II.
+Each cipher is presented with functions to encipher, decipher, and +automatically break messages with that cipher.
+Most of the time, messages are broken by brute-force trying each possible key +and scoring the resulting deciphered message using a bag-of-words probability +measure (or a bag-of-bigrams, or a bag-of-trigrams).
+You can find more information on the ciphers and how they are implemented in +the codes and ciphers area of my blog.
+Ciphers work on messages encoded with the 26 letters of the Latin alphabet,
+without accents (the letters contained in the string.ascii_letters
constant).
+Most of the ciphers convert letters to lowercase, strip accents from letters,
+and drop all other characters (such as spaces and punctuation).
szyfrow.support.text_prettify
contains functions to make the output easier
+to read, such as automatically recovering word boundaries.
The name comes from the Polish cipher bureau, the Biuro Szyfrów, who were +breaking Enigma ciphers by hand before World War II.
++Expand source code +
+"""Simple ciphers, enciphering, deciphering, and breaking.
+
+The ciphers implemented here are mostly ones that predate mechanical cipher
+systems. The most complex cipher is the Enigma of World War II.
+
+Each cipher is presented with functions to encipher, decipher, and
+automatically break messages with that cipher.
+
+Most of the time, messages are broken by brute-force trying each possible key
+and scoring the resulting deciphered message using a bag-of-words probability
+measure (or a bag-of-bigrams, or a bag-of-trigrams).
+
+You can find more information on the ciphers and how they are implemented in
+the [codes and ciphers area of my blog](https://work.njae.me.uk/tag/codes-and-ciphers/).
+
+Ciphers work on messages encoded with the 26 letters of the Latin alphabet,
+without accents (the letters contained in the `string.ascii_letters` constant).
+Most of the ciphers convert letters to lowercase, strip accents from letters,
+and drop all other characters (such as spaces and punctuation).
+
+`szyfrow.support.text_prettify` contains functions to make the output easier
+to read, such as automatically recovering word boundaries.
+
+The name comes from the Polish cipher bureau, the Biuro Szyfrów, who were
+breaking Enigma ciphers by hand before World War II.
+"""
+Sub-modules
+-
+
szyfrow.affine
+-
++
Enciphering and deciphering using the affine cipher. +Also attempts to break messages that use an â¦
+ szyfrow.amsco
+-
++
Enciphering and deciphering using the Amsco cipher. +Also attempts to break messages that use â¦
+ szyfrow.autokey
+-
++
Enciphering and deciphering using the Autokey cipher. +Also attempts to break messages that use a â¦
+ szyfrow.bifid
+-
++
Enciphering and deciphering using the Bifid cipher. +Also attempts to break messages that use a Bifid â¦
+ szyfrow.bombe
+-
++
A simulator for Bombe machines â¦
+ szyfrow.cadenus
+-
++
Enciphering and deciphering using the Cadenus cipher. +Also attempts to break messages that use a â¦
+ szyfrow.caesar
+-
++
Enciphering and deciphering using the Caesar cipher. +Also attempts to break messages that use a Caesar â¦
+ szyfrow.column_transposition
+-
++
Enciphering and deciphering using the Column transposition cipher. +Also attempts to break messages that â¦
+ szyfrow.enigma
+-
++
A simulator for Enigma machines â¦
+ szyfrow.keyword_cipher
+-
++
Monoalphabetic substitution ciphers, mainly done by keyword. Enciphering +and deciphering, and a couple of ways to break these ciphers.
+ szyfrow.language_model_files
+-
++
Descriptions of English, used for building language models â¦
+ szyfrow.playfair
+-
++
Enciphering and deciphering using the Playfair cipher. +Also attempts to break messages that use a â¦
+ szyfrow.pocket_enigma
+-
++
The Pocket Enigma machine, a simple example that illustrates the mechanisms +of the Enigma machine. See [a â¦
+ szyfrow.polybius
+-
++
Simple digraph substitution cipher, using the +Polybius square. Enciphering +and deciphering, and a â¦
+ szyfrow.railfence
+- + + +
szyfrow.support
+-
++
Support utilities for ciphers â¦
+ szyfrow.vigenere
+-
++
Vigenère polyalphabetic substitution ciphers, +mainly done by keyword. Also does Beaufort â¦
+