
Python-Steganographie-Tool, um Bilder oder Text in Bildern zu verstecken
Matroschka ist ein Kommandozeilen-Steganographie-Tool, das in reinem Python geschrieben ist. Sie können damit Texte oder Bilder in den niederwertigsten Bits von Pixeln eines Bildes verstecken und verschlüsseln.
Die Verschlüsselung verwendet HMAC-SHA256, um die versteckten Daten zu authentifizieren. Dazu wird das bereitgestellte MAC-Passwort mit dem SHA-256-Digest gehasht, um den HMAC-SHA256-Schlüssel zu erzeugen. Der MAC und die Nachrichtendaten werden weiterhin mit dem XTEA-Algorithmus im CFB-Modus mit 32 Iterationen verschlüsselt, bevor sie in die Bilddaten eingebettet werden. Der SHA-256-Hash für den XTEA-Schlüssel wird aus den 128 höherwertigen Bits des bereitgestellten Passworts erstellt. Im CFB-64-Bit-Blockchiffre wird ein zufälliger 8-Byte-Seed verwendet.
Der zufällige Seed wird an das versteckte Geheimnis angehängt und zusammen mit dem vom Benutzer bereitgestellten Passwort verwendet, um die versteckte Nachricht mittels des XTEA-Blockchiffres gemäß dem Verschlüsselungsprozess zu entschlüsseln. Weiterhin wird das entschlüsselte Geheimnis authentifiziert, indem der eingebettete HMAC-Hash mit dem HMAC-SHA256 der extrahierten versteckten Nachricht und dem vom Benutzer bereitgestellten MAC-Passwort verglichen wird.
Dies ist ein Spaßprojekt. Verwenden Sie es nicht für ernsthafte Verschlüsselungszwecke!
Möglicherweise möchten Sie Matroschka in einer virtualenv installieren, in der Pillow installiert ist. Klonen Sie das Repository und navigieren Sie zum Stammverzeichnis. Das war's.
pip install Pillow
git clone [email protected]:fgrimme/Matroschka.git
cd Matroschka
Es werden nur verlustfreie Bildformate unterstützt. Daher wird empfohlen, PNG- oder BMP-Bilder zu verwenden, um Ihr Geheimnis zu verstecken. Das Geheimnis kann entweder eine Textdatei mit der Erweiterung .txt oder ein Bild mit der Erweiterung .png und dem entsprechenden Format sein.
Hinweis: Wenn Ihr Bild transparente Pixel enthält, werden nach dem Einbetten der Daten höchstwahrscheinlich Artefakte sichtbar. Dies wird durch die Manipulation des niederwertigsten Bits in jedem Farbkanal der Pixel verursacht.
Geheimnis verstecken
python matroschka.py -hide -m <mac-passwort> -k <passwort> <geheimnis> <bild>
Geheimnis enthüllen
python matroschka.py -open -m <mac-passwort> -k <passwort> <bild>
Beispiel
matroschka_medium.png wird in matroschka_big.png versteckt und verschlüsselt
python matroschka.py -hide -m foo -k bar resources/matroschka_medium.png resources/matroschka_big.png
Das Entschlüsseln des Bildes speichert das extrahierte Bild in resources/secret-image.png
python matroschka.py -open -m foo -k bar resources/matroschka_big.png
GNU General Public License 3.0