Skip to main content

Szyfow ciphers

Simple (mainly manual) ciphers, and routines for enciphering, deciphering, and breaking messages created with them.

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.

Metadata

Release files for szyfrow 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for szyfrow 0.0.7
File Size Uploaded Provenance
szyfrow-0.0.7.tar.gz 5.0 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for szyfrow 0.0.7
File Interpreter ABI Platform
szyfrow-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 9.9 MB

Release files / szyfrow-0.0.7.tar.gz

Download URL szyfrow-0.0.7.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
6b864fa3fea98e726e7921ef592ce1b8c861507b75d2ea98deb0f348e15615be
BLAKE2b-256 checksum
How to use checksums
9337b9b8bc918d5ea0716876d66f769d533c749a7a38eb20e37ec88257fe686d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

Release files / szyfrow-0.0.7-py3-none-any.whl

Download URL szyfrow-0.0.7-py3-none-any.whl
Size 5.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f08f3d96f46e023fd67c405c77944b29c84ebc8c2c6a16b230f55ac51b855f10
BLAKE2b-256 checksum
How to use checksums
76649422746f1c1b6572e10a7b93673e748d0b54b33394fb623a12c1ffc3717f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

Security for szyfrow 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page