Skip to main content

noxcrypt

Boîte à outils interactive (interface plein écran en couleurs, dans le terminal) pour chiffrer / déchiffrer les encodages et chiffrements classiques des CTF. Pensé comme arsenal-ng : tu cherches, tu choisis, tu tapes, tu vois le résultat en direct.

Installation

pip install noxcrypt            # depuis PyPI (une fois publié)
pipx install noxcrypt           # recommandé sur Kali (pas de conflit système)
pip install .                   # depuis les sources

Python 3.10+.

Utilisation

noxcrypt                         # interface interactive
noxcrypt tui "SGVsbG8=" -a auto  # interface, texte et algo préremplis

Dans l'interface

Touche Action
Tab changer de zone (recherche / liste / clé / entrée / résultat)
Ctrl+F aller à la recherche (rot, base, xor, morse…)
F2 ou Ctrl+T basculer Chiffrer / Déchiffrer
F3 ou Ctrl+G copier le résultat (presse-papiers + OSC52, marche en SSH/tmux)
F4 ou Ctrl+R envoyer le résultat dans l'entrée (pour enchaîner)
Ctrl+Q quitter

Le résultat se met à jour à chaque frappe. L'entrée auto (par défaut) essaie tous les décodeurs sans clé, y compris en chaîne (ex. base64 > hex), et classe les pistes par score. Les entrées brute testent toutes les clés (César, XOR 1 octet, rail fence, affine).

En ligne de commande (sans interface)

noxcrypt list
noxcrypt enc rot13 "Hello CTF"
noxcrypt dec base64 "SGVsbG8gQ1RG"
noxcrypt dec vigenere "lxfopvefrnhr" -k lemon
noxcrypt dec affine "rclla" -k 5,8
noxcrypt enc xor "secret" -k 0x2a
echo "uryyb" | noxcrypt dec rot13
noxcrypt dec base64 -f fichier.txt
noxcrypt auto "NjY2YzYxNjc3YjYzNjgzNDMxNmU3ZA=="
noxcrypt brute caesar "khoor zruog"
noxcrypt brute xor 2d2e23262...      # entrée en hexa

enc / dec écrivent le résultat brut (sans couleur) : utilisable dans un pipe.

Algos (24)

Type Algos
BASE base64, base64url, base32, base58, base85, ascii85
NUM hex, binary, octal, decimal, a1z26
SUBST rot13, rot47, caesar, atbash, vigenere, affine, bacon
TRANS reverse, railfence
XOR xor (clé texte ou 0xHEX, entrée/sortie en hexa)
CODE morse
WEB url, html

Clés : caesar → 3 · vigenere → lemon · affine → 5,8 · railfence → 3 · xor → 0x2a ou key.

Limites (à connaître)

  • auto ne tente rot13 / rot47 / atbash / reverse / César qu'en bout de chaîne, et ne les affiche que si le résultat contient un mot connu ou un flag. Un texte dans une langue absente de la petite liste de mots peut passer à côté.
  • Le score est une heuristique (mots courants, forme flag{...}, bigrammes anglais/français). Lis toujours les premières pistes, pas seulement la première.
  • brute xor ne casse que les clés d'un seul octet.
  • Pas (encore) de RSA, AES, Playfair, XOR multi-octets, ni de cassage de hash.

Développement

python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
pytest
python -m build        # wheel + sdist (pip install build)

Ajouter un algo : écrire enc / dec dans src/noxcrypt/algos.py, puis l'ajouter à la liste _ALGOS. Il apparaît tout seul dans l'interface, la CLI, auto et la recherche.

Licence

MIT

Metadata

Release files for noxcrypt 0.1.0

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

Source distribution (sdist)

Source distribution for noxcrypt 0.1.0
File Size Uploaded Provenance
noxcrypt-0.1.0.tar.gz 23.0 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 44.0 kB

Release files / noxcrypt-0.1.0.tar.gz

Download URL noxcrypt-0.1.0.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
942aa1850e4e6337a6b152efa81ca2fca45876cc0ff6eea312c5d2a3e3805814
BLAKE2b-256 checksum
How to use checksums
91791f43ee9b75659e13131f4171abbf0e8068b96099b254dc70cc9b407697f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / noxcrypt-0.1.0-py3-none-any.whl

Download URL noxcrypt-0.1.0-py3-none-any.whl
Size 21.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30ad7a186b9daafe0c25467f031c024dde3a5a43f324ea7a4b5a2561e56b8333
BLAKE2b-256 checksum
How to use checksums
2af570828fae3730285540cad2c5bfe93fb1ed0423011fc0fe781ed2df6c48f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for noxcrypt 0.1.0

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