🛡️ NanoVault
NanoVault est un outil de stéganographie binaire conçu pour dissimuler des messages chiffrés à l'intérieur d'images PNG. Basé sur les fonctionnalités de Python 3.8+, il se distingue par sa philosophie "Zero-Dependency" : tout le code repose exclusivement sur la bibliothèque standard.
✨ Points Forts
- 🔒 Chiffrement Robuste : Utilise
PBKDF2-HMAC-SHA256avec $100,000$ itérations pour transformer votre mot de passe en clé sécurisée. - 🧊 Zéro Dépendance : Aucun
pip installrequis pour le cœur du logiciel. Uniquementhashlib,secrets, etargparse. - 👻 Totalement Invisible : Les données sont injectées après le chunk
IEND. L'image reste parfaitement lisible par toutes les visionneuses. - 🛡️ Protection par Sel (Salt) : Chaque fichier possède son propre sel de 16 octets généré de manière cryptographique via
secrets.token_bytes().
🚀 Installation
Pour installer NanoVault et l'utiliser comme une commande globale :
- Cloner le dépôt :
git clone [https://github.com/Loup0007A/Nanovault.git](https://github.com/Loup0007A/Nanovault.git) cd NanoVault
- Installer le package :
pip install .
🛠️ Utilisation (CLI)
Une fois installé, utilisez la commande nanovault directement :
📥 Cacher un secret
bash
nanovault hide "image.png" "Message secret" "output.png" --password "MonPass"
📤 Extraire un secret
bash
nanovault extract "output.png" --password "MonPass"
🧠 Fonctionnement Technique
NanoVault manipule directement les octets du fichier PNG :
-
Dérivation de Clé Nous utilisons la fonction de dérivation de clé pour ralentir les attaques par force brute : $$Key = PBKDF2(HMAC, Password, Salt, 100,000, SHA256)$$
-
Injection Binaire Le script scanne le fichier pour trouver le marqueur de fin officiel du PNG : \x49\x45\x4e\x44\xae\x42\x60\x82. Le payload est construit comme suit : [IMAGE_ORIGINALE] + [START_SECRET] + [SALT] + [SALT_TAG] + [ENCRYPTED_DATA] + [END_SECRET]
📦 Intégration API
Vous pouvez importer NanoVault dans vos projets :
```python
from nanovault import hide_data, extract_file
# Cacher
hide_data("photo.png", "Secret", "resultat.png", "password")
# Extraire
msg = extract_file("password", "resultat.png")
print(msg)
```
📜 Licence
Distribué sous la licence MIT. Voir le fichier LICENSE pour plus de détails.
Développé avec passion pour la cybersécurité en Pure Python.
Metadata
Release files for nanovault 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nanovault-1.0.1.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nanovault-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.9 kB
Release files / nanovault-1.0.1.tar.gz
| Download URL | nanovault-1.0.1.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
951448a134b09ba83bb54869d08029d5d23968c3f9fc6387c6aabb9c9b6666bf
|
|
BLAKE2b-256 checksum How to use checksums |
4179eaa52a20218be15a799b0d0ac672fc45737f3f00f6995bd35d4cff030a8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / nanovault-1.0.1-py3-none-any.whl
| Download URL | nanovault-1.0.1-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
460085887c9a7075e8d94e5079db9a370e124a7aeb29d3cc35944948600f54c3
|
|
BLAKE2b-256 checksum How to use checksums |
266d5aac3c29abb77c0149aa0ee70ad3e35be4c159dfbf151e7b57149494dfc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|