Wie können Menschen verschlüsselte Bilder wie auf este Wiki-Seite? Gibt es ein spezielles Programm dafür, oder hat jemand beschlossen, etwas Dummes zu tun oder einfach nur eine Aussage über die EZB zu machen? Ich bin kein Grafiker, wenn es also Programme gibt, mit denen man verschlüsselte Bilder ansehen kann, welche sind das?
Antworten
Zu viele Anzeigen?Die Verschlüsselung arbeitet mit einem Strom von Bytes. Das heißt, sie nimmt eine Reihe von Bytes und gibt eine andere Reihe von Bytes aus. Bilder sind auch nur ein Array von Bytes. Wir weisen die "r"-Komponente des Pixels oben links dem ersten Byte zu, die "g"-Komponente dem zweiten Byte und die "b"-Komponente dem dritten Byte. Die "r"-Komponente des daneben liegenden Pixels ist das vierte Byte und so weiter.
Um also ein Bild zu "verschlüsseln", nimmt man einfach ein Byte-Array der Pixel des ersten Bildes, verschlüsselt es (die Verschlüsselung ändert die Anzahl der Bytes normalerweise nicht - abgesehen vom Auffüllen) und verwendet diese verschlüsselten Bytes als Pixeldaten für das zweite Bild.
Beachten Sie, dass dies etwas anderes ist als die Verschlüsselung eines ganzen Bildes Datei . Normalerweise hat eine Bilddatei einen bestimmten Header (z. B. den JPEG-Header usw.). Wenn Sie den Header verschlüsselt haben gesamte Datei dann wäre auch die Kopfzeile enthalten, und Sie könnten das Bild nicht "anzeigen", ohne das Ganze zu entschlüsseln.
Um ein verschlüsseltes Bild anzeigen zu können, muss es sich um ein unkomprimiertes Bildformat handeln, z. B. bmp. PNG, JPEG usw. sind komprimierte Bilder, so dass Sie diese nicht anzeigen können. Auch der Header des Bildes muss unkomprimiert sein. Wenn Sie solche Bilder verschlüsseln wollen, konvertieren Sie sie einfach in ein unkomprimiertes Format, öffnen Sie sie mit einem Hex-Editor und speichern Sie den Header. Danach können Sie das Bild mit AES/ECB verschlüsseln. Zum Schluss fügen Sie den ursprünglichen Header des Bildes ein. Nun sollten Sie in der Lage sein, das verschlüsselte Bild zu betrachten.
Es ist nicht nur ein dummes XOR (sie können alle XOR verwenden), aber ja, es ist nur da, um zu betonen, dass jedes Schema, das jedes Mal dieselbe Eingabe in dieselbe Ausgabe umwandelt, es leicht macht, Muster zu erkennen, die in der Eingabe vorhanden waren. Das Bild soll zeigen, wie leicht wir Tux in der "verschlüsselten" Ausgabe erkennen können. Der Autor hätte jede Art von Daten verwenden können, aber er hat ein Bild verwendet, weil das menschliche Auge sehr gut darin ist, Muster zu erkennen, und es daher ein gutes Beispiel ist.
Wie in dem Artikel beschrieben, verwenden bessere Systeme die Ausgabe des vorherigen Blocks, um den nächsten Block zu "randomisieren", so dass man keine Muster in der Ausgabe erkennen kann (wie in der Abbildung rechts).