2008-12-06 11 views
5

Ich möchte etwas Text auf eine Seite legen und einige Daten in diesem Text ausblenden. Kennt jemand irgendwelche Methoden/Muster, die in der Vergangenheit verwendet wurden, um dieses Problem zu lösen?Können Sie Daten im Text verstecken?

Beispiel: Ich habe den folgenden Text: "Die Katze saß auf dem Hund und war glücklich."

Ich habe auch die Nummer 123. Ich möchte diese Nummer in diesem Satz so verbergen, dass der Satz auf einer Webseite platziert werden kann und nur jemand in der Lage wäre, die Daten zu finden.

Antwort

4

HTML macht es ziemlich einfach, dies tatsächlich zu tun. Keine Notwendigkeit für wirklich schlaue Mengen von Steganographie, usw. Lassen Sie uns sehen:

Dieser Satz bettet 123 und stoppt dann die Einbettung.

Dieser Satz bettet 0102 ein und stoppt dann die Einbettung.

(Wir werden sehen, ob es in Abschlag tatsächlich funktioniert, aber ich vermute, so.) Zugegeben es ist ziemlich offensichtlich, wenn Sie wissen, dass etwas es zu suchen, aber ich denke, Sie zustimmen werden nicht offensichtlich zu zufälligen Beobachtern.

Ich habe es als ein kleines Puzzle, um das Schema zu erarbeiten, aber fügen Sie einen Kommentar, wenn Sie es explizit erklärt werden möchten.

+0

Aktivieren Sie unbedingt die Komprimierung auf Ihrem HTTP-Server, wenn Sie dies tun! –

+1

Ja, wenn Sie große Datenmengen übertragen, könnte es etwas unhandlich werden. –

-1

Nun, Sie könnten etwas wie this versuchen ... nicht sicher, ob das genau das ist, wonach Sie suchen.

0

Es kann einen Algorithmus geben, der diesen Satz in 123 umwandelt, aber ich denke, im Allgemeinen müssen Sie einige Änderungen am Text akzeptieren, wenn Sie einen möglichen numerischen Wert speichern müssen!

1

Ich denke, was Sie suchen ist etwas namens Steganographie. Corinna John hat eine ausgezeichnete Sammlung von Artikeln zum Thema auf CodeProject.

http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=475133

+0

Um hinzuzufügen ... wenn Sie den Links bei CodeProject folgen, gelangen Sie auf ihre Homepage .. die auf Do-It Yourself Steganographie ... http: //www.binary-universe.net/ – torial

9

Natürlich ist dies getan werden kann.

Was Sie beschreiben, ist in einer umfassenden Beschreibung genannt Steganography.

Zum Beispiel könnten Sie eine Nummer in einer solchen Art und Weise kodieren, dass Sie die Anzahl der Wörter zählen, bis Sie den Buchstaben B zu sehen, wobei in diesem Fall 123 als codiert werden könnte:

You belong to the beautiful group of people being elite. 

Die Sache ist, die Person, die Ihre Nachricht entschlüsseln will, muss Ihren Algorithmus kennen.

Bearbeiten Ich merke, dass meine Zahlen um eins sind. Beginnen Sie mit der Zählung bei 0 und Sie werden die Zahl 123 sehen.

0

Wenn der 'Text' tatsächlich ein Bild war, dann könnten Sie Daten darin verstecken mit steganography - die Daten sind in der binären Bilddatei versteckt, ohne den Weg zu beeinflussen das Bild sieht aus.

+1

Das Ausblenden von Daten in Bildern ist nur ein Zweig der Steganographie. –

0

dieser thread Nach:

Prof. Mikhail Atallah et. al. Hier bei Purdue hat viel Forschung über watermarking text gemacht.

Der Ansatz verwendet TMRs (Text Meaning Representation) von Phrasen zum Codieren von Bits durch Ausführen kleiner Transformationen, die die TMR in einer bestimmten Entfernung von einer definierten kanonischen Form positionieren.

(eine andere Methode, um zu Wasserzeichen Text ist presented here)

anders sein kann Text in einem Text zu verbergen, zusammen mit dem Steganograph Verfahren in den anderen Antworten beschrieben.

3

Es gibt sehr komplizierte Ansätze für dieses Problem, aber Sie können wahrscheinlich mit einem sehr einfachen gehen. Z.B. Definieren Sie ein Adjektiv für jede Nummer:

0. beautiful 
1. harmless 
2. evil 
3. colorful 
4. weird 

und so weiter. Wählen Sie nun Sätze Ihrer Wahl aus und platzieren Sie Platzhalter in die Sätze, zu denen Adjektive gehören.

"The {adj} cat sat on the {adj} dog and the {adj} cat was happy." 

Ihre Nummer ist 123, so dass Ihr Satz ist

"The harmless cat sat on the evil dog and the colorful cat was happy." 

Ein Parser, den Satz leicht nehmen, teilen Sie es in Worte auf, finden Adjektive auf der Tabelle oben, und wandeln sie in Zahlen zurück .

The -> ? 
harmless -> 1 
cat -> ? 
sat -> ? 
on -> ? 
the -> ? 
evil -> 2 
: 

Am Ende haben Sie 123 wieder.

Sobald die Leute wissen, dass Informationen im Satz versteckt sind, ist der Algorithmus leicht zu knacken. Sie können es schwieriger machen, zu brechen, wenn Sie Variationen hinzufügen, indem Sie mehrere Adjektive pro Nummer definieren. Statt

1. harmless 

können Sie

1. harmless/stupid/blue/fashionable 

definieren, wenn Sie 1 kodieren müssen, zufällig eines der Wörter wählen oben. Da diese alle auf die Nummer 1 abgebildet sind, ist es dem umgekehrten Parser egal, welches der Wörter dort gedruckt wird, das Ergebnis wird immer eins sein. Diese Randomisierung macht es schwieriger, den Algorithmus zurückzuentwickeln.

0

Der von Jon Skeet erwähnte Ansatz ist dem Ansatz von Matthew Kwan "SNOW" sehr ähnlich. Beide verstecken kleine Mengen beliebiger Informationen im Text, ohne eines der Wörter im Quelltext hinzuzufügen, zu löschen oder zu ändern. Beide kodieren die geheime Nachricht in normal-irrelevanten, normal-unsichtbaren Leerzeichen - zusätzlichen Leerzeichen und Tab-Zeichen zwischen Wörtern und an den Enden von Zeilen.

0

Hier ist ein Prototyp konvertieren verschlüsselte Daten in "natürliche" Textnachricht.

http://herosys.net/w/project/text-steganography-hide-text-in-spam-sms

Convert Quelltext wie „See U an Osttür der Universität, morgen 08.00 Uhr“, um Nachrichtenkurztext sieht aus wie Spam.

"Das beste Haus aller Zeiten! Sie sollten es nie verpassen. 1000-3000 Quadrat ft. $ 15-80 pro Quadrat ft. Rufen Sie 123-456-7890".

Mit dem Algorithmus erstellen Sie einfach ein Grammatikdiagramm und erstellen eine Kandidatentabelle für jedes Wort. Genau wie BASE64, aber die Indextabelle wird entsprechend Ihrem vordefinierten Kontext geändert.

+0

Erster Link ist 404. –

-1

Ich habe zwei Systeme mit guter Sicherheit, aber mit dem Kompromiss von relativ niedrigen Stegabit-Einbettungsraten. Einer von ihnen ist extrem einfach, hat aber eine Einfügungsrate von 1 Bit pro Zeile eines beliebigen Benutzers mit gegebenen Texten, während der andere, der Benutzer benötigt, um unter der Anleitung der Software Co-Texte zu erstellen, eine Einbettungsrate im Bereich von [0,5 erreicht , 1,0] pro Wort. Siehe meine Homepage mok-kong-shen.de

+0

Dies sieht eher wie eine Link-Only-Antwort aus. Bitte fassen Sie die relevanten Informationen hier zusammen, um eine vollständige Antwort zu erhalten, und geben Sie am Ende den Link für weitere Informationen/Referenzen/Kontext an. – Reti43

+0

@ Reti43: Danke. Ein Schema namens EMAILSTEGANO modifiziert die Anzahl der Wörter in einem Text (E-Mails usw.), so dass die Anzahl der Wörter in einer Zeile mod 2, d. H. Die Parität, das stegabit ergibt. Die andere, eine große englische Wortliste verwendend (dort sind solche herunterladbar) und mischen sie über einen Sitzung-abhängigen geheimen Schlüssel, um zwei ungefähr zu erhalten. gleiche Unterlisten. Wörter in einer Unterliste bezeichnen 0 und in den anderen 1 Worten z.B. "bis", "in" usw. sind von diesen Listen ausgeschlossen. Der Benutzer wird aufgefordert, ein Wort seiner eigenen Wahl zu ändern, falls sich das Wort zufällig in der falschen Unterliste befindet, wie es das aktuelle stegabit erfordert. –

Verwandte Themen