Trägerbild oder Audiodatei wählen
Wählen Sie das Bild, die WAV- oder MP3-Datei, die die Daten tragen soll, ziehen Sie sie hinein oder fügen Sie sie ein. Größere Dateien bieten mehr Platz; detailreiche Fotos oder Musik verbergen Änderungen am besten.
Eine Browser-Portierung von steghide 0.5.1 mit beiden Verfahren: Pixel/LSB für BMP und PNG sowie DCT-Koeffizienten für JPEG, ergänzt um PCM-WAV- und MP3-Audioträger. Verstecken Sie eine Datei oder Nachricht und lesen Sie sie mit der Passphrase wieder aus.
Ihre Datei und Ihr Geheimnis verlassen dieses Gerät nicht. Decodierung, Einbettung, Verschlüsselung und Extraktion erfolgen in diesem Browsertab. Es wird niemals etwas auf einen Server hochgeladen; dort kann daher auch nichts abfließen.
Größere Träger bieten mehr Platz: Bilder etwa ein Byte pro acht Pixel, PCM-WAV ein Byte pro sechzehn Samples und MP3 den ungenutzten Platz in den Audioframes.
steghide Befehlszeilenwerkzeug auslesen möchten. Die PNG-Ausgabe erhält dieselben rohen Pixeldaten, aber die steghide-CLI kann PNG nicht lesen.
Um das Geheimnis in diesem Bild zu enthüllen, führen Sie diesen Zauber aus: Zeichnen Sie mit Ihrem Zeiger drei vollständige Kreise um das Bild – im oder gegen den Uhrzeigersinn – und die versteckten Daten erscheinen.
Ihre Spur leuchtet beim Zeichnen; pro geschlossenem Kreis leuchtet ein Mond auf. Wenn Sie den Zeiger anheben oder das Bild verlassen, verblasst der Zauber. Kein Zeiger? Fokussieren Sie das Bild und drücken Sie die Eingabetaste.
Hier erscheinen Dateiname, Größe und Prüfsummenstatus. Text wird als Text angezeigt, Bilder als Bilder und Audio mit einem Player. Alle anderen Dateitypen können nur heruntergeladen werden.
Ohne Installation und Upload: Bild, WAV oder MP3 wählen, Geheimnis hinzufügen und Ergebnis speichern.
Wählen Sie das Bild, die WAV- oder MP3-Datei, die die Daten tragen soll, ziehen Sie sie hinein oder fügen Sie sie ein. Größere Dateien bieten mehr Platz; detailreiche Fotos oder Musik verbergen Änderungen am besten.
Fügen Sie eine beliebige Datei hinzu oder schreiben Sie eine Nachricht und wählen Sie eine Passphrase. Diese bestimmt, wo die Daten verteilt werden, und verschlüsselt sie optional.
Speichern Sie das Ergebnis für steghide-Kompatibilität als BMP oder für eine kleinere Datei als PNG. Wer Bild und Passphrase besitzt, kann die Daten auslesen.
ImageSteg ist eine TypeScript-Portierung von steghide 0.5.1 und umfasst beide Verfahren: Pixel/LSB für BMP und PNG sowie DCT für JPEG. Zusätzlich trägt es Daten auf dieselbe Weise in PCM-WAV-Audio und im ungenutzten Ende von MP3-Frames. Keines dieser Verfahren durchläuft die Datei einfach der Reihe nach.
Samples werden zu Knoten gruppiert. Ein Matching mit minimalem Gewicht bestimmt die Änderungen, sodass pro verstecktem Wert nur etwa ein Sample verändert wird.
Ein integrierter JPEG-Entropie-Codec liest die quantisierten DCT-Koeffizienten, versteckt Daten in ihrer Parität und codiert sie erneut – an derselben Stelle im Ablauf, an der libjpeg in steghide anhält. Baseline- und progressive Dateien werden unterstützt.
Eine Permutation mit MD5-basiertem Startwert verteilt die Daten über das gesamte Bild. Die versteckten Nutzdaten liegen daher nicht in vorhersehbarer Reihenfolge vor.
zlib verkleinert die Nutzdaten vor der Einbettung. Eine optionale CRC32-Prüfsumme zeigt sofort, ob das ausgelesene Ergebnis zuverlässig ist.
Rijndael im CBC-Modus mit derselben Schlüsselableitung wie libmcrypt hält die Nutzdaten vertraulich, selbst wenn jemand ein Bild verdächtig findet.
Praktische Grenzen beim Verstecken von Daten in Bildpixeln.
Kompatibilität: Bitlayout, Sample-Permutation und Rijndael-/CBC-Verschlüsselung entsprechen steghide 0.5.1. BMP- und JPEG-Ausgaben lassen sich daher auslesen mit steghide extract -sf image.bmp -p passphrase oder -sf image.jpg; vom steghide-Befehlszeilenwerkzeug erzeugte Dateien lassen sich hier lesen. Das Ausgabeformat entspricht immer dem Träger: Ein JPEG-Träger ergibt ein JPEG, da die Nutzdaten in Koeffizienten liegen, die nur JPEG transportieren kann. Für Pixelträger wird neben BMP auch PNG angeboten; die steghide-CLI liest kein PNG.
Die JPEG-Unterstützung von steghide ruft in libjpeg folgende Funktion auf: jpeg_read_coefficients(). Sie hält die Decodierung direkt nach der Huffman-Decodierung an, vor Dequantisierung und IDCT. Übrig bleiben die rohen quantisierten DCT-Koeffizienten. Browser stellen dafür keine API bereit. Deshalb enthält diese Seite einen eigenen JPEG-Entropie-Codec statt des nativen Decoders. Er unterstützt Baseline- und progressive Dateien, einschließlich ihrer sukzessiven Verfeinerungsscans.
jpeg_write_coefficients() . Eine arithmetisch codierte Quelle wird bei der Ausgabe daher als Baseline oder progressiv gekennzeichnet.Der Einbettungsalgorithmus kennt kein Dateiformat, sondern arbeitet nur auf den decodierten Pixeldaten. Das BMP-/LSB-Verfahren von steghide lässt sich daher unverändert auf PNG übertragen. Vier Details sind in der Praxis wichtig:
Ja. Das Verstecken und Auslesen von Daten ist kostenlos, ohne Registrierung, Wasserzeichen oder künstliche Dateigrößenbegrenzung.
Nein. Decodierung, Einbettung, Komprimierung und Verschlüsselung laufen lokal in Ihrem Browser mit JavaScript und WebCrypto. Es wird nichts an den 73hi-Server gesendet.
Jedes vom Browser decodierbare Bild kann als Pixelträger dienen. Baseline- und progressive JPEG-Dateien nutzen das DCT-Verfahren von steghide. Das Ausgabeformat folgt dem Träger: JPEG hinein, JPEG heraus; ein Pixelträger ergibt ein BMP und eine PNG-Kopie. Das steghide-Befehlszeilenwerkzeug liest BMP- und JPEG-Ausgaben, aber kein PNG.
In den quantisierten DCT-Koeffizienten, genau wie das steghide-Befehlszeilenwerkzeug. Die Seite enthält einen JPEG-Entropie-Codec, der den Scan bis zu den Koeffizienten decodiert, ihre Parität ändert und sie erneut codiert.
Ja. Progressive Dateien werden mit ihrer vollständigen Scanfolge – Spektralauswahl und sukzessiver Verfeinerung – decodiert und auf dieselbe Weise zurückgeschrieben. Das Ergebnis bleibt ein progressives JPEG mit den ursprünglichen Koeffizienten.
Sie werden zum Lesen unterstützt. Dateien mit QM-Codierung (binär arithmetisch) statt Huffman – SOF9 für sequentiell, SOF10 für progressiv – werden mit demselben arithmetischen Decoder wie in libjpeg decodiert. Die Koeffizienten sind daher identisch. Das Ergebnis wird wie bei steghide mit Huffman-Codierung geschrieben.
Etwa ein Byte Nutzdaten pro acht Pixel, abzüglich Header, gespeichertem Dateinamen und optionalem Verschlüsselungsaufwand. Das Werkzeug zeigt die nutzbare Kapazität nach der Bildauswahl an.
Ja, wenn Sie BMP herunterladen. Bitlayout, passphrasenbasierte Sample-Permutation und Rijndael-/CBC-Verschlüsselung entsprechen steghide 0.5.1.
Die Nutzdaten liegen in einzelnen Pixelwerten. Erneute Komprimierung, Größenänderung, Filter oder Umwandlung in ein verlustbehaftetes Format wie JPEG zerstören sie. Bewahren Sie das ursprüngliche BMP oder eine verlustfreie PNG-Kopie auf.
Nicht durch zweimaliges Einbetten in dieselbe Datei. Der zweite Durchlauf wählt eigene zufällige Positionen im gesamten Träger und überschreibt Teile der ersten Nutzdaten. Da die Daten vor der Verschlüsselung komprimiert werden, machen bereits wenige gekippte Bits die gesamte Nachricht unlesbar. Sie geht vollständig verloren, nicht nur teilweise. Das ursprüngliche steghide-Befehlszeilenwerkzeug verhält sich genauso. Auch dieselbe Passphrase hilft nicht: Sie schreibt dieselben Positionen von Anfang an neu, sodass nur die neueste Nachricht erhalten bleibt. Für echte Ebenen verschachteln Sie Dateien: Verstecken Sie das erste Geheimnis in einem kleinen Bild, laden Sie das Ergebnis herunter und verstecken Sie diese gesamte Datei mit einer zweiten Passphrase in einem größeren Bild. Jede Ebene bleibt bytegenau erhalten, da sie als geschützte Nutzdaten statt als veränderte Pixel transportiert wird.
Nein. Beim Laden werden nur die Bytes gelesen: JPEG-Träger werden direkt bis zu den quantisierten DCT-Koeffizienten decodiert, ohne inverse Transformation oder erneute Quantisierung. Pixelträger werden verlustfrei decodiert. Die versteckten Daten bleiben daher unverändert. Ein JPEG kann nach dem Speichern eine leicht andere Dateigröße haben, weil die Entropiecodierung neu geschrieben wird; die Nutzdaten beeinflusst das nicht. Sie können eine von anderen vorbereitete Datei gefahrlos öffnen und auslesen.
Ja. Betten Sie Ihren Urheberrechtshinweis oder Eigentumsnachweis direkt in das Foto ein. Die Daten liegen in den Pixeln oder JPEG-Koeffizienten und bleiben bei normaler Betrachtung unsichtbar. Sie können das Bild daher öffentlich teilen, ohne dass die Markierung auffällt. Bei unerlaubter Weiterverwendung befindet sich die versteckte Markierung weiterhin in der Datei. Wenn Sie dasselbe Bild zur Dokumentation der Verletzung auf einer Drittplattform veröffentlichen, trägt auch diese Kopie Ihren Nachweis und liefert Belege für eine Entfernung oder einen Anspruch.
Natürlich. Verstecken Sie eine Nachricht wie „Ich liebe dich“ oder andere schwer auszusprechende Worte in einem gewöhnlichen Alltagsfoto und verwenden Sie den Geburtstag der empfangenden Person als Passphrase. Senden Sie ihr das Foto und bitten Sie sie, es in ImageSteg oder unter 73hi.com/image-steg.html zu öffnen. Nur wer die Passphrase kennt, kann die Worte lesen. So können Sie sich ausdrücken, ohne sie laut aussprechen zu müssen.