Fotochiffre
Verstecke eine verschlüsselte Nachricht in einem Foto, ausgelegt auf moderate Neukomprimierung durch Chat-Apps.
Ausgelegt auf moderate JPEG-Neukomprimierung.
So funktioniert es
Was das Tool macht
Die Fotochiffre versteckt eine verschlüsselte Nachricht in einem gewöhnlichen Foto, und zwar so, dass sie eine moderate JPEG-Neukomprimierung überstehen soll, wie sie Chat-Apps und soziale Netzwerke mit Bildern durchführen. Wer das Foto erhält, öffnet es hier mit demselben Passwort und bekommt die Nachricht zurück.
Wie die Nachricht versteckt wird
Das Foto wird in Blöcke von 8×8 Pixeln aufgeteilt, dasselbe Raster, mit dem JPEG arbeitet. Jeder Block trägt ein Bit, indem seine durchschnittliche Helligkeit auf die nächste gerade oder ungerade Stufe einer Skala mit 24 Stufen verschoben wird. Diese Technik heißt Quantization Index Modulation und wurde um 1998 von Brian Chen und Gregory Wornell beschrieben. Die JPEG-Kompression erhält die durchschnittliche Helligkeit eines Blocks recht gut, deshalb überstehen die Bits sie meist. Jedes Bit wird 7-mal in Blöcke geschrieben, die über das ganze Bild verteilt sind, und ein Mehrheitsentscheid korrigiert beschädigte Kopien.
Verschlüsselung und Kapazität
Vor dem Verstecken wird die Nachricht mit AES-256-GCM verschlüsselt, mit einem Schlüssel, der per Argon2id (64 MiB Speicher, 3 Durchläufe) aus deinem Passwort abgeleitet wird. Das Foto wird so skaliert, dass seine Seiten zwischen 800 und 2.048 Pixeln lang sind. Die Kapazität ist gering: Ein Foto mit 800×800 Pixeln fasst etwa 78 Zeichen, größere Fotos entsprechend mehr.
Grenzen
Skalieren, Zuschneiden, Filter, Helligkeitsänderungen oder sehr starke Kompression zerstören die versteckten Daten, und manche Apps verkleinern große Fotos automatisch. Sende das Foto nach Möglichkeit als Datei und teste es vorher. Die Helligkeitsänderungen können auf glatten Flächen wie Himmel als leichte Blockbildung sichtbar werden. Das Versteckmuster ist öffentlich, sodass jeder mit diesem Tool erkennen kann, dass ein Foto Daten enthält; geschützt ist nur der Inhalt, durch dein Passwort. Alles läuft in deinem Browser, und das Foto wird nicht hochgeladen.