X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;ds=sidebyside;f=szyfrow%2F__init__.py;h=4419d0839c7ccf4455df33f8b7cb0750eafcce9c;hb=b535d9d75e69cc395e8de28c99e38564655e5ac9;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hpb=f19a021eabb3222709b9d513839a14c01cfdfd38;p=szyfrow.git

diff --git a/szyfrow/__init__.py b/szyfrow/__init__.py
index e69de29..4419d08 100644
--- a/szyfrow/__init__.py
+++ b/szyfrow/__init__.py
@@ -0,0 +1,26 @@
+"""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.
+"""
\ No newline at end of file