Scytale
Just a very simple python script to calculate the scytale-cipher through an cli-wizard.
The projects main purpose is to showcase interesting tooling to build, publish and develop python apps.
Code Status
Code documentation: https://scytale.readthedocs.io
Description
The scytale was used more than 2500 years ago by the Spartans, and is one example of ancient cryptography. A message gets written on a ribbon which is then wrapped around a stick with a certain diameter (the scytale).
Below is a sample encryption of the plain text "prove me wrong!" with a scytale of diameter 3. We write the message around the scytale, and then
|p|r|o|
- - -
|v|e| |
- - -
|m|e| |
- - -
|w|r|o|
- - -
|n|g|!|
The cipher text is obtained by reading from top to bottom, left to right. In this example, the cipher text is
pvmwnreergo o!
Setup
Using Nix
To follow this path at least Nix has to be installed (and flakes have to be enabled).
-
nix developwill drop you into a shell containing everything to further hack on the project. Inside the devShell invokingscytaleshould bring up a prompt. -
nix runwill run the default app of the flake file. -
nix buildwill build the default package with the help of poetry2nix -
default.nix is included to build the package the non-flake way with
nix-build. -
shell.nix contains instructions to provide a non-flake shell via
nix-shell.
Without Nix
At least Poetry needs to be installed.
-
poetry run scytalewill activate the poetry environment and execute the script held in pyproject.toml. If errors are occurringpoetry install(installs the virtual environment and all given requirements) -
poetry shell(activates and enters the virtual environment) -
poetry run python -m unittest discover(runs all tests). Alternativelypoetry run python -m pytest teststo use pytest for test execution.
Release files for scytale-cipher 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scytale_cipher-0.1.2.tar.gz | 4.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scytale_cipher-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.7 kB
Release files / scytale_cipher-0.1.2.tar.gz
| Download URL | scytale_cipher-0.1.2.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a180fa19319a01516ad08a2b41fb71190b49fbe83b6ae363d9abcdef9f69dfa
|
|
BLAKE2b-256 checksum How to use checksums |
f06b4b81e37f02953007a18a017b94cb76eeeaec35164d2a8b24514267e27aaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.10.9 Linux/5.15.0-1024-azure
|
Release files / scytale_cipher-0.1.2-py3-none-any.whl
| Download URL | scytale_cipher-0.1.2-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
327d35e4cb43577eb6997df5c1c20c07035b61e9b9876d197908d8b5946d3938
|
|
BLAKE2b-256 checksum How to use checksums |
cdc374bf232dd40b3e092f3e5b326684c51d86e30cfc3ab17632be9ca1c4e149
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.10.9 Linux/5.15.0-1024-azure
|