Domanda

Vorrei mettere del testo su una pagina e nascondere alcuni dati in quel testo. Qualcuno sa di eventuali metodi / modelli che sono stati utilizzati in passato per risolvere questo problema?

Esempio: ho il seguente testo: " Il gatto si sedette sul cane ed era felice. "

Ho anche il numero 123. Voglio nascondere questo numero in quella frase in modo tale che la frase possa essere posizionata su una pagina web e solo qualcuno che conosce può trovare i dati.

È stato utile?

Soluzione

HTML rende abbastanza facile farlo, in realtà. Non c'è bisogno di quantità davvero astute di steganografia, ecc. Vediamo:

Questa frase incorpora 123 e quindi interrompe l'incorporamento.

Questa frase incorpora 0102 e quindi interrompe l'incorporamento.

(Dovremo vedere se funziona davvero nel markdown, ma sospetto di sì.) Certamente è abbastanza ovvio se sai che c'è qualcosa da cercare, ma penso che tu d'accordo non è ovvio per gli osservatori casuali.

L'ho lasciato come un piccolo enigma per elaborare lo schema, ma aggiungi un commento se vuoi che sia esplicitamente spiegato.

Altri suggerimenti

Naturalmente questo può essere fatto.

Quello che stai descrivendo è in un'ampia descrizione chiamata Steganography .

Ad esempio, potresti codificare un numero in modo tale da contare il numero di parole fino a quando non vedi la lettera B, nel qual caso 123 potrebbe essere codificato come:

You belong to the beautiful group of people being elite.

Il fatto è che la persona che vuole decodificare il tuo messaggio deve conoscere il tuo algoritmo.

Modifica Ho notato che i miei numeri sono disattivati ??di uno. Inizia a contare da 0 e vedrai il numero 123.

Esistono approcci molto complicati a questo problema, ma probabilmente puoi sceglierne uno molto semplice. Per esempio. definire un aggettivo per ogni numero:

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

e così via. Ora seleziona le frasi che preferisci e inserisci i segnaposto nelle frasi in cui gli aggettivi appartengono.

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

Il tuo numero è 123, quindi la tua frase è

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

Un parser può facilmente prendere la frase, dividerla in parole, trovare aggettivi nella tabella sopra e convertirli in numeri.

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

alla fine hai di nuovo 123.

Non appena le persone sanno che ci sono informazioni nascoste nella frase, l'algoritmo si spezza facilmente. Puoi rendere più difficile l'interruzione se aggiungi la variazione definendo più aggettivi per numero. Invece di

1. harmless

puoi definire

1. harmless/stupid/blue/fashionable

quando è necessario codificare 1, selezionare casualmente una delle parole sopra. Dato che tutti corrispondono al numero 1, al parser inverso non importa quale delle parole sia stampata lì, il risultato sarà sempre uno. Questa randomizzazione renderà più difficile il reverse engineering dell'algoritmo.

Penso che ad alto livello quello di cui stai parlando sia la steganografia. http://en.wikipedia.org/wiki/Steganography

La sezione sulle tecniche moderne dovrebbe iniziare: http://it.wikipedia.org / wiki / steganografia # Modern_steganographic_techniques

Penso che quello che stai cercando sia qualcosa chiamato steganografia. Corinna John ha un'eccellente raccolta di articoli sull'argomento su CodeProject.

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

Potrebbe esserci un algoritmo che può trasformare quella frase in 123, ma penso che in generale dovrai accettare alcune modifiche al testo se hai bisogno di memorizzare qualsiasi possibile valore numerico!

Se il 'testo' fosse effettivamente un'immagine, allora potresti nascondere i dati usando steganografia - i dati sono nascosti nel file binario dell'immagine senza influenzare l'aspetto dell'immagine.

Secondo questo thread :

Prof. Mikhail Atallah et. al. qui a Purdue ha fatto molte ricerche su testo di filigrana .

L'approccio utilizza TMR ( Testo Significato Rappresentazione ) di frasi per codificare bit eseguendo piccole trasformazioni posizionando la TMR ad una certa distanza da una forma canonica definita.

(un altro metodo per filigrare il testo è

L'approccio menzionato da Jon Skeet è molto simile a quello di Matthew Kwan " SNOW " ; approccio. Entrambi nascondono piccole quantità di informazioni arbitrarie nel testo senza aggiungere, eliminare o modificare nessuna delle parole nel testo di origine. Entrambi codificano il messaggio segreto in spazi bianchi normalmente irrilevanti, normalmente invisibili - spazio extra e caratteri di tabulazione tra le parole e alla fine delle righe.

Ecco un prototipo per convertire i dati crittografati in "naturale" messaggio di testo.

http://herosys.net/w/ progetto / text-steganografia-nascondere-text-in-spam sms

Converti il ??testo sorgente come " Vedi U alla porta est dell'Università, domani 8 am " per inviare brevi messaggi di testo sembra spam.

" La migliore casa di sempre! non dovresti mai perderlo. 1000-3000 piedi quadrati $ 15-80 $ per piede quadrato Chiama 123-456-7890 " ;.

L'algoritmo è che devi solo creare un diagramma grammaticale e creare una tabella candidata per ogni parola. Proprio come BASE64, ma la tabella degli indici viene modificata in base al contesto predefinito.

Bene, potresti provare qualcosa come questo ... non sono sicuro che sia esattamente quello che sei cercando, però.

Ho due schemi con buona sicurezza ma con il trade-off di tassi di incorporamento stegabit abbastanza bassi. Uno di questi è estremamente semplice ma ha un tasso di incorporamento di 1 bit per riga di testi arbitrari forniti solo dall'utente, mentre l'altro, che richiede all'utente di comporre i covertexts sotto la guida del software, raggiunge un tasso di incorporamento nell'intervallo di [0,5 , 1,0] per parola. Vedi la mia home page mok-kong-shen.de

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top