XSIPS XenSimpleStega Encoder + Decoder (Steganographie)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@ziegenpeter
wenn Du das ganze mit ReadData in den Speicher liest, bist dem Ziel schon recht Nahe. Bin im Moment zu faul, das zu testen. Mit Strings wird es nicht funktionieren, da ja Zeichen verloren gehen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

_ZOMTEX_ hat geschrieben: Aber was man eventuell machen kann, muß ich mal testen, ein JPEG als "Originalbild"
erstellen und das "Informationsträgerbild" als PNG speichern, dass müßte
gehen.
Ich bin mal so kühn und behaupte: Nein, das geht nicht.

Denn letztenendes geht es ja um nix anderes, als den Unterschied zwischen zwei Werten.

Ob du nun den einen Wert veränderst, oder den anderen is da Jacke wie Hose.

Kann sein, dass du ein Bild erstellen kannst, dass keine Genauigkeitsverluste zu verzeichnen hat, aber für ein beliebiges Bild wird es nicht gehen.

Aus dem ganz einfachen Grunde, weil du ja sonst die Vergleichswerte veränderst.



BTW, das hab ich vorhin vergessen, zu erwähnen: Ich hab mir das damals net einfallen lassen, sondern ich hab es bei Galileo gesehen. Da gings aber glaub ich um Videos. Sollte ich wohl so fair sein, die Idee an sich nicht auf meine Kappe zu schreiben. Is bei dir ja wat anderes, wenn man es sich selbst ausdenkt is et ja letztenendes trotzdem die eigene Idee, auch wenn sie schonmal wer hatte :roll:.

Achja, und nochwat. Ich hab auch noch gleich nen Verschlüssler eingebaut
Sodass man selbst wenn man beide Bilder hat nichts machen kann, es sei denn, man kennt verschlüsselungsid und Passwort.

Das Passwort wird mit in der Datei verschlüsselt.

Somit hat man eine dreifache Sicherheit.
Wer die Datei entschlüsseln will muss
1.)Beide Dateien haben
2.)Die Verschlüsselungsid kenn
und
3.1)Das Passwort kennen (sonst sperrt sich mein Prog gegen eine Ausgabe)
oder
3.2)Wissen, wie mein Programm vorgeht und alle verschlüsselungs-, lese- , binarisierungs- und schreib- Algorithmen kennen.

Das wäre so einiges, was er wissen müsste, da die Verschlüsselung auf 3 Arten arbeitet.

Erste Art: Die Direkten ByteWerte werden verändert (10 verschiedene Arten, je nach Verschlüsselungsid)

Danach wird in Binärstring umgewandelt ("0100010")

Zweite Art: Die Verämderung des Binärstrings (10 verschiedene Arten, je nach Verschlüsselungsid)

Dritte Art: Die Art, wie die Binärdaten nun in die Datei geschrieben werden.

Alles in allem würd ich das ganze jetzt mal als Unknackbar bezeichnen, wenn man nicht 3 der 4 Dinge kennt

Da hätte sicher auch "Translator"(Entschlüsselungsmaschine der NSA aus Dan Brown: "Digital Fortress") seine Probleme mit ^^
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
_ZOMTEX_
Beiträge: 41
Registriert: 29.08.2004 06:30
Wohnort: BW
Kontaktdaten:

Beitrag von _ZOMTEX_ »

@Franky
Ich bin mal so kühn und behaupte: Nein, das geht nicht.
Ich denke aber schon, dass man ein JPEG als Refernzbild verwenden kann.
Wenn Du vom JPEG die einzelnen Pixel darstellst und die Werte
RGB ausliest und veränderst und das Ergebis in ein PNG speicherst,
hast Du ja ein "verlustfreies Format" erzeugt und das JPEG hat sich ja
keinesfalls verändert. Wenn Du es später wieder lädst, werden die Pixelwerte
immer noch die selben sein wie vorher und das PNG ist ja sowieso so wie Du
es abgespeichert hast.

Verschlüsselung der Nutzdaten wäre natürlich auch noch eine zusätliche
Sicherheit, die man einbauen könnte, wär dann ein nächster Schritt.
Was auch noch gut ist, die Daten vorher zu Packen (komprimieren).

@zigapeda

Die Rohdaten miteinander zu kombinieren um dann auf die Zip-Datei zu kommen, wird so nicht funktionieren. Das PNG ist ja schon komprimiert.
Die Nutzdaten werden nicht in die Rohdaten des PNGs eingearbeitet!!
Du mußt die Pixelwerte auslesen und bis runter auf die kleinste
Informationseinheit steigen. Nur so kannst Du die Zip-Datei
erfolgreich extrahieren!

Gruß

Michael
Googleist Dein bester Freund!
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Lustige Idee Daten in ein Bild zu schrieben hab ich mir au mal überlegt, nur dann kam ich zu dem schluss das es ja eigendlch doch ziemlich unnütz ist das man das bild fürs entschlüsseln eh irgendwie zum entschlüsseln irgewndwo speichern muss und auserdem is es ja so das das eigendlich halt nur ein verdammt riesen PW is. Und da mann schon bei 100 Stellen PW ewig zum entschlüsseln brauchen würde find ich das es das net so ganz bringt...
Hab aber au mal eine Verschlüssler/Entschlüssler geschrieben der wandelt aber die Datei einfach durch ein PW verschlüsselt in ein BIld um das sieht dann bissle doof aus aber dafür is es net soooooooooooooooooo rießig sondern eher klein...
Benutzeravatar
Mischa
Beiträge: 152
Registriert: 29.08.2004 06:52
Wohnort: Hellhorst

Beitrag von Mischa »

Was die Blüten betrifft...

Code: Alles auswählen

Pure Basic
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von PureBasic)

Pure Basic, entwickelt von Frédéric Laboureur (Fantaisie Software, Frankreich), ist ein kommerzieller Compiler für Windows, 
Linux und AmigaOS (Mac OS X in Planung). Die Programme sind klein und schnell, die Syntax eine Mischung aus Basic und C. 
Neben vielen stark optimierten Bibliotheken (GUI-Gadgets, Grafik, Sound, Netzwerk, Datenbank, Kompression, Kryptografie, ...) 
kann man direkt die WinAPI ansprechen und Assemblercode verwenden (Inline-Assembler). Außerdem ist es möglich, eigene Bibliotheken zu schreiben.
Des weiteren bietet PureBasic seit Version 3.5 eine rudimentäre 3D-Engine (OGRE 3D), mit der es möglich ist, schnell und einfach kleine 3-D-Anwendungen zu programmieren. 
Ein wesentlicher Vorteil gegenüber anderen Programmiersprachen besteht auch besonders darin, dass sich die Sprache in ständiger Weiterentwicklung befindet, 
nach und nach immer mächtiger wird und neue Befehle und Optimierungen hinzukommen. Außerdem erhält man mit dem Erwerb vom Pure Basic automatisch die Berechtigung, 
alle folgenden Updates kostenfrei herunterzuladen. Es fallen auch keine weiteren Kosten beim Vertrieb des Programmes mehr an, das geschriebene Programm kann lizenzfrei vermarktet werden, 
ohne Auflagen seitens der Hersteller beachten zu müssen.

Die aktuelle Version für Windows ist 3.93 und für Linux 3.92. Für Mac OS X steht eine Betaversion für alle Besitzer der Vollversion zum Test zur Verfügung. (Stand: 13. März 2005)

Hier ein Purebasic Codebeispiel für das "Hallo Welt" Programm in der Kommandozeile:

   OpenConsole()              ; Oeffnet die Konsole
     Print("Hallo Welt!")     ; "Hallo Welt" in Konsole ausgeben
     Delay(3000)              ; Programm fuer 3000 Millisekunden anhalten
   CloseConsole()             ; Konsole wieder schließen  
Hat 23 Minuten gedauert :wink:

Gruß,
Mischa
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

WOW

Beitrag von Konne »

Net schlecht
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Test

Beitrag von Konne »

Versucht mal das zu entschlüsseln...
:D
Is warscheinlich zu easy ich tipp auf unter 10 min...

|
|
V
[img]http://www.komani.de/Entschlüsselt.png[/img]
Benutzeravatar
Mischa
Beiträge: 152
Registriert: 29.08.2004 06:52
Wohnort: Hellhorst

Beitrag von Mischa »

@Konne:

1. Wenn Du eine eigene Verschlüsselung anzubieten hast, schreib'
einen eigenen Beitrag. Dieser hier gilt _Zomtex_ Verschlüsselung.

2. Leg Deine Verschlüsselungsmethode bitte offen.
Das hat _Zomtex_ ja schließlich auch gemacht, oder?

Danke.

Gruß,
Mischa
Benutzeravatar
_ZOMTEX_
Beiträge: 41
Registriert: 29.08.2004 06:30
Wohnort: BW
Kontaktdaten:

Beitrag von _ZOMTEX_ »

Nun ist natürlich mein Part mich zu dem Beitrag von Mischa zu äußern.
Was die Blüten betrifft...

Code:
Pure Basic
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von PureBasic)

Pure Basic, entwickelt von Frédéric Laboureur (Fantaisie Software, Frankreich), ist ein kommerzieller Compiler für Windows,
Linux und AmigaOS (Mac OS X in Planung). Die Programme sind klein und schnell, die Syntax eine Mischung aus Basic und C.
Neben vielen stark optimierten Bibliotheken (GUI-Gadgets, Grafik, Sound, Netzwerk, Datenbank, Kompression, Kryptografie, ...)
kann man direkt die WinAPI ansprechen und Assemblercode verwenden (Inline-Assembler). Außerdem ist es möglich, eigene Bibliotheken zu schreiben.
Des weiteren bietet PureBasic seit Version 3.5 eine rudimentäre 3D-Engine (OGRE 3D), mit der es möglich ist, schnell und einfach kleine 3-D-Anwendungen zu programmieren.
Ein wesentlicher Vorteil gegenüber anderen Programmiersprachen besteht auch besonders darin, dass sich die Sprache in ständiger Weiterentwicklung befindet,
nach und nach immer mächtiger wird und neue Befehle und Optimierungen hinzukommen. Außerdem erhält man mit dem Erwerb vom Pure Basic automatisch die Berechtigung,
alle folgenden Updates kostenfrei herunterzuladen. Es fallen auch keine weiteren Kosten beim Vertrieb des Programmes mehr an, das geschriebene Programm kann lizenzfrei vermarktet werden,
ohne Auflagen seitens der Hersteller beachten zu müssen.

Die aktuelle Version für Windows ist 3.93 und für Linux 3.92. Für Mac OS X steht eine Betaversion für alle Besitzer der Vollversion zum Test zur Verfügung. (Stand: 13. März 2005)

Hier ein Purebasic Codebeispiel für das "Hallo Welt" Programm in der Kommandozeile:

OpenConsole() ; Oeffnet die Konsole
Print("Hallo Welt!") ; "Hallo Welt" in Konsole ausgeben
Delay(3000) ; Programm fuer 3000 Millisekunden anhalten
CloseConsole() ; Konsole wieder schließen


Hat 23 Minuten gedauert

Gruß,
Mischa
Ich muß hier leider bestätigen, dass der Text von Mischa, den er hier gepostet hat exakt mit dem Inhalt übereinstimmt, den ich in das Blütenbild eingearbeitet habe.

Weiterhin möchte ich mich für meine Überheblichkeit am Anfang meines Threads bei allen hier Entschuldigen und meine Aussage über die
Sicherheit meiner Methode als wiederlegt erklären!


In meinem "jugendlichen Leichtsinn" war ich davon absolut überzeugt,
und wurde aber, wie Ihr hier sehen könnt eines Besseren belehrt und auf den Boden der Tatsachen zurückgeholt und für meine Überheblichkeit hart bestraft. Es lehrt mich mal wieder, dass man sich nie seiner Sache absolut sicher sein kann. Und es bestätigt mir wieder meine Vermutung, dass es in unserer Welt scheinbar doch nichts wirklich sicheres zu geben scheint.

Nun steh ich da mit heruntergelassenen Hosen am Pranger dieses Forums und fühl mich nicht wirklich wohl dabei und werde wohl einsehen müssen in Zukunft lieber länger über eine Sache nachzudenken bevor ich sie als perfekt ansehe. Und ich sollte mich vielleicht lieber anderen Themen zuwenden, bei denen es nicht um Sicherheit geht.


@Mischa,

erstmal sag ich dazu nur respekt und ziehe mein Hut, wie ich das oben geschrieben habe.


Nun möchten hier bestimmt alle wissen und insbesondere ich, wie Du es geschafft hast mein Verfahren auszuheben und den Text ohne das "Originalbild" zu extrahieren. Und ich wäre Dir sehr dankbar, wenn Du mir die Schwachstelle aufzeigst. Ich geh mal davon aus, dass Du Dich in der Welt der Grafik sehr gut auskennst anderst kann ich mir es nicht erklären, wie es überhaupt möglich sein kann.

Also bitte berichte uns :oops: und wenn Du dazu Code hast, dann nur her damit. Und sag mir vielleicht auch, ob es überhaupt eine Methode gibt, das ganze Wasserdicht zu machen, bin jetzt aber überhaupt nicht mehr davon überzeugt!

Aus meiner prekären Lage heraus möchte ich Euch jetzt das Programm + den Sourcecode zur Verfügung stellen. Obwohl ich weiß, dass wahrscheinlich niemand mehr nach dieser Niederlage eine Verwendung dafür haben möchte. Aber schaut es Euch vielleicht doch an!

http://www.xensonsoft.de/xsips/XSIPS.zip

In diesem Sinne, ich werde jetzt schlafen gehen und schreckliche Alpträume werden mich heimsuchen...

Gruß

Michael
Googleist Dein bester Freund!
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag von redacid »

Die "Sicherheit", die bei der Steganographie zu sehen ist, rührt größtenteils daher, dass ein Otto-Normal-Betrachter gar nicht weiß, dass in dem Bild eine Information versteckt ist. Auch wenn du mittlerweile weißt, dass dein Idee keine Weltneuheit ist, solltest du bedenken, dass schon viele schlaue Köpfe sich mit dieser Technik befasst haben. In der c´t gibt es regelmäßig Artikel zu diesem Thema.
Antworten