ViCrypt
Overview
ViCrypt is a command line cryptography tool (currently a WIP) with basic encoding/decoding functionality! Featuring hex encode/decode, base64 encode/decode, base32 encode/decode, base85 encode/decode, URL encode/decode, binary encode/decode, atbash, ROT13, ROT47, ROT brute-force (all rotations), custom-offset rotation, affine encode/decode, affine brute-force (function exists but not wired to CLI), repeating-key XOR, single-byte XOR brute-force (in magic only), text and decimal codepoints, and the magic-wand auto-analyser (multi-layer beam search that auto-detects and decodes, scoring by printable ratio + common words + flag regex)
This project was inspired by gchq's Cyberchef, although no code was taken from it.
Installation
Requirements:
Python >= 3.9
In your terminal, run
pip install vicrypt
and you're good to go!
Usage
All commands take the form vicrypt <command> <text> [options].
| Command | Description | Example |
|---|---|---|
hex |
Hex encode / decode | vicrypt hex <text> |
b64 |
Base64 encode / decode | vicrypt b64 <text> |
b32 |
Base32 encode / decode | vicrypt b32 <text> |
b85 |
Base85 encode / decode | vicrypt b85 <text> |
url |
URL encode / decode | vicrypt url <text> |
binary |
Binary encode / decode | vicrypt binary <text> |
atbash |
Atbash cipher (self-inverse) | vicrypt atbash <text> |
rot |
ROT13 / ROT47, with brute-force | vicrypt rot <text> |
affine |
Affine cipher | vicrypt affine <text> -a 5 -b 8 |
xor |
Repeating-key XOR | vicrypt xor <text> --key <key> |
decimal |
Text to/from decimal codepoints | vicrypt decimal <text> |
analyse |
Auto-detect and decode (magic wand) | vicrypt analyse <text> |
Flags
| Flag | Applies to | Meaning |
|---|---|---|
-d, --decode |
codecs, affine, decimal |
decode instead of encode |
--variant |
rot |
rot13 (default) or rot47 |
-n |
rot |
rotation offset |
--brute |
rot |
print all rotations |
-a, -b |
affine |
cipher coefficients (required) |
--key |
xor |
XOR key (required) |
-d, --depth |
analyse |
max decode layers (default 3) |
-b, --beam |
analyse |
branches kept per layer (default 6) |
AI Use
AI was used for help on the pyproject.toml as well as the argparse module, however all encodings and encryptions were researched and coded and implemented by me.
Release files for vicrypt 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vicrypt-0.1.0.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vicrypt-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.3 kB
Release files / vicrypt-0.1.0.tar.gz
| Download URL | vicrypt-0.1.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b023e99fe52d6b9ee3215cbf201e9d0ce2cebee36d126ae726a6c68793a9b21
|
|
BLAKE2b-256 checksum How to use checksums |
92c99ac5cdf9725979f5ff06b40b11b05943948b760b375a7554b908ba4b7db1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / vicrypt-0.1.0-py3-none-any.whl
| Download URL | vicrypt-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
310fb969941780a533750fd65b1ae6da7d7260aabcee01744312598b492d2451
|
|
BLAKE2b-256 checksum How to use checksums |
72d47ea39a6fe932778157857acfdbb559fe691578fce0741674510f27ae6139
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|