Hide in Image
Um Daten sicher zu übertragen, ist es sinnvoll sie zu verschlüsseln. Dadurch ist es für potentielle Angreifer zumindest nicht mehr so trivial an die geheime Botschaft zu kommen. Besser ist es jedoch, wenn ein Angreifer zusätzlich gar nicht weiß, dass es sich hierbei um eine Nachricht handelt, die nicht für die Öffentlichkeit gedacht ist (Steganographie).Hier setzt Hide in Image an! Hide in Image ist eine Java-Library, mit der es möglich ist Wörter und binäre Daten in einem Bild zu verstecken. Die Bilder können gespeichert und später (an einem anderen Ort) wieder von der Nachricht extrahiert werden. Dabei stellt diese Java-Library die Schnittstelle dar, um ein BufferedImage entsprechend zu manipulieren. Die Daten werden nicht in Kommentaren, EXIF-Feldern oder an anderen, leicht einsehbaren Orten abgespeichert, sondern direkt in den Farbkanälen versteckt eingebettet. Dadurch ist es selbstverständlich notwendig das Bild verlustfrei abzuspeichern (PNG oder BMP bietet sich hierfür an).
Hide in Image manipuliert das jeweils letzte Bit der Farbkanäle (Rot, Grün, Blau und ggf. Alpha) und versteckt dort die Daten. Trotzdem ist es unmöglich für das menschliche Auge zu erkennen, dass in diesem Bild weitere Informationen versteckt sind, da ...
- ... sich jeder Pixel (und somit auch das Bild) maximal um 0,0039 Prozent vom Original unterscheidet
- ... die durchschnittliche Unterscheidung zum Original gerade mal bei 0,00196 Prozent liegt
- ... wenn das Bild als BMP gespeichert wird, sich die Größe im Vergleich zum Original nicht einmal um ein einziges Bit verändert
- ... wenn das Bild als PNG gespeichert wird, sich der Speicherverbrauch im Vergleich zum Original nur geringfügig verändert (das Bild kann unter Umständen sogar kleiner werden)
Java Version 1.5 wird benötigt.
Download
- Binarys (10,2 KB)
- Source (7,79 KB)
- Lizenz (201 B)
- API Dokumentation (95,2 KB)
- API Dokumentation (Online)
