Frage

Was sind die grundlegenden und simpliest Steganographie Algorithmen und Methoden?

Ich meine die Steganographie auf Bilder angewendet.

Wie funktioniert ein einfaches Programm, dass Häute Daten zu Bildern arbeiten? Was sind die wichtigsten Techniken? Wie funktioniert das Programm erkennt die verschlüsselte Nachricht in Bild, ohne das Quellbild?

War es hilfreich?

Lösung

  

Was sind die grundlegenden und simpliest Steganographie Algorithmen und Methoden? Ich meine, die Steganographie auf Bilder angewendet.

Ich habe eine Bibliothek für diesen in der Vergangenheit lange Zeit geschrieben vor, damit ich den Prozess beschreiben kann.

Im Grunde genommen, wenn Sie ein Dateiformat haben, sagen wir mal, die 24-Bit-BMP-Format. Zuerst müssen Sie einen Weg, um das Lesen und Schreiben von Pixeln in diesem Dateiformat. Entweder können Sie eine Bibliothek verwenden oder eigene schreiben, wenn Sie erfahren, was das Dateiformat ist.

Ein Bild kann als eine Reihe von Pixeln betrachtet werden. Betrachten wir ein 4x4 Pixel-Bild:

  

x x x x
  x x x x
  x x x x
  x x x x

Anzahl dieser Pixel 1 bis 16:

  

01 02 03 04
  05 06 07 08
  09 10 11 12
  13 14 15 16

Jedes Pixel, das oben nummeriert ist, hat eine rote Komponente, eine grüne Komponente und eine blaue Komponente. Jede dieser Komponenten ist jeweils 1 Byte und so jede Komponente kann als ein Wert von 0 bis 255 betrachtet werden (24-bit = 8 Bits für rot, 8 Bits für grün, 8 Bits für blau). Also jeder der oben genannten Zahlen haben drei Sätze von Werten von 0 bis 255

So im obigen Beispiel mit einem 4x4-Bild, das Sie insgesamt 16pixels haben * 3color_components = 48 Byte Daten in Ihrem Bild. Normalerweise, was Sie tun, ist die Verwendung nur das niedrigstwertige Bit jeder Farbkomponente Ihr Bild zu kodieren. In diesem Fall würden Sie für Sie da 48 Bits Datenbits haben = 6 Bytes für Sie jede 6-Byte-Nachricht zu codieren, die Sie wollen.

Um diesen leichte obwohl gerade Look let macht eine einfache 3-Bit-Nachricht in ein einzelnes Pixel bei kodiert. Und nehmen wir an, wir verwenden nur 1 Bit pro Farbkomponente. Lassen Sie uns sagen, dass wir die 3-Bit-Nachricht verschlüsseln möchten: 111

Hier ist ein Beispiel für den Wert Pixel 1 oben hat, bevor Sie codieren die Daten:

R: 10101011
G: 11111010
B: 00011010

Was Sie tun, ist die Veränderung nur das niedrigstwertige Bit auf die neuen Daten:

R: 1010101 1
G: 1111101 1
B: 0001101 1

Das Pixel wird das gleiche für das menschliche Auge sehen, aber jetzt sind Sie mit dem am wenigsten signifikanten Bit, die Daten repräsentieren Sie kodieren wollten.

Wenn Sie mehr als 3 Bits von Daten in einem einzelnen Pixel kodieren möchten, können Sie das auch tun. Was passiert, ist, dass Sie mehr codieren als nur das niedrigstwertige Bit, um die mindestens 2 Bits verwenden können, oder die mindestens 3 usw. Je mehr Bits Sie verwenden, werden Sie anfangen, ein wenig Unterschied in der bemerken Bildqualität. Sie können bis zu 7 Bits obwohl und das Bild erkennbar aussehen wird immer noch verwendet werden.

Normalerweise haben Sie eine Menge mehr als 3 Bits von Daten, die Sie allerdings zu kodieren möchten. Je mehr Daten, die Sie kodieren möchten, müssen Sie haben entweder mehr Pixel haben, oder mehr Bits pro Pixel verwenden, um die Daten zu codieren. Angenommen, Sie haben 9 Bits von Daten, die Sie kodieren wollen, auch wenn Sie nur die am wenigsten signifikanten Bit verwenden, dann müssen Sie 3 Pixel zu kodieren, dass Informationen. Wenn Sie nur 1 Pixel verwenden, wenn Sie, dass durch die Verwendung der 3 niedrigstwertigen Bits pro Farbkomponente zu codieren tun können, dass die Daten.

diese Art von Arbeit zu tun, werden Sie wahrscheinlich mit Datenbits für leicht arbeiten einige Funktionen erstellen werden wollen, dass abstrahieren die Komplexität der ständig mit Bitoperatoren beschäftigen.

Die Technik wird für verschiedene Dateiformate variieren, aber das Konzept ist das gleiche. Steganographie kann auch beziehen sich nur noch die Daten zum Beispiel in einem GIF-Erweiterungsblock zu verstecken. Normalerweise verstecken Sie es, indem die Pixel des Bildes variiert obwohl, oder in einigen Dateiformaten der Farbnachschlagetabelle.

Einige Bilder haben eine Farbtabelle in der Kopfzeile und dann die Pixel-Indizes in diese Farbtabellen. Was können Sie tun, ist neu, um die Farbnachschlagetabelle so die ähnlichsten Farben nahe beieinander sind, dann c Sieein Datum encode sowohl in die Farbnachschlagtabelle selbst und in die Indizes des Pixels. Weil es keine Rolle, ob der Index etwas ändert, weil die Lookup-Tabelle bestellt wird nach ähnlich zu sein.

Sie müssen wirklich ein Verständnis für die Dateiformate haben, obwohl diese Art von Arbeit zu tun. Oder zumindest eine Bibliothek verwenden, die das Dateiformat und Dateidaten für Sie bearbeiten können. Wenn Sie wirklich in diesem Thema interessiert sind, schlage ich mit einem einfachen Dateiformat wie BMP zu beginnen und es zu lernen. Sie können immer Dateiformat-Spezifikationen auf Seiten wie www.wotsit.org finden.

  

Wie funktioniert das Programm erkennt die verschlüsselte Nachricht in Bild, ohne das Quellbild?

Sie sind richtig. Das Programm, das die Informationen decodiert nicht das Quellbild benötigen. Wie dies funktioniert, ist, dass es einfach das Gegenteil der Fall ist, wird das Programm benötigen, wie viele Bits von Daten wissen, dass Sie enoded verwenden und diese zu dekodieren verwenden. Es wird einfach Iterierte über jedes Pixel und die Bits in Bytes kombinieren und schreiben diejenigen in eine Datei Bytes aus.

Andere Tipps

Abändern niedrigstwertigen Bits der Bitmap-Pixel.

Für eine gute Übersicht finden Sie unter Seite

Es gibt buchstäblich unendlich viele Möglichkeiten, sich zu verstecken Informationen in Bildern.

Eine einfache Möglichkeit ist zu bemerken, dass das niedrigstwertige Bit jedes RGB-Wert ändert sich nicht einen spürbaren Unterschied machen, so dass die am wenigsten signifikante Bit jedes Byte in der Bildeinstellung gibt uns Bits (#-bits-in-image / 8) in versteckten Daten zu speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top